Návody

Daňový export z Interactive Brokers a LYNX přes API (Flex Query) – návod krok za krokem

·8 min čtení

Interactive Brokers (IBKR) umí výpisy posílat přes službu Flex Web Service. Stačí si v IBKR jednou připravit tzv. Activity Flex Query a vygenerovat Flex token – Taxero pak celou historii obchodů, dividend, srážkových daní, úroků i korporátních akcí stáhne samo. Nemusíte nic exportovat ani nahrávat a při další synchronizaci se doplní jen to, co přibylo.

  • Žádné heslo do IBKR. Token umí jen stáhnout výpis podle vaší Flex Query – nedá se s ním obchodovat ani posílat peníze.
  • Celá historie najednou. IBKR vydá výpis nejvýš za 365 dní, Taxero proto historii stáhne po rocích, od data, které zvolíte.
  • Bez duplicit. Obchody, které už máte nahrané z Activity Statementu, Taxero pozná a podruhé je neuloží.
  • Automaticky každý den. Pokud chcete, Taxero každé ráno samo doplní obchody, dividendy a úroky z předchozího dne.
  • Platí i pro LYNX. LYNX je zprostředkovatel napojený na Interactive Brokers, postup je stejný (viz níže).

Krok 1: Vytvořte Activity Flex Query

  1. Přihlaste se do Client Portalu Interactive Brokers (portal.interactivebrokers.com).
  2. V menu otevřete Performance & Reports → Flex Queries.
  3. V části Activity Flex Query klikněte na tlačítko + (vytvořit novou).
  4. Do pole Query Name napište název, např. „Taxero".
  5. V části Sections zaškrtněte sekce z tabulky níže. U každé sekce se otevře okno s poli – nejjednodušší je kliknout na Select All a potvrdit Save.
  6. V části Delivery Configuration nastavte hodnoty podle seznamu níže.
  7. V části General Configuration nastavte hodnoty podle seznamu níže.
  8. Klikněte na Continue a na další obrazovce na Create.

Které sekce zaškrtnout

  • Trades – nákupy a prodeje. V okně sekce zaškrtněte úroveň Execution (jednotlivé obchody) a pole Select All. Taxero potřebuje hlavně: Symbol, ISIN, Trade ID, Trade Date, Quantity, Trade Price, IB Commission, IB Commission Currency, Taxes, Buy/Sell, Multiplier, Proceeds, Notes/Codes a Orig Trade ID.
  • Cash Transactions – dividendy, srážková daň, úroky. Zaškrtněte úroveň Detail a typy Dividends, Payment In Lieu Of Dividends, Withholding Tax, Broker Interest Received / Paid a Bond Interest. Deposits & Withdrawals jsou nepovinné (slouží jen pro výpočet výnosu v portfolio trackeru).
  • Corporate Actions – splity, změny ISIN, fúze a spin-offy (úroveň Detail).
  • Financial Instrument Information – doplní ISIN tam, kde ho obchod nemá.
  • Account Information (doporučeno) – datum založení účtu, díky kterému stáhneme historii přesně od začátku, a měna účtu, podle které přepočítáme komise účtované v jiné měně.
  • Transfers (nepovinné) – upozorníme vás na akcie převedené od jiného brokera, u kterých výpis neuvádí nákupní cenu.

Delivery Configuration

  • Accounts – vyberte všechny účty, které chcete do Taxera načíst.
  • Format – XML (důležité – CSV přes API nenačteme).
  • Period – libovolné, např. Last 365 Calendar Days. Při synchronizaci od zvoleného data si Taxero období určí samo.
  • Date Format – yyyyMMdd (u formátů dd/MM/yyyy a MM/dd/yyyy nejde poznat, co je den a co měsíc, a takový výpis odmítneme).
  • Time Format – HHmmss, Date/Time Separator – ; (středník).
  • Include header and trailer records – No.

General Configuration

  • Profit and Loss – Default.
  • Include Canceled Trades – No. (Pokud stornované obchody zapnete, Taxero storno spáruje s původním obchodem a oba vynechá.)
  • Include Currency Rates – No. Kurzy bereme z ČNB, jak vyžaduje zákon.
  • Display Account Alias in Place of Account ID – Yes, pokud nechcete, aby se do Taxera dostalo číslo účtu (viz Soukromí níže).
  • Breakout by Day – No.

