EXTENSIONS
Invoiceninja
Invoice Ninja v5 (`/api/v1`) model — read-side snapshots (invoices, payments,
Mercury
Mercury banking API (/api/v1) read-only source model: discover accounts and snapshot transactions as the canonical BankTxn[] contract (settled-only by default). Bearer token auth (vaulted, read-only token — no IP allowlist). The amount-sign convention (negative == outgoing debit) lives in one tested decider, verified against a live response.
Ynab
YNAB API (/v1) read-only source model: discover budgets and accounts, snapshot transactions as canonical BankTxn[] (design §6). YNAB amount in milliunits → decimal (abs), sign → direction (negative == debit). Delta sync via server_knowledge; deleted transactions flagged isDeleted=true.
Bank Import
CSV/OFX bank-export parser: read-only source model that emits the canonical BankTxn[] contract (design §6) — the same nullable shape @shrug/mercury emits. OFX FITID or a mapped/synthesized CSV id is the dedup key; posted rows always carry a postedDate (WREV-4). Pure-TS parsers, no host binaries.