2.2

🔶 Sett opp Interactive Brokers

Flex Query og automatisk synkronisering

1. Oversikt

Interactive Brokers (IBKR) tilbyr den mest omfattende integrasjonen.

✅ Prosess:
1. Opprett Flex Query
2. Last ned og importer Flex Query som XML for hvert år
3. Hent oppdateringer via Flex Sync
⚠️ Viktig:
Flex Sync henter bare oppdateringer fra de siste dagene. XML-import bygger den komplette historikken. Uten komplett historikk kan ikke systemet evaluere handler korrekt (f.eks. opsjonsstrategier, kampanjer, valutagevinster).

2. Hva er en Flex Query?

En Flex Query er en tilpassbar rapport fra Interactive Brokers. Du definerer én gang hvilke data du vil eksportere, deretter kan du hente den rapporten når som helst – manuelt eller automatisk.

Fordeler:
• Alle handler, utbytte, posisjoner i én rapport
• Automatisk synkronisering mulig
• Data fra de siste 365 dagene tilgjengelige
• Ingen manuell datainntasting kreves

Steg-for-steg guide

1

Steg 1: Opprett Flex Query hos IBKR

1. Logg inn hos IBKR:
Gå til interactivebrokers.com og logg inn på kontoen din.

2. Åpne Flex Queries:
Naviger til: Performance & Reports → Flex Queries

3. Velg riktig spørringstype:
Flex Queries-siden viser to spørringstyper under hverandre. Bare den første er riktig:
✅ Activity Flex Query
Dette er den riktige. Klikk på ➕ øverst til høyre i dette panelet → "Create".
❌ Trade Confirmation Flex Query
Ikke bruk denne! Den inneholder bare handelsbekreftelser. sTraderZ.com kan ikke lese noen data fra den — importen ville blitt helt tom.
Så lenge du ennå ikke har opprettet en spørring, viser Activity Flex Query-panelet bare en melding om at du ikke har noen maler. ➕-symbolet er der likevel — øverst i høyre hjørne av panelet.

ℹ️ Du trenger ikke knappen "Configure with AI" — følg bare steg 2 og 3 nedenfor, de lister opp hver eneste innstilling.
2

Steg 2: Konfigurer Flex Query

Query Name: hva du vil, f.eks. "SingularityTrader".

Sett deretter Delivery Configuration og General Configuration nøyaktig slik:
0 av 11 innstillinger fullført
3

Steg 3: Velg rapportdeler

Seksjonsnavnene er oppgitt på engelsk. Hvis IBKR-portalen din er satt til et annet språk, er etikettene oversatt der.

Aktiver alle følgende seksjoner i Flex Query. Listen er til å hake av — fremdriften din lagres selv om du laster siden på nytt.
0 av 20 seksjoner aktivert
⚠️ Felt vs. typealternativer — den avgjørende forskjellen

Felt (den nummererte listen inne i hver seksjon): bruk alltid "Select All" — jo flere, jo bedre. Manglende felt er den vanligste årsaken til importfeil.

Typealternativer ("Options:"-linjen øverst i en seksjon): her gjelder det motsatte — velg kun ett detaljnivå, nøyaktig det som er angitt ovenfor. Hvert ekstra nivå ("Summary", "Orders", "Symbol Summary", "Lots") beskriver den samme hendelsen en gang til i en ny rad. sTraderZ.com vurderer ikke detaljnivået, men behandler hver rad — flere nivåer kan derfor føre til dobbelttelte handler, gebyrer og posisjoner. Unntak: "Closed Lots" og "Wash Sales" i Trades-seksjonen er ikke bare overflødige, de må være av.
4

Steg 4: Lagre søket

Klikk på "Continue" og deretter "Create".

Etter opprettelsen ser du søket ditt i listen. Noter Query ID – du trenger det snart.
5

Steg 5: Generer Flex Query-token

For automatisk henting trenger du en tilgangsnøkkel. IBKR kaller den token — i sTraderZ.com legger du den senere inn som Flex Token.

