How to Match Supplier Invoices
to POs in Manufacturing
Most accounts payable teams spend more time getting invoice data into a comparable format than they spend actually comparing it. A supplier sends a PDF with 47 line items scattered across two pages. The purchase order lives in your ERP. The receiving report is a paper packing slip signed at the dock. Before anyone can ask "do these match?", someone has to type — or copy-paste — all three datasets into the same place. In manufacturing, where MRO suppliers alone can number in the hundreds and partial deliveries are the norm, this pre-matching step eats more hours than the matching logic itself.
Key Takeaways
- A mid-sized manufacturer processing 500 supplier invoices a month spends roughly 25 hours on manual data entry — before a single PO comparison begins. That's 3 minutes per document, every document, every month.
- The bottleneck isn't the matching logic — it's that 66% of AP teams are still typing invoice data into their ERP line by line, while every supplier uses a different PDF format. More matching software won't fix data that's still locked inside paper.
- ImageToTable.ai extracts every supplier invoice — Grainger, Fastenal, McMaster-Carr, the local machine shop — into a structured spreadsheet in seconds per page. With that data free, 3-way matching is XLOOKUP, a conditional formatting rule, and one afternoon.
Why Manufacturing PO Matching Breaks More Often Than You'd Expect
Manufacturing accounts payable is structurally harder than AP in most other industries. It's not just volume — it's the variety of supplier relationships, the frequency of partial shipments, and the fact that every new production run creates a fresh wave of POs that need matching within payment terms.
A mid-sized manufacturer might process 500 to 2,000 supplier invoices per month. According to the IFOL 2025 AP Automation Trends Survey, 66% of AP teams still manually key invoice data into their ERP — and only 6% use purchase orders for all invoices, meaning the majority of transactions lack the foundational document needed for matching in the first place. The same survey found that top-performing AP teams achieve a first-pass PO match rate of 90% or higher, while bottom performers hover around 70%. That 20-point gap represents hundreds of invoices per month stuck in exception queues — and in manufacturing, every exception is a potential production delay.
Three structural factors make manufacturing PO matching uniquely difficult:
1. The MRO supplier problem. Maintenance, Repair, and Operations suppliers — Grainger, MSC Industrial Supply, Fastenal, McMaster-Carr — each use their own invoice format. MSC's EDI 810 specification, for example, requires the PO number in field BIG04 and the supplier's item number in IT109 — a structure entirely different from Grainger's PDF format or McMaster-Carr's web-generated invoices. An AP clerk processing 50 invoices from 12 different MRO suppliers is essentially decoding 12 different document schemas before the matching can begin.
2. Partial deliveries are the rule, not the exception. A PO for 500 units of a custom fastener might arrive in three shipments across six weeks — each with its own packing slip and each triggering a separate supplier invoice. The PO quantity says 500, the first invoice says 175, the second says 200, and the receiving dock has only logged the first two deliveries. Without a system that tracks cumulative received quantities against the PO, partial matches become a manual reconciliation exercise that compounds with every split shipment.
3. Line-item descriptions rarely match across documents. Your PO might list "Stainless Steel Hex Bolt, M10×1.5, Grade A2-70" while the supplier's invoice abbreviates it to "SS Bolt M10 A2." To a matching algorithm (or a tired AP clerk at 4 PM), these could be different items. To the production floor, they're the same bolt. This description drift is pervasive in industrial procurement and is the single biggest source of false mismatches in manufacturing PO matching.
An APQC benchmark from 2025 pegged the median invoice processing cycle time at 4.7 calendar days — from receipt to approval and payment scheduling. For manufacturers dealing with the three factors above, that median understates reality. Ardent Partners' 2025 data shows the gap more starkly: best-in-class AP teams process invoices in 3.1 days and spend $2.78 per invoice, while the rest average 17.4 days and $12.88. Manufacturing AP, with its structural complexity, skews toward the latter.
The Three Documents You Need — And What Happens When One Goes Missing
Before you can match anything, you need to know what you're matching. Purchase order matching in AP comes in three standard forms, each adding a layer of verification:
2-way matching compares the supplier invoice against the purchase order. It confirms that quantities, prices, and item descriptions on the invoice match what was ordered. This is the minimum for any PO-based transaction and is sufficient for service contracts or low-risk purchases where physical receipt isn't in question.
3-way matching adds the goods receipt (packing slip or receiving report) as a third document. This is the standard for manufacturing because it confirms not just that you ordered the item and were billed for it, but that it actually arrived. Without the goods receipt, you're paying off the PO and the invoice alone — with no confirmation that what was ordered is what the dock received.
4-way matching includes an inspection or quality acceptance document on top of the other three. Used when specifications and compliance matter — aerospace components, pharma raw materials, first-time orders from new suppliers — this ensures payment is held until the delivered goods pass quality verification.
In practice, most manufacturers run a hybrid: 3-way for physical goods, 2-way for services and recurring subscriptions, 4-way only for high-stakes or regulated items. The common failure mode isn't choosing the wrong matching type — it's missing one of the three core documents when it's time to run the match.
The most frequent gaps, based on AP practitioner reports and Reddit discussions among procurement and accounting professionals:
- The PO was never created. Phone orders, email approvals, verbal buy instructions — none generate a PO. Without a PO, there's nothing to match the invoice against, and the entire matching process breaks before it starts. This is the no PO, no pay discipline problem that separates well-run AP functions from reactive ones.
- The goods receipt never reached finance. The dock signed the packing slip and filed it. The PO stayed open. When the invoice arrives three weeks later, nobody can confirm what was delivered. In one Reddit thread, a manufacturing accounting professional described the recurring ritual: "When POs don't get marked received upon delivery, we need to request receiving to verify delivery and mark the PO received after the fact." This after-the-fact scramble adds days to every mismatch.
- The invoice doesn't reference the PO number. A supplier sends an invoice with their internal reference number but no PO number. The AP clerk now has to cross-reference by vendor name, date, and amount — a manual lookup that turns a 30-second match into a 10-minute investigation.
For publicly traded manufacturers, SOX Section 404 adds a compliance layer: three-way matching must be documented, the audit trail must be unalterable, and duties must be segregated between those who create POs, those who approve invoices, and those who execute payments. A missing goods receipt isn't just a process headache — it's a control deficiency that auditors will flag.
Getting Invoice Data Into Excel — Without Typing Every Field
This is the step that nearly every AP automation vendor's blog skips: how does the invoice data actually get from the PDF into a table where you can compare it? The assumption is always that you either (a) already have an AP platform that captures invoice data automatically, or (b) you'll type it in manually. For manufacturers running QuickBooks, Sage, or a lightweight ERP module without built-in capture, that assumption breaks.
The alternative is an AI-powered document extraction tool — one that reads an invoice as a human would, understanding that "Invoice No:" and "Inv #" and "Document Number" all refer to the same data field, regardless of where they appear on the page.
Unlike template-based OCR — which requires you to pre-configure a template for each supplier's invoice layout and breaks when a supplier updates their format — AI extraction uses visual language models to locate data by understanding what it means, not where it sits on the page. You define the columns you need — Invoice Number, PO Number, Vendor Name, Line Item Description, Quantity, Unit Price, Line Total, Invoice Total, Due Date — and the tool extracts those values from any invoice layout, including scanned PDFs with handwritten notes.
This approach, known as Custom Column Extraction, is what makes the Excel-based matching workflow viable: you type your desired column headers once, upload your batch of supplier invoices (any mix of PDFs, scans, or images from Grainger, Fastenal, raw material distributors, or the local machine shop), and get a structured spreadsheet where every row is one invoice — or one line item — with all fields populated and normalized.
Files are processed securely and not stored.
For the PO matching workflow, the columns you'll typically extract are:
- Invoice Number — the supplier's reference
- PO Number — your purchase order reference (the join key for matching)
- Vendor Name — for grouping and supplier performance tracking
- Invoice Date — for aging and payment term calculation
- Due Date — for prioritization
- Line Item Description — what was billed
- Quantity — units billed
- Unit Price — agreed price per unit
- Line Total — Qty × Unit Price (or extract this directly, or use a Computed Column to calculate it during extraction if the invoice doesn't print it)
- Invoice Total — gross amount, for tolerance checking
With this data in a spreadsheet, the matching step becomes a structured comparison rather than a manual page-by-page exercise. The extraction itself takes 5–10 seconds per page — compared to the 3 minutes per document that manual data entry averages. At 500 invoices per month, that's roughly 23 hours saved on extraction alone.
Setting Up Your Matching Workflow in Excel
Once invoice data is in a spreadsheet, the matching workflow in Excel comes down to three steps: import your PO and receiving data, join them to the invoice data, and flag discrepancies.
Step 1: Export your open POs from your ERP or procurement system. Most ERPs — SAP, Microsoft Dynamics 365, Oracle NetSuite, and even QuickBooks — can export open PO data as CSV or Excel. Export the PO number, line item details, ordered quantity, unit price, and vendor name. Do the same for goods receipts if your receiving process generates digital records.
Step 2: Join invoice data to PO data using the PO number as the key. In Excel, XLOOKUP (or VLOOKUP on older versions) can pull PO details into the invoice sheet:
// Pull ordered quantity from PO sheet
=XLOOKUP([@[PO Number]], PO_Sheet[PO Number], PO_Sheet[Ordered Qty], "PO Not Found")
Step 3: Flag mismatches with conditional formatting and a match-status column. Add a column that compares billed quantity to ordered quantity (and received quantity, for 3-way). Set tolerance thresholds — a 1–5% variance band is common in manufacturing, where count discrepancies on bulk items are routine:
// Match status with 5% quantity tolerance
=IF(ABS([@[Billed Qty]]-[@[Ordered Qty]])/[MAX]([@[Ordered Qty]],1)<=0.05,
"Match",
"REVIEW")
Apply a three-color conditional formatting rule to the match-status column: green for "Match," amber for within-tolerance variances, red for "REVIEW." This gives you a visual dashboard of every invoice's matching status at a glance.
Step 4: Set up a price-variance column. Even when quantities match, prices can drift — especially with commodity-linked raw materials where surcharges fluctuate. Compare the billed unit price against the PO unit price and flag anything outside your tolerance:
// Price variance check (absolute difference)
=IF(ABS([@[Billed Unit Price]]-[@[PO Unit Price]])>0.01, "Price Variance", "OK")
For manufacturers working with many line-item invoices, you can take this further with Power Query to automate the join-and-compare step. Power Query can ingest the invoice extraction spreadsheet, the PO export, and the goods receipt log, merge them on PO number and line number, and output a consolidated matching report — all refreshable with a single click when new data arrives. One Reddit user in r/procurement described exactly this approach: "It's not a perfect solution, but it doesn't require a subscription, which is to use Excel Power Query. You'd have to set up each vendor's format." The AI extraction step eliminates that last challenge — because you're not setting up vendor-specific formats; the extraction handles all formats uniformly.
Handling Partial Deliveries, Price Variances, and the Messy Reality
The spreadsheet matching workflow handles clean matches automatically. The real work — and where manufacturing AP teams spend most of their time — is in the exceptions. Here's how to handle the three most common exception types in your Excel workflow.
Partial deliveries. When a PO for 500 units arrives in three shipments, each with its own invoice, a simple quantity comparison will flag every invoice as a mismatch because the billed quantity (175) doesn't equal the ordered quantity (500). The fix: maintain a cumulative received quantity column in your PO master that sums all goods receipts and invoices to date. Compare each invoice against the remaining open PO balance, not the original ordered quantity. Add a column for Open PO Balance = Ordered Qty - SUMIF(all receipts + prior invoices for this PO). An invoice is only a true over-bill if its quantity exceeds the open balance.
Unit of measure mismatches. A PO might specify "cases" while the supplier invoices in "each." A bolt order placed as "1 box of 100" arrives with an invoice listing "100 pieces." These UOM mismatches are common with MRO suppliers and raw material distributors. In your Excel workflow, add a UOM conversion table for known suppliers and apply it before the quantity comparison. For one-off mismatches, flag them for manual review — there's no automation shortcut for "the supplier used a different counting unit than the PO."
Description drift. "SS Bolt M10 A2" vs "Stainless Steel Hex Bolt, M10×1.5, Grade A2-70" — semantically identical, textually different. Excel's fuzzy matching (available in Power Query via the "Fuzzy Matching" option on merge operations) can catch many of these, but the most reliable approach is to match on structured identifiers (PO number + line number + supplier part number) rather than free-text descriptions. If your PO system assigns line numbers and your extraction captures the supplier's part number from the invoice, the match becomes deterministic: PO #12345, Line 3, Supplier PN MSC-4455-A2 either matches or it doesn't.
When the invoice total doesn't equal the sum of line items. This can indicate a legitimate discrepancy (a freight charge not listed as a line item, a volume discount applied at the invoice level) or an extraction error. Add a sanity-check column: =IF(ABS([Invoice Total] - SUM of [Line Totals for this invoice]) > 1, "Total Mismatch", "OK"). This catches extraction errors — where a line was missed or a total was garbled — before they become payment errors.
For SOX-compliant manufacturers, document every exception resolution in the spreadsheet itself — add a "Resolution" column with a dropdown (Approved / Returned to Supplier / Credit Memo Requested / Partial Pay) and a "Notes" column for the auditor's trail. The spreadsheet becomes both your matching tool and your compliance record.
FAQ
Do I need an ERP to do 3-way matching?
No. Three-way matching requires three documents — a purchase order, a goods receipt, and a supplier invoice — and a system that compares them. That system can be an ERP, an AP automation platform, or a well-structured Excel workbook. The structural requirement is that all three documents exist and their data is accessible in a comparable format. If your PO data lives in a CSV export from a purchasing module and your goods receipts are logged in a shared spreadsheet, you already have the raw materials for matching — you just need the invoice data to complete the set.
What if my suppliers don't include PO numbers on their invoices?
This is the single most effective process change you can make. Require PO numbers on all invoices as a condition of payment — most suppliers will comply with minimal pushback because it also speeds up their payment. For suppliers who genuinely can't adapt their invoicing system, you can match on vendor name + invoice date + total amount, but this is a fallback with higher error risk. Better to make PO-on-invoice a supplier onboarding requirement.
How accurate is AI extraction for supplier invoices?
AI-powered extraction using vision large models achieves up to 99% accuracy on printed invoice data — comparable to manual data entry error rates of approximately 1.6%, but at a fraction of the time. The accuracy edge comes from consistency: the AI doesn't get tired, doesn't transpose digits at hour 7 of data entry, and flags uncertain extractions for review rather than silently entering wrong values. Scanned invoices with handwritten annotations will have lower accuracy and may require spot-checking.
Can this workflow handle invoices in different languages and currencies?
Yes. AI extraction tools that use visual language models can read invoices in multiple languages without separate configuration — the model understands "Total," "Gesamtbetrag," and "Montant total" as the same field type. Multi-currency handling depends on whether your extraction tool normalizes currency symbols and decimal conventions. If you're matching invoices from international suppliers (common in manufacturing — raw materials from Germany, components from China, MRO from domestic distributors), verify that your extraction tool handles European decimal commas (1.234,56) and currency formatting correctly before running a full batch.
What's the practical limit — how many invoices can this Excel workflow handle?
An Excel-based matching workflow works well up to roughly 2,000–3,000 invoices per month, beyond which spreadsheet performance and manual exception handling become bottlenecks. At that volume, the extraction step (getting invoice data into the spreadsheet) remains valuable regardless — but the matching and exception routing may benefit from a dedicated AP platform. The inflection point varies by team size and exception rate: a team of 3 AP clerks with a 15% exception rate will hit the ceiling faster than a team of 5 with a 5% exception rate.
The Bottom Line
Manufacturing PO matching doesn't fail because the matching logic is hard — it fails because invoice data arrives locked inside PDFs with no two suppliers using the same format. Once that data is free and structured, matching it to a PO or a goods receipt is a spreadsheet exercise that any AP clerk can set up in an afternoon. The 66% of AP teams still keying invoice data manually into their ERP aren't stuck because they lack a matching platform — they're stuck at the extraction step that every platform assumes is already solved. Solve that first, and the matching becomes the easy part.
Try the extraction step yourself — upload a supplier invoice below and see what structured data you get back in under 30 seconds. If extracting the data is no longer the bottleneck, you can build whatever matching workflow fits your operation.