2.2

🔶 Konfigurera Interactive Brokers

Flex Query och automatisk synkronisering

1. Översikt

Interactive Brokers (IBKR) erbjuder den mest omfattande integrationen.

✅ Process:
1. Skapa Flex Query
2. Ladda ner och importera Flex Query som XML för varje år
3. Hämta uppdateringar via Flex Sync
⚠️ Viktigt:
Flex Sync hämtar bara uppdateringar från de senaste dagarna. XML-import bygger den kompletta historiken. Utan komplett historik kan systemet inte utvärdera affärer korrekt (t.ex. optionsstrategier, kampanjer, valutavinster).

2. Vad är en Flex Query?

En Flex Query är en anpassningsbar rapport från Interactive Brokers. Du definierar en gång vilka data du vill exportera, sedan kan du hämta den rapporten när som helst – manuellt eller automatiskt.

Fördelar:
• Alla affärer, utdelningar, positioner i en rapport
• Automatisk synkronisering möjlig
• Data från de senaste 365 dagarna tillgängliga
• Ingen manuell datainmatning krävs

Steg-för-steg-guide

1

Steg 1: Skapa Flex Query hos IBKR

1. Logga in hos IBKR:
Gå till interactivebrokers.com och logga in på ditt konto.

2. Öppna Flex Queries:
Navigera till: Performance & Reports → Flex Queries

3. Välj rätt frågetyp:
Sidan Flex Queries visar två frågetyper under varandra. Endast den första är rätt:
✅ Activity Flex Query
Det är den rätta. Klicka på ➕ uppe till höger i den panelen → ”Create”.
❌ Trade Confirmation Flex Query
Använd inte den! Den innehåller bara handelsbekräftelser. sTraderZ.com kan inte läsa några data ur den — importen skulle bli helt tom.
Så länge du inte har skapat någon fråga visar panelen Activity Flex Query bara en notis om att du inte har några mallar. Plustecknet ➕ finns ändå där — uppe i högra hörnet av panelen.

ℹ️ Du behöver inte knappen ”Configure with AI” — följ bara steg 2 och 3 nedan, där listas varje inställning.
2

Steg 2: Konfigurera Flex Query

Frågenamn: valfritt, t.ex. ”SingularityTrader”.

Ställ sedan in Delivery Configuration och General Configuration exakt så här:
0 av 11 inställningar klara
3

Steg 3: Välj rapportavsnitt

Aktivera alla följande avsnitt i Flex Query. Listan är till för att bocka av — dina markeringar sparas även om du laddar om sidan.

Sektionsnamnen anges här på engelska. Om din IBKR-portal är inställd på ett annat språk är etiketterna översatta där.
0 av 20 avsnitt aktiverade
⚠️ Fält kontra typalternativ — den avgörande skillnaden

Fält (den numrerade listan inuti varje avsnitt): använd alltid ”Select All” — ju fler, desto bättre. Saknade fält är den vanligaste orsaken till importfel.

Typalternativ (raden ”Options:” högst upp i ett avsnitt): här gäller det motsatta — välj endast en detaljnivå, exakt den som anges ovan. Varje ytterligare nivå (”Summary”, ”Orders”, ”Symbol Summary”, ”Lots”) beskriver samma händelse en gång till i en annan rad. sTraderZ.com utvärderar inte detaljnivån utan bearbetar varje rad — flera nivåer kan därför leda till dubbelräknade affärer, avgifter och positioner. Undantag: ”Closed Lots” och ”Wash Sales” i avsnittet Trades är inte bara överflödiga, de måste vara avstängda.
4

Steg 4: Spara frågan

Klicka på "Continue" och sedan "Create".

Efter skapandet ser du din fråga i listan. Notera Query ID – du behöver det snart.
5

Steg 5: Generera Flex Query-token

För automatisk hämtning behöver du en åtkomstnyckel. IBKR kallar den token — i sTraderZ.com anger du den senare som Flex Token.

1. Öppna Flex Web Service:
Rulla längst ned på sidan Flex Queries till blocket ”Flex Web Service Configuration” och klicka på ”Configure” (⚙️).

2. Aktivera tjänsten:
På sidan ”Configure Flex Web Service” måste Flex Web Service status vara enabled. Är den avstängd kan sTraderZ.com inte hämta frågan — IBKR avvisar då begäran.

