For Indian payment gateways
Close the books.
Show the work.
Ledgerline walks every rupee from invoice to payment to settlement to the line on your bank statement. Four deterministic passes do the matching, an independent verifier re-checks the arithmetic, and anything that won't tie out arrives as a typed exception with its evidence attached.
94.2%
4.1%
17
₹2,48,310

Built for the Razorpay BuildathonTRACK 04 · AI Finance Controllerby Gadarla Ritesh
01 · THE CHAIN
Four sources, one story per rupee.
Reconciliation breaks where the sources disagree. Keeping all four in one chain gives a break an address instead of a hunt.
1,400
raised in the ledger
1,362
captured by the gateway
120
batches paid out
118
credits on the statement
02 · THE ENGINE
Deterministic first. Assisted only where it has to be.
Each pass is arithmetic you could check by hand. A model is brought in to triage what is left over, never to decide that two records match.
Bank → settlement
Ties a bank credit to a settlement on amount and UTR. No fuzz, no tolerance: the two either agree or they don't.
Payout recompute
Rebuilds a settlement's payout from its own batch of payments, in integer paise. Float never touches an amount.
Invoice → payment
Links an invoice to a payment through an exact reference, so the chain runs end to end rather than in fragments.
Split payments
Solves a bounded subset-sum when one credit covers many invoices, the case that costs a finance team its afternoon.
Whatever proposes a match, a pass or a model, the same independent check re-derives the arithmetic in integer paise before anything is written. A proposal that fails becomes a typed exception carrying the check it failed.
proposal stl_0451 ← 32 pay recompute ₹3,98,760.00 declared ₹4,40,660.00 verdict FAILED → exception
03 · THE GUARANTEE
Nothing is matched on trust
Every proposed match, deterministic or assisted, is re-checked by an independent verifier before it is recorded. A proposal that fails its check becomes a typed exception, not a match.
Degradation is visible, not silent
If assisted triage hits a rate limit or returns something malformed, the run still finishes: it reports assist rate zero, flags itself degraded, and files every affected item as an exception.
The same input gives the same output
Runs are seeded and hashed. Re-run a seed and size and you get the same output hash, which is what makes a reconciliation defensible after the fact.
START HERE
Your first run takes one file set.
Upload your ledger, gateway, settlement and bank files, or generate a synthetic corpus with a known truth file and score against it.