Duplicate invoice detection: catch duplicate or mismatched supplier invoices before you pay

Suppliers resend invoices, change the number slightly, or bill a different amount than the PO. Paying twice is common and slow to recover. This check runs before each payment run and lists anything that looks wrong.

By The Workshaped Lab·Autonomy: suggest·Prompt tested 14 Oct 2026
Bills list (CSV)Purchase orders (CSV)Any chatbot or a spreadsheet
Who it's forOwners, office managers and bookkeepers who approve a weekly or monthly payment run.
AutonomySuggest. Nothing is sent, posted or booked without a person.
TierQuick win
ProvenanceIdea, prompt tested on synthetic data.

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.

The rule we build by: the model reads; code decides anything involving money, dates, matching or what's true; a person approves.

Step by step

  1. Export unpaid bills (supplier, invoice number, date, amount, PO) and the last 90 days of paid bills.
  2. Normalise invoice numbers: strip spaces, dashes, leading zeros and prefixes like INV.
  3. 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.
  4. List flagged bills with the reason and the matching earlier bill.
  5. 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]
Check every result by hand. Don't paste account numbers or anything you don't need to share.

✓ 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.

Keep going

Related workflows

More: all Bookkeeping & Finance use cases · Finance & Billing ideas · every use case

The weekly use case

Get one tested AI use case a week.

One real job an AI can help with, the prompt we tested and what to watch out for. Free, by email. Unsubscribe any time.

We store your email, when you signed up and the page you signed up on, to send this email and to see which pages people sign up from. Unsubscribe any time by emailing hello@workshaped.ai. Privacy

Want one of these built for your business?

Workshaped designs AI systems around how your team actually works. We start read-only, prove the value, and only then talk about autonomy.

Work with us