The problem
A purchase order tells you what was ordered. It does not tell you what the supplier agreed to charge, because that lives in a contract signed months earlier, sometimes amended since, and usually held as a document rather than as data. So the ordinary check compares an invoice against the order and stops there — which catches a quantity that does not match but not a rate that has drifted above the one negotiated. Payment terms, discounts and escalation clauses sit in the same documents and go unchecked for the same reason. The agreement is the control, and it is the one input the reconciliation cannot see.
What the platform does
The contract is read into structured terms first: rate card, unit basis, quantity commitments, payment terms, discount and escalation clauses, and the amendments that change any of them. Invoices are then checked three ways rather than two. Price is compared against the contracted rate for that item on that date. Quantity is compared against the purchase order and against any commitment the agreement sets. Terms on the invoice — payment period, discount, applicable charges — are compared against the master agreement. Each check returns the clause it was decided by, so the result carries its own evidence.
What you get
Price drift becomes visible while the invoice is still in payables rather than at a contract review a year later. Where a rate exceeds the one agreed, the exception names the clause it breaches and the date the rate applied from, which is what turns a query into a conversation the supplier can answer. Where the agreement is silent, the check says so rather than assuming a default. Amendments are resolved before any rate is treated as current, so the comparison is against the agreement in force and not the one originally signed.

