ProductSolutionsTradesPricingArticlesContact Log in Start free trial

Field & cost

The supplier invoice that does not match the purchase order

For the office manager or controller at a commercial sub who codes supplier bills and owns the material line on the job-cost report.

10 min read

An invoice arrives for $18,412. The purchase order says $16,900.

Maybe it is freight. Maybe the quote expired in August and nobody noticed. Maybe the supplier shipped 240 feet because 180 was not a full bundle, and billed you for what left the dock. Maybe it is the right material on the wrong job.

The only person on earth who would catch any of that is the PM who placed the order nine weeks ago, and he is not the one coding the bill. The person coding the bill has forty of them on a Tuesday and a payables run on Thursday.

So it gets paid. And the job-cost report goes on being wrong by $1,512 in a way nobody will ever find, because there is nothing to find it against.

The three-way match you do not have

Accounting textbooks describe a three-way match: the purchase order, the receiving document, and the invoice. All three agree, you pay.

You do not have a receiving document. Material lands on a job site, a foreman signs a delivery ticket on the tailgate of a truck in the rain, and that ticket goes in the cab of his pickup. There is no receiving dock, no receiving clerk, and no system of record for “what actually arrived.”

That is not a software gap, it is the shape of the work. It is also why SubMark deliberately has no Received status on a purchase order — we would rather say so than imply a receiving workflow that does not exist in your office either.

Which means the match you can actually run is a two-way one: what you ordered, against what you were billed. Done honestly, it catches most of the money.

Four ways a supplier bill goes wrong, and who could catch each

The price is not the price. You were quoted $4.18 a foot in February. The job awarded in May. The order went out in June at whatever the counter had that morning, and the invoice carries a third number. Only somebody holding the quote can see this one — which is the argument for writing the agreed price onto the order rather than leaving it in an email thread. If the increase is real and the supplier will not hold it, that is a different conversation, and our article on material price increases as a change order is where it goes.

The quantity is not the quantity. Partial shipments are the usual culprit. Three deliveries against one order, three invoices, and the second one repeats half of the first. Or the supplier bills a full pallet because a partial pallet is not a thing they sell. Catchable only by somebody adding up every invoice against one order — which is precisely the arithmetic nobody is doing in a shop where the order lives in a sent-mail folder.

The line items are not the order. Freight, fuel surcharge, pallet deposits, core charges, cut fees, and sales tax on a job you gave them an exemption certificate for. Each one is small. Together they are the difference between the material margin you bid and the one you got.

The job is wrong. This is the expensive one, because it breaks two jobs at once. The material went to the Methodist job and the bill says the elementary school, so one job carries cost it never incurred and the other looks under budget until closeout. No amount of price checking finds it. Only the person who knows where the truck went finds it, and only if somebody asks them within a week.

A fifth, which is less a mistake than a trap: a statement billed as an invoice. A monthly statement from a supply house lists every ticket for the month. Code it as a bill and you have double-booked everything on it that already came through as an invoice.

And a sixth that is not a mistake on the invoice at all: the bill that never had an order behind it. A foreman’s counter pickup arrives as a ticket or a card charge with nothing to match it against, and it is a different problem with different habits behind it. What your field buys at the counter is that article.

An approval routine that fits a six-person office

Most published guidance on vendor invoice approval is written for a company with an AP department. You do not have one. You have an office manager, a controller who is also the HR department, and two PMs who do not want to be in the payables business.

So define “approved” as the answer to exactly two questions:

  1. Is this ours? Right company, right job, not a duplicate, not a statement.
  2. Is it right? The amount ties to an order or a quote, within a tolerance you decided in advance.

Question one is the office. Question two is the person who committed the money.

Then write down three numbers, once, and stop relitigating them:

  • The threshold. Below it, the office codes and pays without asking anybody. Pick a real number — $500 is common in a shop this size, and anything under it costs more in PM time than it can possibly save.
  • The tolerance. An invoice within, say, 2% of its order goes through. Over it, somebody looks. Without a tolerance, every freight charge becomes a meeting.
  • The clock. How many days a bill can sit waiting on a PM before the office pays it anyway or holds it deliberately. Silence is the worst outcome: it is neither approved nor disputed, and it is how you lose a discount and an argument in the same week.

