Finance
Internal documentation for the Finance module — double-entry accounting, maker-checker, AR/AP, bank reconciliation, GST (India), TDS (India), period locks, vouchers, invoices, and the full report catalog.
Audience: finance / ops staff who use these features daily, and developers who maintain them.
Pages
- Overview — module map, double-entry model, maker-checker, period lock, tab layout, permission summary.
- Chart of accounts —
Accountentity, the 5-way classification enum, the seeded canonical chart, per-party sub-ledgers, event → account linkage. - Double-entry engine — invariants,
createJournalWithLines, state machine, concurrency guard pattern, idempotency, FX capture, posting-paths index. Developer deep dive. - Maker-checker — segregation of duties: approve / reject / reverse self-guards, bulk behaviour, override permissions, failure modes.
- Audit trail —
AuditLogschema, two writer layers (semantic + trigger), query patterns, retention, what auditors ask for. - India compliance — one-page unified view of GST, TDS, registration artifacts, deadlines calendar, gap list.
- Permissions matrix (finance) — finance permission catalog, role × permission grid, how to grant access.
- Journals — lifecycle, FX capture, concurrency guards, audit log, reversal semantics.
- AR aging — open customer invoices by bucket.
- AP aging — supplier + agent payables by bucket.
- Bank reconciliation — CSV import, auto-match, manual match.
- GST (India) — GSTIN, HSN/SAC, GSTR-1 / GSTR-3B, GSTN portal client (stub).
- TDS (India) — 194C / 194J / 194Q, calculator, 26Q CSV.
- Reports — full catalog (Day Book, Trial Balance, P&L, Balance Sheet, Cash Flow, Group P&L, aging, GST, settlements, cancellations, etc.).
- Vouchers — receipt / payment / contra forms.
- Invoices (finance lens) — customer + group invoices, GSTIN / HSN, permissions.
Related
docs/PERMISSIONS.md— authoritative permission catalog (see thefinance.*section).docs/ALHUDA_ERP_FINANCE_REPORTS.md— older reports spec, retained for historical context.