Skip to content
AP CentralStart free

8 min read

How duplicate invoice payments happen, and how to stop them

Paying the same invoice twice is embarrassing, expensive, and usually discovered by the vendor rather than by you. It is also almost never a single error — it needs two independent gaps to line up, which is good news, because closing either one breaks the chain.

Why it takes two gaps

An invoice arriving twice is harmless if something notices. A weak detection control is harmless if nothing arrives twice. A duplicate payment needs both at once — which is why it feels random, and why it clusters in busy months when both get sloppier together.

ARRIVAL GAPEmailed invoicePosted copyVendor statementDETECTION GAPInvoice number not capturedDuplicate vendor recordAmount differsPaidtwiceClose either gap and the chain breaks.Capturing the invoice number closes the detection gap for every arrival route at once — which is why it is the cheapest control you own.
Both lanes have to fail together. Most prevention effort goes into the top lane, which is the harder one to close; the bottom lane is cheaper and catches every arrival route at once.

Causes, and the control for each

CauseControl that catches itWho owns it
Same invoice by email and by postCapture the invoice number and block repeats on the same vendorWhoever configures AP
Vendor statement processed as a billClassify the document before extracting itWhoever configures AP
Invoice number not captured at allMake it a required field before a bill can postController
Vendor exists twice in the fileMatch new senders against existing vendors before creating oneWhoever maintains the vendor list
Credit memo recorded as a billCheck the sign and the document type, not just the amountAP clerk
Two people processing the same mailboxOne route in, one ownerController
Resubmitted invoice after a queryMark the original as held rather than deleting itAP clerk
Four of the seven are closed by one thing: capturing the invoice number reliably and checking it against existing bills on that vendor.

The statement problem

A vendor statement lists invoices you have usually already received. Processed as a bill, it creates one new liability for the total of several existing ones — and because that total matches no single invoice, the ordinary duplicate check never fires.

This is the sharpest edge in automated AP specifically. A system that reads documents accurately but does not work out what kind of document it is reading will transcribe a statement perfectly and post it as a bill. Accurate extraction makes this failure worse, not better, because the resulting bill looks correct in every field.

Finding the ones you have already paid

Run this backwards before changing anything forwards. It usually recovers some money, and it tells you which of the causes above is actually yours — which is more useful than guessing.

A one-hour duplicate audit
  1. 1Export twelve months of billsVendor, bill number, bill date, amount. In QuickBooks Online, Reports → Transaction List by Vendor, set the date range, and export to a spreadsheet.
  2. 2Sort by vendor, then amountDuplicates surface as adjacent rows with the same vendor and the same amount. Scan rather than filter at this stage — you are looking for a pattern, not a single row.
  3. 3Flag repeats within 90 daysSame vendor, same amount, within a quarter. Recurring charges of a fixed amount will show up here too, so expect false positives and keep them.
  4. 4Separate the recurring from the suspectA monthly fee of the same amount is not a duplicate. A pair eleven days apart on an irregular amount almost certainly is.
  5. 5Check the bill numbersIdentical numbers confirm it. Blank numbers on both tells you your capture is the gap, which is the more valuable finding.
  6. 6Check each suspect against the vendorA credit may already exist. Vendors are generally cooperative about this — they would rather resolve it than have you find it at audit.

Prevention checklist

Controls that actually catch duplicates
0 of 9

Last updated 2026-10-21.

Forward one invoice.

Connect your QuickBooks Online company and watch the first bill land. Nothing to install.