Skip to content
AU5 min read

Perpetual vs periodic inventory in Australia (and what Xero and MYOB actually do)

Perpetual inventory updates stock on every movement; periodic trusts a count at period-end and infers the rest.

Xero and MYOB give you a basic perpetual ledger for tracked items, but it is built for the books, not the warehouse floor.

Ask an Australian operator whether they run perpetual or periodic inventory and you will usually get a shrug. The honest answer for a lot of growing businesses is "both, badly" — a tracked-items setting switched on in the accounting file, and a real-world process that only truly knows the stock position once a quarter when someone walks the aisles with a clipboard. The distinction matters more than it sounds, because it decides whether your cost of goods sold is a live number or a year-end estimate, and whether your warehouse team can promise stock to a customer without crossing their fingers.

This post defines the two methods plainly, shows how each one treats COGS, and then gets specific about what Xero and MYOB actually do versus what people assume they do. We will use Australian stocktake terminology throughout, because most of what you find online is written for US retailers and quietly assumes terms and tax treatment that do not map cleanly to how an ANZ business runs its books.

Perpetual inventory, defined

Perpetual inventory means stock balances update continuously, in real time, every time an item moves. Receive a carton inbound and the on-hand quantity rises the moment it is booked in. Pick and dispatch an order and the quantity drops as the line is fulfilled. The system always holds a current figure for what is on hand and what each unit cost — no waiting for a count.

Because every movement is recorded, perpetual systems also carry a running cost of goods sold. The moment a sale ships, the cost of those specific units is moved out of the inventory asset account and into COGS. Your gross margin is therefore a live figure you can read on any given day, not a number you reconstruct after the fact.

A simple example: a Brisbane homewares wholesaler holds 400 ceramic planters at A$12 each. An order for 50 ships on Tuesday. In a perpetual system, on-hand drops to 350 instantly, A$600 moves from inventory into COGS, and if a sales rep checks availability at 3pm they see 350 — the true number.

Periodic inventory, defined

Periodic inventory does the opposite: it does not track each movement. Instead you establish a stock value at the start of a period, record all your purchases through the period, and then take a physical count — a stocktake — at the end to establish what is actually left. COGS is calculated by difference: opening stock, plus purchases, minus the closing count.

Between counts, the system genuinely does not know your on-hand position. Purchases land in an expense or purchases account; nothing is decremented when goods go out the door. You only discover the true picture when someone physically counts the shelves at period-end, which might be monthly, quarterly or — for too many small businesses — annually.

Take the same planters under a periodic method. You start the quarter with A$4,800 of stock, buy another A$10,000 through the quarter, and at the end of June you count what is left and value it at A$6,200. Your COGS for the quarter is A$4,800 + A$10,000 − A$6,200 = A$8,600. That number is only as good as the count, and it lumps theft, breakage, miscounts and unrecorded sales into one undifferentiated figure called shrinkage.

How each method treats COGS

The COGS difference is the heart of it, and it has real consequences at BAS and year-end:

  • Perpetual books COGS transaction by transaction. You can see margin per order, per SKU and per channel, and your inventory asset on the balance sheet is always current.
  • Periodic books COGS as one calculated lump at period-end. You cannot see margin on an individual sale because the system never knew the cost of the units that left — it only knows the totals.
  • Perpetual surfaces shrinkage as a visible variance: the system's expected on-hand versus the counted on-hand. That gap is a number you can investigate.
  • Periodic hides shrinkage inside the COGS calculation. If 30 planters walked out the door, the maths simply treats them as sold or consumed, because closing stock is lower and nothing says why.

Neither method changes the cost-flow assumption you use underneath — most Australian businesses run FIFO or weighted average cost, and Australian tax rules generally do not permit LIFO for valuing trading stock. Perpetual and periodic are about *when* you record movements, not *which* costing method you apply on top.

What Xero and MYOB actually do

Here is where the marketing and the reality drift apart. Both Xero and MYOB offer inventory features, and for tracked (or "inventoried") items they do maintain a basic perpetual ledger — on-hand quantity and average cost update as you raise bills and invoices, and COGS posts automatically when a tracked item is sold. That is genuinely perpetual at the accounting layer, and for a business with a few hundred SKUs and simple flows it can be enough.

The catch is what that ledger is built for. It is built to keep the books right, not to run a warehouse. A few honest limitations most operators hit:

  • It updates on the document, not the movement. Stock changes when you raise the invoice or the bill — not when the picker actually pulls the unit or the receiver actually scans the carton. The accounting balance and the physical reality drift apart in the hours and days between.
  • Untracked items are common. Plenty of Xero and MYOB files run a chunk of their range as untracked, where purchases hit COGS or an expense directly and nothing is held as an asset. That portion of your business is effectively periodic whether you meant it to be or not.
  • No locations, bins or lot/batch depth. Out of the box you get a single on-hand number per item, not where it sits, which bin to pick from, or which batch and expiry to ship first. There is no native wave or zone picking, no cycle-counting workflow, no FEFO logic.
  • Barcode scanning and real-time floor capture are limited or absent. Without scan-at-the-point-of-movement, your "perpetual" number is only as fresh as the last document someone keyed in.

So the accurate statement is: Xero and MYOB give you a perpetual *accounting* record for tracked items, but the operational truth on your shelves is only updated when paperwork is processed. If your team still does a big quarterly stocktake to find out what is really there, you are running periodic in practice — the count is what you actually trust.

