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