Most invoice review is not review. It is data entry. Someone reads a vendor’s total off a PDF, types it into a cost code, and trusts that it ties back to a purchase order they approved months ago. The match is rarely checked line by line, because checking it means reopening the PO, the schedule of values, and whatever change order moved the scope. So the invoice gets coded on a guess and a memory, and the surprises wait for closeout. Bad data, the kind that comes from numbers entered without their source attached, cost global construction an estimated $1.85 trillion in 2020.[1] A good slice of that is invoices coded wrong and caught late.
The fix is not a faster typist. It is reading the invoice against the documents that authorize it before anyone codes it. That is a three-way match: the invoice, the purchase order, and what was actually received or installed. It is standard practice in any mature AP shop, and it is skipped constantly on construction projects because the documents live in six places and reconstructing the trail by hand is slower than just paying the bill. Brad does the reconstruction. It reads the invoice, codes the lines, pulls the PO and the change order, and lays the match next to the bill with the source attached, so the question of whether to pay is the only one left for a person.
$1.85T
Estimated cost of bad data to global construction in 2020
FMI + Autodesk, 2021
$88.7B
Rework caused by bad data in 2020, about 14% of all rework
FMI + Autodesk, 2021
Brad reads the invoice and codes the lines
An invoice lands however it lands: a clean vendor PDF, a scan, a photo off a super’s phone, or the body of the email it rode in on. Brad reads it the way a project accountant would and pulls out what matters. The vendor. The total. The line items. The invoice and service dates. Any PO number or job number printed on it. A photographed invoice with a coffee ring on it reads the same as a tidy PDF, because the field does not stop to scan things cleanly.
Then it codes the work. Brad ties the framer’s December invoice to the framing PO, to the cost code it draws down on the schedule of values, and to change order #14 if that is what the extra labor was billed under. The line items get sorted to the cost codes they belong to instead of dumped under one catch-all. So the invoice stops being a loose number in an inbox and becomes a charge attached to the work it is paying for, the budget line it spends, and the document that committed it.
- 1
The invoice arrives
A vendor PDF, a scan, a phone photo, or an email body. Brad reads vendor, total, line items, dates, and any PO or job number.
- 2
Brad codes and pulls the sources
Each line gets its cost code; the invoice ties to its PO, budget line, and any change order, with the documents attached.
- 3
The match appears
Invoice against PO against what was received, with a citation in the margin: PO-0312, line 4; cost code 06 11 00; CO #14.
- 4
A reviewer approves
Someone who owns the budget decides to pay, hold, or push back. Brad shows the match; the call belongs to a person.
Three-way match, without the spreadsheet archaeology
Brad lines the invoice up against the purchase order and what has been received or installed, and tells you where they agree and where they do not. A unit price that drifted from the PO. A quantity billed past what was ordered. A duplicate that already came through last month under a slightly different invoice number. Those surface as questions before you approve, not after the check is cut and the vendor has cashed it.
Every match comes with its source attached. When Brad says this invoice ties to PO-0312 and CO #14, you open both and check it yourself, with no digging through a shared drive to reconstruct why a number is what it is. That attached source is the whole point. A figure typed into a cost code with no document behind it is exactly the bad data that drives rework downstream, and the rework caused by bad data ran to roughly $88.7 billion in 2020, about 14% of all rework that year.[2]
Brad reads the invoice, codes the lines, and shows the match with the source attached. A person who owns the budget still decides to pay, hold, or push back. The legwork gets shorter; the decision does not move.
It catches the invoice nothing authorized
The expensive surprises are not the invoices that match. They are the ones billed against scope that quietly changed, or work that no PO, contract, or change order on file ever approved. Brad reads the whole record, the plans, the contract, the change orders, the field messages, so when an invoice bills for something that is not in any of them, it flags the gap instead of letting it ride through coding unchallenged.
Picture the common version. A vendor bills for added work that got talked through in the field but never written up as a change order. Brad shows you both halves of the problem at once: here is the invoice, and here is the absence of anything that authorized it. You decide whether to push back, write the CO, or pay it. But you decide with the full picture in front of you instead of finding out at closeout. This is not a small category. Failing to understand or comply with contract obligations was the single most common cause of construction disputes, and an invoice paid against work no document authorized is precisely that failure, in slow motion.[3]
Cost accounting that stays current as the invoices land
As each invoice comes in and gets matched, Brad keeps the running picture current: what has been billed against each budget line, what is committed on open POs, what is drawing down a change order, what retainage is being held. You do not wait for the month-end close to learn a line went over three weeks ago. You ask where a budget line stands and get an answer with the invoices behind it.
Ask in plain language, over the email and text your team already uses. “What’s billed against the concrete line?” “Has anyone invoiced against CO #9 yet?” “What’s left on the framing PO?” Brad answers in seconds and hands back the source documents, so the answer holds up in a pay-application review or an owner conversation when somebody wants to see the receipts. There is no new ledger to log into and no Friday afternoon spent assembling the number by hand. Given that construction teams already lose hours every week hunting for project data, a cost picture that assembles itself is time the budget gets back.[4]
Coding by memory
- Total typed into a cost code from the PDF
- PO match assumed, rarely checked line by line
- Unauthorized charges discovered at closeout
- The source lives in a shared drive, if anyone can find it
Coding with Brad
- Lines coded and tied to PO, budget line, and change order
- Three-way match shown before approval, with the citation
- A charge nothing authorized gets flagged before the check
- Every match carries its source document
Each invoice linked to the PO it draws on and the change it followed
An invoice rarely ends at the payment. It points backward at a purchase order and a budget line, and sometimes at a change order that moved the scope it bills for. Brad keeps those threads tied: the invoice to the PO and cost code it draws down, and to the CO or CCD that authorized the added work. The lien waiver and the COI that should arrive with payment ride on the same record instead of floating in a separate folder.
That thread is what saves you six months later, once memory has gone soft and the paperwork is all you have. Someone asks why a line came in high, or whether the added cost was ever authorized, and the invoice, its cost coding, the PO, and the change it followed are already sitting together. No archaeology through old inboxes. The cost record assembles itself while the work happens, instead of getting reconstructed under deadline at closeout, which is exactly when the trail matters most and is hardest to rebuild.
Where Brad stops and your team signs off
Brad is document intelligence pointed at construction invoices. It reads, codes, matches, and flags, and it shows you the source for everything it says. What it is not: your accounting system of record, an approval guarantee, or a stand-in for your own review. The decision to pay, hold, or push back stays with your team. When Brad cannot find authorization for a charge, it tells you that plainly rather than guessing a match into existence. Your invoices, POs, contracts, and project records belong to you, and each workspace is walled off from every other one. If you have specific requirements about how financial documents get handled or retained, ask us and we will walk you through exactly how it works.
You will not stop invoices from arriving with errors in them. You can change whether the error is caught before the check goes out or accounted for at closeout, and whether the charge gets coded against a document or against someone’s memory of a conversation in the field. An invoice is a claim on the budget. Brad is how the claim gets checked before it gets paid.
Sources
- 1.FMI & Autodesk. “Harnessing the Data Advantage in Construction” (2021).
- 2.Autodesk & FMI. “Harnessing the Data Advantage in Construction.” 2021.
- 3.Arcadis. “Global Construction Disputes Report 2021: The Road to Early Resolution” (11th Annual Edition, 2020 data). Arcadis, 2021.
- 4.FMI & PlanGrid. “Construction Disconnected: Rethinking the Management of Project Data and Mobile Collaboration.” PlanGrid (Autodesk), 2018.