broker-sync/broker_sync/providers
Viktor Barzin ceb652b623
Some checks failed
CI / test (push) Waiting to run
CI / build (push) Blocked by required conditions
CI / deploy (push) Blocked by required conditions
ci/woodpecker/push/build Pipeline was canceled
ibkr: use IBKR account number as the canonical Account.id
Bug: provider passed the WF UUID as Account.id. ensure_account looks up
existing accounts by (provider, providerAccountId=Account.id), so the
WF-UUID-as-providerAccountId would never match the manually-created
account (which has providerAccountId=U13279690), causing the pipeline
to create a duplicate WF account on every cron run.

Fix: Account.id is now the IBKR account number (U13279690) throughout.
The pipeline's _ensure_accounts() resolves it to the WF UUID via the
canonical (provider, providerAccountId) lookup; activities are remapped
before import. CLI no longer takes the WF UUID — derives it post-import
via a cheap idempotent ensure_account call for the reconciliation step.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 09:18:42 +00:00
..
parsers schwab: detect vest-confirmation emails + emit VestEvent 2026-04-19 18:27:58 +00:00
__init__.py Add Provider protocol and normaliser 2026-04-17 19:20:12 +00:00
_checkpoint.py Add per-account cursor Checkpoint helper 2026-04-17 19:30:20 +00:00
base.py Add Provider protocol and normaliser 2026-04-17 19:20:12 +00:00
fidelity_planviewer.py fidelity: replace snapshot-push with delta gains-offset DEPOSITs 2026-05-17 00:35:17 +00:00
finance_mysql.py Add finance_mysql provider + CLI for historical backfill 2026-04-17 22:38:21 +00:00
ibkr.py ibkr: use IBKR account number as the canonical Account.id 2026-05-27 09:18:42 +00:00
imap.py imap: skip InvestEngine emails via BROKER_SYNC_IMAP_EXCLUDE_PROVIDERS 2026-05-26 21:16:28 +00:00
invest_engine.py Add InvestEngineProvider — Bearer-token HTTP client 2026-04-17 21:52:26 +00:00
trading212.py Wire T212 pagination, retries, and click<8.2 pin 2026-04-17 19:45:23 +00:00