Your broker statement, Swiss-shaped.
Upload an Interactive Brokers, DEGIRO, Charles Schwab or Swissquote export. Get back a tax statement in the same format Swiss banks use — totals, dividends, embedded data, barcodes.
5 runs free, then unlimited once you file with us. Your file stays in memory just long enough to build the PDF, and is then gone.
What happens
Upload
Sign in, drop your broker export, nothing to install.
Generate
We compute the tax-ready PDF in memory — barcodes, totals and all — in under a second.
Download
Save the PDF and you're done. Your file is discarded the moment it's generated — we keep only a note that a run happened, never what was in it.
Exporting from Interactive Brokers
- 01
Open Account Management
Log into IBKR Account Management. Flex Queries are a free, built-in IBKR feature — available on any live account (paper-trading accounts excluded). - 02
Performance & Reports → Flex Queries → Create (+)
Pick Activity when prompted. IBKR's official walkthrough is here. - 03
In each section, click "Select All", then "Save"
- · Account Information
- · Cash Report
- · Cash Transactions
- · Corporate Actions
- · Interest Accruals
- · Open Positions
- · Trades
- 04
Delivery: format = XML, date = yyyy-MM-dd
Format must be XML (not CSV, not PDF). Date format yyyy-MM-dd. Leave Include Canceled Trades / Currency Rates / Audit Trail set to No. - 05
Save the query, then click Run
After saving, you'll land back on the Flex Queries list. Find your new query in the Activity table and click the Run icon next to it. The query needs to actually execute before any XML exists to download. - 06
In the Run dialog, pick "Custom Date Range"
Skip the Period dropdown — it only offers rolling windows that cross calendar years. Select Custom Date Range and set From Date 2025-01-01 and To Date 2025-12-31 for tax year 2025. Confirm Format = XML, then hit Run. - 07
Download the .xml — drop it in the box above
That's it. We do the rest in seconds.
DEGIRO, Schwab and Swissquote
- DEGIRO
- Export your Account.csv and Portfolio.csv for the tax year, put both files in one .zip, and drop the zip on the upload box.
- Charles Schwab
- Export your account statements for the tax year, put them in one .zip, and drop the zip on the upload box.
- Swissquote
- Set your account display language to Deutsch, then export your transactions for the tax year as a .csv and drop it on the upload box. (A .zip wrapping the .csv also works.)
Generate your PDF
Sign in first
An account keeps your 5 free runs attached to you. It takes an email and a password, and it does not cost anything.
Common questions
What is a Swiss electronic tax statement?
It's the standard PDF your bank or broker would normally send you in January. It bundles your year-end positions, dividends, interest and bank balances into a PDF with embedded data and barcodes in eCH-0196 v2.2.0 — the federal interchange format the cantonal tax apps are built to import.
Which cantons accept this PDF?
The eCH-0196 standard is the federal interchange format all 26 cantonal tax apps implement. We've verified the barcode and embedded XML by importing into VSTax (Valais), ZHprivateTax (Zurich), GeTax (Geneva), VaudTax (Vaud) and BalTax (Basel-Stadt); the remaining cantons' apps implement the same standard, but we have not run each one ourselves yet.
How long does it take to generate?
Under a second once you've uploaded. The slow part is exporting from your broker — usually 2 to 5 minutes — not the conversion itself.
Isn't IBKR's own Swiss tax form enough?
IBKR's PDF is a summary, not an eCH-0196 electronic tax statement: no embedded XML, no barcode, no machine-readable totals your cantonal tax app can scan. You'd still re-type every line by hand. Our PDF carries the eCH-0196 v2.2.0 payload, so VSTax / ZHprivateTax / GeTax / VaudTax / BalTax can ingest it in one click — and we apply the federal ESTV Kursliste valuations and FX rates the cantons expect, which IBKR's own form doesn't do.
How does this relate to the full PaperTax app?
PaperTax walks you through your complete Swiss tax return — salary certificate, pillar 3a, insurance, real estate and the rest. The broker-statement generator is one piece of that pipeline. You get 5 generations free with a PaperTax account; with a paid filing it's unlimited, so you can regenerate the PDF as often as you need — for any supported broker, in any language.
Is this really free?
Yes — 5 generations are free with a PaperTax account. After that, the tool is unlimited as part of your paid filing. We do this so the ESTV Kursliste data + ongoing maintenance pays for itself, while still letting most people try the tool risk-free.
What happens to my upload?
Your broker export lives in memory just long enough to compute the PDF, then it's discarded. No disk write, no database row, no log line of its contents. We keep an account record that the PDF was generated (broker, tax year, success/failure) — that's it.
Interactive Brokers: what's a FlexQuery and how do I get one?
It's IBKR's built-in export format. Log into Account Management, go to Performance & Reports → Flex Queries, create a new Activity query, select the sections you need, set Format = XML and date range = your tax year, save, then click Run. Download the XML and drop it on this page. There's a step-by-step further down.
Does this work for previous tax years?
Yes — we currently support tax years 2024 and 2025. Pick the year when you export (IBKR: set the FlexQuery to a Custom Date Range; DEGIRO / Schwab: choose the year on this page). For each security we look up the official Swiss federal year-end tax value (the ESTV Kursliste) for that year, so the figures on your PDF match what your canton expects. Cash balances use your broker's year-end balance converted at the official federal foreign-exchange rate.
Does this work with Schwab or DEGIRO?
Yes — both are supported. For DEGIRO, export your Account.csv and Portfolio.csv for the tax year and put both in one .zip. For Charles Schwab, export your account statements for the tax year and put them in one .zip. Drop the zip on this page and pick the matching broker.