Match invoice lines to a purchase order without a goods receipt

A match table of invoice lines to purchase-order lines with rate and cap checks, plus an exception list.

Choose one of three approaches. The steps for that option appear below.

Choose an option above. On a phone, swipe the tabs left or right to see all options →

ChatGPT: extracts, matches and tests the cap in code

ChatGPT builds the table, matches lines and tests the cap in readable code. You check values and sign off exceptions.

  1. You

    Get ready

  2. ChatGPT

    Build the table

  3. You

    Check the table

  4. ChatGPT

    Match in code

  5. You

    Sign off

  1. Have ready: invoice, PO export, rules

    Use: You

    The consulting invoice PDF and the PO export with agreed rates and caps, plus finance's matching and rate rules.

    Check

    Check both files are complete and you may upload them; keep the originals.

  2. Build the common line table

    Use: ChatGPT

    Upload the invoice and the PO export and ask for one common line table with a source location for each value.

    Details

    What to paste into the tool

    Task: Common line table with source references. Build one table covering both files with line ID, description, rate, quantity, amount, cap field and source location. State on the output that no goods receipt exists, so receipt-based confirmation is impossible, that this is a two-way match and not payment approval, and mark estimated matches as ESTIMATED. Mark a value UNCLEAR when it is not legible.

  3. Check and correct the table

    Use: You

    Compare a sample of extracted rates, quantities and the PO cap with the invoice and the PO export, then correct the table.

    Check

    Verify extracted rates, quantities and the PO cap against the source documents.

  4. Match lines and test the cap

    Use: ChatGPT

    Paste the checked table and finance's rules; ask for the line match, rate checks and cap test as Python code that is shown.

    Details

    What to paste into the tool

    Task: Draft match table of invoice lines to PO lines with rate and cap checks, plus an exception list. Match each invoice line to a PO line or mark it UNMATCHED. Compare each rate with the PO rate and keep a running total against the PO cap. Show the Python code used. State on the output that no goods receipt exists, so receipt-based confirmation is impossible, that this is a two-way match and not payment approval, and mark estimated matches as ESTIMATED.

  5. Go through exceptions and sign off

    Use: You

    Go through every unmatched line, rate difference and cap breach, check the receipt statement is on the output and sign off.

    Check

    The output must say no receipt exists and that it is not payment approval; escalation happens outside this draft.

Before you paste into any AI tool, remove any confidential information. Put it back at the end.

Tools in this workflow

Deciding between ChatGPT and Claude for this? See the comparison.

Final check

Never paste credentials or full payment details.

Verify extracted rates, quantities and the PO cap against the source documents.

Review every rate difference, unmatched line and cap breach; decide escalation outside this draft.

Every invoice line is matched to a PO line or explicitly unmatched, rates and running totals against the PO cap are checked, and the finance reviewer signs off the exceptions.

Check the result against your original inputs. Approve it before sharing or acting.

What still needs checking
  • Whether the organisation allows invoices and PO exports to be uploaded to each tool is not confirmed.
  • A small non-sensitive sample test is still needed before relying on any extraction or matching step.

Share this page