PO matching and goods control

Match every invoice to the right PO and receipt.

Ennovity runs two-way and three-way matching against your purchase orders and goods receipts, clears what agrees within tolerance, and routes only genuine exceptions to a person.

Three-way matchPO-7741
Purchase order$12,400
Goods receipt$12,400
Invoice$12,400
Variance 0.4%Within tolerance

Two-way and three-way matching

Ordered, received, and billed, reconciled in one pass.

Ennovity compares what you agreed to buy, what actually arrived at the dock, and what the supplier is charging, line by line, not just header totals.

Choose two-way or three-way matching per client and per vendor. Anything that agrees within tolerance clears on its own.

Line-level match
PO-7741 · Nortek Metals
LinePOInv
Aluminium sheet4040
Fasteners M8500500
Freight$400$412
Freight +3% · within vendor tolerance

AI line-item mapping

Different words, same line item.

Your PO might read “MS Plate 6mm” where the supplier's invoice says “Steel plate, 6mm grade”. Ennovity's AI pairs each invoice line to the right PO line by meaning, not exact text, weighing the description alongside part numbers, unit of measure, quantity, and price.

It learns each vendor's naming over time, so the words your suppliers actually use get mapped automatically. Only genuinely ambiguous lines are raised for a person to confirm.

Line-item mapping
PO-7741 · Nortek Metals
On the POOn the invoice
MS Plate 6mm Steel plate, 6mm grade
Hex bolt M8×40 Fasteners, M8
Coolant 20L Cutting fluid, 20 litre
Matched on meaning · 3 of 3 lines

Matching signals

Finds the right PO, even when the number's missing.

Suppliers reference POs inconsistently, a typo, a different format, or no number at all. Ennovity works down a ladder of signals: PO number, then GSTIN or vendor identity, then a fuzzy match on vendor name from the vendor profile's known aliases.

When no signal confidently points to a single order, the invoice doesn't guess, it becomes an exception with the candidate POs ready for a person to pick.

INV-4471
PO number
GSTIN29ABCDE
VendorNortek
Resolving PO
PO number unreadable
GSTIN matched
Vendor name matched
Matched · PO-774198% confident

Vendor tolerances

Your rules decide what counts as a real exception.

Not every mismatch is a problem. A supplier who is always a little over on freight is normal for that vendor. Tolerances, on price, quantity, and total, set as a percentage or an absolute amount, decide how much difference passes silently.

Set a strict default at the client level and override it per vendor, with every change logged, because loosening a tolerance is a control decision.

Unit price variance
Nortek Metals · tolerance ±2%
-5%0+5%
+1.4% · passes silently
Unit price ±2% or $5Qty ±1%Total ±1%

Real-world matching

Built for how purchasing actually works.

Real orders are messy. Goods arrive in several shipments against one PO, so Ennovity accumulates received quantities across deliveries and matches the invoice against the running total, not a single receipt.

One invoice split across many POs, many invoices against one order, duplicates, and unexpected freight, each is handled deliberately so you don't drown in false exceptions.

PO-7741500 units ordered
Received across 3 deliveries Rolling
Received to date320
Outstanding180
Invoice matched against320 received

See matching run on your own POs.

Send us a batch of invoices, purchase orders, and receipts, and we'll show you which clear, which need a look, and exactly why.

Book a demo