And one rule that is worth more than the other three: dispute in writing, within the window, before you pay. Many supply agreements give you a short period to object to an invoice, and paying it is often read as accepting it. Terms vary by supplier and by state, your supply agreement and purchase order terms govern, and nothing here is legal advice — but the habit of putting the objection in an email the same week costs nothing and preserves everything.

The deadline nobody puts on a calendar

Your supplier’s terms and your GC’s terms are not the same calendar, and the gap is yours to fund.

Material on net 30. A draw that bills on the 25th, gets approved in the GC’s system three weeks later, and pays 45 days after that. You are out the money for two months on a job where you have not yet been paid for the work it went into.

This is why the invoice date and the due date on a supplier bill are worth capturing even when the invoice is uncontroversial. Not for the approval — for the cash forecast. Our article on building a cash-flow forecast as a sub is the other half of that sentence.

In SubMark: the invoices inbox, and it is off until you turn it on

Start with the part most product pages bury. The invoices inbox is an opt-in module. It is off by default for every company, including a brand-new one, and it is in none of the 29 trade setup packs — so a trial that picks “Electrical” on day one does not have it. Somebody switches it on in settings. Our doors and hardware trade page says it plainly: “Supplier invoices reach the job through the invoices inbox once you switch it on in Settings, and QuickBooks bills and purchases pull in on top of that.”

That matters beyond the nav item, and it is the thing to read twice. The Billed and Remaining figures on the purchase orders page are fed by matched supplier invoices. With the inbox off, Billed stays at zero and Remaining reads as the whole committed figure, permanently. Those cards are not broken — they are reporting a module nobody switched on.

With it on, here is the actual mechanism.

Intake is a PDF you put in. Click Add Invoice, or drag the file anywhere onto the page, which is the real path — an invoice arrives as an email attachment and goes straight onto the page it belongs on. PDFs only, up to 15 MB.

What gets read, and what does not. SubMark reads the invoice and pre-fills the vendor name, the invoice number, the invoice date, the due date, the total amount, the PO number printed on the invoice, any job name or delivery address on it, and its own confidence in all of that. These are header fields. It does not read line items. That is the honest boundary of this feature and it decides how you use it.

Nothing saves unreviewed. The extracted fields land in a confirm dialog with the file name at the top and a note saying the fields were read by AI and should be reviewed. You correct what is wrong and save. If the document could not be read at all — a bad scan, a photo of a fax — the PDF is still stored and the dialog says so, and you type the five fields yourself. A stray click outside the dialog will not throw the draft away; Escape and Cancel still close it.

Suggestions, not matches. Three dropdowns come pre-selected where SubMark could make a guess: the vendor, if the name on the invoice exactly matches a company in your directory; the purchase order, if the PO number printed on the invoice matches one of yours — and if it does, the job comes from that order; otherwise the job is guessed from a name on the invoice. Every one of them is a dropdown you can change, and the vendor name as printed is shown at the top of the dialog when no company matched.

The PO link is optional and labeled that way. The purchase order field reads “Purchase order (optional)” and only appears once you have picked a job that has orders, listing that job’s orders. A bill with no order behind it is a perfectly normal record here. That is deliberate: refusing to file a bill that has already arrived does not make it go away.

Then it is a queue. Three tabs — Needs QB entry, Entered, All — a filter by job, and a search across vendor, invoice number and job name. With the right permission, the pending tab shows the total still awaiting entry. Each row carries the date, the due date if it is still open, the vendor, the invoice number, the job, the PO number if there is one, the amount, and a button that opens the PDF.

The QuickBooks mark is a person, not a push. The switch on each row means “keyed into QuickBooks.” A human ticks it. SubMark does not create the bill in QuickBooks — QuickBooks stays the system of entry for payables and SubMark is the system of visibility. What the mark buys you is a queue your bookkeeper can work and your PM can see the bottom of.

