← Back to blog

Why 5–15% of B2B Payments End Up in a Manual Queue (and How AI Solves It)

Deterministic payment matching on the variable symbol fails on a wrong VS, partial and merged payments, and foreign currency. Why it costs hours of accounting work and how AI fuzzy matching shrinks that queue.

Most companies consider matching incoming payments a "solved" problem. The accounting system loads the bank statement, matches payments to invoices by the variable symbol, and that's it. It works — on the payments where the payer paid the exact amount, with the correct VS, in the home currency.

The problem is the rest. Depending on volume and customer mix, roughly 5 to 15% of incoming payments end up in a manual queue. Someone has to open them, find the matching invoice by eye, and match them by hand. At a thousand payments a month, that's 50 to 150 items someone clicks through every month.

Why Deterministic Matching Fails

Standard matching is deterministic: it looks for an exact match. The variable symbol matches, the amount matches, it pairs them. As soon as something fails the match, the item drops into the queue. And it fails more often than you'd expect.

  • The variable symbol is missing. A foreign payer doesn't know the VS. A retail customer forgets to fill it in. The payment arrives with only a name in the note and an amount.
  • Wrong VS. The payer mistypes a digit, uses the VS from a previous invoice, or fills in an order number instead of the invoice. To the machine it's an unknown number.
  • Partial payment. The payer pays only part of an invoice. The amount doesn't match, so deterministic matching gives up, even when the VS matches.
  • Merged payment. One payment covers three invoices at once. None of the amounts match on its own, the sum adds up, but that's already a task exact matching can't do.
  • Foreign currency. The invoice is in EUR, the payment arrives in CZK after the bank's conversion. The amount after the exchange rate is "almost" right, but not to the cent.
  • Typos and noise. The company name in the note is garbled, different from the one on record, or the payer writes their own internal reference.

Each of these cases is common on its own. Together they make up that queue. And deterministic matching can't handle any of them, because they all break the "exact match" assumption.

What It Costs

Manual matching isn't a crisis, it's a creeping cost. One item takes a few minutes — find the payer, look up the invoice, verify the amount, match it. At 100 items a month, that's several hours of work that comes back every month.

Worse than the time is the delay. Until a payment is matched, the invoice looks unpaid. That leads to needless reminders sent to customers who already paid, an inaccurate cashflow view, and bad inputs for decisions. The CFO is looking at receivables that in fact came in long ago — they just haven't been matched.

And there's the human factor. Manual matching makes mistakes. Under month-end pressure, someone matches a payment to the wrong invoice and creates a problem that's harder to find than an unmatched item.

How AI Fuzzy Matching Shrinks It

Where deterministic matching looks for an exact match, AI looks for the most likely match — and calculates how confident it is.

Instead of "the VS matches, or nothing", it works with several signals at once: the amount, the payer's name, the payment history from the same customer, numbers in the note, open invoices that fit the amount. From that it builds a proposal even where a single signal isn't enough on its own.

Concretely, it handles the cases where exact matching breaks down:

  • No VS. Matches by the payer's name and the open amount, even when the variable symbol is missing.
  • Partial payment. Recognises that CZK 4,000 is an installment on a CZK 12,000 invoice, and marks it as a partial payment.
  • Merged payment. Finds the combination of open invoices whose sum matches one payment.
  • Foreign currency. Compares the amount after the exchange rate with a tolerance, not to the cent.
  • Typo in the name. Matches "Novák a syn s.r.o." with "Novak a Syn sro" despite the differences in spelling.

And now the honest part: AI shrinks the queue, not to zero. What it matches with high confidence, it matches on its own. What it isn't sure about, it doesn't guess — it sends to the manual queue with a proposal and a confidence level. The accountant then doesn't search from scratch, but only confirms or corrects a pre-filled proposal. A queue full of unknown payments becomes a queue of exceptions with hints.

This is a deliberately sober goal. Anyone who promises you 100% automatic matching either hasn't seen real data or is lying to you. There's always a payment that simply can't be assigned unambiguously — and that one is for a human to decide, not a model.

When the Box Is Enough and When It Isn't

Let's be fair: standard cases are handled even by an off-the-shelf accounting SaaS. If most of your payers are domestic B2B who pay full invoices with the correct VS, deterministic matching on the variable symbol covers most of it and you don't need a custom solution.

Where the box hits its limits is something else:

  • A custom or less common ERP for which no off-the-shelf connector exists.
  • Enterprise volume, where even a 5% queue means hundreds of items a month.
  • Lots of payments without a VS — foreign and retail payers, merged and partial payments, multiple currencies.
  • Audit-grade reconciliation — the need to show for every matched payment why it was matched, and to have an audit trail from it.

That's where building matching to measure makes sense.

What We Do

This is the area we work in. We connect to a banking API (bank statements), extract invoices from PDFs (AI extraction with a human in the loop and an audit log, not a black box), and match payments to invoices with fuzzy matching even where the variable symbol is missing — partial, merged, multiple currencies. Whatever can't be matched automatically goes to the manual queue with a proposal. The connection feeds into your ERP, including Dynamics 365 Business Central.

Underneath runs durable reconciliation: idempotence, retry, an audit log of every step, and a periodic check of "does reality match". We use the same approach on regulated integrations — we built the connection to the KSeF government system so that over 40,000 documents arrived with 100% delivery. We're not ML researchers; we build reliable integrations that hold up under production volume and scrutiny.

If more payments drop into the manual queue each month than you'd like, get in touch — we'll look at how much of that queue can be matched automatically.

FAQ

Why does deterministic payment matching fail?

It matches on an exact match of the variable symbol and the amount. It fails when the VS is missing or wrong, when the payer pays only part of an invoice or several invoices in one payment, when a payment arrives in a foreign currency, or when there is a typo in the note. These cases drop into the manual queue.

How many B2B payments usually end up in the manual queue?

Depending on volume and customer type, roughly 5 to 15 percent of incoming payments. For companies with many foreign or retail payers it tends to be more, because the variable symbol is missing more often or payments arrive in a foreign currency.

Will AI fuzzy matching clear the manual queue all the way to zero?

No, and nobody should promise that. AI fuzzy matching matches most of the payments that deterministic matching gives up on — even without a VS, for partial and merged payments. The rest it proposes with a confidence level and sends to the manual queue. The goal is to shrink and speed up the queue, not to eliminate it.

Facing a similar problem? Get in touch.

Book a consultation