Match supplier invoices to what actually arrived.
Supplier bills checked against the order and the receiving record, so short deliveries and duplicates reach a person before anything is paid.
| Invoice | Billed | Received | Status |
|---|---|---|---|
| 4471 · Wax bar cartons | 40 | 30 | 10 short |
| 4476 · Canvas wash cartons | 24 | 24 | Matched |
| 4480 · Hang tag boxes | 5 | 5 | Matched |
| 4471 · second copy | 40 | — | Duplicate held |
Every invoice against what arrived. The short delivery and the duplicate stand out before anything is paid.
Sound familiar?
- You paid for forty cartons, and thirty arrived.
- The same invoice came in twice, from two inboxes.
- Someone keys invoice lines in at month-end to catch up.
Overpayments and late approvals both cost cash, and the invoice that goes wrong is usually the one nobody had time to check.
What changes.
- Capture
- Invoices keyed in from emailRead, coded and checked on arrival
- Matching
- Totals checked against the order, if there’s timeLines checked against the order and the receiving record
- Exceptions
- Found when the supplier chasesSent to the buyer with the evidence attached
- Payment state
- Approved, paid and reconciled blurred togetherEach state tracked, so nothing pays twice
How it works. 4 steps, 4 stages.
- AI1
- Rules and automation2
- Your team1
- Approval
1Capture
AI
Read the invoice and suggest coding
Extracts supplier, lines and totals, and suggests the account for each line.
- QuickBooks
- BILL
- Ramp
2Match
Rules and automation
Check the order, the receipt and duplicates
Code checks each line against the purchase order and what receiving confirmed, and holds any duplicate.
- NetSuite
- ShipBob
3Resolve
Your teamApproval
Resolve the exception
The buyer decides whether a short line is in transit, disputed or accepted. A disputed amount isn’t paid by default.
4Pay
Rules and automation
Approve within policy and track payment state
Approved, scheduled, paid and reconciled stay separate. Your payables tool makes the payment.
Supplier patterns tighten the next check
What you get. Real work, every week.
Billed 40 cartons, received 30.
- Gap
- 10 cartons · $1,120
- Evidence
- Receiving record Nov 9 · packing slip
- Open question
- In transit, disputed or accepted?
- Payment
- Held for the 10 cartons only
The exception card the buyer receives. The evidence travels with the question.
- Invoice 4480 · Hang tag boxesMatched to order and receipt$300Paid
- Invoice 4476 · Canvas wash cartonsMatched to order and receipt$2,880Scheduled
- Invoice 4471 · Wax bar cartons30 received · 10 cartons, $1,120, held$3,360Part held
- Invoice 4471 · second copyDuplicate of the invoice above$0Blocked
Four states that never blur together, so an invoice can’t pay twice.
How you’ll know it’s working.
Active handling time per invoice
Counted apart from elapsed time, so waiting on a supplier isn’t mistaken for work.
Exceptions caught before payment
Short deliveries and duplicates your check finds before the supplier chases.
Cash actually saved
Overtime avoided and spend retired, kept apart from hours freed.
Baselines agreed before we build.
- Invoices a month
- 2,400
- Handling hours, before and after
- 320 → 142
- Hours freed, at $45 an hour
- 178 · $8,010
- Overtime avoided (60 hours) and a tool retired
- $3,700
- Running cost
- −$2,000
- Real cash a month
- $1,700
A worked example for a business with 2,400 invoices a month, not Fernway’s. Payback on $24,000 of setup is 14.1 months. If no paid hours go away, the same build costs $1,000 a month and returns capacity only.
Works with what you have.
Accounting
- QuickBooks
Payables & receivables
- BILL
- Ramp
Commerce
- NetSuite
Fulfillment
- ShipBob
- We configure first
- QuickBooks, BILL or Ramp may already capture, code and match your invoices, and your plan may include more than you’re using. We check that first.
- We build when
- Receipts, approvals or payment state still sit outside your payables tool, and suppliers are the ones finding the exceptions.
What a first build includes.
Built in your accounts, around your team. Scope, fee and baseline agreed before we start.
- 1Design
- 2Build
- 3Run it, or hand it over
We build
- Invoice-to-receipt matching on lines and quantities
- Duplicate and supplier-identity checks
- Exception cards routed to the buyer with evidence
- A payment-state view: approved, scheduled, paid and reconciled
We start from
- Supplier invoices and purchase orders
- Receiving records from your 3PL or warehouse
- Your payables tool and approval policy
From your team
- Owner
- Finance operations lead
- Involves
- Finance
- Purchasing
- Operations
Questions teams ask.
Our payables tool already matches invoices. Why add anything?
You may not need to. We test what yours matches first, and add a layer only for the seam that’s left, usually receipts or payment state. If your tool covers the job, we’ll say so.
Can the system pay an invoice?
No. Your payables tool makes the payment, and we never add a second payment authority. We do test what happens when an invoice is paid outside it, because that’s where duplicates start.
How accurate is AI at coding invoices?
In a randomized task with 99 accountants, AI assistance raised classification accuracy by about 18 points (Choi and Xie, Journal of Accounting Research, 2026). Disagreement between accountant and tool still caused some errors, so suggestions are reviewed, and code does the arithmetic.
Who owns it once it’s running?
You do. It’s built in your accounts, documented, with training for the people who run it. Ownership usually sits with your finance operations lead. We can keep running it with you, or step back.
How do we start?
Usually with a finance review: two to four weeks, a fixed fee credited to the build, and a plan that’s yours. If the job is already clear, we can scope the build directly.
Part of your finance engine. One of 11 use cases, in 5 parts.
See the whole finance engineIn payables & receivables
- Invoice matchingYou’re here
- Retailer deductionsRecover retailer deductions that shouldn’t have been taken
Pay for what actually arrived. Start with a finance review.
We reply within one business day.