By Safock Procurement Research Team8 min read
We planted seven duplicate payments in a year of accounts payable history: 583 invoices, $1.27 million paid. A check for the same vendor, invoice number and amount, the test many accounting systems run before payment, found one of them. The other six were the same invoices entered a little differently: a dropped prefix, two digits swapped, the supplier set up twice.
Duplicate invoices rarely look identical by the time they reach the payment run. Finding them takes a check that expects the differences.
A duplicate payment is paying a supplier twice for the same thing. Usually it happens because the same invoice was entered twice, in slightly different forms, or because the supplier exists twice in the vendor master and the invoice was paid under both records.
Some duplicates come back without anyone asking: the supplier notices the extra payment and refunds it or holds it as a credit. Many don't, especially when the supplier's own records are messy too. And none come back until someone has spent time finding and claiming them.
In a multi-site business, an invoice can reach accounts payable several ways, and each is a chance to enter it again:
None of this is new. In 1985, the US Government Accountability Office reviewed duplicate payments at a Department of Justice payment center and recommended steps "to help avoid forwarding more than one supporting document for the same goods or services" (GAO, AFMD-85-72). Invoices still arrive by more than one route, and they still get paid twice.
The Duplicate Invoice Scanner ships with a sample year of paid invoices from a restaurant group, with seven duplicates of different kinds planted in it. Here is each one, what differs between the two copies, and whether an exact check (same vendor name, invoice number and amount) would stop it.
| Supplier | First copy | Second copy | What differs | Exact check |
|---|---|---|---|---|
| Metro Facility Parts | INV-10412, $2,380.00 | INV-10412, $2,380.00, 12 days later | Nothing | Caught |
| Pacific Meats | INV-0010577, $3,912.40 | 10577, $3,912.40 | Prefix and leading zeros | Missed |
| Coastal Foodservice | INV-10777, $842.10 | Same invoice under "Coastal Foodservice Inc" | Supplier set up twice | Missed |
| Sysco | SY54321, $1,286.75 | SY54312 under "SYSCO Corp." | Digits swapped and a second supplier record | Missed |
| Valley Fresh Produce | VF-88231, $1,104.55 | VF-88213, 3 days later | Digits swapped | Missed |
| BrightTech IT | INV-10690, $4,815.00 | INV-10690, $4,185.00 | Amount keyed with digits swapped | Missed |
| Apex Kitchen Equipment | INV-12001, $6,240.00 | INV-12019, $6,240.00, 8 days later | Different number, same amount | Missed |
Six of the seven would be paid twice by a system that only blocks identical entries.
Fuzzy duplicate detection works in three steps.
1. Normalize invoice numbers. Strip case, spaces and punctuation, common prefixes such as "INV" and "Invoice #", and leading zeros. INV-0010577 and 10577 both become 10577. Invoice #10412 becomes 10412.
2. Normalize vendor names and compare them. Strip punctuation and legal suffixes such as Inc, LLC, Corp and Co. "SYSCO Corp." and "Sysco" both become sysco. "The Coastal Foodservice Co." and "Coastal Foodservice Inc" both become coastal foodservice. Names that are still slightly different are compared with a similarity score (the scanner uses Jaro-Winkler), so near-identical spellings match too.
3. Look for near-identical numbers with the same amount. Two digits swapped (SY54321 and SY54312), one character missing or added, or one character changed. A single changed character is also what sequential invoice numbers look like, so the scanner only trusts that pattern when the two invoices are dated close together.
Each kind of match gets a confidence level, because some are near-certain and some need a person to look:
| Match | Confidence | In the sample |
|---|---|---|
| Same vendor, invoice number and amount (after normalizing) | 99% | Metro, Pacific Meats, Coastal |
| Same invoice and amount under two vendor names | 92% | |
| Same vendor and amount, near-identical invoice number | 86% | Sysco, Valley Fresh |
| Same vendor and invoice number, different amount | 70% | BrightTech IT |
| Same vendor and amount within 14 days | 55% | Apex |
The Coastal pair scores 99% because, once "Inc" is stripped, the two vendor names are identical and the pair counts as an exact match.
The five high-confidence pairs put $9,525.80 at risk, 0.75% of everything paid that year. The two lower-confidence pairs add another $10,425 to check: the BrightTech invoice whose amount differs, and the Apex invoices with different numbers. Either could be legitimate. A supplier statement settles it in a few minutes.
The weakest signal, the same amount from the same vendor, needs a time limit. Linen, waste collection and rent are billed at the same amount every month. In the sample, a monthly linen contract of $1,450 produces no false alarms with a 14-day window. Widen it to 31 days and it produces eight, one for every pair of consecutive months. Keep the window shorter than your shortest recurring billing cycle.
Enter two invoices and see how each is normalized, whether an exact check would flag them, and how the scanner scores the pair. The defaults are the Sysco pair from the sample.
Compare two invoices · same rules as the full scanner
Free tool
Duplicate Invoice Checker
Upload a year of paid invoices as a CSV. Every pair is checked with the rules above, results are ranked by confidence and amount, duplicate vendor records are listed, and the scanner drafts a recovery letter for each supplier.
Runs in your browser. No sign-up.
Then rescan every quarter. Duplicates that get through tell you which supplier, site or intake route needs attention.
Paying a supplier twice for the same goods or services, usually because the same invoice was entered twice, sometimes in slightly different forms, or because the supplier exists twice in the vendor master.
Many systems only block an invoice when the vendor, invoice number and amount exactly match an earlier one. A duplicate with a different prefix, a dropped leading zero, two transposed digits, a slightly different amount or a second vendor record passes that test. In the sample year in this guide, an exact check caught one of seven duplicates.
Export a year of paid invoices with vendor, invoice number, date and amount. Normalize invoice numbers and vendor names, then look for matching numbers, near-identical numbers with the same amount, and the same amount from the same vendor within a couple of weeks. Check each flagged pair against the supplier’s statement before claiming.
Confirm it against the supplier’s statement, then write to the supplier with both invoice numbers, dates, amounts and payment references, and ask for a refund or a credit against the next invoice. Most suppliers will credit a documented duplicate.
Keep one record per supplier in the vendor master, take invoices through one channel, and only pay invoices that match a purchase order and a goods receipt that hasn’t already been invoiced. Run a duplicate scan on paid invoices every quarter to catch what gets through.