Krok 2: Zjistěte Query ID a vygenerujte Flex token

  1. Na stránce Flex Queries najděte svou novou query. Klikněte na ikonu i (informace) nebo tužky vedle jejího názvu a zkopírujte Query ID – je to číslo, např. 1234567.
  2. Na téže stránce v části Flex Web Service Configuration klikněte na ikonu ozubeného kola.
  3. Zaškrtněte Flex Web Service Status (zapnuto).
  4. Klikněte na Generate New Token. Platnost tokenu zvolte co nejdelší (např. 1 rok). Pole IP Address nechte prázdné – Taxero se připojuje ze serverů, jejichž adresa se může změnit.
  5. Klikněte na Save a zkopírujte hodnotu Current Token.

Krok 3: Připojte účet v Taxeru

  1. Přihlaste se do Taxera a otevřete průvodce daňovým přiznáním – krok Import.
  2. Jako brokera vyberte Interactive Brokers a zvolte metodu Flex Query (API).
  3. Vložte Flex token a Query ID.
  4. V poli Synchronizovat od vyberte rok, kdy jste u IBKR začali obchodovat. Doporučujeme celou historii – k prodejům potřebujeme znát i nákupy z dřívějších let (časový test, nabývací cena).
  5. Pokud chcete, zaškrtněte Synchronizovat automaticky každý den. Zapne se po první úspěšné synchronizaci.
  6. Klikněte na Synchronizovat. Taxero stáhne výpis za každý rok zvlášť; jeden rok trvá zhruba 10–30 sekund, deset let tedy několik minut. Stránku nechte otevřenou.
  7. Po dokončení uvidíte počet nových a přeskočených (už uložených) transakcí a případná upozornění. Token a Query ID se uloží šifrovaně, příště tedy stačí kliknout na Synchronizovat.

S denní synchronizací Taxero každé ráno stáhne výpis od posledního synchronizovaného dne (s týdenním přesahem kvůli opravám, které IBKR dělá zpětně) a doplní jen to, co přibylo. Kdy proběhla poslední synchronizace a jestli se povedla, uvidíte v kroku Import. Když token vyprší nebo ho v IBKR zrušíte, denní synchronizaci vypneme a v Taxeru uvidíte proč – stačí vložit nový token. Synchronizaci můžete kdykoli spustit i ručně. Výpis za aktuální den IBKR uzavírá až po skončení obchodního dne, dnešní obchody se proto načtou až další den. Uložený token kdykoli odeberete tlačítkem Odpojit – tím se vypne i denní synchronizace.

LYNX

Účty LYNX vede Interactive Brokers, takže i u LYNX funguje Flex Query stejně. Flex Queries najdete v klientském portálu LYNX v části s reporty (Performance & Reports / Reporty → Flex Queries); dál postupujte podle kroků 1–2. V Taxeru pak vyberte brokera Interactive Brokers.

Soukromí: co se do Taxera dostane

  • Taxero stahuje jen to, co je ve vaší Flex Query – sekce, které nezaškrtnete, nikdy neuvidí.
  • IBKR u vkladů a výběrů uvádí jméno majitele účtu a číslo bankovního účtu. Pokud je do Taxera posílat nechcete, rozbalte u sekce Cash Transactions typy a zrušte zaškrtnutí Deposits & Withdrawals (přijdete jen o výpočet výnosu v portfolio trackeru, daně se tím nemění).
  • Sekce Account Information obsahuje jméno a adresu. Je nepovinná – bez ní jen nepřepočítáme komise účtované v jiné měně než obchod (upozorníme na ně).
  • Číslo účtu skryjete volbou Display Account Alias in Place of Account ID (General Configuration).
  • Token a Query ID ukládáme šifrovaně (AES-256-GCM), používá je jen server a do prohlížeče se nevracejí.

Co Taxero z Flex Query zpracuje

  • Nákupy a prodeje akcií, ETF, opcí, futures, CFD a dluhopisů včetně komisí a transakčních daní (stamp duty, FTT).
  • Stornované a opravené obchody – storno vynecháme i s původním obchodem, a to i když byl původní obchod uložený dřív.
  • Dividendy a náhradní platby za dividendy (payment in lieu), srážkovou daň včetně země zdroje, úroky a daň sraženou z úroků.
  • Korporátní akce: split a reverse split (i když se při něm změní ISIN – nákupy se převedou pod nový ISIN), změnu ISIN, fúze za hotovost i za akcie a spin-offy (ty vám nabídneme k potvrzení).
  • Vklady a výběry pro portfolio tracker.
  • Měnové konverze (Forex) vynecháváme – nejsou to obchody s cennými papíry a kurzy počítáme podle ČNB.

