The duplicate payment that invoice-number matching misses by design: same vendor, same amount, different reference — how to find it by hand, and how DUP-002 flags it.
28/07/2026
Rule of the week: Same Amount + Vendor Within Window
The moment this catches
You're reconciling the March payment run and something itches. You've already checked invoice numbers — they don't match, so your usual duplicate check comes back clean. But the vendor is the same, the amount is the same, and the payment dates are three weeks apart. One of these was probably a genuine invoice paid on time. The other might be the same invoice, re-sent with a new number because the client emailed asking "did you get this?", or paid twice because two people in the business both had authority to release funds and neither checked with the other.
This is the duplicate that invoice-number matching misses by design. Most double-payment checks look for an exact match on invoice number, amount, and vendor — which is the right first pass, but it only catches the lazy duplicates. The ones that survive are the ones where the invoice number changed: a supplier who reissues invoices under a new number after a chase-up, a data entry that transposed two digits, or an invoice paid once from a PDF and once from a portal that generated its own reference. Same money, same vendor, no matching key. It sits in the ledger looking like two separate, legitimate transactions, because on paper, it is.
A worked example
Say you're reconciling payments to a commercial cleaning contractor, Bright & Co Facilities.
- 12 March — Payment of $2,860.00 to Bright & Co Facilities, invoice ref
INV-0442 - 28 March — Payment of $2,860.00 to Bright & Co Facilities, invoice ref
BC-0091
Sixteen days apart. Different invoice numbers, so a simple key-match check won't flag it. But the amount is identical to the cent, the vendor name is the same (or close enough — "Bright & Co Facilities" vs "Bright and Co Facilities Pty Ltd" is a fuzzy match, not an exact one), and the gap is well inside a month. This is exactly the shape of a supplier who cancelled and reissued an invoice after a follow-up email, and got paid twice because the accounts payable process didn't catch that the second one was the same job.
Finding it manually
This is a real, doable manual check — but it's slower than most bookkeepers expect, and it needs a specific kind of attention.
- Export the payments run for the period you're checking (a quarter is a reasonable unit — a full year gets unwieldy fast) with columns for vendor name, amount, payment date, and invoice reference.
- Sort by vendor, then by amount. This groups anything with an exact amount match under the same supplier next to each other, regardless of date or invoice number.
- Scan each vendor group for repeated amounts. Where you find one, check the date gap. Anything inside about 30 days is worth a second look; further apart is more likely a recurring charge (rent, a retainer, a subscription) and less likely a duplicate.
- Watch for vendor name variants. This is the part spreadsheet sorting won't do for you. "Bright & Co", "Bright and Co Facilities", "Bright & Co Pty Ltd" will sort as different vendors even though they're the same supplier. You need to eyeball the vendor column, not just trust the sort, which means reading every row rather than skimming for flags.
- Confirm before you act. A repeated amount to the same vendor inside a month is a candidate, not a verdict — it could be two separate small jobs that happen to cost the same. Check the invoice PDFs or portal records before requesting a refund or raising a credit note.
Done properly, this takes real concentration — sorting and scanning a quarter's payment run by eye, vendor variant by vendor variant, is an hour of close reading, not five minutes of skimming. It's the kind of check that's easy to do well once and hard to keep doing every month.
FAQ
How do you detect a duplicate payment when the invoice number is different? Match on amount and vendor instead of invoice number — sort payments by vendor, then by amount, and look for repeats within a roughly 30-day window. Because vendor names vary in formatting, you also need to check for near-matches ("Bright & Co" vs "Bright and Co Facilities"), not just exact string matches.
What counts as "within window" for duplicate payment detection? There's no universal rule, but 30 days is a sensible default: long enough to catch a reissued invoice that took a few weeks to get chased up, short enough to avoid flagging genuinely recurring charges like monthly retainers or rent as duplicates.
How the rule automates this
The automated version of this check won't catch duplicates outside its 30-day window (a reissued invoice paid two months late slips through), and it can false-positive on legitimate recurring payments to the same vendor for the same amount — a fixed monthly retainer, for instance, will look identical to a duplicate unless the pattern is genuinely regular. What it does catch: DUP-002 runs the same amount-plus-vendor logic continuously across every payment run, using fuzzy matching (above 0.85 similarity) to catch vendor name variants a manual sort would miss, and flags anything inside the 30-day window as HIGH severity for review.
Finanomaly is currently waitlisted.