Reviewed by Reuben Bergola, CA, Managing Partner, New Wave Accounting. Last reviewed 27 October 2026.
Inventory accounting means treating the stock you buy as an asset until you sell it, then moving its cost into cost of goods sold as each order goes out. For Australian online sellers that cost should be the landed cost (product price plus freight, insurance, duty and the other costs of getting stock into your warehouse), and at 30 June the ATO trading stock rules decide how closing stock is valued for tax. Get these right and your monthly margins finally make sense.
Why your ecommerce profit looks wrong
Most online sellers whose numbers “don’t add up” have the same problem: stock is expensed when it is bought, not when it is sold.
A hypothetical example: you place a $60,000 stock order in March and sell it evenly over March, April and May.
- Expensed on purchase: March shows a big loss because the whole $60,000 hits the profit and loss at once. April and May look wildly profitable because sales arrive with no matching cost.
- Accounted for as inventory: the $60,000 sits on the balance sheet as an asset and about $20,000 moves to cost of goods sold each month. Every month shows a realistic margin.
Same business, same cash, a different story. It is one of the most common profit leaks in ecommerce, because pricing and ad spend decisions get made off distorted figures.
Cost of goods sold, explained simply
Cost of goods sold (COGS) is what the stock you actually sold in a period cost you. It is not what you spent on stock in that period.
Opening stock + purchases − closing stock = cost of goods sold
| Hypothetical month | Amount |
|---|---|
| Opening stock (1 July) | $40,000 |
| Plus stock purchased in July | $25,000 |
| Less closing stock (31 July) | $35,000 |
| Cost of goods sold for July | $30,000 |
If July sales were $75,000 excluding GST, gross profit is $45,000, a 60% gross margin. That margin is only as good as the stock values behind it. Value stock at the supplier’s invoice price alone and your COGS is understated and your margin overstated. That is where landed cost comes in. For how this fits with payouts, fees and GST, see our complete guide to ecommerce accounting.
What is landed cost?
Landed cost is the full cost of getting a product to the point where it is ready to sell. For an Australian importer it usually includes:
- the product cost on the supplier’s invoice
- international freight and insurance
- customs duty (the rate depends on how your goods are classified in the tariff and whether a free trade agreement applies)
- customs broker fees and government import charges
- delivery from the port or airport to your warehouse
The ATO’s guidance on the cost price method says cost includes all costs associated with bringing stock to its current condition and location, and gives freight, insurance, customs and excise duties and delivery charges as examples.
Where import GST fits
GST on imported goods is 10% of the value of the taxable importation: the customs value plus duty, plus transport and insurance to Australia. Home Affairs collects it, generally before goods are released, unless you defer it to your BAS under the deferred GST scheme.
If you are registered for GST and import goods for your business, you can generally claim that GST back as a credit. So it is not part of landed cost. The ATO confirms that if you are entitled to GST credits you generally exclude GST when valuing trading stock. The same goes for GST on your broker’s local fees. Our GST guide for online sellers covers import GST in more detail.
How to calculate landed cost: a worked example
This example uses hypothetical round numbers. It is not based on real duty rates or freight quotes. You import 1,000 units of one product, with all amounts in Australian dollars and excluding claimable GST.
| Cost component | Amount |
|---|---|
| Supplier invoice (product cost) | $10,000 |
| International freight | $1,500 |
| Freight insurance | $100 |
| Customs duty (example amount only) | $500 |
| Customs broker fee | $300 |
| Port to warehouse delivery | $400 |
| Total landed cost | $12,800 |
| Landed cost per unit | $12.80 |
Import GST here would be 10% of $12,100 (the $10,000 customs value plus $500 duty, $1,500 freight and $100 insurance), which is $1,210. A GST-registered business claims this as a credit, so it stays out of landed cost.
Now the margin. If the product sells for $30 excluding GST:
- at the $10 supplier price, gross margin looks like 66.7%
- at the $12.80 landed cost, the real gross margin is 57.3%
Most shipments hold many SKUs, so share freight, duty and fees consistently: by value, by quantity (for similar products) or by weight or volume (when freight is the biggest cost). Pick one, document it and stick with it.
The ATO trading stock rules
The ATO calls inventory “trading stock”. These rules are current on ato.gov.au as at October 2026.
Valuing closing stock
The ATO requires a stocktake as close as possible to the end of each income year. Each item can be valued using one of three methods:
| Method | What it means |
|---|---|
| Cost price | All costs of bringing stock to its current condition and location (your landed cost) |
| Market selling value | What the stock would sell for in the normal course of your business |
| Replacement value | The cost of buying an almost identical item in the market on the last day of the income year |
You can choose a different method each year for different items. Under the general rules, an increase in stock value over the year is assessable income and a decrease is a deduction. Your closing value at 30 June automatically becomes your opening value on 1 July.
Simplified trading stock rules for small businesses
If your aggregated turnover is under $10 million (or under $50 million for income years starting on or after 1 July 2021, if you would otherwise be a small business), you may be able to use the simplified trading stock rules. If you reasonably estimate your stock value changed by $5,000 or less over the year, you don’t have to do a formal stocktake or account for the change. The estimate must be made in good faith, follow a rational process, and be something you can explain and prove to the ATO.
For most ecommerce businesses turning over $500,000 or more, stock moves by far more than $5,000 between one 30 June and the next, so a proper stocktake is usually the reality.
Obsolete and slow-moving stock
Stock that is out of date, out of fashion, damaged or no longer selling can be valued below all three methods because of obsolescence or other special circumstances, as long as the value is reasonable. ATO ruling TR 93/23 explains that stock which can only be sold as scrap takes its scrap value, and stock with no use that will be destroyed may in some cases be valued at nil. A prediction of a slow market alone is not enough. You complete a trading stock election in your tax return and keep records supporting the value.
Doing a year-end stocktake
| Step | What to do |
|---|---|
| Plan | Count as close to 30 June as possible and pause receiving and dispatch if you can |
| Count | Every location: your warehouse, your 3PL, Amazon fulfilment centres, and stock in transit you already own |
| Reconcile | Compare counts to your inventory system and investigate big differences |
| Value | Apply landed cost (or your chosen method) to each SKU |
| Write down | Document a reasonable value for damaged, expired or dead stock |
| Record | Post the closing stock journal in Xero and keep the count sheets |
Stock in transit can still be yours if ownership has passed under your supplier terms, so check before 30 June.
Tracking inventory in Xero vs a dedicated inventory app
Xero’s built-in tracked inventory records stock as an asset, moves the cost to cost of goods sold when a sale is made, and uses the weighted average cost method. For a modest product range bought at fairly stable prices, that can be enough.
Xero’s own help centre suggests an inventory app may suit you better if you have more than 4,000 items to track, want periodic inventory (updating stock only at month end or year end), manufacture goods, need purchase order receipts, or need a method other than average cost, such as FIFO (first in, first out).
Beyond Xero, the main categories are dedicated inventory apps that connect to Xero (typically adding purchase orders, landed cost allocation and multiple warehouses), your ecommerce platform’s own stock tools (good for selling, not built for accounting values) and 3PL warehouse systems (accurate unit counts, but valuation still has to happen somewhere).
The test is whether you can produce an accurate stock value at cost at the end of every month. Our ecommerce accounting software stack guide, Shopify and Xero integration guide and Xero accounting services can help you choose.
Monthly inventory journals for accurate margins
If your system doesn’t post cost of goods sold to Xero automatically, a monthly inventory journal does the job:
- Code stock purchases to the inventory asset account, not straight to an expense.
- At month end, take the stock value at cost from your inventory app or count.
- Compare it with the inventory balance in Xero.
- Post one journal for the difference. If stock went down, debit cost of goods sold and credit inventory. If it went up, do the reverse.
We did this for an online retailer selling internationally whose margins did not add up: we connected A2X to Xero, rebuilt the chart of accounts, set up monthly inventory tracking and corrected the GST treatment. The owner now gets reliable monthly figures and accurate margins. Our ecommerce bookkeeping service handles this monthly as part of our ecommerce accounting work.
Common inventory accounting mistakes
| Mistake | Why it hurts |
|---|---|
| Coding stock purchases straight to an expense | Distorts every month’s profit |
| Valuing stock at supplier price only | Understates COGS, overstates margin |
| Including claimable import GST in stock cost | Counts GST you already claim back |
| Forgetting stock at 3PLs, Amazon or in transit | Understates closing stock |
| Never writing down dead stock | Overstates assets and profit |
| Adjusting stock only once a year | Eleven months of unreliable margins |
FAQ
What is inventory accounting in ecommerce?
It is recording the stock you buy as an asset and only expensing it as cost of goods sold when it sells. For online sellers it usually means tracking landed cost per SKU, adjusting stock monthly and doing a stocktake at the end of the financial year.
Does the ATO require a stocktake?
Under the general trading stock rules, yes: as close as possible to the end of each income year. Small businesses using the simplified rules don’t need a formal stocktake if they reasonably estimate their stock value changed by $5,000 or less.
Is customs duty part of the cost of stock?
Generally yes. The ATO’s cost price method includes customs and excise duties, freight, insurance and delivery charges. Import GST is different: if you can claim it as a GST credit, leave it out.
Can I write off obsolete stock?
You can value obsolete or damaged stock below cost, market selling value and replacement value if the value is reasonable, which in some cases can be scrap value or nil. You complete the trading stock election in your return and keep supporting records.
Talk to an ecommerce accountant
New Wave Accounting is a firm of Chartered Accountants (registered tax agent 25483393), a Xero Platinum Partner and A2X certified, based in Mermaid Beach on the Gold Coast and working with online sellers across Australia. Inventory setup and clean-ups are quoted upfront in writing.
Explore our ecommerce accountant services, or book a free 20-minute call to talk through your inventory setup.
This is general information only and does not consider your circumstances. Talk to a registered tax agent before acting on it.
Sources
- ATO, Valuing trading stock (last updated 7 May 2025): https://www.ato.gov.au/businesses-and-organisations/income-deductions-and-concessions/income-and-deductions-for-business/accounting-for-trading-stock/valuing-trading-stock
- ATO, Simplified trading stock rules (last updated 27 May 2026): https://www.ato.gov.au/businesses-and-organisations/income-deductions-and-concessions/income-and-deductions-for-business/accounting-for-trading-stock/simplified-trading-stock-rules
- ATO, General trading stock rules (last updated 7 May 2025): https://www.ato.gov.au/businesses-and-organisations/income-deductions-and-concessions/income-and-deductions-for-business/accounting-for-trading-stock/general-trading-stock-rules
- ATO, TR 93/23 Income tax: valuation of trading stock subject to obsolescence or other special circumstances: https://www.ato.gov.au/law/view/document?docid=txr/tr9323/nat/ato/00001
- ATO, myTax 2026 Net income or loss from business (closing stock, trading stock election): https://www.ato.gov.au/individuals-and-families/your-tax-return/instructions-to-complete-your-tax-return/mytax-instructions/2026/income/sole-trader-and-business-income-or-losses-and-partnership-distributions/net-income-or-loss-from-business
- ATO, GST and imported goods (last updated 13 May 2024): https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/in-detail/rules-for-specific-transactions/international-transactions/gst-and-imported-goods
- ATO, Deferred GST scheme: https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/in-detail/rules-for-specific-transactions/international-transactions/deferred-gst
- ABF, Cost of importing goods: duties and other charges: https://www.abf.gov.au/importing-exporting-and-manufacturing/importing/cost-of-importing-goods/charges
- ABF, Instructions and guidelines: preferential rules of origin: https://www.abf.gov.au/free-trade-agreements/files/instructions-guidelines-preferential-rules-origin.pdf
- Xero Central, Options for managing inventory in Xero: https://central.xero.com/s/article/Options-for-managing-inventory-in-Xero
- Xero Central, About tracked inventory in Xero: https://central.xero.com/0/article/Track-your-inventory-US









