Checking supplier invoices for builders
A residential or small commercial build runs on dozens of suppliers, each billing its own way: timber by the lineal metre, trusses per job, hardware each, skips per exchange and hire by the week.
Who you buy from, and how it's billed
Checking every supplier's invoices by hand means remembering what you agreed with each one. CostCode keeps the agreements and checks each invoice line against them.
- Timber and building supplies
- Framing timber by the lineal metre or the length, sheet materials by the sheet, and bagged goods by the bag.
- Frame and truss plants
- Wall frames and roof trusses quoted per job, with delivery and craneage.
- Hardware
- Fixings, brackets and connectors each, by the box or by the pack.
- Skip bins and waste
- Per bin or per exchange, sometimes with a charge for weight over an allowance and for extra days.
- Equipment hire
- Scaffold, temporary fencing, site toilets and small plant by the day, week or month.
What CostCode checks, and from when
Anything it can't check yet shows as Unverified, with the reason. It's never marked as fine. Why a line is unverified
From your first invoice
The same invoice twice, GST over ten per cent, or no ABN on a tax invoice.
An invoice addressed to the wrong one of your companies
Checked, for you onlyIf you run jobs through more than one company, with each company's ABN in CostCode and each job set to its company, an invoice addressed to another of your companies than the job's holds the invoice for you. It's never put to the supplier.
Once a supplier has billed you a few times
A price up on what you've paid before, once there are three earlier prices. Kept between you and CostCode.
Once your prices are in
Import each supplier's price list from a spreadsheet or a PDF, or let CostCode suggest one from invoices you've already uploaded, for you to confirm.
Framing timber above the agreed price per metre
CheckedEach line against the price list in force on the invoice date, with the difference worked out on every metre billed.Timber billed per length when you agreed per lineal metre
CheckedHeld as billed in a different unit, with both units shown. CostCode doesn't turn lengths into metres for you.Frames and trusses above the quote for the job
CheckedLoad the quote as that job's own prices and it's used on that job's invoices ahead of the supplier's general prices. On a large quote 3% is a lot of dollars: lower the percent floor in Settings if you want smaller gaps held.Hire billed above the agreed rate
CheckedA hire line is checked in its own period: per day against a day rate, per week against a week rate. Days billed against a weekly rate show as Unverified, with the question.Skip bins and delivery charges
CheckedA skip on your price list is checked like any line, and freight or delivery against the charge you agreed. With nothing agreed, the line shows as Unverified, with the reason.More billed than you ordered
Checked, for you onlyOnce your purchase orders are loaded, a line billed past the quantity ordered on its PO holds the invoice for you to look at, as does a PO number that isn't on file. Kept between you and CostCode.
A worked example, made up
Sample Timber and Hardware (made up)
SAMPLE-7734
Held$103.68
| Item | Amount | Your prices |
|---|---|---|
| 90x45 MGP10 H2 pine framing259.2 LM × $6.60 | $1,710.72 | Above the agreed rate$103.68 over |
| Above the agreed rate. Agreed $6.20 per lineal metre on the price list from 1 Jul 2026 | ||
259.2 lineal metres at $6.60 against an agreed $6.20 per lineal metre is $103.68 over (6.45%). That's at least $25 and 3%, the default floors, so the invoice is held.
A few cents a metre over is easy to miss on the page, and it's charged on every metre of a frame's worth of timber.
What CostCode doesn't check
- Hire kept on after it went back. CostCode doesn't know when hire gear went back, so the number of days or weeks billed is yours to check.
- Quantities against your plans or a take-off.
- What one job paid for an item compared with what another job paid.
Questions
Can we load a frame and truss quote for one job?
Yes. Load the quote for that job, with the date it's valid until, and its prices are used on that job's invoices ahead of the supplier's prices for every job. A line is checked against the quote when it carries the same item code or wording.
Our timber is agreed per lineal metre but billed per length. What happens?
The line is held as billed in a different unit, with the agreed unit and the billed one side by side. CostCode doesn't convert lengths into metres, so you decide whether the money is right, and nothing goes to the supplier unless you send it.
Who in the team sees what's held?
Project managers see what's held on their jobs, and why. Accounts can release a hold within their limit. Owners decide who's in. Your accountant or QS can have a viewer seat that reads everything and changes nothing.
Is CostCode construction invoicing software?
No. It doesn't write or send the invoices you bill your clients. It checks the supplier invoices you receive, line by line, against the prices you agreed, before you pay them.
What if a supplier's invoice is a payment claim?
Each state and territory has security of payment laws, and in most of them a contractor in building and construction can issue a payment claim, which gives the party paying a strict timeframe to respond. Deal with it within that time: holding the invoice in CostCode doesn't stop that clock. Check the law where the work was done.
Read next
- Delivery docket template and register
- How to check a supplier invoice: a 5-step checklist
- What to do when a supplier puts its prices up
- Building a schedule of rates from the invoices you've paid
- ATO tax invoice requirements: the checklist, and checking one you've received
- Importing a price list
- Supplier invoice checking software
Other trades
Got a supplier invoice handy? Check it now.
About ten seconds. No account. We don't keep the file.
Or start free: 20 invoices a month, no card