Warum nicht einfach den Standard Activity Statement verwenden?
Why not just use the standard Activity Statement?
Der normale Activity Statement enthält keine ISINs auf Trade-Zeilen. Ohne ISIN kann KapFrei inländische und ausländische Wertpapiere bei Kursgewinnen (KZ 862 / KZ 994) nicht immer korrekt zuordnen. Die Flex Query löst das — alle anderen Daten (Dividenden, Zinsen) sind in beiden Formaten vollständig.
The standard Activity Statement does not include ISINs on trade rows. Without ISINs, KapFrei cannot always correctly classify domestic vs. foreign securities in capital gains (KZ 862 / KZ 994). The Flex Query fixes this — all other data (dividends, interest) is complete in both formats.
Zur Flex Query navigieren
Navigate to Flex Queries
IBKR App öffnen → ☰ (3 Striche) oben links antippen
Open the IBKR app → tap ☰ (hamburger menu) top left
Das Hauptmenü öffnet sich. Nach unten scrollen zu Statements & Tax.
The main menu opens. Scroll down to Statements & Tax.
Statements & Tax antippen
Tap Statements & Tax
Du siehst nun eine Liste mit Activity Statements, Trade Reports usw.
You now see a list: Activity Statements, Trade Reports, etc.
Activity Statements antippen → Dialog mit ✕ schließen
Tap Activity Statements → close the dialog with ✕
Dieser Dialog ist für den Standard Activity Statement — den brauchen wir nicht. Das ✕ oben rechts schließen.
This dialog is for the standard Activity Statement — we don't need it here. Close with the ✕ top right.
Tab Flex Queries oben antippen
Tap the Flex Queries tab at the top
Jetzt siehst du den Bereich „Activity Flex Query" mit einem +-Button.
You now see the "Activity Flex Query" section with a + button.
+ antippen → Query Name eingeben
Tap + → enter a query name
Beliebiger Name, z.B. KapFrei-Export
Any name works, e.g. KapFrei-Export
Sections auswählen
Select sections
Im Bereich „Sections (Select Multiple)" genau diese 4 Sections antippen:
In the "Sections (Select Multiple)" area, tap exactly these 4 sections:
Jede Section konfigurieren
Configure each section
Jede Section per Antippen öffnen und die unten aufgeführten Felder und Optionen auswählen.
Tap each section to open it and select the fields and options listed below.
① Trades (DE: Transaktionen)
Option (Level of Detail)
Option (Level of Detail)
Felder aktivieren
Enable fields
② Cash Transactions (DE: Barmitteltransaktionen)
Optionen — alle vorausgewählten Haken belassen (Standard)
Options — keep all pre-selected checkmarks (default)
Deutsche Bezeichnungen: Dividenden · Quellensteuer · Erhaltene Broker-Zinsen — Bezeichnung kann geringfügig abweichen
Sub-Option: Detail ✓ (DE: Detail / Detailliert — Bezeichnung kann geringfügig abweichen) auswählen, nicht Summary / Zusammenfassung
Sub-option: select Detail ✓ (not Summary)
Felder aktivieren
Enable fields
Deutsche Feldbezeichnungen: Währung (Currency) · Beschreibung (Description) · Datum/Uhrzeit (Date/Time) · Betrag (Amount)
③ Open Positions (DE: Offene Positionen)
Option
Option
(nicht „Lot" — das würde zu vielen Zeilen führen)
(not "Lot" — that produces too many rows)
Felder aktivieren
Enable fields
Deutsche Feldbezeichnung: Währung (Currency)
④ Cash Report (DE: Barbericht / Barübersicht / Kassenbestandsbericht)
Option
Option
DE: Zusammenfassung der Basiswährung
Felder aktivieren
Enable fields
DE: Währung (Currency) · Endbestand (Ending Cash)
Aktiviert die Bargeld-Anzeige im KapFrei Freedom-Dashboard (optional, kein Einfluss auf Steuerberechnung).
Enables the cash balance in the KapFrei Freedom dashboard (optional, no effect on tax calculation).
Allgemeine Einstellungen (Delivery Configuration)
General Configuration (Delivery Configuration)
Nach der Section-Konfiguration erscheint der Einstellungsbildschirm. Hier die folgenden Werte setzen — der Rest bleibt auf Standard.
After configuring the sections, a settings screen appears. Set the values below — leave everything else at default.
Pflichteinstellungen
Required settings
- ✓ Format:Format: CSV
-
✓
Include header and trailer records?Include header and trailer records? Yes ✓DE: Kopf-/Abschlusszeilen einschließen? → Ja — Bezeichnung kann geringfügig abweichen
-
✓
Include column headers?Include column headers? Yes ✓DE: Spaltenüberschriften einschließen? → Ja — Bezeichnung kann geringfügig abweichen
-
✓
Period:Period: Year to DateDE: Laufendes Jahr / Jahr bis heute — Bezeichnung kann geringfügig abweichen
Standard belassen (nicht ändern)
Leave at default (do not change)
- Display single column header row? → No
- Include section code and line descriptor? → No
- Date Format → yyyy-MM-dd
- Time Format → HH:mm:ss
- Date/Time Separator → ; (semi-colon)
- Profit and Loss → Default
- Include Offsetting Trade/Cancel Pairs? → No
- Include Currency Rates? → No
- Include Audit Trail Fields? → No
- Display Account Alias in Place of Account ID? → No
- Breakout by Day? → No
Period auf „Year to Date" lassen
Keep Period as "Year to Date"
Das ist die Standardeinstellung und bedeutet: beim Ausführen der Query wählt IBKR automatisch das laufende Jahr bis heute. Du kannst beim Download trotzdem einen beliebigen Zeitraum angeben.
This is the default and means: when running the query, IBKR defaults to the current year through today. You can still specify any date range when actually downloading.
Speichern & herunterladen
Save & download
Continue (DE: Weiter) antippen → dann Save (DE: Speichern) — Query ist jetzt gespeichert
Tap Continue → then Save — the query is now saved
Du siehst die neue Query in der Übersicht unter „Activity Flex Query".
You'll see the new query in the list under "Activity Flex Query".
Auf den → Pfeil-Button rechts neben der Query tippen
Tap the → arrow button to the right of the query
Zeitraum wählen: Custom Date Range (DE: Benutzerdefinierter Zeitraum) → 1. Januar bis 31. Dezember des gewünschten Steuerjahres. Format: CSV.
Choose period: Custom Date Range → January 1 to December 31 of the tax year. Format: CSV.
CSV-Datei in KapFrei hochladen
Upload the CSV file to KapFrei
Unter app.kapfrei.at → Berechnen → Dateien hochladen. Alle Jahre auf einmal möglich.
At app.kapfrei.at → Calculate → Upload files. All years at once is supported.
Mehrere verknüpfte Konten (z.B. nach IBKR-Kontomigration)? → FAQ: Multi-Account-Setup
Multiple linked accounts (e.g. after IBKR account migration)? → FAQ: Multi-account setup
Datei prüfen — so sieht eine korrekte CSV aus
Verify the file — what a correct CSV looks like
Öffne die heruntergeladene CSV in einem Texteditor. Die ersten Zeilen müssen exakt so aussehen (Kontonummer variiert):
Open the downloaded CSV in any text editor. The first lines must look exactly like this (account number varies):
"BOF","U1234567","KapFrei-Export","2","2025-01-01","2025-12-31","2025-06-15;12:00:00",... "BOA","U1234567" "BOS","TRNT","Trades; trade date basis" "ClientAccountID","Currency","FXRateToBase","AssetClass","Symbol","Description","ISIN",... "U1234567","EUR","1","STK","AAPL","APPLE INC","US0378331005",... "EOS","TRNT","..." "BOS","CTRN","Cash Transactions" "Currency","AssetClass","Symbol","Description","Conid","ISIN","Date/Time","Amount","Type",... ...
Erste Zeile startet mit "BOF" — das ist die Pflicht-Erkennungszeile. Fehlt sie, erkennt KapFrei die Datei nicht.
First line starts with "BOF" — this is the required detection marker. If it's missing, KapFrei won't recognise the file.
BOS-Zeilen trennen die Sections — TRNT für Trades, CTRN für Cash Transactions usw.
BOS lines separate sections — TRNT for Trades, CTRN for Cash Transactions, etc.
Das ISIN-Feld in der Spaltenzeile nach BOS,TRNT ist entscheidend — es ermöglicht die korrekte Unterscheidung zwischen KZ 862 (inländisch) und KZ 994 (ausländisch).
The ISIN field in the column row after BOS,TRNT is essential — it's what allows correct separation of KZ 862 (domestic) vs KZ 994 (foreign).
FAQ
Ich habe die Query schon eingerichtet — muss ich das jedes Jahr wiederholen? I've set up the query — do I need to do this every year? ▾
Nein. Die Query bleibt gespeichert. Jedes Jahr einfach den → Pfeil-Button antippen, Zeitraum wählen und CSV herunterladen.
No. The query stays saved. Each year just tap the → arrow, choose the period, and download the CSV.
Kann ich auch den Standard Activity Statement (CSV) verwenden? Can I use the standard Activity Statement (CSV) instead? ▾
Ja — KapFrei versteht auch den Standard Activity Statement. Allerdings fehlen dabei ISINs auf Trade-Zeilen, was die Unterscheidung zwischen inländischen und ausländischen Kursgewinnen (KZ 862 / KZ 994) weniger präzise macht. KapFrei zeigt bei Activity Statement-Uploads einen Hinweis im Ergebnis.
Yes — KapFrei also understands the standard Activity Statement. However, ISINs are missing on trade rows, which makes the domestic/foreign classification for capital gains (KZ 862 / KZ 994) less accurate. KapFrei shows a notice in the results when an Activity Statement is detected.
Mehrere Jahre — muss ich die Reihenfolge beachten? Multiple years — does the order matter? ▾
Nein — alle Dateien auf einmal hochladen, KapFrei verarbeitet sie automatisch chronologisch. Die gleitenden Durchschnittspreise (§ 27a Abs. 4 EStG) werden jahresübergreifend korrekt berechnet.
No — upload all files at once. KapFrei processes them chronologically automatically. Moving average cost basis (§ 27a Abs. 4 EStG) is calculated correctly across all years.
Geht das auch über den IBKR Client Portal im Browser (Desktop)? Does this also work via IBKR Client Portal in a browser (desktop)? ▾
Ja. Der Weg im Browser: Reports → Flex Queries → Activity Flex Query → +. Die Einstellungen (Sections, Felder) danach sind identisch — nur die Oberfläche (UI) sieht etwas anders aus.
Yes. In the browser: Reports → Flex Queries → Activity Flex Query → +. The settings (sections, fields) are identical — the UI just looks slightly different.