IBKR Tax Return – Guide
From XML export to the finished Anlage KAP – explained step by step
Interactive Brokers does not issue a German tax certificate. This means you must declare your capital income yourself in your tax return. The good news: With BubbleTax, this takes just a few minutes. Here's how the complete process works.
Why is there no IBKR tax certificate?
Interactive Brokers is headquartered in Ireland (IBKR Ireland Ltd.) and is not a German credit institution. Therefore, IBKR neither withholds flat-rate tax (Abgeltungsteuer) nor issues an annual tax certificate per § 45a EStG. You are required to declare your capital income yourself in Anlage KAP of your income tax return.
The Process in 4 Steps
Set up Flex Query & Export XML
At IBKR, the data export is called a 'Flex Query'. You create an export template (a so-called Activity Flex Query) once, then run it for each tax year individually.
Navigate to Performance & Reports → Flex Queries → click the plus sign (+) next to 'Activity Flex Query' in the IBKR Client Portal. Setup takes about 5–10 minutes – after that, each additional export takes seconds.
Upload All XML Files to BubbleTax
Upload all exported XML files together via drag & drop. Important: Always upload all available years, not just the current tax year.
BubbleTax processes the data fully automatically: FIFO calculation per § 20 Abs. 4 EStG, EUR conversion at ECB daily rates, withholding tax crediting, and loss offsetting – usually in under a minute.
Review the Tax Report
The finished report shows all relevant amounts per tax year: gains, losses, dividends, interest, withholding tax, and advance lump sums – broken down by security and asset class.
The report includes a tax summary with direct line references for Anlage KAP, KAP-INV, and where applicable Anlage SO. Plus detailed tables for every single transaction.
Transfer Values to Your Tax Return
Transfer the values from the BubbleTax tax summary into ELSTER, WISO Steuer, SteuerSparErklärung, or your preferred tax software.
Each amount is assigned to a specific KAP line. You just need to type the values – no calculations needed.
Setting Up the Flex Query – Key Settings
When creating the Flex Query, you select which data to export. BubbleTax requires exactly seven data sections:
The 7 Sections
| # | Section & Setting |
|---|---|
| 1 | Cash Report – with 'Currency Breakout' enabled |
| 2 | Complex Positions – no special setting needed |
| 3 | Statement of Funds – with 'Currency Breakout' enabled |
| 4 | Corporate Actions – select 'Detail' |
| 5 | Open Positions – select 'Summary' |
| 6 | Trades – select 'Execution' (not 'Order'!) |
| 7 | Transfers – select 'Transfer' |
Delivery Configuration
- Format: XML
- Period: Custom (selected during export)
General Settings
- Date format: yyyyMMdd
- Time format: HHmmss
- Separator: ; (semicolon)
Export – What You Need to Know
Year-by-Year Export
IBKR limits the query period to 365 days. Run your Flex Query for each year individually (e.g., Jan 1 – Dec 31, 2024) and upload all XML files together to BubbleTax.
Export All Available Years
Don't just export the current tax year – export all available years (up to seven at IBKR). BubbleTax needs the complete purchase history to correctly calculate acquisition costs and FIFO. The most common error for new users: prior years are missing.
Include January of the Following Year
Also export at least January of the following year. Interest bookings at IBKR sometimes occur in early January but belong to the prior tax year under the 10-day rule (§ 11 EStG for recurring payments).
What Does the Tax Report Contain?
The BubbleTax report is structured so you can use it directly as documentation for the tax office:
- Tax summary with line references for Anlage KAP, KAP-INV, and Anlage SO
- Breakdown by asset class: stocks, ETFs/funds, options, futures, CFDs
- Dividends, substitute dividends, interest, and securities lending
- Withholding tax overview with creditable amounts
- Corporate actions (splits, spin-offs, mergers)
- Foreign currency gains and losses
- Detailed tables with every single transaction
- Open positions at the start and end of each year
Portfolio Transfers – Recording Acquisition Costs
If you transferred securities from another broker to IBKR, IBKR doesn't know the original purchase prices. BubbleTax provides an input form where you can record the acquisition costs per position.
Avoiding Common Mistakes
These are mistakes we regularly see from new users:
- Only exported the current year – without prior years, BubbleTax cannot calculate the FIFO chain and acquisition costs
- Exported CSV instead of XML – BubbleTax requires the XML export from the Activity Flex Query
- Fields in sections not enabled – all fields are disabled by default at IBKR and must be manually checked
- Selected 'Order' instead of 'Execution' for Trades – FIFO requires the execution level
- Didn't export January of the following year – interest bookings may be missing
Further Reading
Our Tax Knowledge articles explain the tax details: FIFO calculation, foreign currency gains, withholding tax crediting, ETF partial exemption, and options taxation.
Create Your Tax Return Now
Upload XML, receive your tax report – in just a few minutes.