Try it now, capture a real invoice
Free plan · No credit card · Your data stays yours
To find duplicate invoices in QuickBooks, run the Transaction List by Vendor report, set the date range to All, sort by number and amount, and scan for rows that repeat the same vendor, invoice number, date and dollar amount. In Excel, sort the export by vendor and amount and use Conditional Formatting to highlight duplicate values. Both methods work, but they only catch exact matches, so near-duplicates (a resubmitted PDF with a slightly different invoice number) slip through. This guide walks through the exact steps in QuickBooks Online, QuickBooks Desktop, Excel, SAP and Xero, then explains why AP teams that pay a lot of invoices move to automated detection.
Duplicate invoices are not rare. Industry recovery-audit studies put duplicate and erroneous payments at roughly 0.1 to 0.5 percent of total spend, and the classic causes are boringly common: a vendor emails an invoice and also mails a paper copy, the same PDF gets keyed twice by two people, or an invoice and its statement reminder both get entered. The money leaves quietly, and you usually find out weeks later when the vendor calls about a credit balance. Catching duplicates before they are paid is the whole game.
How do I find duplicate invoices in QuickBooks Online?
In QuickBooks Online, go to Reports and open Transaction List by Vendor, set the report period to All Dates, and click Run report. Use the Sort dropdown to sort by Num (invoice number), then scan for the same number appearing twice under one vendor. For a stronger check, click Customize, add the Amount column, and export the report to Excel so you can sort by vendor and amount together. Duplicates almost always share three of these four fields: vendor, invoice number, date and amount.
A quick visual pass also helps: open Expenses, then Vendors, filter to a single vendor, and look for two bills with the same reference and total dated within a few days of each other. When you confirm a duplicate, open the bill, choose More at the bottom, and select Delete. Delete the unpaid duplicate, never the one that is already matched to a payment, or you will break your reconciliation.
How do I find duplicate invoices in QuickBooks Desktop?
In QuickBooks Desktop, run Reports, then Vendors and Payables, then Transaction List by Vendor, and set the date range to All. Click the header to sort by Num, then export to Excel to sort by amount as well. Before you start deleting, check Lists, then Memorized Transaction List, to make sure a memorized bill is not silently recreating the same invoice on a schedule, which is a frequent cause of repeat entries.
If Desktop keeps showing duplicate invoice numbers after an upgrade, run File, then Utilities, then Verify Data, and if it reports a problem, run Rebuild Data. Data damage from an older company file is a known source of phantom duplicates. Fix the file first, then dedupe, so you are not chasing errors the rebuild would have cleared anyway.
How do I find duplicate invoices in Excel?
Export your AP or bill register to Excel, then sort by vendor name and amount so identical charges sit next to each other. Select the invoice-number column, open Home, then Conditional Formatting, then Highlight Cells Rules, then Duplicate Values, and Excel shades every number that appears more than once. For a tighter test, add a helper column that concatenates vendor, invoice number and amount with =A2&"|"&B2&"|"&C2, then run Conditional Formatting on that combined key so only true triple-matches light up.
To pull just the repeats into their own list, use =COUNTIF($D$2:$D$5000,D2)>1 against the helper column and filter for TRUE. Excel is fine for a monthly spot-check on a few hundred rows. It struggles once volume climbs, because a human still has to eyeball whether "INV-2043" and "INV 2043" are the same bill, and Conditional Formatting treats them as different.
How do I identify duplicate invoices in SAP?
SAP has a built-in duplicate check for vendor invoices controlled in configuration under Logistics Invoice Verification and the FI settings for the message that flags a possible double entry. When the check is switched on for a vendor, SAP compares the company code, vendor, currency, reference (invoice) number, invoice date and gross amount, and warns when a new document matches an existing one. The catch is that all the compared fields have to match, so a transposed reference number or a different date defeats it.
Because the standard check is exact-match, many SAP shops add a report or a third-party layer that scores fuzzy matches, for example the same amount and date under one vendor with a slightly different reference. If you only rely on the native warning, keep the reference-number field clean and consistent at entry, since inconsistent references are what let real duplicates through.
How do I find duplicate bills in Xero?
In Xero, open Business, then Bills to pay, and use the search and sort to group a vendor's bills, then compare reference, date and total. Xero shows a warning when you enter a bill with a reference that already exists for that contact, which stops the most obvious repeats at data entry. For a fuller sweep, export bills to a CSV and apply the same Excel duplicate-value check described above across vendor, reference and amount.
Xero's entry-time warning only fires when the reference is identical, so a vendor who leaves the reference blank on one copy, or numbers a resubmission differently, will not trigger it. That is the recurring theme across every accounting package: the native tools catch exact repeats and miss the near-duplicates.
Duplicate detection methods compared
| System | How to check | What it catches | What it misses |
|---|---|---|---|
| QuickBooks Online | Transaction List by Vendor, sort by Num + Amount | Same number and amount under one vendor | Different number, same charge; fuzzy matches |
| QuickBooks Desktop | Transaction List by Vendor + Verify/Rebuild | Exact repeats and file-damage duplicates | Cross-vendor and near-duplicate entries |
| Excel | Conditional Formatting on a vendor+number+amount key | Exact triple-matches you sort together | Formatting differences like INV-2043 vs INV 2043 |
| SAP | Native duplicate-invoice check in config | Exact match on vendor, reference, date, amount | Transposed references, different dates |
| Xero | Entry-time reference warning + CSV export check | Identical reference for the same contact | Blank or altered references |
Why manual duplicate detection misses so many
Every native check above shares one weakness: it only compares fields that are entered identically. Real-world duplicates rarely are. A vendor resubmits an invoice with "-R" appended, an AP clerk keys a leading zero on one copy, or the same charge arrives once as a PDF and once inside a monthly statement with a different reference. To the software these look like two different bills, so they both get approved and both get paid. That is exactly the 0.1 to 0.5 percent of spend that recovery auditors reclaim after the fact.
Automated duplicate invoice detection software closes that gap by scoring similarity instead of demanding an exact match. It fingerprints each invoice across vendor, amount, date and line items, flags fuzzy matches (same vendor and amount within a few days, transposed digits, an added suffix) before payment, and holds the suspect for review rather than letting it clear. That is the difference between catching a duplicate at the desk and finding it in an audit six months later.
The other durable fix is a clean vendor master and disciplined invoice matching. When every invoice is matched to a purchase order and receipt before it is approved, a second copy of the same charge has nothing left to match against and gets stopped. Teams running higher volumes usually pair automated detection with three-way matching so exact and near-duplicates are both caught upstream. If you want the broader picture on how these payments happen and how to prevent them, our guide to duplicate invoice payments covers the causes and the controls in depth.
Can you have two invoices with the same number?
Yes, and it happens often. Different vendors legitimately use the same invoice numbering, so "1001" from two suppliers is not a duplicate. A true duplicate is the same vendor, same amount and same (or near-same) date, regardless of whether the number matches. That is why sorting by invoice number alone is not enough: you have to compare vendor, amount and date together, which is exactly what an automated check does on every invoice, every time.
Frequently asked questions
What is the fastest way to spot duplicates across all vendors at once?
Export the full bill register to Excel or a CSV, build a combined key of vendor, invoice number and amount, and run a Conditional Formatting duplicate check on that key. It surfaces exact repeats across every vendor in one pass. For near-duplicates and ongoing prevention, automated detection that scores similarity is faster and does not depend on a monthly manual export.
Should I delete a duplicate invoice or void it?
If the duplicate has never been paid or matched to a payment, deleting the unpaid copy is usually cleanest. If it was already paid, do not delete it; void or reverse it through the proper workflow and issue a vendor credit or request a refund, so your audit trail and reconciliation stay intact. When in doubt, keep the paid transaction and correct the unpaid one.
Does bookkeeping software prevent duplicate payments on its own?
Only partly. QuickBooks, SAP and Xero warn on identical references, but they do not catch near-duplicates or the same charge submitted two different ways. Preventing the payment, not just flagging the entry, takes a detection layer that scores similarity and holds suspects before they reach a payment run. If your books live in QuickBooks, connecting AP through QuickBooks accounts payable automation adds that check before anything is paid.
A monthly Excel sweep is a reasonable baseline if you process a few hundred invoices. Once volume and vendor count climb, the odds that a near-duplicate slips a manual check climb with them, and the cheapest duplicate is the one you never pay. If your books are in QuickBooks, it also helps to keep your bank feed clean so payments reconcile the first time; a reliable bank statement to QuickBooks converter keeps that feed accurate. And when you are matching invoices to purchase orders to stop repeats at the source, a dedicated purchase order management platform gives every invoice a PO to match against.