3. Generera token:
I avsnittet ”Generate New Token”:
0 av 3 inställningar klara
⚠️ Token visas bara en gång
Kopiera den direkt och förvara den säkert. Tappar du bort den måste du generera en ny — och då blir den gamla token ogiltig omedelbart. Varje synkronisering som fortfarande använder den gamla token misslyckas från och med då.

Token är giltig i 1 år. När den går ut genererar du en ny och sparar den i din kontokonfiguration.
6

Steg 6: XML-export för alla år

Exportera Flex Query som XML för varje år av din handelshistorik:

1. Öppna Flex Query:
Hos IBKR: Performance & Reports → Flex Queries

2. Justera datumintervall:
Redigera frågan och ange datumintervallet till ett kalenderår (t.ex. 2023-01-01 – 2023-12-31)

3. Kör frågan:
Klicka på "Run" och ladda ner XML-filen

4. Upprepa för varje år:
Upprepa steg 2–3 för alla år du handlat hos IBKR.
7

Steg 7: XML-import av historik

Importera alla nedladdade XML-filer till Singularity Trader:

1. Öppna importavsnittet:
Gå till Konton → Ditt IBKR-konto → Konfiguration → "Upload XML"

2. Äldsta år först:
Börja med den äldsta XML-filen (t.ex. 2021) och arbeta dig kronologiskt framåt

3. Importera alla år:
Importera alla XML-filer i följd upp till innevarande år

⚠️ Viktigt: Det här steget är väsentligt! Utan komplett historik kan inte optionsstrategier, handelskampanjer och valutavinster beräknas korrekt.
8

Steg 8: Konfigurera i Singularity Trader

1. Öppna kontokonfiguration:
Gå till Konton → Ditt IBKR-konto → Konfiguration

2. Ange Flex Query-data:
• Flex Query ID: Det 7-siffriga frågenumret från IBKR (visas i frågeöversikten, t.ex. 1570627)
• Flex Token: Den token du genererade i steg 5

3. Spara och testa:
Klicka på ”Spara” och sedan på ”Synkronisera nu” för att testa.
✨

Automatisk synkronisering

Efter lyckad konfiguration synkroniseras dina affärer automatiskt dagligen. Du behöver inte göra något mer!

Vad som händer vid synkronisering:
• Nya affärer importeras
• Positioner uppdateras
• Utdelningar registreras
• Optionsstrategier känns igen
• Valutavinster beräknas (FIFO)

Du kan alltid synkronisera manuellt om du vill ha de senaste data omedelbart.

12. Automatisk omförsök vid tillfälliga fel

IBKR Flex-hämtningar kan misslyckas en gång av olika skäl (t.ex. kortvarigt serverfel hos IBKR, nätverks-timeout, fråga bearbetas just nu). Singularity Trader har för detta en automatisk återförsöks-kö:

• Misslyckas en sync, upprepas den automatiskt upp till 3 gånger (med exponentiellt intervall).
• Först när alla försök misslyckas visas en CRITICAL-post i systemloggen och ett meddelande.
• Tillfälliga problem löser sig oftast av sig självt utan att du behöver ingripa.

Du ser aktuell synkroniseringsstatus i kontosektionen — grön = senast lyckad, gul = omförsök pågår, röd = misslyckad efter 3 försök.

13. Alternativ: manuell XML-import

Om du inte vill ha automatisk synkronisering kan du exportera Flex Query manuellt:

1. Hos IBKR: Flex Queries → "Run" bredvid din fråga
2. Ladda ned: Spara XML-filen
3. Ladda upp: I Singularity Trader → Konton → Konfiguration → "Ladda upp XML"

Den här metoden krävs även för äldre data (> 365 dagar), eftersom Flex Sync bara går 1 år tillbaka.

14. Importerade data från IBKR

Fullständigt stödda:
• Aktieaffärer (köp/sälj)
• Optionsaffärer inkl. Greeks
• Futures och Forex
• Utdelningar (brutto, netto, källskatt)
• Ränta (kredit/debet)
• Optionslösen och tilldelningar
• Aktiesplittar och fusioner
• Statement of Funds för valuta-FIFO

Automatiskt identifierade:
• Optionsstrategier (Spreads, Iron Condors, etc.)
• Covered Calls / Cash-Secured Puts
• Handelskampanjer
• Valutavinster enligt § 23 EStG

15. 📥 Data från TradingLogbook? Ta med dina taggar.

📥 Kommer du från TradingLogbook?

Dina sparade strategier kan du ta med som taggar till dina redan importerade affärer — symbol + öppningsdatum räcker. Klart på 3 minuter.

