Checking fire protection supplier invoices

A fire protection invoice is mostly small items bought in large numbers: sprinkler heads by the hundred, fittings, hangers and collars, with pipe by the length and a few dearer items like hose reels and valves.

Check my invoice

Free · No account · We don't keep the file

Who you buy from, and how it's billed

Sprinkler heads that look alike on the line can be different prices, and cents over on each one add up across a floor.

Fire protection wholesalers
Sprinkler heads by type, response and temperature rating, and valves, hose reels, hydrant equipment and extinguishers, each, at your account's trade price.
Pipe and fittings
Galvanised steel pipe by the length or the metre, and grooved couplings, threaded fittings and hangers each or by the box.
Passive fire
Fire collars each, and fire-rated sealants and wraps by the cartridge or the roll.
Detection and alarms
Detectors, bases and sounders each, and fire-rated cable by the roll.
Access hire
Scissor lifts and boom lifts by the day or the week.

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

  1. From your first invoice

    The same invoice twice, GST over ten per cent, or no ABN on a tax invoice.

  2. 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.

  3. 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.

    • Sprinkler heads above the agreed price

      Checked
      Each line against the price list in force on the invoice date, and held when it's at least $25 and 3% over, with the difference worked out on every head billed.
    • One head billed at another head's price

      Checked
      Pendent, upright, concealed and sidewall heads, and each temperature rating, are separate items on your price list. A line carrying one head's code is checked against that head's price, so billed at a dearer head's price it's over.
    • Pipe billed per metre when you agreed per length

      Checked
      Held as billed in a different unit, with both shown. A price per metre and a price per 6.5 m length are far apart, and CostCode doesn't turn one into the other.
    • Fittings or hangers by the box against a price each

      Asks you first
      A box can hold any number, so the line shows as Unverified, asking how many are in one.
    • A price rise billed before it starts

      Checked
      Load the supplier's new price list with the date it starts. An invoice dated before then is still checked against the old prices, so the new ones can't arrive early.
    • Freight and small-order fees

      Checked
      Checked against the charge you agreed. With nothing agreed, the line shows as Unverified, with the reason.
    • More heads or fittings billed than you ordered

      Checked, for you only
      Once 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

With your pricesSample · made up

Sample Fire Supplies (made up)

SAMPLE-4072

Held

14 Sep 2026 · 1 line · $3,682.80

$204.00

over what you agreed (6.49%)

The line on sample invoice SAMPLE-4072, checked against the agreed price list
ItemAmountYour prices
Pendent sprinkler head QR 68C K80 chrome240 EA × $13.95$3,348.00Above the agreed rate$204.00 over
Above the agreed rate. Agreed $13.10 per head on the price list from 1 Jul 2026
Not sent: supplier email is off. CostCode writes the query, quoting the agreed price list, for you to copy into your own email. Nothing reaches the supplier unless someone in your team sends it.

240 heads at $13.95 against an agreed $13.10 per head is $204.00 over (6.49%). That's at least $25 and 3%, the default floors, so the invoice is held.

Heads go in by the hundred on a commercial floor, so cents over on each one become dollars across the order. On a small order the same gap stays under the dollar floor.

At the same price on 24 heads, the line would be $20.40 over (6.49%): more than 3% but under $25, so it wouldn't be held.

Made up: the supplier, the invoice and every price in this example are invented to show the arithmetic. They aren't market prices.

Fire protection supplies schedule of rates templateSprinkler heads, fittings, hose reels

What CostCode doesn't check

  • An item that isn't the one specified. CostCode checks the price and the unit, not compliance. Whether a head, collar or valve billed is the one the design specifies, or suits where it's installed, is for your designer and certifier.
  • Heads, lengths and fittings billed against what was delivered or installed.
  • Inspection, testing and maintenance records, or when a system is next due.

Questions

Can CostCode check sprinkler heads against our wholesaler's prices?

Yes, once the price list is in: load it from a spreadsheet or a PDF, one row per head with the wholesaler's code. A line carrying the same code is checked against that head's price, whatever its wording, on the price list in force on the invoice date.

Does CostCode check that what's billed is compliant?

No. It checks the price and the unit of each line against what you agreed. Whether a head, collar or valve is the one the design specifies, or suits where it's installed, is for your designer and certifier.

What if we haven't agreed prices with a supplier yet?

Lines with nothing to check against show as Unverified, with the reason, never as fine. Once there are three earlier prices for an item from that supplier, a price up on them holds the invoice for you, and that comparison is never quoted to the supplier.

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