1. Åpne Flex Web Service:
På siden Flex Queries ruller du helt ned til blokken "Flex Web Service Configuration" og klikker på "Configure" (⚙️).

2. Aktiver tjenesten:
På siden "Configure Flex Web Service" må Flex Web Service status være enabled. Er den av, kan ikke sTraderZ.com hente spørringen — IBKR avviser forespørselen.

3. Generer token:
I seksjonen "Generate New Token":
0 av 3 innstillinger fullført
⚠️ Token vises bare én gang
Kopier den umiddelbart og oppbevar den sikkert. Mister du den, må du generere en ny — og det gjør den gamle token ugyldig med én gang. Enhver synkronisering som fortsatt bruker den gamle token, vil feile fra det øyeblikket.

Token er gyldig i 1 år. Etter utløp genererer du en ny og legger den inn i kontokonfigurasjonen din.
6

Steg 6: XML-eksport for alle år

Eksporter Flex Query som XML for hvert år av handelshistorikken din:

1. Åpne Flex Query:
Hos IBKR: Performance & Reports → Flex Queries

2. Juster datoperiode:
Rediger søket og angi datoperioden til ett kalenderår (f.eks. 2023-01-01 – 2023-12-31)

3. Kjør søket:
Klikk på "Run" og last ned XML-filen

4. Gjenta for hvert år:
Gjenta trinn 2–3 for alle år du har handlet hos IBKR.
7

Steg 7: XML-import av historikk

Importer alle nedlastede XML-filer til Singularity Trader:

1. Åpne importseksjonen:
Gå til Kontoer → Din IBKR-konto → Konfigurasjon → "Upload XML"

2. Eldste år først:
Begynn med den eldste XML-filen (f.eks. 2021) og arbeid deg kronologisk fremover

3. Importer alle år:
Importer alle XML-filer i rekkefølge opp til inneværende år

⚠️ Viktig: Dette steget er essensielt! Uten komplett historikk kan ikke opsjonsstrategier, handelskampanjer og valutagevinster beregnes korrekt.
8

Steg 8: Konfigurer i Singularity Trader

1. Åpne kontokonfigurasjon:
Gå til Kontoer → Din IBKR-konto → Konfigurasjon

2. Angi Flex Query-data:
• Flex Query ID: Den 7-sifrede spørrings-ID-en fra IBKR (vises i spørringsoversikten, f.eks. 1570627)
• Flex Token: Token du genererte i steg 5

3. Lagre og test:
Klikk på "Lagre" og deretter "Synkroniser nå" for å teste.
✨

Automatisk synkronisering

Etter vellykket konfigurasjon synkroniseres handlerne dine automatisk daglig. Du trenger ikke gjøre noe mer!

Hva som skjer ved synkronisering:
• Nye handler importeres
• Posisjoner oppdateres
• Utbytte registreres
• Opsjonsstrategier gjenkjennes
• Valutagevinster beregnes (FIFO)

Du kan alltid synkronisere manuelt hvis du vil ha de nyeste dataene umiddelbart.

12. Automatisk ny forsøk ved midlertidige feil

IBKR Flex-hentinger kan mislykkes én gang av ulike årsaker (f.eks. kortvarig serverfeil hos IBKR, nettverks-timeout, spørring behandles akkurat nå). Singularity Trader har for dette en automatisk forsøks-kø:

• Mislykkes en synkronisering, gjentas den automatisk opptil 3 ganger (med eksponensielle intervaller).
• Først når alle forsøk mislykkes, vises en CRITICAL-oppføring i systemloggen og et varsel.
• Midlertidige problemer løser seg som regel av seg selv uten at du trenger å gripe inn.

Du ser gjeldende synkroniseringsstatus i kontoseksjonen — grønn = sist vellykket, gul = nytt forsøk pågår, rød = mislykket etter 3 forsøk.

13. Alternativ: manuell XML-import

Hvis du ikke ønsker automatisk synkronisering, kan du eksportere Flex Query manuelt:

