Checking freight, delivery and other charges on supplier invoices

By CostCode. Last reviewed 30 Sep 2026 against the official sources below, including the ATO's guidance.

The goods on an invoice usually get a look. The lines under them often don't: a delivery charge, a fuel levy, a small-order fee, a few pallets. Each is small and looks routine, and each deserves the same two questions as the goods: did we agree it, and is it billed the way we agreed?

In short

  • Ask every charge the same two questions as the goods: did we agree it, and is it billed the way we agreed?
  • Agree each charge with how it's worked out: a flat amount, a percentage of the goods or a rate per unit, and when it applies.
  • A charge nobody mentioned isn't automatically wrong. Ask what it's for before you pay, and agree it for next time.

Agree the charges as well as the prices

business.gov.au suggests putting the terms you negotiate with a supplier in a written contract, and lists price and delivery terms among what it should include. For charges, that means agreeing each one you expect to see, and how it's worked out:(business.gov.au: Suppliers)

  • a flat amount, such as a delivery charge per drop
  • a percentage of the goods, as fuel levies often are
  • a rate per unit: per pallet, per tonne, per hour of waiting
  • when it applies: on every delivery, below an order size, or past a free allowance

Delivery and freight

A delivery charge is usually per delivery, so check it against the dockets:

  • one charge per drop, not one per invoice when several invoices cover one delivery, or one per line when one truck carried several items
  • no delivery charge on an order you collected
  • no charge on an order over a free-delivery threshold you agreed
  • a back order the supplier chose to send separately: ask whether the second delivery is charged before it turns up on an invoice
  • cartage billed per load or per hour at the agreed rate, for the loads on the dockets

Fuel and environmental levies

A levy is usually a percentage of the goods or a flat amount per delivery. Check that it's agreed, that the percentage or amount is the one agreed, and what it's a percentage of: normally the goods, not the delivery charge or the GST. A levy that edges up from one invoice to the next with no notice is a question for the supplier.

levy = goods before delivery and GST × agreed %

Waiting time

Waiting time is charged when a truck or crew waits on site past a free allowance. Check the time charged against the times on the docket, less the allowance you agreed, at the agreed rate. If the docket doesn't record the times, ask the supplier how they measured them.

Minimum loads and small orders

A minimum-load or small-order fee applies when an order falls under the supplier's minimum. Check the order really was under it, and that the fee is charged once per order, not once per delivery when the supplier split the order itself. Agree what counts as the minimum at the same time as the fee.

Pallets

Pallets are usually a deposit that's credited when they go back, or a hire charge. Check the count against the delivery, keep a record of pallets returned (a signed docket or a return slip), and check the credit for them comes through on a later invoice or statement.

Charges nobody mentioned

A charge you never agreed isn't automatically wrong: it may be in the supplier's standard terms, or fair for what happened on the day. Ask what it's for and where it was agreed before you pay it, rather than disputing it straight away. If it's fair, agree it for the future, so the next one can be checked.

Keep the delivery dockets with the invoice: they're the record of each drop, its times and what went back. The ATO generally asks businesses to keep their records for five years, and some records for longer.(ATO: Overview of record-keeping rules for business)

How CostCode checks charges

CostCode checks charge lines against the charge agreements on the supplier's page, never against the schedule of rates for the goods. It recognises freight or delivery (cartage and transport included), fuel levies, environmental levies, pallet deposits, small-order fees, minimum-load charges, waiting time and card surcharges. Each agreement is a flat amount, a percentage of the goods or a rate per unit, with the dates it applies, and each charge line is checked against the agreement in force on the invoice date. A charge with no agreement on file shows as unverified with the reason, never as passed.

By default CostCode holds an invoice for a charge only when it's at least $25 and 3% over what was agreed, and Settings can change both, so a few dollars over on one delivery won't hold it. An agreement for free delivery counts too: a delivery charge where you agreed none is held once it reaches the dollar floor.

Where CostCode can't be sure, it asks rather than guesses. A percentage levy is worked out on the invoice's goods lines, and if one of them couldn't be read, the levy stays unverified rather than being priced off a smaller total. A flat charge billed more than once on one line is compared per delivery, and if each is at the agreed amount, the count is left for your team to confirm. A charge printed with a period, such as cartage for two hours, shows as unverified with the question of how the agreed charge applies. A product with a charge word in its name, like a delivery hose, keeps any difference with your team until someone confirms what the line is.

CostCode can also propose charges from the invoices you've uploaded, on the screen that builds a schedule from them. What you've paid isn't what was agreed, so a difference against a charge saved that way stays with your team until someone on your team who saves rates records that the supplier has confirmed it. A query about an agreed charge quotes only what the supplier can check, and goes only when a person in your team presses send.

On CostCode's free check, drop several invoices from one supplier and it lists the charges on top of the goods: which kinds, on how many of the invoices, and what they came to in all.

Questions

Is a fuel levy legitimate?

It can be, if it's in your agreement or in supplier terms you accepted. Check it's agreed, at the agreed percentage or amount, and on the agreed base, which is usually the goods.

Should I pay a delivery charge on every invoice?

Only for the deliveries that happened, at the rate you agreed. Several invoices for one delivery each carrying a charge, or a charge on an order you collected, are worth a question.

How do I check waiting time?

Compare the time charged with the times on the docket, less the free allowance you agreed, at the agreed rate. If the docket doesn't record the times, ask the supplier how they measured them.

Which charges does CostCode check?

Freight and delivery (cartage included), fuel and environmental levies, pallet deposits, small-order and minimum-load fees, waiting time and card surcharges, each against the charge you agreed with that supplier. With nothing agreed, the charge shows as unverified with the reason.

Sources

General information, not tax, legal or financial advice. The rules have exceptions and change over time: the official pages above are the authority, and your accountant or the ATO can tell you how they apply to your business.

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