Upload a purchase order and your draft invoice. See exactly which fields and line items match before you send it, so a mismatch doesn't get your invoice bounced.
Upload the PO and invoice for an AI 2-way match, or add goods-receipt quantities below for a full 3-way match.
Purchase Order
PDF, PNG, JPEG, or WEBP - up to 10MB
Invoice
PDF, PNG, JPEG, or WEBP - up to 10MB
2 free checks a day, no email needed - 5 a day once you share your email.
Enter what was ordered, what was received, and what was billed. Each line is checked against your quantity and price tolerances, and you see how much of the invoice is safe to approve and how much to hold.
Verdict
Hold for review
2 exceptions, 0 warnings
Invoice total
$11,900.00
Safe to approve
$11,120.00
Received, ordered, and at PO price
Hold / dispute
$780.00
Ask for a credit note or corrected invoice
Building the invoice from a PO for the first time? Try PO to Invoice, or build one from scratch with the Invoice Generator.
A 3-way match compares three documents before an invoice is paid: the purchase order (what the buyer agreed to buy and at what price), the goods receipt (what actually arrived), and the supplier's invoice (what the supplier is asking to be paid). The invoice is approved only when quantity and price agree across all three, within the tolerances the buyer's AP team has set.
For a supplier, this is the check your invoice goes through inside the customer's ERP. Running it yourself before sending is the cheapest way to avoid a rejected invoice and a 30-day delay while it is corrected.
| Match | Documents compared | Typically used for |
|---|---|---|
| 2-way | PO and invoice | Services, subscriptions, anything with no physical delivery |
| 3-way | PO, goods receipt, and invoice | Physical goods or measurable deliverables |
| 4-way | PO, goods receipt, inspection report, and invoice | Regulated or quality-checked goods (manufacturing, pharma) |
PO 4500012345 with three lines, a 0% quantity tolerance and a 2% price tolerance. The invoice total is $4,315.00. This is the same rule the manual checker above applies: pay for no more than was both ordered and received, at no more than the PO price plus tolerance.
| Line | PO | Received | Invoiced | Result | Approve | Hold |
|---|---|---|---|---|---|---|
| Widgets | 100 x $10.00 | 95 | 100 x $10.00 | Billed 5 more than received | $950.00 | $50.00 |
| Brackets | 20 x $50.00 | 20 | 20 x $50.75 | Price 1.5% above PO, within tolerance | $1,015.00 | $0.00 |
| Motors | 10 x $200.00 | 10 | 10 x $230.00 | Price 15% above PO | $2,040.00 | $260.00 |
$4,005.00 can be approved and $310.00 is held. The widgets line is capped at the 95 units received. The motors line is paid at the PO price plus 2% ($204.00 a unit) until the supplier sends a credit note or the buyer approves the new price. In most ERPs the whole invoice is blocked until both lines are resolved, which is why one wrong line delays payment on all of it.
Tolerances decide how strict the match is. Quantity tolerance is usually 0% for discrete items and a few percent for goods sold by weight or volume, where the delivered amount naturally varies. Price tolerance is often 1 to 5%, sometimes with an absolute cap (for example 2% or $50, whichever is lower) so a small percentage on a large line does not let a big overcharge through. ERPs such as SAP store these as tolerance keys per company code, so the same supplier can be held to different limits by different customers.
As a supplier, assume a tight tolerance. Bill exactly the PO price, bill only what has been delivered (or what the customer has receipted), and quote the PO number and line numbers exactly as they appear on the PO.
The usual causes are an invoice raised before the goods receipt is posted, a price increase that was agreed by email but never added to the PO, a partial delivery billed in full, a missing or mistyped PO number, and line descriptions that do not map to PO lines. Each one is cheap to catch before sending and slow to fix after the customer's AP team has rejected the invoice. For how this fits the wider process, see the order and contract stage and how to convert a quote into an invoice.
A mismatched PO number, a different buyer or vendor name, a quantity or unit price that changed between the PO and the invoice, or a line item on one document that is missing from the other. These are the most common reasons a client’s AP department rejects or delays an invoice.
Yes. Upload the PO and your invoice for an AI 2-way check of PO number, names, quantities, and prices. For a full 3-way match, add the goods-receipt quantities in the manual checker further down the page, which applies your quantity and price tolerances line by line.
No - treat it as a fast first pass. Line items are matched by description or SKU, which can occasionally mismatch wording that a human would read as the same item. Always review flagged rows yourself before sending.
Yes, 2 free checks a day with no signup, 5 a day once you share your email. No credit card.
No. Both files are sent for extraction and are not stored - nothing about them (image or extracted data) is saved on our servers. Only anonymous usage metadata (timestamp, file types) is logged to enforce the daily limit.
Try a free tool for the same step, or read more on the blog. Stuck on something? Ask me.
Invoice Generator
Create and download a professional invoice, or import line items straight from a SOW.
PO to Invoice
Upload a purchase order and get a ready-to-send invoice with the PO details carried over.
Invoice Parser
Extract header and line items from invoice PDFs or images and export to CSV, Excel, or JSON. Also available as a Chrome extension, a Claude skill and an MCP tool.