Till 3-stegs-migreringen

⚠️ Felsökning

"Token har gått ut":
Generera en ny token hos IBKR och ange den i konfigurationen.

"Fråga hittades inte":
Kontrollera att Query ID är korrekt och att frågan är aktiv.

"Inga data":
Se till att alla nödvändiga sektioner i frågan är aktiverade.

"Fel vid import":
Kontrollera importloggen för detaljer. Vanligt: Saknade fält i frågan.

⚠️ Ladda in saknade historiska affärer (⚠️-badge vid positioner)

Problemet:
I instrumentpanelen eller positionslistorna visas en ⚠️-symbol vid en position bredvid kontonamnet. Verktygstipset visar "Saknade affärsdata — Inga transaktioner har importerats för den här positionen. Därför kan strategin inte identifieras automatiskt."

Orsaken:
Positionen i sig är känd via IBKR:s portföljsnapshot, men öppningsaffärerna ligger före den äldsta hittills importerade handelsdagen. Det är typiskt för LEAPS (långlöpande optioner) som öppnades månader eller år före den första Flex Sync.

✅ Lösningen:
Starta en engångs ad-hoc-export med historiskt tidsintervall för den befintliga Flex Query, ladda ned som XML och ladda upp via XML-importen. Det behövs ingen ny Flex Query!
Steg för steg:
1. Starta historisk export hos IBKR
• Hitta befintlig Flex Query → klicka Run
• Ändra Period till Custom Date Range
• Från: så långt tillbaka som behövs (t.ex. 2024-01-01)
• Till: en dag före den äldsta redan importerade affären
• Format: XML → bekräfta Run

2. Ladda ned XML-filen och spara lokalt

3. Ladda upp i Singularity Trader
• Konton → IBKR-konto → "Konfigurera IBKR" → XML Import

4. Vad som händer vid importen
• Endast nya affärer importeras (inga dubbletter)
• Strategier, kampanjer och affärscykler beräknas om

5. Kontrollera resultatet
• Ladda om instrumentpanelen — ⚠️-badgen bör ha försvunnit

Om ⚠️ kvarstår: Öppningsaffärerna ligger ännu längre tillbaka → starta en ny körning med ett tidigare startdatum.

⚠️ Verkaufte Position ohne Anschaffungskosten, nach Übertrag zwischen zwei eigenen IB-Konten

Das Problem:
Du hast bei Interactive Brokers mehrere eigene Konten (z. B. ein Hauptkonto und ein separat angelegtes zweites Individual-Konto — nicht zu verwechseln mit dem automatisch erkannten Unterkonto aus einer gemeinsamen Flex Query). Eine Position — typisch bei einer Optionsandienung/-zuteilung (Assignment) — wurde ursprünglich in einem der beiden Konten aufgebaut, taucht aber irgendwann im anderen Konto auf und wird von dort verkauft. Im Steuerreport erscheint diese Position bei „Nicht abgedeckte Veräußerungen" (uncovered sales) mit der Fußnote „°" — Legende: „Mit ° gekennzeichnete Positionen haben keinen Depotübertrag als Ursache." Es fehlen also jegliche Anschaffungskosten, obwohl du die Position nachweislich selbst erworben hast.

So erkennst du den Fall sicher — Checkliste:
  1. Öffne im Quellkonto (dort, wo die Position ursprünglich entstand) die Trade-Historie und suche nach dem betroffenen Symbol. Bei einer Optionszuteilung findest du dort eine Buchung mit Kaufkurs und Datum — sie ist vorhanden.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) den Reiter „Transfers" der Konto-Detailseite. Erwartest du dort einen Eingang für dieses Symbol, findest du gar keine Zeile — nicht mal eine mit ungeklärter Herkunft (die gäbe es im Reiter zu sehen und du könntest ihr wie im vorigen FAQ-Eintrag ein Herkunftskonto zuweisen).
  3. Im Steuerreport steht die verkaufte Position unter „Nicht abgedeckte Veräußerungen" mit der Fußnote °.
Treffen alle drei Punkte zu, liegt exakt dieser Sonderfall vor.

