AI Solutions Locations All Services Website Design Perth Landing Page Design SEO Perth Google Ads Perth Facebook Ads Perth Content & Video Shopify Perth AI Services Case Studies Free Strategy Call
Guide: maverick spend

Maverick Spend and Three Way Matching Paid the PO. Was the PO right?

Maverick spend is buying outside the agreed process: off contract when a contract exists, or without a PO raised first. A three way match checks the invoice against the PO and the goods receipt, so it catches billing errors. It cannot catch a PO raised above the contract rate. You need a fourth check, PO price against contract.

By , Perth · Updated
Site office desk with invoices and delivery dockets
Built inside your systems
Built inside a tier 1 mining operator
99.8% match to the site expert
Your data stays in your systems
Free 15 minute call

What is maverick spend?

Maverick spend is money spent outside the buying rules your organisation has agreed. It is not always fraud or bad behaviour. Most of it comes from urgency, habit and data that makes the right path hard to follow.

The usual types are:

  • Off contract buying: a contract or panel covers the item, but the order went to another supplier.
  • After the fact POs: the goods or service were ordered by phone or email, and the PO was raised after the invoice arrived.
  • No PO at all: invoices paid directly, card purchases, or reimbursements for items that should have gone through procurement.
  • Split orders: one purchase broken into several smaller POs to stay under an approval limit.

Related but different is contract leakage: buying from the contracted supplier but paying more than the contract rate. It often does not show up in maverick spend reports at all, because the supplier is "on contract". See contract price book for how to catch it.

What is a three way match?

A three way match checks three documents agree before an invoice is paid: the purchase order, the goods receipt and the supplier invoice. It confirms you were billed for what you ordered and what actually arrived.

Match typeDocuments comparedWhat it catches
Two wayPO and invoiceInvoice price or quantity different from the PO
Three wayPO, goods receipt and invoiceAlso catches billing for goods not received
Four wayPO, receipt, inspection and invoiceAlso catches goods received but failed inspection
PO against contractPO price and contract rateA PO raised above the agreed rate. None of the matches above check this.

Most ERPs apply a tolerance, for example a percentage or dollar amount, inside which small differences are paid automatically. Anything outside tolerance goes on hold for a person to resolve.

Why doesn't a three way match catch overpaying the contract rate?

Because all three documents can agree with each other and still be wrong. If the PO was raised at the wrong price, the supplier invoices that price, the receipt confirms the quantity, and the match passes.

Here is a worked example with made up numbers. The contract rate for a part is $59.80. A PO goes out for 50 units at $64.00. Only 48 arrive and are receipted. The supplier invoices 50 units at $66.50.

CheckCalculationAmount
Invoice as submitted50 x $66.50$3,325.00
What three way match allows48 received x $64.00 PO price$3,072.00
Caught by three way match$3,325.00 minus $3,072.00$253.00
What the contract allows48 received x $59.80 contract rate$2,870.40
Still overpaid after three way match$3,072.00 minus $2,870.40$201.60
Total gap between invoice and contract$3,325.00 minus $2,870.40$454.60

The three way match does its job. The invoice price is 3.9% above the PO price ($2.50 on $64.00), which is outside a 2% tolerance, so it holds the invoice. But once resolved to the PO, the site still pays $201.60 above the contract rate on this one line. Across thousands of PO lines a month, that is the leak.

How do you measure maverick spend?

Classify every dollar of real spend into buckets, using item level data, not supplier names. Then report the share in each bucket.

  1. Export 12 months of invoice and PO lines, with supplier, part number, description, quantity, price, PO date, invoice date and status.
  2. Remove what is not real spend. Quotes, cancelled lines and unapproved orders should be dropped. At an international tier 1 mining operator, quotes and unapproved orders were being counted as spend, which produced a whole class of wrong numbers. One rule fixed it.
  3. Match each line to a contract, by supplier, part number and date, allowing for units of measure and superseded parts.
  4. Flag after the fact POs: PO date later than invoice date, or later than the receipt date.
  5. Classify every line into one of five buckets, as in the table below.
  6. Report by category, site and buyer, and track it monthly.

Example with made up numbers: 12 months of maintenance spend of $4,800,000 at one site.

BucketSpendShare
On contract, at contract rate$2,904,00060.5%
On contract supplier, above contract rate (leakage)$612,00012.75%
Off contract, where a contract exists (maverick)$744,00015.5%
No contract covers the item$360,0007.5%
After the fact PO (maverick)$180,0003.75%
Total$4,800,000100%

Maverick spend here is $744,000 + $180,000 = $924,000, or 19.25%. A supplier based report would show the $612,000 of leakage as compliant, because the supplier is on contract. The $360,000 with no contract is not maverick, but it is the list of items to put on a contract next.

