Inspiration
Small businesses often complete the work, send the invoice, and still wait weeks or months to get paid. For many Indian agencies, consultants, contractors, and other small businesses, accounts-receivable work is scattered across PDFs, spreadsheets, inboxes, and the founder’s memory.
We created CashSathi to help these businesses collect money they have already earned without introducing aggressive collection tactics or unsafe automation. Our goal was to build an AI-assisted receivables operator that saves time while keeping people in control of financial records, customer relationships, and sensitive decisions.
What it does
CashSathi turns a confirmed invoice into a safe, traceable next action.
A user uploads a PDF invoice, and Gemini extracts details such as the invoice number, customer, amount, currency, payment terms, and due date. The extracted information remains editable and must be confirmed by a human before it becomes operational data.
After confirmation, Gemini proposes a structured next action, such as waiting, scheduling a recheck, preparing a reminder, or requesting human review. A deterministic policy engine then checks that proposal against safeguards including:
- Reminder cooldown periods
- High-value invoice thresholds
- Manual-only customer settings
- Active disputes
- Missing customer information
- Prohibited legal or threatening language
- Payment-confirmation requirements
- Ambiguous email-delivery outcomes
If an action is allowed, CashSathi can queue it for approval or deliver a controlled reminder through Gmail. Every decision, policy result, approval, action, and payment update is recorded in an auditable timeline.
CashSathi also provides team roles, bilingual English and Hindi reminder templates, cash-flow forecasts, impact metrics, and privacy-filtered finance exports.
How we built it
CashSathi is built as a monorepo with a Next.js and React frontend and a FastAPI backend.
Firebase Authentication manages user identity, while the API derives each user’s business membership on the server. Operational data is stored in Firestore, with browser access denied so users cannot bypass API authorization or select another business tenant.
Gemini handles two bounded AI tasks:
- Extracting structured information from invoice PDFs.
- Proposing a constrained next action through structured function calls.
The application—not the model—makes the final authorization decision. Backend policy validates every AI proposal before any external action can run.
For production infrastructure, the system is designed for Google Cloud Run, Firestore, Cloud Scheduler, Cloud KMS, Cloud Logging, and the Gmail API. Gmail OAuth uses the minimum required send permission, and refresh tokens are encrypted using Cloud KMS.
Codex helped us inspect the architecture, implement features, debug failures, add regression coverage, strengthen safety boundaries, and run linting, type checking, automated tests, and production builds. It also helped us challenge unsupported product claims and keep demo data separate from genuine customer evidence.
Challenges we ran into
The biggest challenge was making AI useful without giving it unsafe authority.
Invoice extraction can produce plausible but incorrect values, so we added mandatory human confirmation. AI-generated actions can also conflict with business policy, which led us to separate model proposals from deterministic authorization.
Reliable email delivery introduced another difficult edge case. If Gmail returns an ambiguous result, automatically retrying could send the same reminder twice. CashSathi therefore marks uncertain delivery as unknown and requires manual resolution.
We also had to design strong tenant isolation, idempotent actions, immutable evidence events, role-based access, transient PDF processing, and accurate money handling without silent currency conversion.
Finally, we worked carefully to distinguish correlation from causation. A payment received after a reminder is reported as timing evidence—not proof that CashSathi caused the payment.
Accomplishments that we're proud of
We are proud of building a working, tested prototype that combines useful AI capabilities with enforceable safeguards.
Some highlights include:
- Transient PDF processing with size and page limits
- Human-confirmed invoice extraction
- Schema-validated Gemini function calls
- Restriction-only business policies
- Human approval for sensitive actions
- Controlled Gmail delivery with idempotency protection
- Explicit dispute and payment workflows
- English and Hindi reminder templates
- Four least-privilege team roles
- Deterministic 4-, 8-, and 12-week cash forecasts
- Privacy-filtered finance and evidence exports
- Tenant isolation and production-readiness checks
- Automated frontend, backend, browser, and Firestore security tests
Most importantly, a model cannot independently mark an invoice as paid, weaken safeguards, resolve a dispute, use threatening language, or send an action that policy has blocked.
What we learned
We learned that financial AI becomes more trustworthy when its authority is narrow and explicit.
The model is effective at interpreting documents and proposing actions, but policy enforcement, payment confirmation, access control, and tool execution should remain deterministic and auditable. Human review is not simply a fallback—it is an intentional part of the product.
We also learned that evidence design must begin early. Recording prompt versions, model versions, policy outcomes, action states, and sanitized provider results makes the system easier to debug and evaluate.
Building CashSathi reinforced our belief that responsible AI is not only about the prompt. It depends on the complete system surrounding the model: permissions, validation, policies, privacy controls, failure handling, and honest reporting.
What's next for CashSathi
Next, we plan to deploy and verify the production environment, complete a privacy-safe public demo, and test CashSathi with real small-business workflows.
We also want to improve the invoice review experience, gather feedback on reminder tone and approval controls, expand regional-language support, and measure whether the product reduces the time owners spend managing receivables.
Future integrations may include owner-approved connections to Zoho Books and TallyPrime. These integrations will remain disabled until credentials and explicit business approval are provided.
Our long-term goal is to make CashSathi a dependable first-line receivables assistant for small businesses—one that handles repetitive work while leaving financial truth, customer relationships, and sensitive decisions in human hands.

Log in or sign up for Devpost to join the conversation.