Guide
What this is, how it works, and how to walk through it in ten minutes. Start here if you are new.
When a business takes payments online, three different documents describe the same money: the payment gateway's report, the bank statement, and the accountant's ledger. They never agree by themselves. Fees are taken, refunds lag, references get cut off, one bank credit covers fourteen payments. Someone has to line them up by hand, every month.
This does that lining-up automatically. It matches what it can prove, explains the gaps it can account for, and hands you a short, ranked list of the decisions only a person can make, each one with the evidence attached.
What the payment gateway says it collected from customers, what fees it took, and what it sent to your bank.
Quirk: Amounts arrive in paise. One settlement bundles many payments.
What actually landed in the account. The only source that proves money moved.
Quirk: Narrations get cut at about 100 characters, often chopping the reference number.
What the accountant booked. Sales, receipts, fees, refunds: the version of events the books tell.
Quirk: Negatives look like (-)1,24,500.00, with Indian digit grouping.
Every closed match records which stage closed it, which fields agreed, the arithmetic, and the rule version. Open any match and see exactly why.
Matching, rules, tiering and the cash bridge are deterministic code. The AI reads, explains, drafts and answers questions. It cannot close anything.
When two answers are equally valid, the system emits neither and escalates to you. A guess is the failure; an honest refusal is the feature.
engine/llm is one module among eight. The matching, rules, tiering and cash modules cannot import it; a build check fails if they try. With every model provider down, reconciliation still runs and every number still computes. Only the prose gets worse.
Same input always gives the same output, byte for byte. That is what makes a replay against a new rule meaningful and an audit trail reproducible.
Tenants cannot see each other. An active rule cannot be edited, only versioned. The audit log cannot be updated or deleted. These are grants and triggers, not conventions.
- 1Ingest
Read all three files, parse every bank narration for its rail and reference, normalise names, and turn everything into one common record.
1,575 events from 500 orders - 2Block
Group records by amount and date so only plausible pairs are compared, not every record against every other.
332,520 pairs to 6,170 candidates - 3Match
Five passes, strictest first: exact reference, fee-adjusted arithmetic, date shift, one credit to many payments, and last a fuzzy pass that only suggests.
100% precision on auto-close - 4Three-way
Line up gateway, bank and books for each settlement. A match with no bank leg cannot close; the bank is the only proof money moved.
87 groups fully three-way - 5Apply rules
The Rule Book explains gaps the arithmetic cannot: MDR, GST on MDR, TDS, marketplace commission. A rule shrinks a gap; it never just passes it.
437 events rule-resolved - 6Classify and rank
Whatever is left becomes a decision with a category, a tier, a priority and a recommended action. Similar ones cluster into one root cause.
48 exceptions, 11 root causes, 20 queue items - 7Cash bridge
Gross collected minus every deduction, compared to what the bank credited. The difference is the money you need to chase.
Rs 1,02,271 at risk surfaced
- 1Run
Where files come in and a reconciliation starts. Each source shows how many rows were read and how many were rejected, with the reason.
Try: Upload a Razorpay JSON, a bank CSV and a Tally export, or run the seeded demo data that is already there.
- 2Overview
The books at a glance: how much matched on its own, how much a rule explained, and how many decisions are waiting for you.
Try: Note the decisions count. That, not the total record count, is your workload.
- 3Decisions
The ranked queue. Every card is something the system could not prove. Highest cash impact and nearest deadline sit at the top.
Try: Open one. Read the evidence, the consequence if ignored, and the recommended action. Resolve, write off, snooze or escalate.
- 4Settlements
Every settlement as a register: what Razorpay reported, what the bank credited, what the books say, and where each one stands.
Try: Pick a settlement that did not fully close and follow it into Decisions.
- 5Reconcile
Gross to bank, line by line. Every deduction between what customers paid and what landed in the account.
Try: Click any line of the bridge. It opens the exact rows and decisions that make up that figure.
- 6Cash
Money that is at risk, held in reserve, or claimable as GST input credit. The numbers a founder actually asks for.
Try: Check the T+90 reserve releases. These are receivables most teams forget to chase.
- 7Rule Book
The deduction policy as versioned rules: MDR by payment method, GST, TDS, marketplace commission, each with an effective date.
Try: Draft a rule and back-test it. It shows which past decisions it would have explained before you activate it.
- 8Controller Activity
A timeline of what the engine did on this run, and every AI call it made, with the model, the cost and the fallback used.
Try: Find a call that fell back to a template. The page still worked; that is the design.
- 9Audit Trail
Every decision in a hash chain. Each row carries the hash of the one before it, so nothing can be edited after the fact.
Try: Export it as CSV. Hand that to an auditor.
- 10Evaluation
Precision and recall per matching stage, the coverage curve, and the four quality gates that block a release.
Try: Look at false_auto_resolutions. It must read 0. It does.
- 11Records
Every normalised row from every source, searchable. The raw material behind everything above.
Try: Search a UTR. See it in the bank, in Razorpay and in Tally side by side.
The assistant in the top bar answers plain-English questions from the data: how much is at risk this week, which settlements are short and by how much. It shows the SQL it ran, and every number in the answer traces to a real query result. A run summary can also be emailed automatically when a run completes; switch that on in Settings.
| Term | Meaning |
|---|---|
| Settlement | One payout from Razorpay to your bank, bundling many customer payments net of fees. |
| UTR | Unique Transaction Reference, the id a bank stamps on a NEFT, RTGS or IMPS transfer. The best matching key when it survives. |
| MDR | Merchant Discount Rate, the fee the gateway charges per payment, by method (UPI, card, netbanking). |
| GST on MDR | 18% tax on the fee. Claimable back as input credit, which is why the Cash screen tracks it. |
| TDS 194-O | Tax deducted at source by an e-commerce operator before paying a seller. |
| Rolling reserve | A slice of each settlement the gateway holds back, typically released after 90 days. |
| Chargeback | A customer disputes a payment and the bank claws it back. Must be booked; the system flags any that are not. |
| NACH batch | A single bank line covering many mandate debits. Without member detail it cannot be split, so it always escalates. |
| Three-way match | Gateway, bank and ledger all agreeing on the same money movement. |
| Decision | Anything the system could not prove. Comes with a category, a tier, a priority and a recommended action. |
| Abstention | The system deliberately not deciding because two answers were equally valid. Counted as a success. |
| Evidence | The fields, arithmetic and rule version behind a match. Every closed match has it. |
| Dry run | Preview any action before it happens. Every write in this app supports it. |