Duplicate Payment Detector
Scan a payment run or a full year of ledger for payments made twice — the same supplier, the same amount, days apart.
Nothing you paste leaves this page. Parsing and matching happen in your browser.
How it works
Duplicate payments are common and rarely noticed. An invoice arrives by email and again by post, or a payment fails and is re-run without the first being cancelled. Studies of accounts payable typically put the rate at a fraction of a percent of spend — which on a large ledger is a substantial sum sitting with suppliers.
Three patterns are reported separately. Exact duplicates share a reference and an amount. Near duplicates share a supplier and an amount within a chosen number of days but quote different references, which is the pattern a rekeyed invoice produces. Repeated references are the same document number paid more than once.
Near duplicate = same payee + amount within tolerance + dates within the window
- Exact duplicate — identical reference and amount
- Near duplicate — same payee and amount, different reference, close in time
- Window — how many days apart two payments may sit and still be suspicious
Worked example
A 10-line payment ledger scanned with a 45-day window
Inputs
Results
42,900 of potentially recoverable cash out of 311,600 — a far higher rate than any real ledger, but the mechanism is exactly the real one. Note the Cobalt pair 48 days apart, which the 45-day window deliberately excludes.
Frequently asked questions
What format should I paste?
Copy straight out of a spreadsheet, or paste CSV. A header row is optional — columns are identified by their headings when present and by their content when not. Dates, references and amounts are detected automatically, and amounts may carry currency symbols, thousands separators or accounting parentheses.
How far back should I scan?
A full year at minimum, and two if the ledger is available. Duplicates are frequently months apart — a re-sent invoice often arrives long after the original was paid, which is precisely why nobody notices.
Are all flagged pairs really duplicates?
No, and they should not be treated as such. Genuine repeat charges — monthly retainers, recurring subscriptions, identical stock orders — look the same to any detector. The output is a list to check, not a list to claim.
What do I do with a confirmed duplicate?
Request a refund or a credit note against the next invoice. Most suppliers settle without argument, since their own ledger will show the overpayment sitting as an unallocated credit.
Is my ledger data uploaded anywhere?
No. Every line you paste is parsed and matched inside your browser. Nothing is transmitted to us, nothing is stored, and closing the tab discards it. That is the whole reason this tool exists in this form.
More in Reconciliation
Two-List Matcher
Paste any two lists of transactions and find what does not line up — matched pairs, exceptions on each side, and duplicates within either.
ReconciliationBank Reconciliation
Match your cash book against the bank statement and produce a proper reconciliation — outstanding items, unrecorded charges and adjusted balances on both sides.
ReconciliationInvoice vs Payment Reconciliation
Match payments received against invoices raised, and find the short payments, overpayments and unallocated cash sitting in your receivables.
ReconciliationPayment Gateway Payout Reconciliation
Reconcile what the gateway actually paid you against what your orders say it should have — with fees, refunds and missing settlements itemised.
ReconciliationGST / VAT Return Reconciliation
Match your purchase register against what your suppliers actually filed, and find the input tax credit you are about to lose.
ReconciliationAR / AP Aging Report Builder
Turn a flat list of open invoices into a proper aged report — bucketed, totalled, and sorted by how long the money has been outstanding.