Esc

↑↓ move↵ openIndex · Pagefind

Life of an invoice

Volt Electric emails INV-4471 for $48,200. It is $6,150 more than is left on PO-118. Follow it through a three-way match, a hold a person approves, and into job cost, cash and WIP.

Visual explainer4 min scrollSample data · Riverside Medical Center

INV-4471, from the inbox to job cost

  1. Day 1 · AP inbox · sample data

    An invoice arrives

    Volt Electric emails a PDF: INV-4471, electrical material on Riverside Medical Center, billed against PO-118. Nothing in accounting knows about it yet.

    AP and agents are planned. The agent steps below show how we are designing them to work, not a shipped product.

  2. AP agent · reads it

    Read, don’t re-key

    The AP agent reads the PDF (OCR) and pulls the fields a clerk would type: vendor, invoice number, PO reference and amount, $48,200. Anything it can’t read with confidence goes to a person instead of being guessed.

  3. Coding

    Code it to the job

    The PO already says where the cost belongs, so the invoice inherits it: job 24-118, cost code 26-050 Electrical. Coding at the door is what lets the job cost report see the invoice before it’s paid.

  4. Match leg 1 · the PO

    Does it fit the commitment?

    A purchase order is a commitment: money you agreed to spend before anyone billed you. What matters is what’s left on it after earlier invoices.

    PO-118 remaining = $42,050
  5. Match leg 2 · receiving

    Did it show up?

    The field logged the delivery tickets against PO-118: the full quantity arrived. So this isn’t a short shipment. That’s the third document in a three-way match.

    On a subcontract, this leg is different: you check the sub’s pay app against approved percent complete, not a delivery ticket.

  6. The mismatch

    $6,150 more than is left

    Everything was received, but the invoice is bigger than the commitment. That points at price or scope: a change nobody wrote into the PO, or a pricing error.

    $48,200 invoice − $42,050 remaining = $6,150 over
  7. Human in the loop

    The agent proposes, a person decides

    The agent proposes holding INV-4471 and shows its sources: the PDF, PO-118 and the delivery tickets. The PM approves the hold. Nothing gets paid, held or changed without that sign-off, and the decision is logged.

  8. Resolve

    Ask Volt, then pick a path

    AP tells Volt why the invoice is on hold. Two common ways out:

    The extra is real: issue a change to PO-118 for $6,150, so the commitment covers it. If the owner directed the work, it belongs on a change order to the owner too. It isn’t: short-pay $42,050 and ask Volt for a credit memo.

    Here, the PM confirms the extra and approves the PO change (sample).

  9. Before the check

    Conditional lien waiver first

    Before paying, collect a conditional waiver from Volt for the amount you’re about to pay. It only takes effect when the payment clears. After it clears, collect the unconditional one. Lien rules vary by state; check yours.

  10. Posted

    One entry, every report

    The invoice posts once. The same second, PO-118 draws down to zero, job cost on 26-050 goes up, the cash forecast schedules the payment and the WIP’s cost to date moves.

    $42,050 + $6,150 PO change − $48,200 invoice = $0 left on PO-118
  11. How it happens today

    Found at month-end

    On a typical stack, the invoice is re-keyed into AP, coded later by someone else, and the overage surfaces at month-end reconciliation, when it’s hardest to fix.

    These are common failure points, not statistics. Score your own stack.

Text version

The whole match, as a table

INV-4471 from Volt Electric on Riverside Medical Center, Job 24-118 (sample data). Each row is a step and what changed in the money.

Life of INV-4471
StepWhat happensMoney
1. ArrivesPDF emailed to the AP inboxNothing recorded yet
2. ReadAP agent reads vendor, invoice number, PO reference and amount (OCR)$48,200 invoice
3. CodedJob 24-118, cost code 26-050 Electrical, from the PONo change
4. PO checkCompared to the remaining commitment on PO-118$42,050 remaining
5. Receiving checkField delivery tickets show the full quantity receivedNo short shipment
6. MismatchInvoice exceeds what’s left on the PO$6,150 over
7. HoldAgent proposes a hold, the PM approves it$48,200 held
8. ResolveVolt notified; PM approves a change to PO-118 (the other path: short-pay and credit memo)PO-118 remaining $42,050 → $48,200
9. Lien waiverConditional waiver collected before paymentFor the amount being paid
10. PostedJob cost, commitment, cash forecast and WIP update together+$48,200 cost on 26-050; PO-118 remaining $0

How it happens today

  1. Shared inbox. The PDF waits in an AP inbox until someone opens it. Nobody on the job knows it arrived.
  2. AP entry. Vendor, invoice number, amount and PO are typed into accounting by hand.
  3. Coding. A PM codes it days later, after digging out the PO. The job cost report runs behind.
  4. Month-end. The $6,150 overage turns up at month-end reconciliation, sometimes after the check is cut.
Plainly

Five terms behind the match

  1. 01

    Three-way match

    Pay an invoice only when three documents agree: the purchase order (what you agreed to buy, at what price), the receiving record (what showed up), and the invoice (what you are asked to pay). A two-way match skips receiving and only checks the invoice against the PO.

  2. 02

    Commitment

    Money you have agreed to spend but have not been billed for yet: purchase orders and subcontracts. Remaining commitment is the committed amount, plus approved changes, minus what has been invoiced against it. It is the number an invoice has to fit inside.

  3. 03

    PO vs subcontract

    A purchase order buys material or equipment, so the match checks delivery tickets. A subcontract buys work (labor, usually with material), so a sub’s invoice is a pay app: it is checked against approved percent complete on the sub’s schedule of values, not a receiving record.

  4. 04

    Retainage on sub invoices

    Subcontract pay apps usually have retainage withheld, often 10%. If INV-4471 were a sub pay app, $4,820 would be held back from the $48,200. Material POs usually carry no retainage. Your contracts decide both.

  5. 05

    Conditional lien waiver

    A waiver of lien rights that only takes effect once the stated payment clears. Collect it for the amount you are about to pay, before you pay; collect the unconditional waiver after the money lands.

Keep going

Sample project included

Try this workflow on the sample project

Every trial workspace includes a sample project with sample data, so you can follow these steps in the app before touching a live job.

Try it on the sample project

Want this on live job data?

Change orders and pay apps are live in os.construction; WIP and AP are planned. On one record, every number on this page is entered once.

Your role (optional)

14-day free trial. Pricing for paid plans isn't set yet. Talk to us. Already have an account? Sign in →

All figures are illustrative sample data, not a real project. Contract terms and state law decide how retainage, stored materials and change orders work on your job. Check both.

Ask the OS

Reading this page

Ask anything about this page. Answers use what you're reading as context.

Suggested

    AI · may be imperfect · sample data where shown

    Open file