Valinexis
Agent 02  ·  Accounts Payable

Match Every Invoice Line
Against What Was Ordered
And What Actually Arrived

AP Match is purchase-to-pay reconciliation - two-way, three-way and four-way. It reads the whole case sideways, checks every row of every invoice against the order and the receipt, and reports what does not add up with the amount at stake beside it.

8 checks

in the shipped three-way pack

Every line

checked, never a sample

No model

in the decision path
Definition

An Agent Is a Configured Pipeline

Not a model making judgement calls. An agent is a case type, its document roles, its canonical field mappings and its rule pack. AP Match and Insurance Claims Audit run on exactly the same engine - the difference between them is entirely content.

Case type

Declares which documents a case requires - so a case always knows what it is still waiting for.

Document roles

Purchase order, goods receipt, supplier invoice, inspection certificate.

Canonical mappings

Every extracted field bound to a shared concept, so one rule serves every layout.

Rule pack

Deterministic rules addressing values by document role, not by a vendor's labels.

The problem

Nobody Can Check Every Line By Hand

A supplier invoice arrives. Somebody has to confirm it matches a purchase order, that the goods actually arrived, that the price is what was agreed, that no line is billed twice, and that this exact invoice was not already paid last quarter under a slightly different reference. It is line-by-line, cross-document, arithmetic-heavy work - done under time pressure, by sampling.

Duplicate payment

The same line billed twice on one invoice, or the same invoice resubmitted later under a slightly different reference. Both are invisible to a spot check.

Price and quantity creep

Small differences between what was ordered and what was billed. Individually trivial, collectively material across thousands of lines.

Billing ahead of delivery

Invoices raised against goods that had not arrived, and rounding applied one way consistently, on every row, for as long as nobody adds them up.

How it works

Documents In. Ranked Findings Out.

Six stages, and nothing in the decision path is a guess. The same case produces the same findings every time, and every finding can be traced to a rule you can read.

THE CASE Purchase Order from ERP, as data Goods Receipt raised at the dock, 12th Supplier Invoice emailed in, 14th Inspection Cert. four-way only they find each other by the PO number on their own face SIX STAGES 1 Arrive 2 Recognise 3 Map 4 Assemble 5 Validate 6 Decide READ SIDEWAYS Invoice total ≤ order total Receipt belongs to the order Invoice dated after delivery Qty × rate = line amount No line billed twice FINDINGS BLOCKER Duplicate line MAJOR Over order value MINOR Row arithmetic report.html · report.pdf findings.csv · webhook money at stake per row and the decision, kept

Documents arrive by whichever route suits the supplier, assemble into a case by the order number on their own faces, and results are written back beside them.

Case types

Two-Way, Three-Way, Four-Way

The number in "N-way" is just how many document roles the case type declares. The engine does not care; the rule pack does.

Match Documents reconciled Typical use
Two-way Purchase Order ↔ Supplier Invoice Services, subscriptions, anything with no physical delivery
Three-way Purchase Order ↔ Goods Receipt ↔ Supplier Invoice Goods procurement. The shipping default
Four-way + Inspection / Quality Certificate Regulated, high-value or QA-gated receipt
Rules address values by document role. SUPPLIER_INVOICE.INVOICE_TOTAL against PURCHASE_ORDER.ORDER_TOTAL - so a rule reads sideways across the case rather than down one document.
The shipped three-way pack

What Gets Checked

Eight deterministic checks, each one naming the two documents that disagree, the values that disagree, and the amount at stake.

Does this invoice belong to this order?

  • 1 Invoice matches the purchase order - the invoice quotes the order it is billing against.
  • 2 Goods receipt matches the purchase order - the delivery being paid for belongs to this order, not another.
  • 3 Invoice is from the ordered supplier - the supplier on the invoice is the supplier on the order.

Is the money authorised, and is the timing right?

  • 4 Invoice within the authorised order value - the invoice does not exceed what was ordered.
  • 5 Invoice not raised before the goods arrived - the invoice is dated on or after delivery.

The three a human sample will not catch

  • 6 No line billed twice on one invoice - keyed on description, quantity and amount together.
  • 7 Quantity × rate equals the line amount - caught per row, so the report names the line rather than the document.
  • 8 Not a duplicate of an earlier invoice - checked against what has been submitted before.

Line arithmetic is checked on every row of every invoice, not on a sample.

The economics of manual review force sampling. The economics here do not - which is why rules 6, 7 and 8 exist at all.
This is a starting point, not a ceiling. A three-way policy that tolerates a small over-delivery, a rule for a category your suppliers bill unusually, a stricter duplicate window at quarter close - all of it is configuration, edited on a screen. Adding a check is not a release.
Take the data, not a picture of it

A Purchase Order Does Not Exist
as a Document Inside SAP

It exists as rows in a table. Rendering that to a page so it can be photographed and guessed at again is absurd - and it is what every OCR-first tool does. A data contract template takes the payload directly.

Document template Data contract template
Onboarded from A sample PDF A sample JSON payload
Values come from OCR and layout analysis Declared paths, read directly
Confidence Variable - that is what review queues are for Exact
Goes to review When below threshold Never
Everything downstream is unchanged. Both kinds of document get attributes, both map to canonical concepts, both bind to roles, and the rules cannot tell them apart. The reports mark which is which, so a reader can tell an OCR'd value from one that arrived intact.
Why it matters

What Leaks Without This

Four failure modes that survive manual review precisely because they are small, repetitive and spread thinly across a lot of documents.

Duplicate payment

The same line, or the same invoice, paid twice - across quarters and across references.

Price and quantity creep

Drift between order and invoice that nobody reconciles at the line level.

Invoices against undelivered goods

Payment released for a receipt that does not exist, or that belongs to another order.

One-way rounding

Rounding applied consistently in one direction across thousands of lines.

Onboarding a new supplier's invoice layout is a configuration exercise, not a release. Rules are written against canonical concepts, never against a template's own labels - so one rule serves every supplier layout and keeps working when a new vendor is added.
Pricing

AP Match Plans

Priced per case reconciled, per tenant. A case is one matter - the purchase order, the receipt and the invoice reconciled together, whenever each of them turns up.

Starter

A single entity running two-way and three-way match on a shipped rule pack.

24,999/month
  • Up to 1,000 cases / month
  • Two-way and three-way case types
  • Shipped 8-rule pack
  • Folder, mailbox and manual upload intake
  • HTML and PDF reports, findings CSV
  • Email support
Request Demo

Enterprise

Multi-entity, multi-region, with content packs you control.

Customannual
  • Unlimited cases, committed volume
  • Multi-tenant, per-entity isolation
  • Your own case types and content packs
  • Private deployment in your Azure subscription
  • Immutable audit runs and retention policy
  • Integration support for your development team
  • Named success contact and SLA
Talk to Us

Indicative plans shown for illustration. Final pricing is confirmed after a scoping call.

See It Run On Your Own Documents

Send us one purchase order, one goods receipt and one invoice. We will return the findings - ranked worst-first, with the money at stake on every row.