A construction purchase order does one job that matters more than the paperwork around it: it puts a committed cost against the job budget the day material is ordered, not the day the supplier's invoice finally shows up. That early number is the only point at which an overrun can still be negotiated, substituted or billed. It only works if every material commitment above a set dollar threshold goes through a PO — no exceptions for phone orders, counter pickups or the supplier you have used for fifteen years.
The invoice is the last place cost shows up
Follow one order through a job. The framing package is priced and ordered on the 3rd. It delivers on the 12th. The supplier bills on the 1st of the following month on net-30 terms. The bill reaches the office, sits in a pile until someone codes it, and posts to QuickBooks around the 10th. By then the walls are standing.
For those five-plus weeks, a budget-versus-actual report shows the framing line as untouched. It is not untouched. The money is spent — it just has not been recorded anywhere. Any report built only from entered bills is reporting the past, and on a job with eight or ten open supply orders the past can be a long way behind the present.
This is how a job looks healthy at the midpoint and loses money at the end. Nothing went wrong in the last month. The invoices for what went wrong in the first two finally arrived.
What a PO records and what committed cost means
A construction purchase order is a written commitment to buy a defined quantity at a defined price from a named vendor for a specific job. The fields that make it useful to the budget are few:
- Job and cost code — so the commitment lands on the right budget line, not in a general materials bucket.
- Vendor — the supplier who will send the invoice.
- Quantity, unit and unit price — so the invoice can be checked against what was agreed.
- Total committed amount — including tax and delivery.
- Required delivery date — tied to the schedule, not guessed.
- Issued by and approved by — so there is a name on every commitment.
Once issued, the PO total becomes committed cost. The budget report then carries three numbers per line instead of two: budget, committed and actual. Projected cost at completion is actual cost plus whatever is committed and not yet invoiced. When the invoice posts, the commitment drops by that amount and actual rises by the same amount — the projected number does not move, because it already knew.
That last point is the whole argument. A PO system that is working makes the invoice boring. The number arrives and nobody is surprised.
The threshold is what makes it a system
A PO system with gaps is worse than no system. If some material goes through POs and the rest is phoned in, the committed column looks complete and is not. A project manager reading it will trust a forecast that is missing part of its inputs, and make decisions on it.
So the rule has to be simple enough to follow on a Friday afternoon: every material commitment above a set dollar amount gets a PO number before the order is placed. Below that amount, buy on the company card and code the receipt the same day.
Where to set it depends on job size and how many people place orders. A builder running custom homes might pick $500. A firm doing larger commercial interiors might pick $2,500. The test is practical — low enough that every order that can hurt a budget line is caught, high enough that nobody writes a PO for a box of screws. Pick one number for the company, not one per PM.
The commitment that costs money is rarely the big lumber package — that one gets a PO because everyone is watching it. It is the $3,800 window upgrade a super calls in from site, or the second drywall delivery after a miscount. Those skip the system, land as invoices weeks later, and often never get billed to the client because nobody connected them to the change that caused them. Tell suppliers in writing that invoices without a PO number will not be paid until one is assigned.
Matching the invoice back to the PO
The PO earns its keep a second time when the invoice arrives. The check is a three-way match, in this order:
- Pull the PO by the number printed on the invoice.
- Pull the delivery ticket signed on site — the quantity actually received.
- Compare ordered, received and billed. Quantity and unit price should agree.
- If they agree, approve and post to QuickBooks against the same cost code.
- If they do not, hold the invoice and call the supplier before paying — short shipments, substituted items and price changes since the quote are the usual causes.
- Close the PO when the final invoice posts so a stale commitment does not sit on the budget.
The match depends on two habits upstream. PO numbers need a fixed format so they can be found — the same discipline behind a naming rule for construction document control. And the delivery ticket has to come back from site the day the material arrives, signed, not ride in the super's truck for a month.
Subcontracts are commitments too, and the same logic applies: the contract value is committed the day it is signed. They are a different document with different terms, so they are not covered here. The principle holds — anything the company has agreed to pay belongs on the budget before the bill does.
What the budget report looks like when it works
Take a single line. Framing lumber is budgeted at $44,000. The package comes back from the yard at $48,200 and the PO is issued on that number. The budget vs. actual report shows a projected $4,200 overrun on that line the same afternoon — before a single stick is delivered.
At that moment there are still choices. Re-price with a second yard. Change the spec. Check whether the overage falls under an allowance the client agreed to and write the change order now, while the client can still say no. Draw on contingency deliberately instead of discovering it gone.
Without the PO, the same $4,200 surfaces when the invoice posts, weeks later, with the walls framed. The only choice left is to absorb it.
Where BuilderSolve stands on purchase orders
Plainly: purchase orders in BuilderSolve are in development and not shipped. We would rather say that than let a feature page imply otherwise. What is shipped today is line-item estimating on a shared rate library, budget vs. actual against that estimate and change orders with an audit trail. The platform reads QuickBooks one way; QuickBooks stays the book of record for bills and payments.
In the meantime, the practice does not depend on software. A shared PO log — number, job, cost code, vendor, amount, status — reviewed weekly against open invoices does the core job. For builders on the services side, our finance team can run that log and the invoice match as part of AP, and it is the same work whether the PO lives in a spreadsheet now or a module later.
What to do this week
- Pick one dollar threshold for the company and write it down.
- Name who can issue a PO, and who must approve one above a second, higher amount.
- Set the PO number format — job number plus a sequence works — and put it on every order.
- Send regular suppliers a one-paragraph letter: no PO number on the invoice, no payment until one is assigned.
- Require signed delivery tickets back in the office within a day of delivery.
- Review open commitments against budget every week, line by line, with the PM.
Write it as one short procedure and file it with the others — purchasing belongs on the short list of SOPs a construction company actually needs, not in someone's head. The first month will feel like extra paperwork. The first time a construction purchase order shows an overrun on the day of the order instead of the day of the invoice, it stops feeling that way.
Common questions
what is a construction purchase order
It is a written commitment to buy a set quantity of material at an agreed price from a named supplier for a specific job and cost code. Its main value is financial: once issued, the PO total counts as committed cost on the job budget, so an overrun shows up on the day of the order rather than weeks later when the supplier's invoice arrives.
what is committed cost in construction
Committed cost is money a builder has agreed to spend but has not yet been billed for — open purchase orders and signed subcontracts. Projected cost at completion is actual cost plus open commitments. When an invoice posts, the commitment falls and actual rises by the same amount, so the forecast does not move if every commitment was recorded up front.
what dollar amount should require a purchase order
There is no standard figure. Pick one number for the whole company based on job size and how many people place orders. A residential builder might choose $500 and a commercial interiors firm $2,500. The threshold should catch every order that could hurt a budget line while leaving small consumables to the company card, coded the same day.
do subcontractors need a purchase order
Subcontractors are usually committed through a subcontract agreement rather than a purchase order, but the budget logic is identical: the contract value is a committed cost from the day it is signed. Record it against the right cost code immediately. Change orders to the subcontract should update that commitment the day they are agreed, not when the sub bills.
does BuilderSolve have purchase orders
Not yet. Purchase orders in BuilderSolve are in development and not shipped. Line-item estimating, budget vs. actual, change orders with an audit trail and a one-way QuickBooks read are available now. Builders using the BuilderSolve finance team can have a PO log and three-way invoice match run as part of accounts payable in the meantime.