A builder buys $18,000 of panels in May for a house that will not claim until August. The bookkeeper codes the bill to Materials. May’s profit collapses. August’s profit looks like a miracle. The owner decides, in June, that the business is dying, and turns down work. The file did not lie because anyone was dishonest. It lied because an asset was told to be an expense the day it hit the feed.

The original Bookkeeping Centre used to talk about meaningful statistics — numbers you could use when you thought about profit. A P&L that expenses stock and work in progress the day cash moves is not a statistic. It is a weather report from the wrong postcode.

This is how inventory, WIP and job costing should sit on an Australian small-business ledger, whether you run Xero, MYOB or a builder’s package that posts summaries. It is written for trades, retailers and anyone who still has unused materials in a shed they call “already costed”.

The P&L is allowed to wait

Profit is earned when you do the work or sell the thing, not when you pay the supplier. Until then, unused materials are inventory (an asset). Unfinished jobs are work in progress (an asset). Finished but unbilled work is, depending on your contracts and advice, WIP or a debtor. Materials on a job you have not yet claimed are not “this month’s loss”.

GST is a separate clock. If you are registered, GST is 10 per cent on taxable supplies and creditable acquisitions, on the cash or accrual basis you registered. A creditable acquisition can sit on the BAS in the period the tax invoice and the basis require, while the net-of-GST cost sits on the balance sheet as stock. Do not expense the panel to make the GST “easier”. Code the bill to inventory (or to a clearing) with GST, and let the BAS take its 10 per cent from the tax rate, not from the P&L dump.

See GST on mixed supplies if some of what you buy is not creditable. See the chart of accounts for the drawers: inventory, WIP, cost of sales, not a single “materials — general”.

Inventory: a store, not a suspense account

Inventory is what you hold for sale or for use on jobs and can count. It needs:

  • an item list that matches how you buy (SKUs or at least named families)
  • receipts from supplier bills into stock
  • issues to jobs or to cost of sales when used or sold
  • a count, with a write-off or write-on that someone signs

If you do not count, you do not have inventory. You have a number. A quarterly count is enough for many small trades if the store is small and the high-value items are listed. A retailer who never counts is guessing margin.

Write-offs are part of the craft. Damaged board, stolen fittings, the box that “must be on the ute” — expense them when you find them, not as a silent plug to make the account look tidy. A plug is how a lying P&L becomes a lying balance sheet as well.

Do not put the owner’s personal tools into inventory. Do not leave old job leftovers in stock at full cost if they will never be used. Residual value is a judgement; zero is often honest.

Software: MYOB will usually hold this more natively than Xero for a trade store. Xero will hold a simple list, or you will add an app. MYOB versus Xero is the product conversation. Either product will let you expense everything and call it simplicity. That simplicity is the lie.

WIP: the job that is not yet a sale

Work in progress is the cost (and, if you use a method that includes it, a portion of profit) sitting in unfinished jobs. For a small trade we prefer a conservative, boring WIP: costs attached to open jobs, no profit recognised until a claim is issued or a milestone in the contract is met. If you want percentage-of-completion profit, that is an accounting policy, not a bookkeeper’s Friday invention. Speak to the tax agent before you start recognising profit on a half-built house.

A practical month-end WIP review:

  1. List open jobs.
  2. For each, list materials issued, labour (employee wages plus a burden for 12 per cent SG and workers compensation), and subcontractors.
  3. Subtract costs already attached to claims you have issued.
  4. The remainder is WIP, or a job that is over-claimed.

Over-claimed jobs are a liability (unearned income), not a triumph. If you have billed ahead of the work, do not let that claim sit as if the profit were finished. The wellbeing of the business depends on everyday decisions; a decision made on over-claimed profit is how you spend cash you have not earned.

Progress claims need their own documents: the claim, the variation, the retention. Retention is not a discount. It is cash delayed, often a debtor (retention receivable) until release. Coding a short-paid claim as a write-off is how bank-feed rules invent a loss.

Job costing is a burden, not a tag

A tracking category or a project tag that only collects supplier bills is not job costing. A job cost includes:

  • materials issued from stock or bought to the job
  • employee ordinary time, overtime and allowances, with STP Phase 2 still coded correctly in payroll
  • Super Guarantee at 12 per cent of OTE on that labour, paid on payday from 1 July 2026
  • workers compensation burden
  • subcontractors (TPAR-flagged if your industry requires it)
  • plant hire that belongs to the job
  • a share of supervision only if you will actually allocate it the same way every month