1. Hos IBKR: Flex Queries → "Run" ved siden av spørringen din
2. Last ned: Lagre XML-filen
3. Last opp: I Singularity Trader → Kontoer → Konfigurasjon → "Last opp XML"

Denne metoden er også nødvendig for eldre data (> 365 dager), siden Flex Sync bare går 1 år tilbake.

14. Importerte data fra IBKR

Fullstendig støttet:
• Aksjehandler (kjøp/salg)
• Opsjonshandler inkl. Greeks
• Futures og Forex
• Utbytte (brutto, netto, kildeskatt)
• Renter (kredit/debet)
• Opsjonsutøvelser og tildelinger
• Aksjesplitter og fusjoner
• Statement of Funds for valuta-FIFO

Automatisk gjenkjent:
• Opsjonsstrategier (Spreads, Iron Condors, osv.)
• Covered Calls / Cash-Secured Puts
• Handelskampanjer
• Valutagevinster etter § 23 EStG

15. 📥 Data fra TradingLogbook? Ta med taggene dine.

📥 Kommer du fra TradingLogbook?

De vedlikeholdte strategiene dine kan du ta med som tagger på allerede importerte handler — symbol + åpningsdato er nok. Ferdig på 3 minutter.

Til 3-trinns-migreringen

⚠️ Feilsøking

"Token utløpt":
Generer et nytt token hos IBKR og legg det inn i konfigurasjonen.

"Spørring ikke funnet":
Kontroller at Query ID er korrekt og at spørringen er aktiv.

"Ingen data":
Sørg for at alle nødvendige seksjoner i spørringen er aktivert.

"Feil ved import":
Sjekk importloggen for detaljer. Vanlig årsak: Manglende felt i spørringen.

⚠️ Laste inn manglende historiske handler (⚠️-merke ved posisjoner)

Problemet:
I dashbordet eller i posisjonsoversiktene vises et ⚠️-symbol ved en posisjon ved siden av kontonavnet. Verktøytipset viser "Manglende handelsdata — Ingen transaksjoner ble importert for denne posisjonen. Dermed kan ikke strategien gjenkjennes automatisk."

Årsaken:
Posisjonen i seg selv er kjent via IBKR-porteføljens øyeblikksbilde, men åpningshandlene ligger før den eldste importerte handelsdagen. Dette er typisk for LEAPS (langsiktige opsjoner) som ble åpnet måneder eller år før den første Flex Sync.

✅ Løsningen:
Start en engangs ad-hoc-eksport med historisk tidsrom for den eksisterende Flex Query, last ned som XML og last opp via XML-importen. Det er ikke nødvendig å opprette en ny Flex Query!
Steg for steg:
1. Start historisk eksport hos IBKR
• Finn eksisterende Flex Query → klikk Run
• Endre Period til Custom Date Range
• Fra: så langt tilbake som nødvendig (f.eks. 01.01.2024)
• Til: én dag før den eldste allerede importerte handelen
• Format: XML → bekreft Run

2. Last ned XML-filen og lagre lokalt

3. Last opp i Singularity Trader
• Kontoer → IBKR-konto → "Konfigurer IBKR" → XML Import

4. Hva som skjer ved importen
• Bare nye handler importeres (ingen duplikater)
• Strategier, kampanjer og handelssykluser beregnes på nytt

5. Kontroller resultatet
• Last inn dashbordet på nytt — ⚠️-merket skal være borte

Hvis ⚠️ fortsatt vises: Åpningshandlene ligger enda lengre tilbake → start en ny kjøring med en tidligere startdato.

⚠️ 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 zweites Individual-Konto), egal ob du sie über eine gemeinsame Flex Query oder getrennt eingebunden hast. 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 — 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. Einen Eingang dieses Papiers mit Stückzahl findest du dort nicht. Höchstens steht am Tag des Übertrags eine Zeile mit dem Namen des Papiers und dem Betrag 0.
  3. Im Steuerreport steht die verkaufte Position unter „Nicht abgedeckte Veräußerungen" mit der Fußnote °.
  4. Der Übertrag liegt vor dem 13.08.2026, und dein Konto wurde vor diesem Tag erstmals eingelesen.