Why an operations layer gives you true perpetual stock

A perpetual position you can actually rely on needs stock to update at the moment of physical movement, not at the moment of invoicing. That is the job of a warehouse and inventory operations layer sitting between your floor and your finance system.

In that model, on-hand changes when a unit is scanned in at receiving, moved between bins, picked to a tote, or loaded for dispatch. Every movement is timestamped against a location and, where it matters, a lot and expiry. Cycle counting replaces the once-a-quarter shutdown: small slices of the warehouse are counted continuously, variances are caught early, and you rarely need to stop the business for a full stocktake. Your accuracy stops being a point-in-time snapshot and becomes a maintained state.

Crucially, you do not have to rip out Xero or MYOB to get this. Keep your finance system exactly where it is and add the operations layer above it; the warehouse runs perpetual on real movements, and the costed results flow back to the ledger. You get a live on-hand number your sales team can promise against and a clean COGS your accountant can stand behind.

A note on Australian stocktake terminology

Most online guidance on this topic is written for the US and it shows. A few translations worth keeping straight for an ANZ audience:

  • We say stocktake, not "physical inventory count". A wall-to-wall stocktake is the full-warehouse count; cycle counting (or rolling stocktakes) is the continuous slice-by-slice approach.
  • Trading stock is the ATO's term for the goods you hold for sale. Small businesses can use the simplified trading stock rules where the movement in value across the year sits under the relevant threshold, which can let you skip a formal end-of-year count — but that is a tax simplification, not a reason to fly blind operationally.
  • Shrinkage covers theft, breakage, spoilage and counting error. Under perpetual it is a measurable variance; under periodic it is invisible until the count.
  • COGS and gross margin mean the same thing here as anywhere, but our valuation sits under Australian tax rules — FIFO and weighted average cost are the practical options for most, and LIFO is not generally accepted for trading stock.

How OpsUI fits

The gap between a perpetual accounting record and a perpetual warehouse is exactly the gap OpsUI is built to close. The inventory-management and receiving-inbound modules update on-hand at the moment of the scan, not the moment of the invoice, so the number your team promises against is the number actually on the shelf — see /modules/inventory-management for the detail. Cycle-counting turns the dreaded annual stocktake into a continuous rolling process, and shipping-outbound decrements stock as orders are picked and dispatched rather than when paperwork catches up.

You keep your ledger. Run Xero or MYOB as your finance system and add OpsUI as the operations layer above it; bidirectional Xero and MYOB sync is wired during rollout through the finance-accounting module (the full sync picture is at /integrations/xero), with bidirectional NetSuite sync live in production today. Flat modular pricing from A$399/module/mo — full breakdown at /pricing.

If you want to see real-time on-hand and live COGS running against your own SKUs and flows, book a walkthrough at /book-demo. And if the real question underneath this is "how much should I be holding in the first place", the /tools/reorder-point-calculator-au will get you a defensible number in a couple of minutes.

Frequently asked

What is the difference between perpetual and periodic inventory?

Perpetual inventory updates stock balances continuously, recording every receipt, transfer and sale as it happens and posting cost of goods sold transaction by transaction. Periodic inventory does not track individual movements; you take a physical stocktake at period-end and calculate COGS by difference: opening stock plus purchases minus closing count. Perpetual gives a live position, periodic gives a point-in-time estimate.

Does Xero use perpetual or periodic inventory?

Xero maintains a basic perpetual ledger for tracked (inventoried) items: on-hand quantity and average cost update as you raise bills and invoices, and COGS posts automatically when a tracked item is sold. But it updates on the document, not on the physical movement, and untracked items behave periodically. It is perpetual at the accounting layer, not a warehouse system, so most operators still rely on a stocktake for the real position.

Does MYOB track inventory perpetually?

MYOB keeps a perpetual accounting record for items set up as inventoried, updating on-hand and average cost and posting COGS as items are sold. Like Xero, it changes stock when you process the invoice or bill rather than when the goods physically move, and it offers no bins, lot or batch depth, or scan-at-movement capture out of the box. For accurate floor-level perpetual stock most businesses add an operations layer above MYOB.

Which inventory method is better for a growing Australian business?

Perpetual is almost always better once you carry meaningful stock value or sell across multiple channels, because it gives a live on-hand figure, per-order margin and visible shrinkage. Periodic is simpler and cheaper but leaves you blind between stocktakes and hides loss inside COGS. The practical answer for most ANZ operators is perpetual stock captured at the point of movement, with finance staying in Xero, MYOB or NetSuite.

Is LIFO allowed for inventory valuation in Australia?

LIFO (last-in, first-out) is not generally accepted for valuing trading stock under Australian tax rules. The practical options for most businesses are FIFO (first-in, first-out) and weighted average cost. This is a separate decision from perpetual versus periodic: the costing method determines which cost you assign to units, while perpetual versus periodic determines when you record the movements. Confirm specifics with your accountant.

Do I need a full stocktake if I run perpetual inventory?

Not in the same disruptive way. With true perpetual stock captured at the point of movement, you can replace the annual wall-to-wall stocktake with cycle counting: counting small slices of the warehouse continuously so variances surface early. You may still verify periodically for assurance or tax purposes, but you rarely need to shut the business down to find out what is really on the shelves.

See how OpsUI approaches this differently.

No hidden fees. No six-month implementations. Just warehouse software that works.

Book a Demo