ℹ️ Die Ursache liegt bei IBKR, nicht in sTraderZ.com
sTraderZ.com erkennt Positionsüberträge zwischen zwei Konten automatisch, sobald IBKR sie in der Flex Query als Transaktion mitliefert — siehe den FAQ-Eintrag zum regulären Positionsübertrag. Bei zwei eigenständig gehaltenen Individual-Konten (keine formale Master-/Sub-Struktur bei IBKR) meldet IBKR eine interne Umbuchung zwischen ihnen aber manchmal an keiner Stelle als Transaktion — nicht als Trade, nicht als Transfer und auch nicht im „Statement of Funds" (Kapitalflussrechnung), also selbst im vollständigsten Report, den IBKR liefert. Für sTraderZ.com — wie für jede Auswertungssoftware, die auf die offiziellen IBKR-Datenexporte angewiesen ist — gibt es dann schlicht keine Quelle, aus der sich die Anschaffungskosten automatisch übernehmen ließen. Das lässt sich softwareseitig nicht nachbessern, weil in den Rohdaten nichts steht, das man auswerten könnte.
Was du tun kannst — trage die Anschaffungskosten selbst nach:
Dafür brauchst du keinen Support-Kontakt. Auf der Konto-Detailseite gibt es genau für diesen Fall die Funktion „Manuellen Depotübertrag hinzufügen" (Karte „Depot-Überträge").
  1. Ermittle im Quellkonto (Trade-Historie) die genauen Zugangs-Buchungen: Datum, Stückzahl und Kaufkurs je Zuteilung. Wurden mehrere Zuteilungen zu unterschiedlichen Kursen/Terminen verkauft, trägst du jede Zuteilung als eigene Zeile ein — nicht als eine Zeile mit Durchschnittskurs, sonst stimmt die FIFO-Reihenfolge bei künftigen Teilverkäufen nicht mehr.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) die Konto-Detailseite → Karte „Depot-Überträge" → „Manuellen Depotübertrag hinzufügen".
  3. Fülle je Zuteilung aus: Symbol, Stückzahl, Anschaffungsdatum (das echte Datum der Zuteilung im Quellkonto, nicht das Übertragsdatum), Anschaffungskosten (Gesamtbetrag dieser Zeile, nicht der Kurs pro Stück — die Plattform rechnet daraus automatisch den Stückkurs), Übertragsdatum (an dem die Position im Zielkonto auftauchte bzw. verkauft wurde) und — falls in der Dropdown-Liste vorhanden — dein Quellkonto als Herkunftskonto.
  4. Speichern. Die Position fließt danach steuerneutral ins FIFO des Zielkontos ein, mit korrektem Anschaffungsdatum und -kurs — dein Steuerreport rechnet ab sofort richtig.
💡 So beugst du künftig vor
Verzichte, wo möglich, auf interne Umbuchungen einer Position zwischen zwei separat gehaltenen IB-Konten. Nutze stattdessen entweder ein einziges Konto für zusammengehörige Strategien, oder — falls du bewusst mehrere Konten trennen willst — richte bei IBKR eine formale Family-/Advisor-Kontostruktur ein, bei der interne Bewegungen regulär als Transfer gemeldet werden (siehe FAQ-Eintrag oben).

19. ✅ Kontroll: så här ser den färdiga frågan ut

Efter att du sparat visar IBKR en översiktssida (”Review your Activity Flex Query”). Jämför den med denna referens — så ska din fråga se ut när allt är rätt.
AvsnittTypalternativ (raden ”Options:”)
Interest Accruals—
Cash TransactionsAlla undertyper (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
CFD Charges—
Cash Report—
Incoming/Outgoing Trade TransfersTrade Transfers
Forex P/L DetailsTransaction
Grant Activity—
Financial Instrument Information—
Statement of FundsBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Corporate ActionsDetail
Account Information—
Net Asset Value (NAV) in Base—
Open PositionsSummary (inga ”Lots”)
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (det avsnitt som de flesta glömmer!)
Prior Period Positions—
TradesEndast Execution — inga ”Closed Lots”, inga ”Wash Sales”, inga ”Orders”/”Asset Class”/”Symbol Summary”
Transaction FeesEndast Execution (inte dessutom ”Summary”)
TransfersTransfer (inga ”Lots”)
Change in Dividend AccrualsDetail (inte dessutom ”Summary”)

Delivery Configuration och General Configuration:

InställningVärde
AccountsDitt konto-ID (t.ex. U1234567)
FormatXML
PeriodLast 30 Calendar Days
Profit and LossDefault
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
Date FormatyyyyMMdd
Time FormatHHmmss
Date/Time Separator; (semi-colon)
💡 Anteckna Query ID
På samma översikt visas Query ID högst upp (ett 7-siffrigt nummer, t.ex. 1570627). Du behöver det tillsammans med din token i steg 8.