System design · Australian individual return

Upgrading a spreadsheet tax record

How to restructure a long-running deduction workbook so that assets stay traceable across the years they are depreciated, every line already knows which return label it feeds, and the record survives the retention period the ATO actually requires — which is longer than most people assume.

Rules current to Aug 2026
Form labels 2026 individual return
Assumes salary + investment income
01

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.

What replaces what
Old shapeNew shapeWhat it fixes
One tab per year, cloned forwardFive persistent sheets, year as a columnErrors stop propagating by clone
Device bought → one row, one yearDevice → one register row + one ledger row per year heldDepreciation carries itself
Category columns invented ad hocEvery row carries a return labelLodgment becomes a filter, not a re-derivation
Receipts loose in a folderEvidence path on the row that claims itA query can be answered in minutes
Estimate never checkedReconciliation sheet against the assessmentYou find out when the model is wrong
Keep it as .xlsx

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).

02

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.

assetsOne row per item, ever. Rows are never deleted — only marked disposed.
ColumnExampleWhy it earns its place
asset_idA-2026-014Immutable key. Written on the receipt filename and every ledger row.
item_supplier14" laptop — AppleOne identity field in the ledger. The final exact separates the item used for tax hints from the supplier used for receipt and import checks.
serialC02X…Ties the row to the physical object. Settles "which laptop was that?".
purchase_date2026-02-11Starts the depreciation clock and the days-held apportionment.
cost_incl1890.00Full cost, before any work-use split. The $300 and $1,000 tests apply here.
evidenceevidence/2026/…Relative path to the invoice file.
treatmentscheduleimmediate · pool · schedule — see section 04.
effective_life2Years. Blank for immediate and pooled assets.
methoddiminishingdiminishing · 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_fySet 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_pct0.70With a note or diary backing it. Can change year to year.
statusin_usein_use · disposed · scrapped.
disposal_dateTriggers a balancing adjustment.
keep_until2035-10Computed. See the retention clock in section 07.
depreciationOne row per asset per year held. Generated, not typed.
ColumnNote
asset_idForeign key into assets. This is the whole point.
yearIncome year, e.g. 2025-26.
openingPrior year's closing. First year = cost.
days_held365 in a full year; part-year in the year of purchase or disposal.
declineopening × (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_pctCopied from the register for that year.
deductibledecline × work_pct. This is the number that goes on the return.
closingopening − decline. Carries to next year's opening.
labelD5 for individually scheduled assets, D6 for the pool.
expensesOne row per expense. Replaces the wide category columns entirely.
ColumnNote
dateDate incurred, not date reconciled.
yearDerived from date. Lets you filter a year without a separate tab.
supplierWho the service or charge was bought from; the single display and grouping identity.
amountFull amount paid.
work_pctApportionment. 1.0 where wholly work-related.
claimedamount × work_pct.
labelD1D15. The single most valuable column in the workbook.
basisOne line on why it's deductible and how the percentage was reached.
evidencePath to the receipt.
incomeInvestment income and disposals. Salary comes from pre-fill.
ColumnNote
datePayment or disposal date. For a contract of sale, the contract date.
typedividend · distribution · interest · disposal · staking · airdrop.
holdingTicker or account.
gross_foreignAmount before withholding, in the source currency.
fx_rateOne convention across the whole column. Label it: AUD_per_USD.
gross_audComputed. Never typed.
tax_withheld_audFeeds the foreign income tax offset.
franked / unfranked / creditThree separate columns. The return wants them separately.
labelReturn item — see section 05.
yearOne row per income year. The feedback loop the old workbook lacked.
ColumnNote
year
taxable_incomeFrom the assessment, not your estimate.
payg_withheldFrom the income statement.
total_deductionsSum of expenses.claimed + depreciation.deductible.
marginal_plus_levyBracket rate + 2%. Recheck every year.
estimated_resultYour prediction.
assessed_resultWhat actually happened.
varianceThe number that tells you whether the model works.
lodged_dateThe 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_dateStarts the two-year amendment clock.
cf_capital_lossCarried-forward net capital loss, as recorded in the lodged return.
03

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.

Purchase day
One row in 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.
Same day
Decide the treatmentCost decides it, not work use — see section 04. Above $1,000 means schedule, an effective life, and a method chosen once and never changed.
Each 30 June
One row appended to 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.
Each lodgment
Filter, don't re-deriveSum 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.
On disposal
Close the row, don't delete itSet 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.
Years later
The query is one filterFilter 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.
Why the ID goes in the filename

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.

04

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.

Treatment by cost
Cost of the itemTreatmentLabelRate
$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

AssetEffective life
Laptop, tablet2 years
Mobile phone3 years
Desktop computer4 years
Three rules that catch people out
  • 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.
05

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

2026 individual return · deduction labels
LabelQuestionWhat you file here
D1Work-related car expensesCents-per-km or logbook, for a car you own or lease. Never home-to-work commuting.
D2Work-related travel expensesFares, accommodation and meals when travelling for work. Distinct from D1.
D3Work clothing, laundry and dry-cleaningCompulsory uniforms, protective and occupation-specific clothing. Not conventional clothes.
D4Work-related self-educationStudy connected to your current role. Not study to change careers.
D5Other work-related expensesThe 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.
D6Low-value pool deductionThe pooled calculation, if you run a pool.
D7Interest income deductionsCosts of earning the interest declared at item 10 — account-keeping fees on investment accounts.
D8Dividend deductionsCosts 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.
D9Gifts or donations$2 or more to an Australian deductible gift recipient. Verify on ABN Lookup.
D10Cost of managing tax affairsAgent fees, tax software, travel to your agent. Deductible in the year paid.
D12Personal superannuation contributionsSupplementary. Requires an acknowledged notice of intent lodged with your fund before you lodge.
D15Other deductionsSupplementary. 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

Where investment income lands
ItemQuestionNotes for the ledger
1Salary or wagesPre-filled once your income statement is marked "Tax ready". Don't type it.
10Gross interestPre-filled from banks, usually by late July.
11DividendsFranked, unfranked and franking credit as three separate figures. DRP counts as received then reinvested.
13Partnerships and trustsSupplementary. Managed fund and ETF distributions — enter the components from the annual tax statement, not the cash received.
18Capital gainsSupplementary. Losses first, discount last.
20Foreign source incomeSupplementary. Declare gross, before withholding; claim the withholding as a foreign income tax offset.
24Other incomeSupplementary. 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.

06

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 documentRequired 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
A card statement is not a receipt

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.

07

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 typeKeep forWhat that means in practice
General expense5 years from lodgmentA 2025–26 receipt: until roughly 2031.
Depreciating asset5 years from the last decline-in-value claimA laptop with a 2-year life bought in 2026: claims end 2028, keep until 2033 — seven years from purchase.
CGT asset5 years after no CGT event can happenA share parcel held fifteen years then sold: acquisition records needed for twenty years.
Under disputethe 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.

What to change
  • 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.
Don't put the workbook in git

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.

08

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.

WhenWhatWhy then
At purchaseRegister the asset, file the invoice, set the treatmentThe only moment you reliably remember the work purpose.
WeeklyLog hours worked from homeCannot be reconstructed later, and gates the fixed rate entirely.
MonthlyAppend expense rows with labels and evidence pathsSmall enough to actually do.
One month a yearRun the 4-week phone and internet usage diarySupports the percentage for the whole year.
Before 30 JuneDecide on any personal super contribution and lodge the notice of intentThe deduction is lost if the notice is late.
30 JuneGenerate the depreciation rows; export broker historyPlatforms retain only a rolling window.
Late JulyCheck pre-fill is complete before lodgingLodging early is the main cause of amended assessments.
At lodgmentRecord the lodged date the day it goes in; the NOA date, assessed result and variance when the notice arrives; snapshot the yearThe lodged date marks the return as filed before it is assessed. The NOA starts the amendment clock and closes the loop.
09

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.

  1. Create the five sheets empty, in a copy of the workbook. Leave the year tabs untouched as the historical record.
  2. Populate assets from 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.
  3. Back-fill depreciation from 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.
  4. Record NOA dates in year for every year still potentially open. This tells you which corrections can still be lodged and which are historical only.
  5. 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.
  6. Start the current year clean in the new structure. Do not maintain both shapes in parallel past one year.
  7. Snapshot the old workbook read-only and keep it for the full retention period. It is the evidence of what you previously filed.
The one-time cost is the asset register

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.