How to catch duplicate invoices (and stop double payments)

Last updated: June 2026

Duplicate invoices are one of the most expensive and avoidable errors in accounts payable. Pay the same bill twice and the cash is gone until someone notices and claws it back — which can take months, if it happens at all. This guide explains why duplicates happen, the different forms they take, how to detect each kind, how to stop them reaching payment, and how to recover a duplicate you have already paid.

Why duplicate invoices happen

Duplicates rarely come from one cause. The common sources are:

  • Vendor re-sends. A supplier emails a reminder or a second copy, and it gets booked as a new invoice.
  • Double entry. Two people (or a person and an automated import) enter the same invoice into your system.
  • Slightly different identifiers. The same charge appears under a different invoice number, a different date, or with an added prefix — so it does not look like a duplicate.
  • PO and non-PO copies. A purchase-order copy and a non-PO copy of the same invoice both get recorded.
  • Channel duplication. The same invoice arrives by email and by post, or via two systems, and both are processed.

The three types of duplicates

1. Exact duplicates

The same invoice number for the same vendor appears more than once. These are the easiest to catch — a simple count of invoice numbers finds them.

2. Fuzzy duplicates

The same charge under a slightly different invoice number, date, or formatting. Same vendor, same amount, near-same date — but the identifiers do not match exactly, so a naive check misses them. These are where most real money leaks.

3. Cross-record duplicates

The duplicate spans your ledger and the vendor statement — for example, one statement line matches two entries in your books. You only see these by comparing the two records side by side, which is exactly what reconciliation does.

How to detect duplicates

In Excel

For exact duplicates, add a column with =COUNTIF(A:A, A2) on the invoice-number column — any result greater than 1 is a repeat. To catch some fuzzy duplicates, build a helper key by concatenating vendor, amount, and date and run COUNTIF on that. The limitation: Excel cannot easily compare across the statement and the ledger at the same time, and concatenation keys are brittle.

By reconciling the statement

Reconciling the supplier statement against your ledger is the most reliable manual method: it lines up every invoice across both records, so a charge recorded twice — or billed twice — surfaces as an exception. This catches exact, fuzzy, and cross-record duplicates in one pass.

With software

Dedicated reconciliation software checks for both exact and fuzzy duplicates automatically, tolerating the formatting and OCR quirks that hide them, and flags them before payment.

How to prevent double payments

  • Enforce unique invoice numbers per vendor in your AP system, so a re-entry is rejected at the door.
  • Reconcile before every payment run, so duplicates are caught while the cash is still yours.
  • Standardise intake. Route all invoices through one channel and one inbox to avoid email-plus-post duplication.
  • Match credits to originals. When a vendor re-issues an invoice, tie it to the original so you do not book both.
  • Separate entry and approval, so a second pair of eyes can catch a repeat before it is paid.

What to do if you already paid a duplicate

If a duplicate slipped through, act quickly — recovery gets harder with time:

  1. Gather the evidence: both invoice copies and the two payment records.
  2. Contact the vendor and request a refund, or a credit note applied to your next invoice.
  3. Record the credit when it is issued, and confirm it is applied so you do not lose track of it.
  4. Add a control (unique-number enforcement or pre-payment reconciliation) so the same gap does not recur.

How VendorRecon helps

VendorRecon checks for duplicates automatically during reconciliation — both exact and fuzzy — and flags them in the exceptions dashboard before you pay, alongside amount mismatches, missing invoices, and unapplied credits. Because it compares the vendor statement and your ledger together, it also catches the cross-record duplicates that single-file checks miss.

Reconcile your first statement free

Upload a real vendor statement and your AP ledger and see the exceptions in seconds — no credit card needed.

Start freeor see pricing

Frequently asked questions

What is a duplicate invoice?
The same charge recorded or billed more than once — either the identical invoice number twice, or the same amount/date/vendor under a slightly different number. If it reaches payment, you pay twice.
How common are duplicate payments?
Studies of accounts-payable functions consistently find duplicate payments cost businesses a measurable fraction of total spend each year — small per-invoice, but large in aggregate and slow to recover.
How do I detect duplicate invoices?
Match on the invoice number for exact duplicates, and on amount + date + vendor for fuzzy ones. Reconciling the supplier statement against your ledger surfaces both, plus duplicates that span the two records.
How do I get money back for a duplicate I already paid?
Contact the vendor with evidence (both invoice copies and the two payment records) and request a refund or a credit note applied to a future invoice.