Merchant operations
What the order system says the customer paid or received back.
— recordsMatchRail connects merchant operations, Razorpay reconciliation, accounting, and bank records. It matches only what the evidence proves and sends uncertainty to review.
No setup required, or bring a strict four-source dataset below.
Inspect the frozen benchmark ↓Data inputs
Runs are isolated to this browser session. Completed runs expire after one hour by default.
Default limits: 2 MiB per file, 8 MiB combined, five run attempts per ten minutes, and twelve AI calls per run. Provider and Razorpay credentials never enter the browser.
Uploads run deterministic reconciliation. The optional live AI demonstration uses separate fixed synthetic cases, not your uploaded exceptions.
The reconciliation problem
Identifiers drift, dates move, refunds split, records disappear, and totals still need to balance.
What the order system says the customer paid or received back.
— recordsWhat the payment gateway says was captured, refunded, and settled.
— recordsWhat finance booked, sometimes under different references or dates.
— recordsWhat cash actually arrived, anchored by UTR and settlement net.
— recordsHow MatchRail stays safe
Normalize four sources into integer-paise financial records.
Prove exact identifiers, settlement membership, UTRs, and arithmetic.
Abstain when multiple financially valid candidates remain.
Ask AI only about the unresolved semantic description.
Gate again with candidate, confidence, and verbatim-evidence checks.
Expose every exception and its source-level evidence for review.
Run lifecycle
Reconciliation outcome
Settlement control equation
Proof ledger
| Relation | Method | Evidence |
|---|
Review queue
Live provider sample · canonical benchmark preserved separately
Frozen benchmark
Identical synthetic inputs. Known answer keys. Results captured once and preserved.
Across golden, holdout, and adversarial datasets, compare the naive matcher with deterministic MatchRail. These results measure the tested cases; they are not a guarantee for unseen merchant data.
| Dataset | System | Precision | Recall | False matches | Correct abstentions |
|---|---|---|---|---|---|
| Loading frozen evidence… | |||||
Break MatchRail
Choose a frozen adversarial case to inspect both decisions and the source records.
Frozen AI benchmark
12 fixed semantic cases: 10 resolvable and 2 intentionally ambiguous. Claude resolved 9 of the 10 resolvable cases. Two ambiguous cases and one low-confidence case remained abstained. The live sample above may differ.
Correct resolution coverage = correct resolutions / resolvable cases. A matcher can reach 100% coverage while also making false matches. Always inspect precision and false-match count alongside it. An abstaining system with no predictions is reported as 100% precision by convention; that is not evidence of useful coverage.
Curated source files, hashes, method, and limitations ship with the repository under docs/benchmarks. Latency and cost are historical measurements.