Do not allocate rent, the bookkeeper and the phone to jobs unless you have a method you can repeat. A one-off “put some overhead on Kitchen 12 so it looks worse” is not costing. It is mood.

Casual versus permanent labour has different leave shapes; do not burden casuals with annual leave they do not accrue. Read casual loading. Contractors versus employees have different STP and SG shapes; do not dump both into “labour — job”. Read contractors versus employees.

If the job report cannot distinguish wages you reported through Single Touch Payroll from invoices you will put on a TPAR, the report cannot price the next job.

Why the monthly P&L lies, in four pictures

The stock-up month. You buy a quarter’s materials in one bill. Expensed immediately, the month is a loss. Held as inventory, the month is quiet, and later months pick up cost of sales as you issue. The second picture is usable.

The long job. Six months of wages and materials, one claim at the end. Expensed as you go, five months look disastrous and the sixth looks like a windfall. Held as WIP, the year shows a job that is not yet sold. When you claim, cost of sales moves with income. The second picture is usable.

The over-claim. You invoice 80 per cent because the contract lets you, and you have done 40 per cent. If the claim is all income and the costs are still to come, this month’s profit is a fiction. Unearned income on the balance sheet keeps you honest.

The forgotten ute. Materials live on vehicles and are expensed at purchase. Jobs look cheap. Stocktakes find nothing because nothing was in a store. Profit was taken months ago. The file cannot say which job consumed the fittings.

The month-end close is when you choose which picture you will live with. A quarterly stocktake and a monthly WIP list are enough for most of the files we see. An annual “we’ll fix it in June” is how June becomes an excavation.

Journals a small file can actually keep

You do not need a factory system. You need a few disciplined movements.

On supplier bill for stock:

  • Dr Inventory
  • Dr GST credits (10 per cent when creditable)
  • Cr Accounts payable

On issue to a job:

  • Dr WIP or job cost / cost of sales
  • Cr Inventory

On employee pay (summary):

  • Dr Job cost or WIP (labour + SG burden)
  • Cr Wages clearing / Super payable / PAYG — or post payroll as usual and allocate the expense to jobs with a timesheet journal

On progress claim:

  • Dr Accounts receivable
  • Cr Income (labour / materials / variations, as you invoice)
  • Cr GST collected (10 per cent on taxable claims)
  • Cr or Dr retention accounts as the contract requires

On month-end if you still expense some small buys direct to jobs: leave it, if they are truly job-specific and already used. Do not do that with a pallet that will outlive the month.

Lock the period after the WIP review so a late bill cannot rewrite the job you already priced a decision on. Xero setup covers lock dates; MYOB has the same idea.

Year-end, the tax agent, and the count they will ask for

A tax agent preparing a return will ask whether stock and WIP exist, and whether the numbers were counted or guessed. Send:

  • the count sheets, dated, with who counted
  • the WIP list with job, costs, claims, retention
  • the inventory listing at 30 June
  • a sentence on anything odd: obsolete stock, a disputed job, materials at a customer site

Books a tax agent can use is the wider pack. This is the chapter that stops them from writing a stock journal you cannot explain.

Do not invent a stock figure to “smooth profit”. That is not conservatism. It is a false statement. If you need a provision for obsolete stock, name it and date the list of items.

When expensing as you buy is actually fine

Honesty has a size. A mobile repairer who buys $80 of parts for today’s job and uses them today can expense to the job. A café that buys milk for this week can expense cost of sales. A consultant with no materials has no inventory conversation.

The test is whether the unused remainder would change a decision. If $8,000 of panels are in the shed, they would. If $40 of screws are in a tin, they would not. Materiality is a professional habit. Use it in one direction: do not ignore the pallet; do not build a warehouse system for the tin.

The Rosebery desk used to walk a yard before they trusted a P&L. The cloud file still has a yard, even if nobody photographs it. If the ledger says you have no stock and the shed says otherwise, the profit you are about to use for a decision is the shed’s, not the software’s. Believe the shed, then make the file catch up.