Finance and accounting · Sample scenario

Matching bank transactions to invoices

The bank statement is normalized, candidate invoices are found by amount and reference, and the invoice status is updated after the accountant confirms the match.

Problem

Which invoice an incoming payment belongs to is checked by hand; when the payment reference is short and non-standard, this takes much longer.

How it works today

The accountant opens the bank statement in Excel, reads the reference on each line, searches the invoice database by amount and changes the status by hand. Partial and combined payments are kept in a separate note.

What this scenario changes

The bank CSV is uploaded and the date, amount and reference fields are converted to one format. AI extracts the invoice number and payer from the reference text, and rules find candidate matches among open invoices. A single exact match goes to the accountant for approval; several possible matches go to the accountant to choose.

The process step by step

  1. Bank export uploaded: Daily CSV file
  2. Lines normalized: Date, amount, payer format
  3. Reference extracted: Invoice number and payer
  4. Candidate matches found: Amount, reference, customer, date
  5. Is there a single exact match?: Only one open invoice fits
  6. Accountant review: The match is approved
  7. Status updated: Invoice marked as “paid”
  8. Transaction closed: The bank line is linked to the invoice

Exception path

  1. Accountant chooses the match: Candidates are shown side by side
  2. In the matching queue: Status is not changed

The role of AI

Extracts the invoice number and payer name from free-form reference text (“inv 4417 october service”).

Human approval and exceptions

The accountant approves every match. If several invoices fit the same payment or the amount looks like a partial payment, the system does not choose and shows the candidates to the accountant.

Frequently asked questions

What if the payment reference has no invoice number?

The match is searched by amount, payer and date. If the result is not unique, the transaction goes to the accountant to choose.

How are partial payments handled?

If the amount is less than the invoice, it is not closed automatically; the accountant decides whether to record it as a partial payment.

How is the bank data obtained?

The simplest option is a CSV exported from the bank. If the bank offers an API, the integration is assessed separately.

Adapt this solution to my business