Treffen alle Punkte zu, liegt genau dieser Fall vor.

ℹ️ Die Ursache: ein Importfehler bei sTraderZ.com (seit 13.08.2026 behoben)
IBKR meldet Überträge zwischen deinen Konten im Abschnitt „Transfers" der Flex Query, auch bei zwei eigenständig gehaltenen Individual-Konten. Bis zum 13.08.2026 hat sTraderZ.com Wertpapierüberträge aus diesem Abschnitt aber nicht richtig übernommen: Gespeichert wurde nur ein leerer Vermerk, Papier und Stückzahl gingen verloren. Seit der Korrektur kommen neue Überträge vollständig an. Ältere Importe wurden dadurch aber nicht nachträglich repariert, dafür braucht es einen erneuten Import des Zeitraums. In solchen Altimporten stehen übrigens auch Geldüberträge zwischen deinen Konten mit 0 € in den Einzahlungen.
Was du tun kannst — den Zeitraum des Übertrags neu importieren:
  1. Bei IBKR: Performance & Berichte → Flex Queries, bei deiner bestehenden Flex Query auf ▶ „Ausführen". Der Abschnitt „Transfers" muss in der Query aktiviert sein (siehe Schritt 3 oben).
  2. Zeitraum „Benutzerdefiniert" auf das Jahr des Übertrags setzen, Format XML. Ein Lauf darf höchstens 365 Tage umfassen, bei mehreren betroffenen Jahren also je Jahr ein Lauf.
  3. In sTraderZ.com: Konten → dein IBKR-Konto → „IBKR konfigurieren" → XML-Import, die Dateien nacheinander hochladen (älteste zuerst). Führst du Quell- und Zielkonto mit getrennten Flex Queries, importierst du den Zeitraum für beide Konten. Bereits vorhandene Trades werden erkannt und nicht doppelt angelegt.
  4. Danach steht der Übertrag im Reiter „Transfers" beider Konten, und Anschaffungsdatum samt Kosten wandern mit ins Zielkonto. Voraussetzung: Beide Konten sind in sTraderZ.com derselben Person zugeordnet (Konten → Personen). Zum Schluss den Steuerreport des betroffenen Jahres neu erzeugen.
⚠️ Schon von Hand nachgetragen?
Hast du die Anschaffungskosten für diese Position bereits über „Manuellen Depotübertrag hinzufügen" erfasst, stehen die Stücke nach dem Neuimport doppelt in der Rechnung: einmal aus deiner Erfassung, einmal aus dem importierten Übertrag. Melde dich in diesem Fall über Feedback & Tickets, wir entfernen die von Hand erfassten Einträge.
Notlösung, falls der Neuimport nicht hilft — Anschaffungskosten von Hand nachtragen:
Das ist nur nötig, wenn IBKR den Zeitraum nicht mehr liefert oder der Übertrag von einem anderen Broker kam. Auf der Konto-Detailseite gibt es dafür 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.

19. ✅ Kontrollsjekk: slik ser den ferdige spørringen ut

Etter lagringen viser IBKR deg en oppsummeringsside ("Review your Activity Flex Query"). Sammenlign den med denne referansen — slik må spørringen din se ut når alt er riktig.
SeksjonTypealternativer ("Options:"-linjen)
Interest Accruals—
Cash TransactionsAlle 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 (ingen "Lots")
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (den som flest glemmer!)
Prior Period Positions—
TradesKun Execution — ingen "Closed Lots", ingen "Wash Sales", ingen "Orders"/"Asset Class"/"Symbol Summary"
Transaction FeesKun Execution (ikke "Summary" i tillegg)
TransfersTransfer (ingen "Lots")
Change in Dividend AccrualsDetail (ikke "Summary" i tillegg)

Delivery Configuration og General Configuration:

InnstillingVerdi
AccountsDin konto-ID (f.eks. 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)
💡 Noter deg Query ID
Den samme oversikten viser Query ID øverst (et 7-sifret tall, f.eks. 1570627). Du trenger den sammen med token i steg 8.