🍪 Cookie Settings

    We use cookies and similar technologies. Necessary cookies are required for the site to function. Analytics cookies (Google Analytics) help us understand usage. Marketing cookies (Google Ads) enable personalized advertising and performance measurement. Privacy Policy

    Self-service tool · No tax advisory/ case review · Results may vary – please verify

    How It Works

    KapitalTax calculates in the background – transparent, verifiable, Germany-focused

    You upload your Interactive Brokers Flex Query as XML – KapitalTax processes the data technically and rule-based and generates a report with all tax-relevant tables and totals. Flex Queries are explicitly intended by IBKR as customizable reports and can be exported in XML format, among others.

    Note: KapitalTax supports the structured preparation of Interactive Brokers data for the German tax context. The content on this page and the analyses provided by KapitalTax are intended solely for general informational and data-preparation purposes and do not constitute individual tax or legal advice. Whether and how specific values should be taken into account in a personal tax return depends on the individual case.

    Report in 4 Steps

    1

    Export XML (via Flex Query)

    Create a Flex Query in Interactive Brokers and download it as XML.

    2

    Upload XML

    XML upload at KapitalTax. No broker logins, no API access.

    3

    Auto-report + optionally supplement

    KapitalTax creates the report automatically. Optionally you can add:

    • previously paid advance lump sums
    • fund classification
    4

    Receive & use report

    You receive clearly structured tables and totals, e.g. as inputs for Anlage KAP, KAP-INV and SO of your tax return.

    Core Calculation Principles

    The rules behind it

    1) FIFO Allocation (First In, First Out)

    KapitalTax uses the FIFO principle for matching acquisitions and disposals – this is the standard logic for determining gains/ losses on securities.

    What does this mean in practice?

    The first-purchased units/ tranches are consumed first in a sale – including clean allocation of acquisition costs and sale proceeds.

    2) EUR Valuation of All Transactions: ECB Reference Rates (Securities) & Trade Rates (FX)

    All values in the report are unified in EUR.

    • Securities transactions (buy/ sell/ income): Valued at the ECB reference exchange rate (daily rate) of the respective transaction day.
    • FX transactions:
      • Direct EUR↔XX FX trades: Valued at the actual execution rate (trade rate) from broker data.
      • Cross-FX YY↔XX (without EUR leg): Conversion via EUR based on ECB reference rates of the transaction day.

    Note: ECB reference rates are information/ reference rates and do not necessarily correspond to rates of actual market transactions.

    3) Cash Basis Principle for Income

    Dividends, distributions and interest are recorded according to actual receipt (time of credit at the broker). This increases verifiability because each line in the report can be reconciled with broker statements.

    What KapitalTax Specifically Calculates

    A) Securities Transactions (Stocks, ETFs, Options, etc.)

    Typically included in the report:

    • Gain/ loss per sale (FIFO-based) + totals
    • Detail tables with date, quantity, price, fees, EUR value
    • Separate totals by instrument type (where meaningful)

    Why this matters: You don't just get a number, but a verifiable derivation (incl. individual transactions + subtotals).

    B) Currency Transactions (FX) & EUR Valuation

    Typically included in the report:

    • FX gains/ losses as separate tables/ totals
    • EUR valuation by clear rule: trade rate for EUR pairs, otherwise ECB reference rate (via EUR)

    C) Income: Distributions, Dividends, Interest

    Typically included in the report:

    • Dividends/ distributions (gross/ net, withholding tax)
    • Interest incl. credit and debit interest
    • Totals by currency and where applicable by country

    D) Withholding Tax: Creditable per Country (DTA Logic + 25% Cap)

    KapitalTax logic per payment (simplified):

    • DTA maximum per country: Capped at the maximum creditable rate according to official overview. The BZSt publishes an annually updated overview (as of January 1).
    • Upper limit: additionally capped by the German capital gains tax rate of 25% (flat tax).
    • Investment fund special logic (if relevant): Consideration of relevant fund-related rules (e.g. partial exemption) based on your stored fund classification.

    In the report you see:

    • Country of payment
    • Withheld tax
    • Maximum creditable rate / cap

    Find more details about withholding tax here.

    E) Investment Funds & Advance Lump Sum (per tranche)

    KapitalTax calculates the advance lump sum per tranche (tax lot) – i.e. separately per purchase date. This is crucial because the law provides for time-proportional effects for intra-year acquisitions, among others.

    Base rate (parameter source): The base rate is published by the BMF (annual publication).

    Basic logic (abbreviated):

    • Base return based on redemption price/ market price at year start × 70% × base rate.
    • Capped at the surplus amount (value increase + distributions).
    • Advance lump sum = max(0, min(base return, surplus) - distributions)

    How KapitalTax implements this (practical):

    • Per tranche: Each purchase tranche separately.
    • Time proportion in purchase year: In the year of acquisition, the advance lump sum is reduced by 1/12 for each full month before the acquisition month.
    • Distributions by receipt date: A distribution only reduces tranches that already existed at the time of receipt.

    Feature: User inputs for

    • Previously paid advance lump sums
    • Fund classification (see next section)

    Find more details about the advance lump sum here.

    F) Fund Classification

    Broker data is often insufficient to reliably classify funds. Therefore this is deliberately a control feature at KapitalTax:

    You can categorize funds as:

    • Equity fund
    • Mixed fund
    • Real estate fund
    • Foreign real estate fund
    • Other funds

    G) Options: Premium Income, Closing, Expiry, Exercise, Assignment

    KapitalTax maps typical option events as clearly distinguishable events – instead of confusing broker lines.

    Typically included in the report:

    • Premium income as separate revenue
    • Closing as corresponding counter-position
    • Worthless expiry (value = 0) as distinct event
    • Exercise: Option costs affect the acquisition/ disposal costs of the underlying.

    Find more details about options here.

    H) Tax-Category Oriented Totals & Form Inputs

    KapitalTax creates totals and tables aligned with the German capital income classification system.

    Usable as inputs for:

    Anlage KAP is the standard form for capital income under § 20 EStG (e.g. interest, dividends, capital gains from securities). It is also used to declare withheld/ creditable taxes or to request assessment (e.g. favorable taxation check/ verification of tax deduction).

    • Dividends/ profit shares from stocks etc.
    • Interest/ income from capital claims (e.g. bonds, fixed deposits, cash interest)
    • Gains/ losses from disposal of stocks/ bonds/ other capital assets and certain derivatives/ options
    • Foreign withholding tax (for crediting) and capital income without German tax deduction (typical for foreign brokers)

    Anlage KAP-INV is for investment income (§ 16 InvStG) not subject to domestic tax deduction (German capital gains tax by a domestic custodian bank) – this is typically the case for foreign brokers.

    • Fund/ ETF distributions
    • Advance lump sums
    • Gains from disposal/ redemption of investment units
    • Practically: ETF/ fund distributions, advance lump sum and fund disposal gains are declared via KAP-INV when no German tax deduction was made

    Anlage SO covers other income. In the context of securities and crypto portfolios, the 'Private Disposal Transactions' section under § 23 EStG is particularly relevant. Here, gains/ losses from disposal of 'other economic goods' within the 1-year period are declared.

    • Crypto assets in private assets (e.g. sale/ exchange within one year)
    • Products with entitlement to physical delivery (e.g. Xetra-Gold), which are treated as physical gold for tax purposes per BFH case law
    • Disposal/ redemption within one year as private disposal transaction; after expiry of the one-year period generally not taxable

    Ready for Your Report?