The problem
Duplicate payments come from resent invoices, invoices that arrive by email and post, and small changes in the invoice number (INV-1041 vs 1041). Mismatches against purchase orders slip through when nobody compares line by line before the payment run.
Why it works
The checks themselves are simple rules: same supplier and amount within a few weeks, near-identical invoice numbers, total different from the PO. A spreadsheet or a short script does them reliably; a model is useful for explaining each flag in plain words and for reading invoice numbers written in odd formats. A person decides every flagged item.
Step by step
- Export unpaid bills (supplier, invoice number, date, amount, PO) and the last 90 days of paid bills.
- Normalise invoice numbers: strip spaces, dashes, leading zeros and prefixes like INV.
- Flag: same supplier + same normalised number; same supplier + same amount within 30 days; amount differs from the PO by more than 1%; no PO where one is required.
- List flagged bills with the reason and the matching earlier bill.
- A person holds or approves each flagged bill before the payment run.
Pitfalls to avoid
- Recurring bills (rent, subscriptions) look like duplicates: keep a short allow-list.
- Credit notes and partial invoices against one PO are legitimate: compare the running total, not each bill.
- Don't let a chatbot do the sums on a long list; use the spreadsheet for totals and the chatbot for the explanation.
Free · Kickstart prompt
Get a rough first version today
Paste this into Claude, ChatGPT or Grok with your own data. It gets you a useful first pass, not the tested setup.
Act as an accounts-payable checker. Below are (1) the bills I'm about to pay, (2) bills paid in the last 90 days and (3) open purchase orders. Compare them and list every bill I should hold, with the reason: - same supplier and same invoice number, after ignoring spaces, dashes, leading zeros and prefixes like "INV" - same supplier and same amount within 30 days of another bill - amount differs from its PO by more than 1%, or no PO where the others have one Give a table: bill, supplier, amount, reason, matching earlier bill or PO, and "likely duplicate / check / probably fine". Don't recalculate totals I didn't ask for; copy amounts exactly. Monthly subscriptions and rent will repeat; mark those "probably fine". BILLS TO PAY: [PASTE] PAID IN LAST 90 DAYS: [PASTE] OPEN POs: [PASTE]
✓ Prompt tested 14 Oct 2026: we ran it with gpt-5-mini on a synthetic sample and checked the output by hand.
This one is a free idea, not a paid Blueprint. If you want us to build and test the full version, tell us below.
Should we build this next?
One tap moves this up our build queue. Add an email only if you want a note when the tested Blueprint is ready.