Convert broker exports into Wealthfolio CSV using declarative JSON5 templates. Privacy-respecting, single binary, no runtime dependencies.
BXP started as an experiment in vibe-coding with Zig and grew into a
general-purpose tabular ETL micro-tool. Contributions - broker
templates, datasets, code, documentation - are welcome; see
CONTRIBUTING.md.
BXP turns broker statements (CSV, XLSX, JSON) into Wealthfolio's CSV import format. Adding a new broker is a JSON5 template - no code, no compilation. Two binaries ship together:
bxp-cli- headless batch converter for scripts and pipelines.bxp-gui- desktop editor with autocomplete, syntax check, and a live dry-run debugger that streams per-row trace events.
Inputs CSV / XLSX / JSON; outputs CSV (RFC 4180) or JSON. The two-pass pipeline supports cross-row joins (paired transaction legs, fee refunds), 1:N row routing (one input row - multiple output rows), and a small expression language with conditionals, math, string ops, date / currency parsing, and identifier mapping.
Built-in templates ship for Anycoin, Revolut X, Trading 212, and XTB
(both old and new formats). The full list lives in
resources/console/bxp-cli.examples.json -
each entry is a working template with inline comments you can copy and
adapt. A new broker takes a JSON5 entry, not a code change.
- GUI with live debugger. Edit a template, hit dry-run, watch every row's variables / rule matches / output stream past in NDJSON. Click any trace event to jump to the expression that produced it. Typos surface as red underlines on the offending token before you save.
- Universal mini-ETL. The primary target is broker - Wealthfolio, but the engine is broker-agnostic and target-agnostic - anything expressible as "tabular in, tabular out, with row-level rules" fits.
- AI-friendly. Templates are JSON5 with comments. Paste a 5-row sample of your broker's export into Claude / ChatGPT along with the reference readme, get back a working template.
- Single binary, no dependencies. No Python, no Docker, no Java runtime. Linux, macOS, Windows - Zig cross-compilation handles the rest.
- Local-only. Your statements never leave the machine. No cloud, no API keys, no telemetry.
- Apache 2.0. Use commercially, fork, modify.
Download console package for your OS releases
Download desktop package for your OS releases
| OS | Format |
|---|---|
| Linux | .AppImage, .deb, .tar.gz |
| macOS | .dmg (Apple Silicon) |
| Windows | setup.exe (NSIS installer) |
| For | Read |
|---|---|
Using bxp-cli from a terminal |
resources/console/readme.md |
Using bxp-gui (desktop) |
resources/desktop/readme.md |
| Developer / architecture / roadmap | docs/ |
| Contributing | CONTRIBUTING.md |
| Release history | CHANGELOG.md |
Apache License 2.0. See LICENSE.md.
