Enterprise Double-Entry Accounting
Bulletproof enterprise financial core
66
Account COA template
4
Demo tenants seeded
3
Costing methods
Draft→Approved
Voucher workflow
A defensible double-entry accounting engine, not a scaffold. Every posting is validated server-side for exact debit/credit balance, control-account and sub-ledger integrity, with approved vouchers made immutable by an EF Core SaveChanges interceptor.
The core ledger is live: a multi-level Chart of Accounts, party sub-ledgers for AR/AP, a Draft → Verified → Approved voucher workflow with full workflow logging, atomic per-tenant voucher numbering, automated fiscal closings, and a perpetual inventory module with Specific-ID, Weighted-Average and FIFO costing.
Tenant isolation is enforced by a global EF query filter driven by a JWT TenantId claim, with SuperAdmin able to act across tenants via an X-Tenant-Id header. Localized compliance (TDS/VDS, NBR Mushak), banking, and a local SLM AI layer are on the roadmap.
- Server-side balanced-voucher enforcement (exact decimal, no epsilon)
- Approved-voucher immutability via SaveChanges interceptor + workflow log
- Atomic, race-free per-(tenant, branch, type, year) voucher numbering
- Global tenant query filter from JWT claim; SuperAdmin cross-tenant via header
- Perpetual stock ledger reconciled to the GL — books and stock can't drift
- Multi-branch with cross-branch reciprocal auto-balancing
Backend
ASP.NET Core + EF Core (clean architecture)
Database
PostgreSQL (Npgsql)
Frontend
React + TypeScript + Vite
Auth
JWT bearer + tenant claim + RBAC
Integrity
EF interceptor + global query filters
Numbering
Atomic Postgres UPDATE…RETURNING
Feature breakdown
Grouped by module, with live execution status per feature.
Core Accounting & Governance
6 featuresMulti-Level Chart of Accounts (COA)
LiveAsset/liability/equity/income/expense tree with strict entry controls.
Party Sub-Ledgers (AR/AP)
LiveCustomer/supplier registers linked to control accounts.
Multi-State Voucher Workflows
LiveDraft → Verified → Approved with workflow log on every transition.
Ledger Correction Guard (Immutability)
LiveApproved records locked; changes require reversal/contra entries.
Collection Aging Analysis
LiveUnpaid invoices bucketed (0–30, 31–60…) for fast collections.
Atomic Voucher Numbering
LiveRace-free per-tuple sequence inside the save transaction.
Multi-Branch & Fiscal Closings
5 featuresNested Branch Tenancy Segregation
LiveIsolated transaction pipelines per store/warehouse under one parent.
Cross-Branch Reciprocal Auto-Balancing
LiveMirror lines injected so every branch ledger balances to zero.
Year-End Close + Account Zeroing
LiveTemporary balances rolled into Retained Earnings at boundaries.
Next-Year Opening Balance Initializer
LiveClosing balances carried as Day-1 states for the new fiscal year.
Head Office Consolidated Reports
PlannedCombined branch sheets with intercompany elimination.
Accounts with Inventory (Stock & Costing)
6 featuresItem & VIN Master
LiveSerialized (per-VIN) or fungible items bound to inventory/COGS accounts.
Perpetual Stock Ledger & Valuation
LiveAppend-only movements reconciled to the Inventory GL balance.
Automatic COGS on Sale
LiveSelling stock auto-posts cost at the unit's own cost; margin stays correct.
Costing: Specific-ID / Weighted-Avg / FIFO
LiveLayer-consumed costing per item type.
Per-Vehicle Margin Report
LiveRevenue minus COGS per item/VIN, from approved sales only.
Opening Stock at Onboarding
In progressDay-one stock as opening movements; setup-wizard step is the remaining polish.
Reporting, Security & Roadmap
6 featuresSubsidiary Ledger Statements
LiveParty balance summary + per-party running-balance statements.
Real-Time Fund Position
LiveCash, bank and wallet liquidity grouped for owners.
Immutable Audit Trail
LiveUser timeline for every create/verify/status-change event.
Customizable Financial Statements
In progressCompany-designed Balance Sheet / P&L / Cash Flow with numbered notes (Phases 1–3 of 4).
Tax/VAT Compliance (TDS/VDS, NBR Mushak)
PlannedSource deductions, tax voucher splitting, Mushak 6.3/9.1 returns.
Local SLM AI Layer
PlannedJSON ingestion, fuzzy bank-feed organizer, receipt-to-voucher pipeline.
Frequently asked questions
What makes this accounting platform fraud-resistant?+
Every voucher is validated server-side for exact debit/credit balance, control-account and sub-ledger integrity. Approved vouchers are made immutable by an EF Core SaveChanges interceptor, and every state transition is recorded in an immutable workflow log.
Does the ledger support inventory and costing?+
Yes. It includes a perpetual stock ledger reconciled to the general ledger, automatic cost of goods sold on sale, and three costing methods: Specific-ID for serialized units, plus Weighted-Average and FIFO for fungible items.
How does multi-tenancy and security work?+
Tenant isolation is enforced by a global EF Core query filter driven by a JWT TenantId claim. SuperAdmins can act across tenants via an X-Tenant-Id header, and role-based authorization gates every controller and voucher action.
What is the voucher approval workflow?+
Vouchers move through a Draft → Verified → Approved state machine with segregation of duties. Entries can be rejected with a mandatory reason, and approved entries are locked against edits.