bryan tan
Available for work
Menu
Let’s talk
Back Available for work
PythonSQLiteDocument routing

Rental-property tax automation /Production

Receipts in, a lodgement-ready financial-year pack out — with the judgment calls flagged rather than guessed.

tax pack · FY draft
Rental schedule
itemrouteamount
Repairsdeductible$482
Water ratesdeductible$196
New ovencapital$715
Agent feedeductible$318
2 line items need a decision gap flagged
  • 01 Automated AU rental-tax accounting end to end — Telegram and addon receipt ingest with vendor-based ATO-schedule routing, an LLM categoriser for repair-vs-capital judgment, and generation of a myTax-ready financial-year pack with gap flags on unresolved line items
  • 02 Built a Wealthfolio browser-extension addon and a local HTTP bridge to sync bank statements (NAB, Macquarie) — including a liability-account model for card and mortgage balances — and a depreciation engine feeding the tax pack
  • 03 Diagnosed and fixed a broker API integration bug by reverse-engineering the correct IBKR v3 asset payload shape from source, resolving a defect that valued portfolio holdings at $0.
  • 04 Built a universal document router that combines rules-based classification with an LLM (Haiku) fallback to auto-classify and file uploaded financial documents by type.

Interface recreated with invented data — no production screenshot is published. Private system; walkthrough and code review available on request.

Role
Sole engineer
Timeline
2026 — ongoing
Stack
Python · SQLite · Telegram · browser extension