Announcing rustledger - Beancount reimagined in Rust

Hi everyone,

I'd like to share rustledger, a pure Rust implementation of Beancount. It's a drop-in replacement for bean-check, bean-query, and bean-format - your existing .beancount files work unchanged.

Performance:

Tool 10K transactions
rustledger 34ms
Beancount 880ms
hledger 534ms
ledger 114ms

That's 25x faster than Python beancount (also faster than ledger too, what?!?)

Zero dependencies: Single binary, no Python runtime required. Download and run.

WebAssembly: rustledger compiles to WASM, enabling:

  • Browser-based validation and queries (no server needed)
  • Sandboxed plugin execution
  • Embedding in Electron/Tauri apps
  • CI/CD pipelines without heavy runtimes

Try the rustledger playground in your browser: https://rustledger.github.io/

Full compatibility:

  • 100% compatibility on 759 real-world test files
  • Full BQL query support
  • 20 built-in plugins (auto_accounts, implicit_prices, etc.) in Rust
  • Supports Python Plugins too through secure wasm interface.
  • 7 booking methods (STRICT, FIFO, LIFO, HIFO, AVERAGE...)
  • LSP for editor integration

Links:

Looking for testers!

The project is actively seeking people to try rustledger on real-world ledgers. Compatibility reports and edge cases are incredibly valuable - please open an issue or start a discussion if you hit anything unexpected.

Cheers

4 Likes