← All packages

@lacspace/ledger

v1.0.0Commerce & Ledger0 deps

A tiny double-entry ledger & wallet — balanced transactions, per-account balances and a trial balance that always sums to zero. Integer minor units, immutable ops, crypto-random ids. Isomorphic.

npm i @lacspace/ledger

Usage

ledger.ts
import { createLedger, post, balance, trialBalance } from "@lacspace/ledger";

let book = createLedger();
book = post(book, { memo: "Order #1001", lines: [
  { account: "cash",        debit: 113000 },
  { account: "sales",       credit: 100000 },
  { account: "vat_payable", credit: 13000 },
] });

balance(book, "cash");   // 113000
trialBalance(book);      // every account — always sums to zero

Exports 6

createLedgerpostpostManybalancestatementtrialBalance

Keywords

ledgerdouble-entryaccountingwallettrial-balanceminor-units

More in Commerce & Ledger