The structural change
A workbook that grows one wide sheet per financial year has a specific failure mode: nothing persists across sheets except by copy-paste. An asset bought in one year has no representation in the next. A capital loss carried forward exists only if someone remembers to retype it. Columns drift as categories are added, so formula ranges silently stop covering the rows beneath them.
The fix is to stop organising by year and start organising by entity. Five narrow sheets, each with a stable row identity, where the year becomes a column rather than a tab.
| Old shape | New shape | What it fixes |
|---|---|---|
| One tab per year, cloned forward | Five persistent sheets, year as a column | Errors stop propagating by clone |
| Device bought → one row, one year | Device → one register row + one ledger row per year held | Depreciation carries itself |
| Category columns invented ad hoc | Every row carries a return label | Lodgment becomes a filter, not a re-derivation |
| Receipts loose in a folder | Evidence path on the row that claims it | A query can be answered in minutes |
| Estimate never checked | Reconciliation sheet against the assessment | You find out when the model is wrong |
Not Numbers, not a proprietary app. An .xlsx is a zip of XML — it can be opened by anything, including a script, and will still be readable in twenty years. That matters, because for some records twenty years is inside the retention window (section 07).
The five sheets
Column names below are suggestions, but the keys matter: asset_id is what makes a device traceable, and label is what makes lodgment mechanical.
| Column | Example | Why it earns its place |
|---|---|---|
| asset_id | A-2026-014 | Immutable key. Written on the receipt filename and every ledger row. |
| item_supplier | 14" laptop — Apple | One identity field in the ledger. The final exact — separates the item used for tax hints from the supplier used for receipt and import checks. |
| serial | C02X… | Ties the row to the physical object. Settles "which laptop was that?". |
| purchase_date | 2026-02-11 | Starts the depreciation clock and the days-held apportionment. |
| cost_incl | 1890.00 | Full cost, before any work-use split. The $300 and $1,000 tests apply here. |
| evidence | evidence/2026/… | Relative path to the invoice file. |
| treatment | schedule | immediate · pool · schedule — see section 04. |
| effective_life | 2 | Years. Blank for immediate and pooled assets. |
| method | diminishing | diminishing · prime_cost. Diminishing value is the default for every scheduled asset; a row created before that default was set keeps the prime_cost it has been claiming. Fixed at acquisition — changing it mid-life is a common error. |
| pool_allocated_fy | — | Set only when an asset is taken out of a low-value pool whose allocation year had already been filed. The allocation cannot be revoked, so the ledger keeps the fact and flags the mismatch. |
| work_pct | 0.70 | With a note or diary backing it. Can change year to year. |
| status | in_use | in_use · disposed · scrapped. |
| disposal_date | — | Triggers a balancing adjustment. |
| keep_until | 2035-10 | Computed. See the retention clock in section 07. |
| Column | Note |
|---|---|
| asset_id | Foreign key into assets. This is the whole point. |
| year | Income year, e.g. 2025-26. |
| opening | Prior year's closing. First year = cost. |
| days_held | 365 in a full year; part-year in the year of purchase or disposal. |
| decline | opening × (days_held ÷ 365) × (200% ÷ effective_life) for diminishing value, the default; cost × (days_held ÷ 365) × (100% ÷ effective_life) for prime cost. Note which value each one reads — that is the whole difference between them. |
| work_pct | Copied from the register for that year. |
| deductible | decline × work_pct. This is the number that goes on the return. |
| closing | opening − decline. Carries to next year's opening. |
| label | D5 for individually scheduled assets, D6 for the pool. |
| Column | Note |
|---|---|
| date | Date incurred, not date reconciled. |
| year | Derived from date. Lets you filter a year without a separate tab. |
| supplier | Who the service or charge was bought from; the single display and grouping identity. |
| amount | Full amount paid. |
| work_pct | Apportionment. 1.0 where wholly work-related. |
| claimed | amount × work_pct. |
| label | D1–D15. The single most valuable column in the workbook. |
| basis | One line on why it's deductible and how the percentage was reached. |
| evidence | Path to the receipt. |
| Column | Note |
|---|---|
| date | Payment or disposal date. For a contract of sale, the contract date. |
| type | dividend · distribution · interest · disposal · staking · airdrop. |
| holding | Ticker or account. |
| gross_foreign | Amount before withholding, in the source currency. |
| fx_rate | One convention across the whole column. Label it: AUD_per_USD. |
| gross_aud | Computed. Never typed. |
| tax_withheld_aud | Feeds the foreign income tax offset. |
| franked / unfranked / credit | Three separate columns. The return wants them separately. |
| label | Return item — see section 05. |
| Column | Note |
|---|---|
| year | — |
| taxable_income | From the assessment, not your estimate. |
| payg_withheld | From the income statement. |
| total_deductions | Sum of expenses.claimed + depreciation.deductible. |
| marginal_plus_levy | Bracket rate + 2%. Recheck every year. |
| estimated_result | Your prediction. |
| assessed_result | What actually happened. |
| variance | The number that tells you whether the model works. |
| lodged_date | The day the return went in. Weeks can pass before the NOA arrives, and in that gap a filed year would otherwise read as untouched — which is exactly when a fresh return gets edited. |
| noa_date | Starts the two-year amendment clock. |
| cf_capital_loss | Carried-forward net capital loss, as recorded in the lodged return. |
Tracing one laptop, end to end
This is the test of whether the system works: pick a device bought three years ago and try to answer "what did I claim, on what basis, and where is the proof?" in under two minutes.
assetsAllocate the next asset_id. Record serial, supplier, date, full cost. Photograph the invoice, save it as evidence/2026/A-2026-014-invoice.pdf, and put that path in the row. The ID is in the filename, so the link survives even if the spreadsheet doesn't.schedule, an effective life, and a method chosen once and never changed.depreciationSame asset_id, new year. Opening comes from last year's closing. Days held is a part-year in the first and last years only. The deductible figure carries the D5 label with it.depreciation.deductible where year matches and label = D5. Add it to the expenses rows with the same label. That total is what you type into the return.status, disposal_date and proceeds. A balancing adjustment may apply — assessable if you sold for more than the closing value, deductible if less. Deleting the row loses the audit trail and the retention clock.depreciation by asset_id. You get every year claimed, the running values, and via the register the serial number and evidence path. That is the whole answer.Evidence and ledger drift apart over a decade — files get reorganised, folders renamed, a laptop replaced. Naming the receipt after the asset makes the link recoverable from either direction: from a row you can find the file, and from a loose file you can find the row. A path alone only works in one direction, and only while the path holds.
The device decision rule
For someone who buys hardware regularly, this single rule removes most of the judgement — and most of the error. The test is the item's cost, not the work-related portion. A $1,890 laptop used 70% for work is a $1,890 asset.
| Cost of the item | Treatment | Label | Rate |
|---|---|---|---|
| $300 or less | Immediate deduction in the year you buy it, where used mainly to produce non-business income | D5 | 100% |
| $301 – $999 | Low-value pool, if you choose to run one | D6 | 18.75% in the year allocated, then 37.5% diminishing |
| $1,000 or more | Individual schedule over effective life | D5 | Diminishing value by default, or prime cost |
Commissioner's effective lives, common items
| Asset | Effective life |
|---|---|
| Laptop, tablet | 2 years |
| Mobile phone | 3 years |
| Desktop computer | 4 years |
- The pool choice is one-way. Once you create a low-value pool and allocate a low-cost asset to it, you must pool every other low-cost asset you acquire in that year and in all later years. Decide deliberately, not by accident.
- The $300 test applies to sets. Items that form part of a set costing more than $300 together, or that are identical or substantially identical and together exceed $300, must be depreciated — you cannot split a purchase to get under the line.
- 18.75% applies regardless of when in the year you allocate. No part-year apportionment in the pool — buying on 30 June gets the same first-year rate as buying on 1 July. This is one of the few places the timing genuinely doesn't matter.
The return label map
This is the table that makes lodgment mechanical. Put the label on the row when you enter the expense — while you still remember why you bought it — and the return becomes a series of filtered sums.
Deductions
| Label | Question | What you file here |
|---|---|---|
| D1 | Work-related car expenses | Cents-per-km or logbook, for a car you own or lease. Never home-to-work commuting. |
| D2 | Work-related travel expenses | Fares, accommodation and meals when travelling for work. Distinct from D1. |
| D3 | Work clothing, laundry and dry-cleaning | Compulsory uniforms, protective and occupation-specific clothing. Not conventional clothes. |
| D4 | Work-related self-education | Study connected to your current role. Not study to change careers. |
| D5 | Other work-related expenses | The big one: working-from-home, phone and internet, tools and items $300 or less, union and professional fees, subscriptions, and depreciation on individually scheduled assets. |
| D6 | Low-value pool deduction | The pooled calculation, if you run a pool. |
| D7 | Interest income deductions | Costs of earning the interest declared at item 10 — account-keeping fees on investment accounts. |
| D8 | Dividend deductions | Costs of earning dividends declared at item 11 — interest on borrowings to buy shares, ongoing management fees, investment journals. Not brokerage, which goes to the cost base. |
| D9 | Gifts or donations | $2 or more to an Australian deductible gift recipient. Verify on ABN Lookup. |
| D10 | Cost of managing tax affairs | Agent fees, tax software, travel to your agent. Deductible in the year paid. |
| D12 | Personal superannuation contributions | Supplementary. Requires an acknowledged notice of intent lodged with your fund before you lodge. |
| D15 | Other deductions | Supplementary. Anything not claimable at D1–D14 — income protection insurance premiums held outside super sit here. |
D11 (foreign pension UPP), D13 (project pool) and D14 (forestry managed investment scheme) exist but rarely apply to a salaried investor.
Income
| Item | Question | Notes for the ledger |
|---|---|---|
| 1 | Salary or wages | Pre-filled once your income statement is marked "Tax ready". Don't type it. |
| 10 | Gross interest | Pre-filled from banks, usually by late July. |
| 11 | Dividends | Franked, unfranked and franking credit as three separate figures. DRP counts as received then reinvested. |
| 13 | Partnerships and trusts | Supplementary. Managed fund and ETF distributions — enter the components from the annual tax statement, not the cash received. |
| 18 | Capital gains | Supplementary. Losses first, discount last. |
| 20 | Foreign source income | Supplementary. Declare gross, before withholding; claim the withholding as a foreign income tax offset. |
| 24 | Other income | Supplementary. Staking rewards and airdrops, at their AUD value on the date received. |
Item numbers are from the paper return. myTax presents the same questions under plain-language section headings rather than numbers — the mapping is one-to-one, and the numbers remain the stable way to label a spreadsheet row.
Evidence that actually counts
Written evidence from the supplier must show five things. A row in your spreadsheet is not evidence of the expense — it is evidence of your calculation, which is a separate requirement.
| Required on the document | Required separately |
|---|---|
|
Cost of the item or service Name of the supplier Nature of the expense Date you bought or paid Date the document was prepared |
How you calculated the claim Work-related versus private use |
The ATO states plainly that a bank or credit card statement on its own is not written evidence — it isn't from the supplier and generally lacks the required elements. If your process reconciles from card statements, it is producing a payment trail, not substantiation. Capture the supplier's invoice at purchase.
Where receipts can be skipped
- Total work-related expenses of $300 or less — no written evidence needed, but you must still have spent the money and be able to explain the calculation. Cross $300 and you need evidence for the whole amount. Car, travel allowance and meal allowance claims sit outside this rule.
- Total laundry of $150 or less
- Small expense and hard-to-get receipt exceptions, in defined circumstances
File naming
One convention, applied without exception, is worth more than a clever folder tree:
evidence/
2025-26/
A-2026-014-invoice.pdf ← asset, keyed to the register
D5-2026-03-14-telco-invoice.pdf ← expense, keyed by label + date
statements/
annual-tax-statement-*.pdf
hours-log-2025-26.xlsx
Digital copies are explicitly accepted, including photographs of paper receipts, provided they are true and clear copies. Records must be in English where the expense was incurred in Australia.
Where the records should live
The retention clock is longer than five years
Most people hold "five years" in their head. That is the general rule, but two exceptions matter enormously for a workbook full of devices and shares:
| Record type | Keep for | What that means in practice |
|---|---|---|
| General expense | 5 years from lodgment | A 2025–26 receipt: until roughly 2031. |
| Depreciating asset | 5 years from the last decline-in-value claim | A laptop with a 2-year life bought in 2026: claims end 2028, keep until 2033 — seven years from purchase. |
| CGT asset | 5 years after no CGT event can happen | A share parcel held fifteen years then sold: acquisition records needed for twenty years. |
| Under dispute | the later of 5 years from lodgment or 5 years from resolution | — |
This is why the keep_until column exists in the register. Without it, you are guessing — and the instinct to tidy up old files runs directly against a twenty-year obligation.
So — is iCloud still the right home?
Yes, keep it — but stop treating sync as backup. The ATO's own position is permissive: records may be kept in paper or electronic format, you may use any electronic device or app, and digital copies including photographs are recognised. It then adds one instruction, which is the whole answer to this question: back up your electronic records regularly.
iCloud Drive is a sync service. It propagates every change, including the bad ones. A corrupted workbook, an accidental deletion or a bad formula overwrite replicates to every device you own within seconds — and the "backup" you thought you had is now the same broken file. Sync protects against losing a laptop. It does not protect against losing the data.
- Turn on Advanced Data Protection. Apple's optional end-to-end encryption for iCloud Drive. Without it your financial records are encrypted in transit and at rest, but Apple holds the keys. With it, they don't. This is the single highest-value change.
- Snapshot at every lodgment. When a return is lodged, freeze a dated, read-only copy of the workbook and that year's evidence folder. Never edit it again. This is what makes a five-year-old claim defensible — you can show what you filed, not what the file has become since.
- Keep one copy off iCloud entirely. An external drive or a second provider. One account closure, billing lapse or lockout should not be able to end the record. Given the retention periods above, plan for the account outliving neither you nor the obligation.
- Verify the backup restores. Once a year, open the snapshot from the second location. An unverified backup is a belief, not a control.
- Fix what is in the file, not just where it sits. Storage security is irrelevant if the workbook carries a TFN. Remove identity numbers — no formula needs them.
An .xlsx is a binary archive. Git cannot diff it, stores a complete new copy on every commit, and — the part that matters — history is effectively permanent. A single accidental commit of a file containing a TFN cannot be undone by deleting the file later. Version-control the process documents; keep the ledger and evidence in ignored folders or outside the repository entirely.
The annual rhythm
The failure mode of any tax workbook is a burst of activity in October reconstructing nine months of memory. These are the only recurring commitments the system needs.
| When | What | Why then |
|---|---|---|
| At purchase | Register the asset, file the invoice, set the treatment | The only moment you reliably remember the work purpose. |
| Weekly | Log hours worked from home | Cannot be reconstructed later, and gates the fixed rate entirely. |
| Monthly | Append expense rows with labels and evidence paths | Small enough to actually do. |
| One month a year | Run the 4-week phone and internet usage diary | Supports the percentage for the whole year. |
| Before 30 June | Decide on any personal super contribution and lodge the notice of intent | The deduction is lost if the notice is late. |
| 30 June | Generate the depreciation rows; export broker history | Platforms retain only a rolling window. |
| Late July | Check pre-fill is complete before lodging | Lodging early is the main cause of amended assessments. |
| At lodgment | Record the lodged date the day it goes in; the NOA date, assessed result and variance when the notice arrives; snapshot the year | The lodged date marks the return as filed before it is assessed. The NOA starts the amendment clock and closes the loop. |
Migrating without redoing everything
You do not need to rebuild history. You need the current position to be correct and the trail to be recoverable.
- Create the five sheets empty, in a copy of the workbook. Leave the year tabs untouched as the historical record.
- Populate
assetsfrom the past years' equipment rows. Every item over $300 gets a row, backdated, with its real purchase date and cost. This is the bulk of the work and it is done once. - Back-fill
depreciationfrom each asset's purchase date to the current year. Where the original claim was wrong, record what should have happened — the corrected schedule is what the current year's opening values depend on. - Record NOA dates in
yearfor every year still potentially open. This tells you which corrections can still be lodged and which are historical only. - Enter carried-forward capital losses as recorded in the lodged returns — not as calculated in the old sheets. If the two differ, the lodged figure is what exists.
- Start the current year clean in the new structure. Do not maintain both shapes in parallel past one year.
- Snapshot the old workbook read-only and keep it for the full retention period. It is the evidence of what you previously filed.
Everything else in this migration is mechanical. Reconstructing purchase dates and costs for devices bought several years ago is genuinely tedious — and it is also the step that makes every future year easier, and the step that produces the carried depreciation the old structure was throwing away.