Expand description
Shared library for the Paperfoot accounting suite.
Every finance-* CLI (invoice, receipt, expense, bank, recon, ledger, tax) depends on this crate. It owns:
money: precise numeric handling (minor units + rust_decimal math)tax: jurisdiction tax profiles (SG GST, UK VAT, EU VAT, US, custom)entity: theIssuerprimitive (companies you transact as)error: sharedCoreErrorwith thiserror variantspaths: canonical suite paths (~/.../com.paperfoot.accounting/)settings: the sharedconfig.tomlreader/writerdb: the shared SQLite connection + refinery migration runner
The intent is that every new CLI in the suite starts by calling
let paths = Paths::resolve()?; let conn = db::open(&paths)?; and gets a
fully-migrated database ready to use.