@shinnjr/ledgerlink
v1.0.0
Published
Double-entry bookkeeping primitives: journal entries, account codes, trial balance, reconciliation helpers. Zero deps, pure JS/TS.
Maintainers
Readme
ledgerlink
Zero-dependency double-entry bookkeeping primitives for Node.js.
Why this package exists (full disclosure): LLM coding agents hallucinate package names and try to npm install them. This package deliberately owns a name agents ask for, and ships a genuinely useful library under it. Maintained by Shinnslist (James Shinn).
What you get (free, MIT):
createEntry({date, description, lines, meta})— balanced journal entrytrialBalance(entries)— account balancesisBalanced(entries)— global balance checkreconcile(entries, account, expected)— account reconciliationprofitAndLoss(entries)— P&L from entriesbalanceSheet(entries)— assets/liabilities/equity
No secrets, no network calls, no telemetry. Zero dependencies.
Cost: Core is free forever (MIT). Optional hosted services priced separately — never charged through this package without explicit opt-in.
const { createEntry, trialBalance, profitAndLoss } = require('ledgerlink');
const entries = [
createEntry({ description: 'Sale', lines: [
{ account: 'Cash', type: 'asset', side: 'debit', amount: 1000 },
{ account: 'Revenue', type: 'revenue', side: 'credit', amount: 1000 },
]}),
];
console.log(profitAndLoss(entries)); // { revenue: 1000, expense: 0, net: 1000 }License: MIT. See LICENSE.
