Convert your broker export into a Swiss e-tax statement.
Upload the file you exported from Interactive Brokers, DEGIRO, Charles Schwab, Swissquote or Freedom24. PaperTax converts it into a Swiss electronic tax statement: a PDF with data your cantonal tax app can read. Import that PDF into a compatible app to fill in your securities and dividends without entering each holding yourself. The format is called eCH-0196.
5 free conversions with an account. Unlimited with a paid PaperTax return. Your export is discarded after the PDF is generated.
How the conversion works
Upload your broker export
Choose your broker and tax year, then upload the exported file.
Get your Swiss tax statement
PaperTax calculates Swiss tax values and generates an eCH-0196 PDF containing your holdings and income.
Import it into your tax app
Download the PDF and import it into a compatible cantonal tax app. Check the imported values before filing.
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"
Tick every section below, then open each one and click Select All. A section or a field left out is the most common reason an upload is refused, and the refusal names what is missing.
- · Account Information
- · Cash Report
- · Cash Transactions
- · Corporate Actions
- · Interest Accruals
- · Open Positions
- · Trades
- · Transfers
- 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, which 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. The report must end on 2025-12-31: IBKR lists your holdings as of the end date, so a report that runs into January is refused. Confirm Format = XML, then hit Run. - 07
Download the XML file and upload it here
Return to the converter on this page, choose Interactive Brokers and upload the downloaded XML file. Select the tax year, canton and PDF language, then generate your statement.
DEGIRO, Schwab, Swissquote and Freedom24
- DEGIRO
- Export two files: Account.csv, your account statement from 1 January to 31 December of the tax year, and Portfolio.csv, your holdings on 31 December of the tax year (not today's). Put both in one .zip and drop the zip on the upload box.
- Charles Schwab
- From your brokerage account, download your transaction history as .json, from 1 January of the tax year up to today, and today's positions as .csv. Schwab only exports positions for the current day, so the transactions must run up to today without a gap. Put both files in one .zip and drop it on the upload box. For an Equity Awards account, add its transactions .json and its December statement .pdf to the same zip.
- Swissquote
- In the Swissquote web platform, open My Account → Transactions, set the date range from the day you opened your account to 31 December of the tax year, and click Export CSV. The whole history is needed: a holding bought in an earlier year only counts if its purchase is in the file. Drop the .csv on the upload box. Any account display language works, and a .zip wrapping the .csv also works. If it fails, switch your account to Deutsch and export again: that is the wording we have verified against real exports.
- Freedom24
- Open Reports → Broker Report in the Freedom24 web app (the mobile app cannot export), set the period to the whole tax year, choose the JSON format, and drop the file on the upload box. (A .zip wrapping the .json also works.)
Convert your broker export
Start with your email
Free account, 5 free conversions. We email you a sign-in link and a code, and you come straight back here to upload your export.
Already have an account? Log in
By creating an account you agree to the Terms of Service and the Privacy Policy.
Common questions
What is a Swiss electronic tax statement?
An electronic tax statement lists your year-end holdings, dividends, interest and balances. The Swiss eCH-0196 v2.2.0 format includes data and barcodes inside a readable PDF, so compatible cantonal apps can import it. This tool generates the statement from your broker export. It is not issued by your broker, and the first page states this. Check the figures before using them in your return.
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?
The PDF downloads on this page when the conversion finishes. You do not need to wait for an email. Keep the page open while it is being generated.
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. We also apply the federal ESTV Kursliste valuations and FX rates the cantons expect, which IBKR's own form does not. Checked against the Swiss tax report IBKR issued for the 2025 tax year, in August 2026.
How does this relate to the full PaperTax app?
The full PaperTax app reads your tax documents and creates instructions for your cantonal tax app. It also lets you ask the AI questions about your situation. This converter handles the securities part: it turns supported broker exports into importable tax statements. You get five conversions free with a PaperTax account. Paying for a PaperTax return removes the conversion limit.
Is this really free?
The first five conversions are free with a PaperTax account. After that, you need a paid PaperTax return to continue using the converter. A paid return includes unlimited conversions for supported brokers.
What happens to my upload?
We process the broker export in memory and discard it after generating the PDF. We do not save its contents to disk, the database or logs. We keep a record of the conversion on your account: broker, tax year, canton, PDF language, page count, upload size, whether it succeeded and, for troubleshooting, the number of securities and warnings, the processing time, any error code and a random request ID. That record is deleted when you delete your account.
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, 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 Account.csv from 1 January to 31 December of the tax year and Portfolio.csv as of 31 December, and put both in one .zip. For Charles Schwab, export your transaction history as .json from 1 January of the tax year up to today, plus today's positions as .csv, and put both in one .zip. Drop the zip on this page and pick the matching broker.