Product study · Tax software · Live
BrokerTax
Prepare a Swiss eSteuerauszug from IBKR or DEGIRO exports, with each figure tied to its source for review.
01 / The task
What needed to work
Swiss investors need to reconcile year-end positions, income and currency conversions before filing. BrokerTax turns a broker export into a review case and a Swiss tax statement.
My role
I set the product scope, direct the agent workflows and decide what is ready to ship.
02 / Decisions
Where judgment mattered
Keep accounts separate
I keep each broker and account in its own case so every line can be checked against its source export.
Use one engine for local and hosted apps
The local app and hosted service share the import, review and filing pipeline. The hosted service adds guest sessions and payment handling at the edge.
Keep warnings with their source rows
Review warnings stay with their source rows; only filing blockers stop PDF and XML generation.
Separate filing and review documents
The filing PDF contains supported tax data. Separate review and reconciliation files carry fees, warnings and source details.
Keep reference values traceable
Each case keeps the reference snapshot used for review and records the source of its currency and security values.
Require evidence for lifecycle events
Lifecycle calculations follow the recorded option, bond and corporate-action evidence for each holding.
Keep local cases in memory
The local app runs on loopback, keeps cases in memory and redacts support diagnostics.
03 / Agent contribution
How the work was directed
An idea taken through product definition, agent-assisted implementation, review and launch.
Owner account
- Define the user journey and acceptance criteria
- Direct implementation with AI coding assistants
- Review changes and test the generated artifacts
- Release the verified product
A reviewable output, not a silent conversion
Implementation inspected · task brief
Import a broker export, preserve source references, surface warnings for review, and generate the statement only when filing checks permit it. This brief summarizes the inspected product behavior; it is not a transcript of an agent session.
04 / Verification & result
What the evidence supports
Verification
The product has a working import, review and document-generation flow. The project notes record a synthetic local capture; the agent-assisted delivery method is my account of the work.
Result
Launched as a live product with customers.
Implemented functionality
- IBKR Activity Flex XML. Imports annual Flex XML reports and maps accounts, holdings, cash, trades, fees, options and corporate actions into a review case.
- DEGIRO activity and portfolio CSV. Combines the account activity and year-end portfolio exports, normalizes supported transaction descriptions and keeps each source row available for review.
- Tax review case. Shows tax totals, filing identity, warnings and source-row decisions together.
Implementation inspected
The screenshots show demo data, public observations or labelled report presentations, as described in each caption.
05 / Product evidence
Selected screens
Supporting detail
Technology
- Python 3.11+
- Python standard-library HTTP server
- Vanilla HTML/CSS/JavaScript browser frontend
- lxml
- ReportLab
- pypdf
- Pillow
- zxing-cpp
- Java 17+ Macro PDF417 helper
- eCH-0196 v2.2.0
- eCH-0270 v1.0.0
- Caddy hosted edge