All solutions

Solutions

The rate you agreed, checked against the rate you were billed

Contract, purchase order and invoice compared as three separate sources of truth: price against the contracted rate, quantity against the order, terms against the master agreement — each result carrying the clause that governs it.

Rate card from the agreementQuantity against the POClause cited on every check
Payables
RetailManufacturingOCR & extractionN-way matchingERP write-backAudit trail
01

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.

02

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.

03

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.

Process

How it works

Four stages. The contract is turned into terms before any invoice is examined, because a check is only as good as the rate it is checking against.

  1. 01

    Read the agreement

    Master agreements, schedules and amendments are read into structured terms: rate card, unit basis, quantity commitments, payment terms, discounts and escalation. Each term keeps a pointer to the clause it came from, so every later check can cite its source rather than assert a number.

  2. 02

    Resolve what is in force

    Amendments and renewals are linked to the agreement they modify and resolved along that chain. A rate is only treated as current once the documents after it have been read, because the originally signed figure is frequently not the figure the supplier is entitled to charge.

  3. 03

    Match three ways

    Price against the contracted rate for that item on that date, quantity against the purchase order and any commitment in the agreement, and invoice terms against the master agreement. Three comparisons rather than one, because agreement on one of them says nothing about the other two.

  4. 04

    Report with the clause attached

    Each exception names what disagrees, by how much and under which clause. Where the agreement does not cover the point, that is reported as not stated rather than resolved by assumption, so a reviewer knows whether they are enforcing a term or filling a gap.

What it does

Inside the solution

Contracts read into terms

Rate cards, unit bases, quantity commitments, payment terms, discounts and escalation clauses extracted into structured fields, so the agreement participates in the reconciliation as data rather than sitting beside it as a document.

Amendments resolved before comparison

The chain of schedules, amendments and renewals is resolved so the rate in force is the rate after the last change. Comparing against the originally signed figure produces confident exceptions that the supplier will immediately disprove.

Price against the contracted rate

The invoiced unit price is compared against the rate that applies to that item on that date, including tiered and volume-dependent rates where the agreement sets them. Drift above the agreed rate is an exception rather than a rounding difference.

Quantity against the order

Invoiced quantities are checked against the purchase order and against any commitment or cap the agreement contains, so over-delivery against a capped line is caught as a contractual matter and not only as a purchasing one.

Terms against the master agreement

Payment period, discount eligibility and the charges a supplier is permitted to add are compared against what was agreed. These are the terms most often changed quietly on an invoice template and least often checked.

The governing clause cited back

Every check returns the clause that decided it. An exception that cites a clause is a supplier conversation; an exception that cites only a number is an argument between two spreadsheets.

Not stated, never assumed

Where the agreement is silent on a point, the check reports it as not covered rather than applying a default. A gap in the contract is a fact worth knowing, and it is a different fact from a breach.

Feeds the standard payables path

Contract checks run alongside the existing invoice validation and matching, so an exception reaches the same review queue, the same approval control and the same audit trail as any other payables exception.

Questions

Frequently asked

How is this different from three-way matching in an ERP?
An ERP matches invoice, purchase order and goods receipt. All three describe the transaction. This adds the agreement that governs what the transaction was allowed to cost, which is the input an ERP does not hold as data and therefore cannot check against.
Our contracts are scanned PDFs. Does that matter?
No. The documents are read whether or not they carry a text layer, and each extracted term keeps a pointer back to the clause it came from so the check can cite it. Where a page is poor enough that confidence drops, the term is reviewed rather than guessed.
What happens when an amendment changes the rate mid-period?
The chain of amendments is resolved and the rate in force on the invoice date is the one used. An invoice raised before the change is checked against the earlier rate, which is why the effective date is carried with every term.
What if the contract does not cover something on the invoice?
It is reported as not covered by the agreement. That is deliberately different from a breach and from a pass. Applying a sensible default would hide the fact that the contract has a gap, which is usually the more useful finding.
Does this block payment?
It produces exceptions in the payables review queue with the clause attached. Whether an exception holds a payment is your control to set; the platform's job is to make sure the question is asked before the payment run rather than after it.
Has this been delivered for a customer?
Not as a standalone engagement. The contract extraction, amendment-chain resolution and clause-level traceability it relies on are running in delivered contract and lease work, and the matching engine is the one already used in payables reconciliation.

See it on your own agreements

Send us a master agreement with its amendments and a month of invoices against it, and we will show you the extracted rate card and where the billing and the contract disagree.

Last reviewed

Essential cookies are required for the site to function and cannot be switched off. Everything else is off until you switch it on, and you can change or withdraw your choice at any time from the Cookie settings link in the footer. The Cookie Policy lists the cookies we set and how long each one lasts.

No choice recorded yet