Časté chyby a jejich řešení

  • „Flex token je neplatný" / „Flex token vypršel" – zkopírujte celý token bez mezer, případně v Flex Web Service Configuration vygenerujte nový.
  • „IBKR nezná zadané Query ID" – Query ID je číslo u query (ikona „i"), ne její název.
  • „Flex Web Service je u vašeho účtu vypnutá" – v Flex Web Service Configuration zaškrtněte Flex Web Service Status a uložte.
  • „Token je omezený na IP adresu" – vygenerujte nový token s prázdným polem IP Address.
  • „Sekce Trades obsahuje jen souhrny" – u sekce Trades zaškrtněte úroveň Execution.
  • „Datumy ve výpisu jsou ve tvaru dd/MM/yyyy…" – v Delivery Configuration přepněte Date Format na yyyyMMdd.
  • „Tohle je Trade Confirmation Flex Query" – vytvořte Activity Flex Query (ne Trade Confirmation).
  • „IBKR nemá výpisy před …" – zvolili jste rok před založením účtu. Historie je celá a příště se na starší období už neptáme. Je-li účet ve skutečnosti starší, přidejte do Flex Query sekci Account Information.
  • „IBKR výpis za požadované období nemá k dispozici" – IBKR nemá výpis za zvolené období nebo za den, který ještě neuzavřel. Nejnovější dny proto Taxero bere z období nastaveného ve Flex Query; pokud chyba trvá, zkontrolujte, že je v Delivery Configuration vybraný účet.
  • „IBKR dočasně zablokoval Flex token" – po 10 neúspěšných pokusech IBKR token na čas zablokuje. Počkejte aspoň hodinu a synchronizaci dřív neopakujte – každý další pokus blokaci prodlužuje. Taxero po několika neúspěšných pokusech další dotazy samo pozdrží.
  • „Výpis za období … se nepodařilo stáhnout" – IBKR starší období zrovna nevydal (např. při přetížení). Novější roky jsou uložené; synchronizaci zopakujte později, případně starší roky nahrajte jako Activity Statement v CSV.

Často kladené otázky

Mám už nahrané Activity Statementy. Nezdvojí se mi obchody?

Ne. Obchody z Flex Query mají stejné údaje (ISIN, den, počet kusů, cenu) jako řádky Activity Statementu, Taxero je proto pozná jako již uložené a přeskočí je. Výsledek synchronizace ukáže, kolik transakcí bylo přeskočeno.

Mám u IBKR víc účtů.

V Delivery Configuration vyberte všechny účty – jeden token a jedna query pokryjí všechny. Každá transakce si nese číslo (nebo alias) svého účtu.

Musím synchronizovat po každém obchodu?

Ne. Zapněte denní synchronizaci a Taxero bude mít obchody vždy aktuální samo. Bez ní stačí synchronizaci spustit před výpočtem daně nebo kdykoli chcete mít aktuální portfolio – pokaždé se doplní jen to, co od minule přibylo.

Raději bych výpis nahrál ručně.

I to jde: Flex Query v Client Portalu spusťte (šipka Run), zvolte formát XML, stáhněte soubor a nahrajte ho v Taxeru metodou Soubor (CSV / XML). Stejně funguje i Activity Statement v CSV.

Upozornění: Tento článek slouží pouze k informačním účelům a nepředstavuje daňové poradenství. Pro závazné posouzení vaší konkrétní daňové situace se obraťte na certifikovaného daňového poradce. Legislativní údaje jsou platné k datu publikace článku.

Propojte Interactive Brokers přes API a zjistěte zdarma, jestli musíte danit

Obchody, dividendy i úroky se načtou samy – bez ručního exportu (výpis můžete nahrát i jako soubor). Taxero přepočte obchody kurzem ČNB, spáruje je metodou FIFO, ohlídá časový test i limit 100 000 Kč a ukáže, jestli musíte podat daňové přiznání.

Propojit Interactive Brokers