Who can do what is three separate rights. Uploading an invoice goes with the right to write purchase orders. Editing one, ticking the QuickBooks box and deleting are a different permission. Seeing the amounts is a third — so a PM can see that a bill arrived without seeing your material margin.

Compliance lives on the company, not the bill. The invoices inbox does not check a lower-tier sub’s insurance when you save their invoice, and nothing about a vendor’s paperwork stops a save. That record sits on the company and on the sub’s assignment to the job — see tracking subcontractor COI expirations for what it holds.

On the job-cost report. An invoice coded to a job counts in that job’s cost total, its margin and its subcontractor budget alert, whether or not the QuickBooks box is ticked — a bill that arrived Monday is money owed on Monday, and making job cost move with the bookkeeper’s queue would be worse than useless. It does not get a bar of its own in the cost breakdown; it is in the total. The flip side is the one to watch: an invoice saved with no job on it is in no job’s cost. The job picker is the field that matters most on that dialog, and it is also the easiest one to leave at “no project.”

What it does not do

Plainly, because the gap between this list and the paragraphs above is where your process has to carry the weight.

  • There is no line-level match. SubMark records the invoice total and which order it belongs to. Whether 240 feet was billed against 180 ordered is a person comparing two documents. The PO link tells you which two documents those are, which is most of the work — but it is not arithmetic anybody does for you.
  • There are no approval states. Approved, rejected and on hold are not states on a supplier invoice. The only mark is keyed-into-QuickBooks or not. If your office needs a sign-off before payment, that sign-off happens in QuickBooks, on paper, or in the conversation the queue prompts.
  • Approval does exist one step earlier, and that is the better place for it. On a purchase order, approval is a switch — off until you turn it on, because most offices do not want a second step on a $900 order. Switched on, a draft is submitted, and an approver approves it or rejects it with a reason. Fix it and resubmit, and the old rejection reason clears, so the one on screen is always about the current version. Approving the commitment before the money is spent is worth more than approving the bill after it is.
  • There is no email-in address. You cannot forward invoices to the inbox. Somebody puts the PDF in.
  • There is no duplicate detection. Two uploads of the same invoice are two records. Your search box is the tool.
  • There is no retainage on a vendor invoice. Retainage in SubMark is on the sell side — withheld per draw and totaled.
  • It does not read your QuickBooks bills back. Bills and purchases you enter in QuickBooks pull into job costing on their own track, hourly, if you turn that on. They are a separate cost bucket and nothing pairs them with inbox records for you — so if you run both, a bill saved in the inbox and keyed into QuickBooks against the same job counts in that job’s cost twice. Pick one of the two as the source of job cost for supplier bills.

What to do this week

Four things, and three of them are not software.

  1. Write the threshold and the tolerance down, and tell both PMs the numbers. One sentence in an email beats a policy nobody reads.
  2. Put the agreed price on the order. Not in the thread. A purchase order with the quoted unit price on every line is the only document that makes question two answerable in ten seconds instead of ten minutes. The PO process for subs is the full version of that argument.
  3. Pick one job and reconcile it backwards. Every supplier invoice against every order, for one job, once. You will find something. Whatever you find is the control you were missing.
  4. Then decide whether the inbox earns its switch. It will, if your answer to “where is that bill” is currently somebody’s sent mail. It will not change the two questions — it just puts both documents in the same place, tagged to the job, with the PDF one click away.

The thing worth being honest about is that none of this is an approval workflow. It is a pair of documents that can finally be read side by side, by somebody who has the time, in time. On a job with a 40% material line, that is the whole difference.

See how purchase orders work in SubMark, what job costing shows, how SubMark protects margin, or what it costs.

Put the bill next to the order.

A purchase order in SubMark carries the price you agreed and the money committed against the job. The optional invoices inbox puts the supplier bill beside it, tagged to the job, with the PDF one click away.

Start free trial

14-day free trial, no card needed. Field users and the subs you invite are free and unlimited — see how pricing works. See purchase orders in SubMark