Welcome
This wizard walks you through generating your Steuerauszug in five short steps.
New here? Start with the documentation: the web app guide explains each step below, and the user guide covers the tax background, broker exports and how to verify the result.
- Your details — name, canton, tax year and broker (remembered on this device).
- Kursliste — the official ESTV securities list for your tax year.
- Broker files — the statements you exported from your broker.
- Generate — the processing pipeline runs right here in your browser.
- Download — your PDF (and XML) Steuerauszug.
Advanced: runtime options
The Python runtime (Pyodide) and library dependencies are downloaded once from public CDNs (~40 MB, cached by your browser afterwards). Your personal data is never uploaded anywhere. To use a self-hosted copy instead, set the base URL below and reload.
Your details
These are stored only in this browser (local storage) and reused next time.
Advanced: configuration file (config.toml)
The settings above are translated into the configuration below. Tick the box to edit it directly (for broker/account overrides described in the configuration guide).
Kursliste (official securities list)
The pipeline needs the official ESTV Kursliste for your tax year to look up valor numbers, exchange rates and tax values. It is cached in your browser, so you normally only do this once per year.
- Download the ZIP marked “Initial” (latest version) for your tax year from ictax.admin.ch and unzip it.
- Add the resulting
kursliste_YYYY.xmlbelow.
The XML is large (>100 MB), so the first run converts it to a compact database —
that takes a few minutes, after which the database is cached and the XML is no longer needed.
If you also use the command line tool, opensteuerauszug kursliste download --year YYYY
produces the same kursliste_YYYY.sqlite, which you can add here directly.
kursliste_YYYY.xml or kursliste_YYYY.sqlite
Broker files
Optional: attach supporting PDFs
These pages are prepended/appended to the final PDF unchanged (e.g. an original broker statement or a 1042-S form).
Generate
Review the summary, then run the pipeline. Processing happens entirely in this page and can take from a few seconds up to several minutes (converting a Kursliste XML on the first run is the slow part).
Your Steuerauszug is ready
- No unresolved errors or warnings in the processing log.
- All securities are present and mapped to the correct valor number.
- All transactions and end-of-year positions are correct.
- Cash balances and interest totals are correct.
- After importing into your tax software, recalculate the tax values there.