Invoice–Contract Reconciler
Catches the overcharges that match the purchase order perfectly
- 8hard rules
- Things it must never do, enforced in every run
- 6handover rules
- Conditions where it stops and gives the work to a person
- 9output fields
- A structured result, not a paragraph you have to re-read
- ≤6steps per run
- Bounded work: at most 5 tool calls, enforced by the runtime
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Overview
Three-way matching catches an invoice for something you never ordered. It does not catch the invoice that matches the purchase order exactly and still overcharges you: a rate above the contracted one, an annual uplift applied early or above its cap, a charge inside a period the contract says is included, an expense the supplier agreed to absorb.
Those terms live in the contract, and no accounts-payable system reads contracts. This agent does. It retrieves the governing agreement from your knowledge base, checks each line of the invoice against the terms that apply to it, and reports every exception with the clause it breaches and the amount at stake.
It never pays, approves or holds an invoice. It produces an exception report for the person who does — with the arithmetic shown, so a disputed charge can be raised with the supplier in one email rather than one investigation.
Benefits
Recovers money already lost
Contract-level overcharges are usually paid quietly for years because nobody re-reads the agreement each month.
Reviewable in minutes
Clean lines pass silently; the approver sees only the exceptions, each already evidenced.
A defensible dispute
You raise the clause and the number, not a suspicion. Suppliers settle those quickly.
What it does
Checks against the contract
Retrieves the governing agreement and tests each invoice line against the terms that actually apply to it.
Cites the clause
Every exception names the contract term it breaches, so a dispute is one email rather than an investigation.
Catches uplifts and caps
Annual increases applied early, above a cap, or on the wrong base — the leak that survives every PO match.
Shows the arithmetic
Contracted rate, invoiced rate, quantity, and the difference. Nothing an approver has to recompute.
Flags what it could not check
A line no contract term covers is reported as unverified, never as approved. Those are not the same finding.
Pays nothing
It produces an exception report. Approval, payment and holds stay with a person, by design.
What this changes
What this changes about your week
- It takes over
- Reading the supplier contract to check whether the invoice you are about to pay actually matches what was agreed.
- Done today by
- Accounts payable, and in practice almost nobody.
- How often
- Every supplier invoice, every month.
- Typical manual effort
- Checking one invoice against its contract properly takes most of an hour.
Why Finance & Accounting in particular. Three-way matching passes the invoice that matches the purchase order and still breaches the contract. That overcharge is paid quietly for years.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Invoice–Contract Reconciler has no path to sending, spending or committing. That limit is why its output is safe to act on.
How it runs
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
- 1InputValidated against the agent input schema
- 2Modelclaude-opus-5 with automatic fallback
- 3Toolssearch_knowledge, extract_structured_data
- 4PermissionsRuns READ actions automatically; anything higher waits for approval
- 5OutputStructured result matching the output schema
- 6LoggingTokens, duration and every step recorded
Demo
Demo dataIllustrative sample output, abridged.
Input
{
"lines": [
{
"amount": 4180,
"quantity": 1,
"unitPrice": 4180,
"description": "Cleaning services — March"
}
],
"currency": "EUR",
"supplier": "Northwind Facilities Ltd",
"invoiceNumber": "NW-20261"
}Output
{
"escalate": true,
"disclaimer": "An exception report checked against the contract in your knowledge base. Not an audit, not tax or accounting advice, and no invoice has been approved, held or paid.",
"exceptions": [
{
"line": "Cleaning services — March",
"issue": "Annual uplift applied four months before the contractual anniversary, and above the cap.",
"clause": "Clause 7.3 — annual review on the anniversary of the commencement date, capped at CPI.",
"difference": 180,
"invoicedValue": "EUR 4,180.00 (4.5% applied from 1 March)",
"sourceDocument": "Northwind Facilities MSA 2024 — schedule 2",
"contractedValue": "EUR 4,000.00 (uplift due 1 July, capped at CPI = 2.1%)"
}
],
"contractFound": true,
"totalDisputed": 180,
"unverifiedLines": [],
"contractDocument": "Northwind Facilities MSA 2024 — schedule 2",
"escalationReason": "The same uplift will recur every month until corrected — this is a contract issue, not a single invoice error."
}Requirements
Integrations
No integrations required.
Before you start
- The invoice, as structured data or text
- A knowledge base holding the governing contract, rate card or statement of work
- Requires the All-Access plan or higher
Use cases
Monthly supplier billing
Recurring invoices under long agreements, where an early uplift compounds unnoticed.
Professional services
Rate cards, seniority mixes and expense policies that invoices drift away from.
Renewal and audit preparation
Check the last twelve months against the contract before you renegotiate it.
Pricing
All-Access
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits
FAQ
Does it approve or pay invoices?
No, and it has no ability to. It reads and reports. Approval, payment and holds are actions with financial consequence and they stay with a person.
What if the contract is not in the knowledge base?
It says so and stops rather than checking against assumptions. An exception report built on a contract it never read would be worse than no report.
Can it handle PDF invoices?
It works from invoice data and text. Where your invoices arrive as PDFs, extract them first — the agent will tell you which fields it needs rather than guessing at missing ones.
Is this an audit?
No. It checks invoice lines against contract terms it can find. It is not an assurance engagement, does not test your controls, and does not certify anything.
Reviews
Reviews open once customers have run this agent.
Need this agent to work differently?
Tell us what to change and our team will scope a customised version for your business.
Customize this agent