Skip to main content
Reconciliation Pattern

Multi-Invoice Aggregation

Match a single bank credit against multiple outstanding invoices

What this pattern solves

Enterprise clients frequently remit payment against multiple outstanding invoices in a single bank transfer — especially at month-end or quarter-end. Without many-to-many matching logic, this creates an apparent mismatch: one bank credit that does not correspond to any single invoice. The Multi-Invoice Aggregation pattern uses a subset-sum algorithm to identify which combination of outstanding invoices the payment was intended to cover, then marks all matching invoices as cleared.

Use this pattern when:

  • Clients pay multiple invoices in one bank transfer
  • You make batch vendor payments covering multiple bills
  • Payment-on-account scenarios where customers pay in advance
  • IT services, professional services, or consulting firms with multiple monthly invoices per client
  • Any scenario where 1:many or many:1 payment-to-invoice relationships exist

How it works in TransactIG

01

Identify open invoices

TransactIG reads the open invoice register — all invoices due from a specific client or to a specific vendor, with gross amounts and TDS deductions.

02

Run subset-sum matching

The multi-invoice engine identifies all combinations of open invoices whose net total (after TDS) equals the bank credit amount — within the configured tolerance.

03

Apply and clear

The identified combination is applied to the payment, all matched invoices are marked cleared, and the match decision is logged with the matching rule used.

Matching rules

Exact aggregate match
Sum of selected invoice net amounts = bank credit. Tolerance: ₹0.
Tolerance aggregate match
Sum within ±0.1% or ₹100 of bank credit.
Oldest-first matching
If multiple combinations exist, apply oldest invoices first (FIFO).

Variance taxonomy

V
Full match
All identified invoices cleared by payment.
V
Partial match
Payment covers some but not all open invoices for this client.
V
Overpayment
Payment exceeds sum of all open invoices — advance or duplicate.
V
No combination found
No subset of open invoices equals the payment. Requires manual review.

Frequently asked questions

How many invoices can the aggregation engine handle per match?

The multi-invoice engine is optimised for up to 50 invoices per payment match. For larger batches (payroll runs, institutional settlements), the NACH batch pattern is more appropriate.

What if the client deducts TDS on some invoices but not others in the same payment?

TransactIG handles mixed-TDS payments. The expected net for each invoice is computed individually, and the aggregate is matched against the bank credit.

See the Multi-Invoice Aggregation pattern in action

Terra Insight will run a live TransactIG demo using this matching pattern on data from your industry vertical.