Resolving invoice exceptions across PDFs and ERP
Follow a EUR 400 invoice difference from the supplier PDF to a clear review report. Build the record checks, add policy search where it helps, and test the workflow before connecting real ERP actions.
The question: Why does this invoice disagree with the order and delivery records, and who should resolve it?
You’ll learn: Build a checked invoice record and an evidence-linked review report; choose the document reader, exact checks and optional policy search.
For: Finance teams, product owners and engineers. No AI background needed.
Executed teaching prototype · AI-assisted source check . This is not a human expert endorsement.
Chapter 1: Follow one invoice
1. Follow one invoice#
An invoice arrives for EUR 2,400. The order and delivery record support EUR 2,000. Finance needs to know what explains the extra EUR 400, who should check it, and which records to open.
We will build a review queue that answers those questions. It reads the invoice PDF, checks the purchasing records, and prepares a short report. A person handles the exception through the company’s normal process.
| Record | What it says | Where to check |
|---|---|---|
| Invoice INV1042 | 120 units × EUR 20 = EUR 2,400 | Invoice PDF, page 1, line 1 |
| Order PO778 | 100 units approved at EUR 20 | Purchasing system, order line 1 |
| Receipt GR552 | 100 units received | Purchasing system, receipt line 1 |
| Earlier bills against this line | 0 units | Posted invoice history |
All amounts in this example exclude tax, discounts and freight. The unit is each, and the currency is EUR. There is one invoice line and one order line. We will keep those limits visible rather than pretend this first version covers every invoice.
An ERP is the business system that stores orders, receipts and invoices. Comparing those three records is often called three-way matching. First check whether your ERP already does this well. If it does, use its result and improve document capture and the review screen around it.
Source: How Dynamics 365 compares invoice prices and received quantities ↗
Open each step to see its role. The comparison uses the actual numbers; a text-search result cannot change them.
Select a box to inspect its role. On a small screen, scroll the diagram sideways.The PDF is the supplier’s claim. Preserve the original file and the page that shows the line.
Read the complete diagram as text
- Invoice: 120 units: The PDF is the supplier’s claim. Preserve the original file and the page that shows the line.
- Order: 100 units: The approved order supplies the supplier ID, item, unit, quantity and EUR 20 price.
- Receipt: 100 units: The posted receipt records delivery. Missing evidence must stay missing, not become zero.
- Compare the records: Match exact IDs, confirm currency and units, subtract earlier billed quantities, then calculate with decimal arithmetic.
- Finance reviews EUR 400: Show all three sources and the reason for the hold. Do not change the invoice or approve payment.
- Invoice: 120 units → billed → Compare the records
- Order: 100 units → order → Compare the records
- Receipt: 100 units → received → Compare the records
- Compare the records → review → Finance reviews EUR 400
Step 1. Agree the first version with finance#
Start with one legal entity, one ERP, purchase-order invoices, and one invoice currency. Choose a small set of suppliers. Ask finance to label sample invoices as matched, missing receipt, wrong price, duplicate, or unclear. Keep some suppliers for the final test so the reader must handle layouts it has not seen before.
| Collect | Why we need it | Stop when |
|---|---|---|
| PDF and file version | Show exactly what the supplier sent | The file is unreadable or unsafe to process |
| Supplier ID, invoice number and date | Find the right account and check duplicates | Two suppliers could be the match |
| Order ID and line ID | Read the approved quantity and price | The order is missing, closed or unapproved |
| Posted receipts, returns and earlier bills | Work out the quantity still available to bill | The snapshot is incomplete or out of date |
| Written tolerances and policy dates | Know which differences need review | Two rules conflict or no applicable rule exists |
| Reviewer and permitted company scope | Send the exception to a person allowed to see it | The caller lacks access |
Our teaching rule uses zero tolerance and no returns. Your production adapter must read net accepted receipts, returns, earlier invoices and credit notes using the ERP’s rules. A service invoice may need proof of completed work instead of a goods receipt. Give those cases their own rule.