All Projects Project

MT940 Bank Reconciliation

Automatic Payment Matching

The Challenge

The accounting team of a trading company spent several hours every day manually matching incoming payments to open invoices. With more than 200 incoming payments per day, incomplete payment references and frequent partial payments, the process was error-prone and tedious.

Particularly problematic: customers often paid several invoices with a single transfer or rounded the amounts.

Our Solution

We developed an automated MT940 bank reconciliation:

MT940 Parser

Reliable processing of bank statements in SWIFT MT940 format:

  • Import from all major German banks, savings banks (Sparkassen) and cooperative banks (Volksbanken)
  • Detection of credits, debits and fees
  • Extraction of the payment reference and structured references
  • Multi-bank support for several business accounts

Smart Matching

Multi-stage matching logic for the highest possible hit rate:

  • Stage 1: Exact amount match with the invoice number in the payment reference
  • Stage 2: Fuzzy matching for slightly differing amounts (early payment discounts, rounding)
  • Stage 3: Customer identification via IBAN and allocation to open items
  • Stage 4: Resolving bulk payments (one payment → several invoices)
  • Payments that cannot be matched go into a manual review queue

Dunning Integration

Automated receivables management:

  • Overdue invoices automatically flagged after a configured period
  • Payment reminders and dunning levels
  • Automatic cancellation when payment is received

The Result

  • 87% of payments matched fully automatically
  • Daily time savings of 3.5 hours in accounting
  • Dunning run switched from manual to automated
  • Open items list up to date every day for the first time

Highlights

✓ MT940 SWIFT format parsing
✓ Automatic invoice matching
✓ Fuzzy matching for differing amounts
✓ Partial payment detection
✓ Dunning integration
✓ Multi-bank capable