Skip to main content

Purchase Order vs. Invoice in Construction: What Every Sub Needs to Know

Last updated: March 20, 2026

TLDR

A purchase order (PO) is issued before materials are delivered — it commits a cost to a specific job and budget line. An invoice is what the supplier sends after delivery. Matching POs to invoices before payment is how specialty subs avoid paying for materials that were never received, overpaying, or losing track of committed costs. Most subs using QuickBooks skip POs entirely and pay from invoices — which is why job costs are always a surprise.

DEFINITION

purchase order
A document issued by the sub to a supplier authorizing the purchase of specific materials at an agreed price, tied to a specific job and cost code.

DEFINITION

invoice
A bill from a supplier requesting payment for goods delivered or services rendered.

DEFINITION

three-way match
Verifying that the PO, the delivery receipt, and the supplier invoice all agree before approving payment.

DEFINITION

committed cost
A cost that is obligated (PO issued or subcontract signed) but not yet invoiced.
“We switched to requiring POs before any order ships. The first month, our foremen hated it. Three months in, we'd caught two suppliers billing for quantities that didn't match the delivery receipts.”
U. Blackwood , Owner at Blackwood Sheet Metal
“Committed costs are what actually matters for managing a job in real time. If you're waiting for the invoice to know what you spent, you're managing the job from two weeks ago.”
X. Ferreira , Controller at Cascade Plumbing

Why the PO vs. invoice distinction matters for job costing

Most specialty trade subs run their materials purchasing the same way: the foreman calls the supplier, materials arrive on site, the invoice shows up two weeks later, the bookkeeper enters it in QuickBooks and pays it.

That process works fine for paying bills. It’s a problem for job costing.

By the time the invoice hits QuickBooks, the materials have been on site for two weeks. Your job cost report is always running two to four weeks behind your actual material commitments. If you’re billing a pay application based on job cost data, you’re billing based on last month’s picture of where the job stands.

A purchase order closes that gap. When a PO is issued before the order ships, the cost gets committed to the job immediately. Your job cost report shows committed materials — what’s been ordered but not yet invoiced — alongside invoiced costs. The picture is current.

The three-way match and how it prevents overpayment

The three-way match is the accounts payable discipline that makes POs worth using.

When an invoice arrives, you check it against two other documents: the PO that authorized the purchase and the delivery receipt from the job site. All three should agree on what was ordered, what was delivered, and what the price is.

Suppliers occasionally ship short and bill full. Price increases get applied to orders that were quoted at lower prices. Materials get billed to your account that went to a different job entirely. Without a three-way match, those discrepancies pass through because nobody is comparing the documents.

The match takes a few minutes per invoice. On a $50K material order, catching a 5% pricing discrepancy saves $2,500. Across a year of purchasing, the discipline pays for itself.

Why QuickBooks-only shops skip POs and what it costs them

QuickBooks has purchase orders. Most subs don’t use them, and the reasons are understandable: the feature requires extra steps, it doesn’t integrate cleanly with job cost reporting, and the committed cost view is hard to pull without building a custom report.

The result is a materials purchasing process that works for paying bills but produces job cost reports that are always incomplete. Every active job has materials on order that haven’t been invoiced yet. Those outstanding commitments don’t show up in the QuickBooks job cost data. The report shows lower material costs than the job has actually incurred.

When subs review job profitability at close, the final wave of supplier invoices often moves a job from roughly on budget to over budget. The job wasn’t fine until the end — the cost was accumulating the whole time. It just wasn’t visible.

Purpose-built job costing software handles committed costs as a first-class concept. You can see, on any active job, what materials have been ordered, what’s been delivered and invoiced, and what’s still outstanding. That visibility is the difference between managing job costs and being surprised by them.

Like what you're reading?

Try MarginLock free for 14 days and take control of your job costs.

Q&A

What is the difference between a purchase order and an invoice in construction?

A purchase order is a document you issue to a supplier before materials ship. It specifies what you're buying, how much you're paying, and which job and cost code the materials belong to. The PO is your commitment to pay — contingent on delivery of what was ordered at the agreed price. An invoice is what the supplier sends after...

Q&A

Why should specialty trade subs use purchase orders?

POs give you three things that paying from invoices alone doesn't: cost commitment visibility before the invoice arrives, a verification tool to confirm you received what you ordered before paying, and a job-and-cost-code assignment that makes job costing accurate. On a job with $200K in materials, outstanding POs that haven't been invoiced yet represent real committed cost. If you don't...

Want to learn more?

  • Zero implementation fees
  • Unlimited users
  • Starts at $20/month

No credit card required.

Do small subs need to use purchase orders?
If you have more than one person ordering materials, you need POs. Without them, there's no systematic way to verify that what was ordered matches what was delivered and what was billed. For a one-person shop where the owner orders everything and verifies every delivery personally, the informal process might work. For any sub with a foreman placing orders in the field and an office processing invoices, those two people are often not talking — the PO is the communication mechanism. The size threshold is lower than most subs think.
What is a 3-way match in accounts payable?
A three-way match verifies three documents against each other before approving a supplier invoice for payment: the purchase order (what was ordered at what price), the delivery receipt (what was actually received at the job site), and the supplier's invoice (what the supplier is billing). All three should match on quantity, item description, and price. If the invoice quantity exceeds the delivery receipt, you're being billed for materials that didn't arrive. If the invoice price exceeds the PO price, the supplier charged more than agreed. The three-way match catches both before money leaves your account.
Can QuickBooks handle purchase orders for job costing?
QuickBooks has a purchase order feature, but it has significant limitations for construction job costing. QuickBooks POs don't track committed costs against job budgets in real time — you can't run a report showing 'materials committed but not yet invoiced' by job and cost code the way dedicated job costing software handles it. QuickBooks also doesn't natively support three-way matching in a way that ties to job cost reports. Most subs who try to use QuickBooks POs for job costing end up with a partial picture — some orders tracked, many not, and a job cost report that understates committed costs. Purpose-built job costing software handles this correctly by design.

Ready to stop losing money on jobs?

Start Your 14-Day Free Trial

Go deeper