A duplicate payment is rarely one clerk paying one invoice twice. It is the same invoice arriving by post and by email, a vendor that exists under two codes, an invoice number typed with a letter O instead of a zero. Each copy looks correct on its own. That is why controls built to check one document at a time let them through.
This guide explains the patterns, why sampling does not find them, and what it takes to check everything before the payment run rather than recover money afterwards.
01The five patterns behind most duplicates
- The same vendor under two codes. A merger, a second plant or a new address created a second vendor record, and the system's duplicate check only looks inside one vendor.
- The same invoice through two channels. Paper and PDF, or the PDF sent twice, each entered by a different person.
- A changed invoice number. A leading zero dropped, a suffix added, O for 0, a space or a dash. The system sees a new number.
- A reissued invoice. The vendor sends a corrected version; both the original and the correction are paid.
- A split or a combined invoice. One delivery billed in two parts, then billed again as one.
02Why the ERP's own check misses them
Most ERPs block a second invoice only when vendor, number, date and amount all match exactly. Change any one of them by a character and the check passes. The check is doing what it was built to do; it was never built to ask whether two documents describe the same thing.
Periodic audits find some of the rest, but they look at a sample, months later, and recovering money from a vendor is slower and more awkward than not paying it.
03What catching them actually takes
- Resolve the vendors first. Decide which vendor records are the same company, using tax numbers, bank details and addresses, not names alone.
- Normalise the invoice numbers. Strip punctuation and leading zeros and treat look-alike characters as equal, so near-identical numbers compare as identical.
- Compare on meaning, not on one field. Same resolved vendor, same or near-same amount, dates close together, similar line items: score the combination.
- Check before the payment run, not after. A flag raised while the invoice is still open costs a minute. The same flag after payment costs a recovery.
- Show the reason with every flag. A reviewer should see the two documents side by side and exactly what matched.
04What a good flag looks like
A flag that only says "possible duplicate" trains people to ignore it. A useful one says which earlier payment it resembles, which fields match, which differ and how confident the match is. The reviewer then decides: hold, release or ask the vendor.
The decision stays with a person. The system's job is to make sure the question is asked for every invoice, with the evidence already laid out.
05Where to start
- Run the comparison over the last two or three years of payments. It shows the patterns that are specific to your vendors and your process.
- Fix the vendor master where the same company appears twice. That removes a whole class of duplicates at the source.
- Then put the check in front of the payment run, with a clear rule for who reviews a flag and how fast.
In short
- Most duplicate payments are near-copies: a second vendor code, a second channel or a changed invoice number.
- Exact-match checks in an ERP pass anything that differs by one character.
- Resolve vendors, normalise numbers and compare on the combination of fields, before the payment run.
- Every flag should show its evidence, and a person should make the call.
Questions
Does our ERP not already block duplicate invoices?
It blocks exact repeats inside one vendor record. It does not catch a second vendor code, a changed invoice number or the same invoice arriving through another channel, which is where most duplicates come from.
Is this only a problem for large companies?
No. Any business that receives invoices by more than one route, or has grown by adding sites or entities, has the conditions for it. Larger volumes simply hide it better.
Can duplicates be found without sending finance data outside the company?
Yes. The comparison can run on your own servers, beside the ERP, so payment data never leaves your network.
What does Quantum Beetle offer here?
ARGUS is built to check every payment and invoice and flag the ones that look wrong, with the reason shown. A single Duplicate Payment Layer can also be added to the finance system you already run.
Sounds like your problem?
Tell us about it. We'll say honestly whether the swarm can help, and what it would take.
Read next
- How to find duplicate material codes in your SAP material masterMaterial master data
- What sovereign AI means, and when on-premise AI is the right callOn-premise AI
- What master data management is, in plain words, and why it decides whether AI worksMaster data
- How to clean a material master: a plan that survives contact with a real plantMaterial master data
- On-premise language models or a cloud AI service: how to choose for company dataOn-premise AI
- What RAG is: how AI answers from your own documents instead of guessingEnterprise search