How do you run these checks in Excel or your ERP?

You can test it in Excel with three exports: PO lines, goods receipts and contract rates. Use one row per PO line.

  1. Join receipts to PO lines by PO number and line. Receipted quantity: =SUMIFS(Receipts[Qty], Receipts[PO], [@PO], Receipts[Line], [@Line]).
  2. Join contract rates by supplier and part number with XLOOKUP, checking the PO date sits inside the contract dates.
  3. Three way variance: =[@InvoiceAmount]-[@ReceivedQty]*[@POPrice].
  4. Tolerance check: =IF(ABS([@InvoicePrice]-[@POPrice])/[@POPrice]>2%,"HOLD","OK"), using your own tolerance.
  5. Contract variance: =IF(ISNUMBER([@Rate]), MAX(0,[@POPrice]-[@Rate])*[@ReceivedQty], 0).
  6. After the fact flag: =IF([@PODate]>[@InvoiceDate],"AFTER THE FACT","").

In the ERP, the three way match and tolerances are usually standard settings. The contract variance check is not. It needs contract rates loaded per part, kept current, and compared at PO creation. Most sites have the rates in PDFs and spreadsheets, not the ERP, which is why the gap persists.

What are the common mistakes with maverick spend and three way matching?

The biggest mistake is reporting compliance by supplier instead of by item and rate. It makes leakage invisible.

  • Tolerances set too wide. A generous tolerance auto-pays small overcharges on every invoice, every month.
  • Receipting the ordered quantity. If the stores team receipts 50 when 48 arrived, the three way match becomes a two way match.
  • Blanket POs with no unit prices. A value only PO cannot be matched on price at all.
  • Counting quotes or unapproved orders as spend. It inflates totals and buries real issues.
  • Contract rates outside the ERP. If the rate is in a PDF, nothing checks the PO against it.
  • Escalation not checked. Suppliers apply rises; nobody confirms they match the contract formula, index and date.
  • Treating all maverick spend as bad behaviour. Most of it is a process or data problem. Fix the cause: missing catalogue items, slow approvals, or wrong stock levels that force urgent buys.
  • Measuring once. A one-off spend review finds issues. Without a monthly rerun, they come back.

How does Source Digital automate maverick spend and contract rate checks?

We build the fourth check, PO against contract, inside your own environment (your Azure, Databricks or Snowflake), with read only access to your ERP data. Every flagged dollar links back to the PO line, receipt, invoice and contract clause it came from. A person approves every action. The AI never decides.

  • PO vs contract checker. Every PO line compared to the contract rate, with units of measure, validity dates and superseded parts handled. See PO and contract rate checking.
  • Contract price book. Built from your own contract history, so each price is judged against what was agreed and what was last paid. See the contract price book case study.
  • Spend rules that hold up. At an international tier 1 mining operator, one rule removing quotes and unapproved orders fixed a whole class of wrong spend numbers. Every answer passes 511 automated checks, and every mistake a user catches becomes a permanent test. See how we verify AI answers.
  • A commercial assistant in Microsoft Teams that answers from millions of purchasing, receipt, payment and stock rows in about a minute.

The maths is deterministic. The AI explains what it found; it does not make up figures.

The first step is a free 15 minute call with Tristan, or send a quick enquiry if you would rather write. No obligation and no pitch. He asks what you run and what is costing you, then tells you straight whether there is something worth fixing. Work is charged at a consulting day rate. The price depends on your sites, systems and data, so you talk first, then Tristan sets out what he would build, how many days it takes and what it costs. An engagement runs like this:

  1. A free 15 minute call. What you run, and what is costing you.
  2. A look at a sample export of your data, only if it is useful. Read only.
  3. A clear scope and price, based on the days the work needs.
  4. The build inside your systems.
  5. Run, check and support.

See AI for mining supply chains for more.

Data safety

Built inside your environment, not ours

Your data never leaves your systems. We build inside the platform you already run, with the security, logins and audit trail your IT team already controls.

Runs in your own platform

Azure, Databricks, Snowflake or your own SQL server. Your security rules, your logins, your audit trail.

Read-only on your source data

We read from Pronto, SAP, Ellipse or your data warehouse. Nothing writes back into your ERP without approval.

Every number shows its working

Each figure links to the stock record, PO line or contract clause it came from, so anyone can check it in seconds.

A person approves every change

The maths is deterministic and the AI only explains it. Your team decides, and every decision is logged.

Our work

Built and running
in real operations

AI systems running right now inside an international tier 1 mining operator and Perth mining suppliers. Swipe or use the arrows.

Mining, Canada/Africa
Stock levels

A min/max engine matched to the site's own expert

Recommends minimum and maximum stock levels across tens of thousands of items, proven against the inventory expert's own spreadsheet.

