Matched by arithmetic, not names

Which invoices did
that deposit clear?

A client sends one NEFT for ₹30,000 with no reference, covering three invoices. Someone then spends an afternoon working out which three. Upload your open invoices with the statement and the arithmetic does it — including the combinations.

Nothing is guessed from party names. A match is a match because the numbers say so, which is the only kind that survives being questioned.

Convert a statement free →Multi-account ledger

Three passes, most certain first

A weaker pass can never take a deposit an earlier one already explained.

1 · Exact
A deposit and an invoice of the same amount. The strongest evidence there is, so it runs first and is never overridden by a looser pass.
2 · Within rounding
A deposit within a rupee of an invoice — bank rounding, not a discount. The closest invoice wins.
3 · Combinations
One deposit, several invoices, totals matching. Smallest set first, because a lump payment is more often two invoices than five.

Your invoice list

invoice,amount,date,party
INV-001,11800,2024-04-02,Acme Ltd
INV-002,"₹8,260.00",2024-04-05,Beta Traders
INV-003,9940,2024-04-09,Gamma Pvt Ltd

Date and party are optional and are only ever echoed back — they take no part in matching.

Questions

How does it match a payment with no reference number?
By amount. An exact match is found first, then anything within a rupee of rounding, then combinations — if a deposit equals the sum of three open invoices, those three are proposed. Nothing is inferred from party names, because a name match is not evidence and an auditor will say so.
What happens when a client pays several invoices at once?
The engine searches for the set of open invoices whose total equals the deposit, preferring the smallest set that fits. Two invoices adding up is far likelier than five, so pairs are tested before larger combinations.
Will it slow down with hundreds of open invoices?
No. Finding a subset that sums to a target is an exponential problem, so the search is deliberately bounded — the nearest candidates, and combinations up to four invoices. A combination outside those bounds is reported as unmatched rather than found slowly. Being fast and honest beats being exhaustive and unusable.
Can one invoice be matched twice?
No. Each invoice is consumed by at most one deposit, and duplicate invoice numbers in your CSV are rejected on import — a duplicate would let one invoice settle a deposit that was never actually covered.
What format does the invoice list need?
A CSV with the invoice number and amount, optionally a date and party. Amounts can be written the way a spreadsheet exports them — 11800, "11,800.00" or "₹11,800.00" all read correctly.
For Small BusinessesFor Finance TeamsBank reconciliationPre-flight audit