Receipt Ingestion
Auto-parse receipts from email, Slack, and uploaded images with vendor and amount extraction.
Finance compliance and spend intelligence for multi-tenant operations. Receipt ingestion, policy enforcement, and budget alerts — all as code.
Auto-parse receipts from email, Slack, and uploaded images with vendor and amount extraction.
Configurable spend policies by persona, brand, and cost center with real-time rejection.
Per-tenant and per-brand budget tracking with threshold alerts before overspend.
Point-in-time compliance reports for auditors with immutable audit trails.
Map cloud and SaaS spend back to brands, portfolios, and environments.
Every financial event recorded with user attribution, timestamp, and policy context.
from pydantic import BaseModel, Field from decimal import Decimal from datetime import date class ExpensePolicy(BaseModel): brand_id: str cost_center: str max_amount: Decimal = Field(..., gt=0) allowed_vendors: list[str] require_approval_above: Decimal def validate_receipt(self, receipt: Receipt) -> Approval: if receipt.amount > self.max_amount: return Approval.DENIED return Approval.APPROVED
Replace spreadsheet-based expense tracking with policy-as-code. Deploy RampGuard in minutes.
Clone on GitHubThe TenantFleet Ecosystem
git clone https://github.com/t-granlund/rampguard.git
cd rampguard
MIT-licensed · open source · fork it and make it yours.
Receipt ingestion → a Pydantic ExpensePolicy engine → budget tracker, with every financial event in an immutable audit trail.
Part of the TenantFleet ecosystem · see it on tylergranlund.com/work#ecosystem.