99.8%
match to the expert
Read the case study
Mining, Canada/Africa
AI agent

A commercial assistant that answers in Teams

Procurement and commercial staff ask in Microsoft Teams and get verified answers from millions of purchasing, receipt and stock rows.

~1 min
to a verified answer
Read the case study
Mining, Canada/Africa
Price book

A price book built from the client's own contracts

Benchmark rates for services and equipment hire, so quotes are judged against what was agreed and what was last paid.

Every rate
cites its contract
Read the case study
Mining, Canada/Africa
Tender scoring

A tender scorer that cites its evidence

Deterministic pricing plus AI scoring with page referenced evidence, calibrated against a real evaluation panel.

Panel
matched on a live bid
Read the case study
Mining, Canada/Africa
Parts matching

Cross-site parts matching that refuses to guess

Matches the same part across two sites' catalogues using evidence tiers, so stock can be shared instead of re-bought.

2 sites
one view of stock
Read the case study
Mining, Canada/Africa
Data quality

The AI project that audited the data first

Verifying every column surfaced data problems the client didn't know it had, before they could reach an answer.

Every
column verified
Read the case study
Mining, Canada/Africa
Method

Every mistake becomes a permanent test

Users catch it, we trace it, the rule lands and the case is frozen. The method behind every build above.

511
automated checks
Read the case study
Mining, Canada/Africa
Automation

Report delivery with no files carried by hand

Engine outputs delivered from the data platform into SharePoint and announced in Teams, with a return leg for reviewer edits.

0
files carried by hand
Read the case study
Get started

A 15 minute call.
No pitch.

Talk it through with me directly. Here is how it works.

  1. Tell me what you run. Your sites, your systems and what is costing you time or money right now.
  2. I tell you straight. Whether there is something worth fixing, how I would build it and roughly what it would cost.
  3. Scope and price. If it's worth doing, I set out what I'd build, how many days it takes and what it costs at my consulting day rate. If it isn't, I'll say so.
Tristan Sunde
Tristan Sunde
Founder, Source Digital, Perth
0452 246 854 · sales@source-digital.com.au

Send a quick enquiry

Takes 20 seconds. I reply personally, usually the same day.

Your details go to Tristan only. No mailing lists.

FAQ

Common questions

Maverick spend is money spent outside an organisation's agreed purchasing rules. It includes buying off contract when a contract covers the item, raising the purchase order after the invoice arrives, paying invoices with no PO, and splitting orders to avoid approval limits. Most maverick spend comes from urgency, habit and poor data rather than deliberate misconduct, so fixing the cause works better than blame.

Three way matching is an accounts payable control that checks the purchase order, the goods receipt and the supplier invoice agree on price and quantity before an invoice is paid. Small differences inside a set tolerance are paid automatically, while anything outside tolerance is held for review. It stops paying for goods not received or billed above the PO price.

No. A three way match only compares the invoice with the PO and the goods receipt. If the PO itself was raised above the agreed contract rate, the invoice matches the PO and passes. Catching that needs a separate check of each PO price against the contract rate for the same supplier, part and date, which most ERP setups do not run.

Maverick spend is buying outside the agreed process, such as off contract or with no PO. Contract leakage is buying through the right supplier but paying more than the agreed rate. Leakage often looks compliant in supplier based reports because the supplier is on contract. Measuring by item and rate, not supplier name, shows both clearly.

Divide maverick spend by total real spend for the period. First remove quotes, cancelled lines and unapproved orders. Then classify lines as off contract where a contract exists, or after the fact and no PO. For example, $924,000 of maverick spend out of $4,800,000 total is 19.25%. Report it by category, site and buyer each month.

There is no single right number. It depends on line values and how much invoice review your accounts payable team can handle. Tight tolerances catch more but hold more invoices. Whatever you set, review how much is auto paid inside tolerance each month, because small overcharges repeated across thousands of lines can add up without anyone seeing them.

Book a free 15 minute call with Tristan or send a quick enquiry. No obligation and no pitch. He asks what ERP you run and where you think money is leaking, then tells you straight whether a PO vs contract check is worth building. Work is charged at a consulting day rate, so if it is worth doing, he sets out a clear scope and price based on the days the work needs.

Tristan Sunde, founder of Source Digital
Written by Tristan Sunde
Founder and lead developer, Source Digital, Perth WA

Tristan builds AI and data tools for mining supply chains, including a stock level engine, purchase order checks, a contract price book and a commercial assistant in Microsoft Teams for an international tier 1 mining operator. Every page on this site is written from work he has built and tested. More about Tristan.

Find the cash sitting
in your stores.

A 15 minute call. No pitch deck. If there's nothing worth fixing, I'll tell you.