Payment Reconciliation & Matching
payment_reconciliationMatch payments to invoices and reconcile the bank. Send receipts (id, date, amount or credit/debit, narration, payer name, reference) with open_items (invoice no, party code and name, date, amount or balance, taxable value; credit notes allowed); and/or bank_lines with ledger_entries; and/or gstr2b_rows with purchase_register (GSTIN, invoice no, date, taxable, IGST/CGST/SGST/cess). Returns proposed matches with confidence and reasons: party found by code, learned alias, invoice number in the narration or Jaro-Winkler / abbreviation name matching; exact and reference matches settled by Hungarian assignment so no invoice is used twice; combinations by subset-sum over paise; TDS and bank charge deductions; part payments; short payments as disputes; overpayments and unidentified receipts as exceptions; bank one-to-one, batch and split matches, charges / interest not in books, timing items and the reconciliation statement; GSTR-2B matched / amount, date or GSTIN mismatch / probable / missing in books / missing in 2B with ITC at risk by supplier; report with ageing; updated rules_snapshot. Never posts. Not for invoice creation, payment-timing or tax advice. Up to 5,000 receipts / bank lines; larger: payment_reconciliation_get_engine.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "payment_reconciliation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | receivable | |
| as_of | No | Report date YYYY-MM-DD for ageing. | |
| currency | No | INR | |
| receipts | No | Receipts or payments: id, date, amount (or credit / debit), narration, payer name, reference, party code (optional). | |
| max_items | No | ||
| bank_lines | No | Bank statement: date, amount or deposits / withdrawals, narration, cheque / UTR. | |
| max_listed | No | ||
| open_items | No | Open invoices or bills: invoice no, party code, party name, date, amount or balance, taxable value, type (credit note). | |
| gstr2b_rows | No | GSTR-2B: supplier GSTIN, invoice no, date, taxable value, IGST, CGST, SGST, cess, ITC availability. | |
| auto_threshold | No | ||
| ledger_entries | No | Bank ledger in the books: voucher no, date, debit / credit or signed amount, narration, cheque no. | |
| max_candidates | No | ||
| max_charge_pct | No | ||
| name_threshold | No | ||
| rules_snapshot | No | rules_snapshot from an earlier run: aliases, tds_rates, tolerances. | |
| currency_symbol | No | ||
| max_bank_charge | No | Largest bank charge (default 500). | |
| amount_tolerance | No | Rounding tolerance (default 1.00). | |
| date_window_days | No | ||
| confirmed_matches | No | Matches the user confirmed or corrected: payer_name or narration, party_ref, party_name, receipt_amount, invoice_total, taxable_total. | |
| default_tds_rates | No | TDS rates to try (default 1%, 2%, 10%). | |
| purchase_register | No | Purchase register with the same columns as GSTR-2B. | |
| short_payment_pct | No | ||
| bank_closing_balance | No | ||
| book_closing_balance | No | ||
| gst_amount_tolerance | No | ||
| max_invoice_age_days | No | ||
| bank_date_window_days | No | ||
| gst_date_tolerance_days | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gst | No | ||
| bank | No | ||
| alerts | No | ||
| status | Yes | 1 = ok, 0 = nothing could be matched | |
| message | No | ||
| metadata | Yes | ||
| receipts | No | ||
| decisions | Yes | Plain-language cards, priority order. Relay these first. | |
| assumptions | No | ||
| rules_snapshot | No | ||
| data_quality_report | No |