BillToCSV
  1. Drop bills PDF or photo, one bill per file
  2. Check totals Every line and sum proven
  3. Download for QuickBooks or Xero Import-ready CSV

Duplicate invoice detection: number, supplier, amount and date checks

To catch duplicate supplier invoices, compare four things: the supplier, the invoice number cleaned of spaces and punctuation, the amount and the invoice date. The same supplier with the same cleaned number is a near-certain duplicate. The same supplier, amount and date under a different number needs a look. The same amount alone is only a clue.

  • By BillToCSV
  • 6 min read

General information for bookkeepers, not accounting, tax or legal advice. Rules and software screens differ by country and change over time.

How duplicates happen

A duplicate is rarely a trick. It is usually a process gap, and the usual gaps are these.

  • The invoice arrives by email and again by post, or a scanned copy is filed beside the original.
  • The supplier re-sends it after a statement, or after a reminder.
  • A bill is keyed by hand and also imported from a file.
  • The number is typed differently each time: INV-0042, INV0042, 0042.
  • The supplier reissues the invoice under a new number after a correction.
  • Two people work the same inbox without knowing.

Duplicate heuristics, strongest first

Five comparisons, how strong each is, and where it raises false alarms
HeuristicWhat to compareStrengthFalse alarms
Exact repeat Same supplier and same cleaned invoice numberVery strongSuppliers that restart numbering each year, or a credit note sharing a number
Number variant Same number, supplier name spelled differentlyStrongTwo real suppliers with similar numbering styles
New number, same bill Same supplier, amount and invoice dateStrongTwo genuine same-day orders of equal value
Near date Same supplier and amount within about 30 daysModerateRent, retainers, subscriptions, fixed monthly services
Same PO The same PO number on two invoicesWeak to moderateStaged billing against one PO

A sweep you can run before every payment batch

Run it on a spreadsheet export of your open bills, or on the review CSV from a batch. The formulas below assume supplier in column A, invoice number in C, the cleaned number in D and the key in E.

  1. Clean the invoice numbers

    In a helper column, uppercase the number and strip spaces and hyphens, for example =UPPER(SUBSTITUTE(SUBSTITUTE(C2," ",""),"-","")).

  2. Build a first key

    Join the supplier and the cleaned number, such as =A2&"|"&D2, then flag repeats with =COUNTIF(E:E,E2)>1.

  3. Build a second key

    Join supplier, amount and invoice date, and flag repeats of that as well.

  4. Scan for look-alikes

    Sort by supplier, then amount, and read the neighbours. A repeated amount within a month, for a supplier that does not bill monthly, deserves a look.

  5. Check each pair against the documents

    Open both PDFs. Compare the lines, the dates and any copy or duplicate stamp, and compare the supplier statement.

  6. Resolve and record

    Keep the first, void the second before payment, and note why. If it was paid, ask for a refund or a credit note instead of deleting the bill.

A worked example

Five bills from one supplier, and what the checks make of them.

  • INV-0042, 1,250.00, 3 Oct. The first bill. Nothing to compare yet.
  • INV0042, 1,250.00, 3 Oct. Cleaned, the number matches the first. An exact repeat. Keep one.
  • INV-0043, 1,250.00, 3 Oct. A new number with the same supplier, amount and date. The second key flags it. Open both PDFs: it may be a reissue or a genuine second order.
  • INV-0051, 1,250.00, 31 Oct. The same amount 28 days later. A monthly service would explain it, so check the service period before you call it a duplicate.
  • INV-0042, 980.00, 14 Nov. A reused number with a different amount. Not a repeat by amount, but worth a question: a corrected invoice, or a numbering restart.

Five rows, four different outcomes. That is why one rule is never enough.

What goes wrong

Software warnings only catch exact matches

QuickBooks Online has a setting that warns on a duplicate bill number (Account and settings, Advanced, Other preferences), which has to be switched on. Xero may refuse a number it already holds for a contact. A number typed differently, or an invoice reissued under a new one, gets through.

False alarms train people to ignore flags

Recurring bills match the near-date test every month. Tag recurring suppliers so real alerts stand out.

A wrong supplier hides a repeat

A bill entered under the wrong supplier will not match its twin. Search the number across all suppliers as well.

Net on one, gross on the other

The same invoice entered once net of tax and once gross has two different amounts. Compare supplier and date as well as amount.

Duplicates across systems

A bill in your accounting software and the same invoice in an approvals inbox or a card feed. Search every place a document can enter.

Catching it after the payment run

A duplicate found before payment costs a minute. After payment it costs a refund request. Run the sweep before each batch.

How BillToCSV helps

BillToCSV does not compare a bill with your books or with other files, so it will not flag a duplicate for you. What it does is give every bill clean, separate fields for supplier, invoice number, invoice date and total, and the review CSV carries them on every row of every bill you ticked in one download. Sort or pivot that file and repeats inside the batch stand out. Try the converter. Free: 1 file per day, up to 10 pages, no account. See pricing.

Questions people ask

What is the best single check for duplicate invoices?

Same supplier plus the same invoice number, after removing spaces, hyphens and case differences. It catches most re-sent invoices. Add a second check on supplier, amount and date for invoices reissued under a new number.

Does QuickBooks Online warn about duplicate bills?

It has a setting that warns when a bill number is reused, as of general knowledge under Account and settings, Advanced, Other preferences. It has to be switched on, and it compares bill numbers only, so it will not catch a reissued invoice.

Does Xero stop duplicate invoice numbers on bills?

It may warn or refuse a number already used for the same contact, especially in an import, but behaviour differs by version. Do not rely on it for numbers typed differently or invoices reissued.

What should I do about a duplicate I already paid?

Do not delete the bill. Ask the supplier for a refund or a credit note, record whichever arrives against that supplier, and keep the correspondence. Your accountant can advise on the accounting.

Are recurring invoices duplicates?

Not if the service period differs. Rent and subscriptions repeat the same amount legitimately. Compare the period or reference on the invoice, and tag recurring suppliers so they do not drown real alerts.

How often should I check for duplicates?

Before every payment run, which is when a duplicate costs money, and again across the whole month at close.