
Published: September 03, 2026
An invoice can pass three-way matching without a single flag and still be wrong. The quantity on the purchase order matches the receiving report. The price on the invoice matches the purchase order. Accounts payable approves it in seconds and moves on. None of that confirms the invoice follows what both sides signed. A vendor can bill at a rate the contract no longer allows, skip a discount that should have kicked in months ago, or leave out a service credit it owes you, and the invoice will still clear every check the matching software runs. This is a structural gap in how invoice processing and document automation work, not a rare exception, and it shows up most often in the contracts companies rely on for years at a time: staffing agreements, freight contracts, facilities services, multi-year licensing deals.
Three-way matching compares three internal records:
If the quantities line up and the invoice price matches the PO price, the system treats the invoice as clean. That check answers only one question: does this invoice agree with the other paperwork already in the system? It never asks whether the PO itself still reflects the deal.

An invoice can match the PO and receipt while still containing pricing or other discrepancies that require attention. InvoiceAction combines AI-powered invoice processing with automated validation and exception workflows.
Strengthen AP controls while reducing the manual effort required to process and review invoices.
The PO is a snapshot. It is created once, usually at order time, carrying whatever price and terms were in effect that day. A contract's more complex provisions rarely get rebuilt into every new PO as conditions change: an escalation clause tied to an index, a discount that activates after a volume threshold, a spend cap for the quarter.
Most process automation and RPA tools within the AP stack were built for exactly this kind of check: structured numbers pulled at data entry and compared against each other. They were never built to read contract prose and judge whether it still applies. The contract that governs the relationship sits elsewhere: in a signed file that the procurement or legal team filed away after execution.
That file is usually a scanned or exported PDF that nobody made searchable. Document capture and data capture systems are built to pull structured fields off invoices, receipts, and purchase orders: line items, totals, dates. Contracts rarely run through that same pipeline. They get signed, scanned, and archived as a flat image instead.
So if someone in AP wanted to double-check an invoice against the contract language, they'd have to open that image and read it end to end. They can't search it the way they'd search a normal file. Before contract terms can be checked against anything, the contract has to exist as text a person can query.
If your signed agreements are sitting around as scans nobody can search, the first fix is boring but necessary: fix a PDF that doesn't work with Ctrl+F before you try to reconcile it against anything else.
Recommended reading: How to Make Scanned PDFs Searchable with OCR Software
Some contract provisions are almost guaranteed to fall outside what a PO snapshot carries forward. These four show up constantly in vendor and services contracts, and none of them will ever trigger a three-way match exception on their own.
Many supply and services contracts drop the unit price once cumulative purchases cross a set threshold, for example a 5% cut once the buyer hits $500,000 in orders for the year, though the exact numbers vary by deal. Each PO is created at the base rate, and each invoice cleanly matches its own PO. Nothing in that process tracks running volume against the contract's tier schedule. A company can cross the threshold in month six and keep paying full price through month twelve, because the discount only applies if someone manually compares cumulative spend against the clause. Each invoice matches on its own terms; the running total across all of them doesn't.
Multi-year service and staffing contracts often tie annual rate increases to an index, capped at a ceiling such as 3% per year. Vendors sometimes apply the wrong base year, compound an increase that should be simple, or round in their own favor. A facilities contract billed at $95 an hour, even though the signed rate schedule says $85, will still match perfectly against a PO that was never updated to catch the drift. The same problem shows up in freight contracts, where the billed rate quietly deviates from the tariff on file, or the fuel surcharge formula is applied incorrectly.
Consulting and staffing agreements frequently include a not-to-exceed limit: a hard cap on total spend per project, per vendor, or per quarter. Matching software checks each invoice against its own PO, not the running total against the master contract's ceiling. A vendor can submit 14 separate invoices over a quarter, each individually clean, that together cumulatively blow past a cap nobody was watching. The overage only becomes visible when someone sums the invoices by hand and compares the total to the contract, which almost never happens until a budget review forces the question.
Contracts with performance guarantees, uptime commitments in an IT services agreement, response-time standards in a facilities contract, usually specify a credit owed to the buyer when the vendor misses the target. That credit is a liability the vendor owes, not a line item on their invoice. Matching software has no visibility into whether an SLA was breached last month, so unless someone on the buyer's side is tracking performance data separately and filing a deduction, the credit never gets applied. The business ends up paying in full for a service for which it was contractually owed a credit.

Automation cannot validate information it cannot access. docAlpha intelligently captures, classifies, and structures data from business documents for downstream processing.
Create a stronger data foundation for AI automation, analytics, validation, and exception management.
None of these misses is individually large enough to draw attention. That's why the total adds up. Research from World Commerce & Contracting puts the average value a business loses on a contract after signing it at 9.2%. The report doesn't break that figure down by cause, but billing and payment drift sits squarely inside what it's measuring: discounts that never trigger, rates that outrun their cap, credits nobody claims.
The reason this persists is that catching it after the fact is expensive, and most companies never set up a way to catch it before. Even organizations that have invested in intelligent automation and data analytics on the invoice side rarely extend the same discipline to the contract side, because the two live in different systems and get reviewed by different teams. An entire recovery-audit industry exists because manually comparing years of invoices against the fine print of a signed contract is slow enough that most companies only do it when a budget shortfall forces the question, or when they hire a firm on contingency to find the money. By the time that happens, a company has usually been overpaying or under-collecting for a year or more on a single contract, multiplied across however many vendor relationships share the same terms.
Recommended reading: Learn How Invoice Reconciliation Helps Detect Billing Errors and Overpayments
Fixing this doesn't require a new digital platform bolted onto AP or a rebuild of the invoice automation you already run. Most contracts are flat-fee with no variable terms to track, and reviewing them adds no value. The risk concentrates in a specific, identifiable slice of your vendor base.

Invoice accuracy often depends on the quality of the transaction created earlier in the process. OrderAction automates customer PO processing and validates critical order data before it enters downstream systems.
Reduce errors at their source and create a more reliable order-to-cash workflow.
None of this replaces three-way matching, and it isn't meant to. Matching does what it was built to do: confirm that internal paperwork agrees with itself. Whether that paperwork matches what you signed is a separate question, and for most companies, nobody's asking.
Recommended reading: Discover How Three-Way Matching Works in Invoice Processing