The heart of LedgerFlow: voucher entry with perfect double-entry integrity, bill-wise tracking, and an immutable audit trail. Speed and correctness are equally important.
Voucher EntryVCH
| ID | Requirement | Priority |
| VCH-001 | Support all standard voucher types: Payment, Receipt, Contra, Journal, Sales, Purchase, Debit Note, Credit Note, plus user-defined types | MUST |
| VCH-002 | Enforce the double-entry rule: a voucher cannot be saved unless total debits equal total credits | MUST |
| VCH-003 | Provide fully keyboard-driven entry (tab flow, in-field pickers, shortcut keys) allowing entry without the mouse | MUST |
| VCH-004 | Auto-number vouchers per type with configurable prefixes and prevent duplicate/out-of-sequence numbers | MUST |
| VCH-005 | Support recurring vouchers, voucher templates, and duplicate-from-existing | SHOULD |
| VCH-006 | Attach files (scanned bills, receipts) and free-text narration to any voucher | SHOULD |
| VCH-007 | Support post-dated and optional (non-posting) vouchers for forecasting | COULD |
Bill-wise Tracking & AuditACC
| ID | Requirement | Priority |
| ACC-001 | Track outstanding by individual bill (new reference, against reference, advance, on-account) for every party | MUST |
| ACC-002 | Maintain a tamper-evident audit trail: every create/edit/delete records who, what, and when; deletions are soft | MUST |
| ACC-003 | Lock periods so no back-dated changes are possible after a book close or filing | MUST |
| ACC-004 | Calculate interest on overdue receivables/payables at configurable rates | COULD |
| ACC-005 | Support multi-currency ledgers with transaction-date exchange rates and automatic forex gain/loss | SHOULD |
Fast, forgiving master creation is essential. Users must be able to create ledgers, parties, and items on-the-fly during voucher entry without navigation.
Company SetupCMP
| ID | Requirement | Priority |
| CMP-001 | Create a company with name, address, country, base currency, tax IDs (GSTIN/TRN/PAN), and FY start | MUST |
| CMP-002 | Support feature profiles ("accounts only", "accounts + inventory") to enable/disable modules per company | MUST |
| CMP-003 | Configure books-beginning date and enter opening balances for all ledgers and stock | MUST |
| CMP-004 | Split/continue a financial year, carrying closing balances forward as opening balances automatically | MUST |
| CMP-005 | Upload a company logo and define invoice/print branding used across documents | SHOULD |
Ledgers, Groups & MastersMST
| ID | Requirement | Priority |
| MST-001 | Ship standard chart of primary groups (Assets, Liabilities, Capital, Income, Expenses) with ability to add user-defined groups | MUST |
| MST-002 | Create, edit, merge and safely delete ledgers, each classified under exactly one group | MUST |
| MST-003 | Allow creation of any master (ledger, stock item, party) inline during voucher entry without leaving the screen | MUST |
| MST-004 | Maintain party masters with billing/shipping addresses, credit limit, credit period, and tax registration | MUST |
| MST-005 | Prevent deletion or alteration of a master that has posted transactions; require deactivation instead | MUST |
| MST-006 | Bulk-import masters from CSV/Excel with validation and error report | SHOULD |
Stock accounting fully integrated with the ledger so a sales invoice simultaneously updates inventory and books. Supports multiple godowns, valuation methods, and batches.
Stock & MovementINV
| ID | Requirement | Priority |
| INV-001 | Maintain stock items with groups, categories, and multiple units of measure (compound units, e.g. box of 12) | MUST |
| INV-002 | Track stock across multiple godowns / warehouses / locations | MUST |
| INV-003 | Value stock by FIFO, LIFO, Weighted Average, Last Purchase Cost, selectable per item | MUST |
| INV-004 | Record inventory vouchers: stock journal (transfer/manufacture), physical stock, delivery note, receipt note | MUST |
| INV-005 | Track batches with manufacture/expiry dates and warn on expiring or expired stock | SHOULD |
| INV-006 | Define reorder levels and minimum quantities, and surface a reorder-status report | SHOULD |
| INV-007 | Support Bill of Materials for simple assemblies/kits with automatic component consumption | COULD |
| INV-008 | Support barcode/serial-number capture on entry | COULD |
Invoicing CycleORD
| ID | Requirement | Priority |
| ORD-001 | Support full sales cycle: quotation → order → delivery → invoice → receipt, each convertible to the next | SHOULD |
| ORD-002 | Mirror purchase cycle: purchase order → receipt → bill → payment | SHOULD |
| ORD-003 | Apply price lists / rate levels per party or party group, with quantity-based discount slabs | COULD |
| ORD-004 | Track order fulfilment status and pending order quantities | COULD |
Statutory compliance is a core module. GST (India) and VAT (UAE) are configurable; the engine computes tax on each line, splits it correctly, and produces filing-ready returns.
GST/VAT EngineTAX
| ID | Requirement | Priority |
| TAX-001 | Configure tax regimes (GST, VAT) with rate slabs and classify items/services by HSN/SAC codes | MUST |
| TAX-002 | Auto-compute tax per invoice line and split GST into CGST/SGST (intra-state) or IGST (inter-state) | MUST |
| TAX-003 | Handle reverse charge, nil-rated, exempt, and zero-rated supplies distinctly | MUST |
| TAX-004 | Generate filing-ready outputs: GSTR-1, GSTR-3B summaries (India) and VAT 201 return (UAE) | MUST |
| TAX-005 | Produce an input-tax-credit register and reconcile against purchase data | SHOULD |
| TAX-006 | Integrate e-invoicing (IRN generation) and e-way bill generation via government APIs | SHOULD |
Withholding — TDS / TCSWHT
| ID | Requirement | Priority |
| WHT-001 | Configure TDS/TCS sections, rates, thresholds and deduct/collect automatically on qualifying vouchers | SHOULD |
| WHT-002 | Produce TDS payable registers, challan data, and return-ready summaries (e.g. Form 26Q) | COULD |
05
Banking & Reconciliation
BankingBNK
| ID | Requirement | Priority |
| BNK-001 | Reconcile bank ledgers against statements by matching bank dates to book entries | MUST |
| BNK-002 | Import bank statements (CSV / OFX / MT940) and auto-suggest matches to open entries | SHOULD |
| BNK-003 | Print cheques on configurable cheque formats and maintain a cheque register | SHOULD |
| BNK-004 | Generate payment-advice / bank payment files for bulk transfers | COULD |
| BNK-005 | Connect to bank feeds / payment gateways for automatic statement sync and reconciliation | LATER |
Every statement is generated in real time from posted vouchers, is drillable to source, and can be filtered by period, company, cost centre, or godown.
Statements & RegistersRPT
| ID | Requirement | Priority |
| RPT-001 | Produce Trial Balance, Profit & Loss, and Balance Sheet for any date range in scheduled/grouped formats | MUST |
| RPT-002 | Provide Day Book and ledger-wise / group-wise statements with running balances | MUST |
| RPT-003 | Allow drill-down from any report figure down to the originating voucher | MUST |
| RPT-004 | Produce Receivables/Payables outstanding and ageing analysis with configurable buckets | MUST |
| RPT-005 | Produce Cash Flow and Funds Flow statements | SHOULD |
| RPT-006 | Produce inventory reports: stock summary, movement analysis, godown-wise, and stock valuation | MUST |
| RPT-007 | Provide ratio analysis and a configurable dashboard of key financial indicators | SHOULD |
| RPT-008 | Export every report to PDF and Excel; schedule and email recurring reports | SHOULD |
| RPT-009 | Compare periods side-by-side (e.g. this year vs last) and against budget | COULD |
07
Finance & Treasury (Module B — Decision Layer)
Forward-looking module that consumes accounting data to manage cash, budget, credit, and profitability. Reads from Financial Accounting but never writes postings directly; all transactions originate in Module A.
Budgeting & ControlFIN-1##
| ID | Requirement | Priority |
| FIN-101 | Define budgets per ledger, group, cost centre, and period, with multiple budget versions (original vs revised) | SHOULD |
| FIN-102 | Report budget-vs-actual variance (amount and %) at any level, drilling to source vouchers | SHOULD |
| FIN-103 | Warn or block transactions that would breach a budget, per configurable policy | COULD |
Cash & Liquidity ManagementFIN-2##
| ID | Requirement | Priority |
| FIN-201 | Project cash flow forward from open receivables, payables, post-dated cheques, and recurring commitments | SHOULD |
| FIN-202 | Show consolidated bank/cash position across all accounts with projected balances by date | SHOULD |
| FIN-203 | Support payment-scheduling/prioritisation worklist that proposes what to pay within available liquidity | COULD |
| FIN-204 | Support optional (non-posting) and post-dated vouchers as forecast inputs without touching actual books | COULD |
Credit Control & CollectionsFIN-3##
| ID | Requirement | Priority |
| FIN-301 | Enforce per-party credit limits and credit periods, warning or blocking orders/invoices that breach them | SHOULD |
| FIN-302 | Provide an ageing-driven collections worklist prioritising overdue accounts for follow-up | SHOULD |
| FIN-303 | Send automated payment reminders/dunning notices (email/WhatsApp/SMS) on configurable schedules | COULD |
| FIN-304 | Compute interest on overdue receivables/payables at configurable rates | COULD |
Cost & ProfitabilityFIN-4##
| ID | Requirement | Priority |
| FIN-401 | Define cost centres and allocate voucher amounts across them, including split allocation | SHOULD |
| FIN-402 | Report profitability by cost centre, project, branch, or product line | SHOULD |
| FIN-403 | Support scenarios/provisional entries for what-if analysis without affecting actual books | COULD |
Financial Analytics & MISFIN-5##
| ID | Requirement | Priority |
| FIN-501 | Provide a management dashboard of KPIs (liquidity, profitability, leverage, activity ratios) | SHOULD |
| FIN-502 | Compare periods side-by-side (this year vs last) and actuals vs budget | SHOULD |
| FIN-503 | Produce Cash Flow and Funds Flow statements as analytical (management) views | SHOULD |
| FIN-504 | Export dashboards and MIS packs to PDF/Excel and schedule them to stakeholders | COULD |
PayrollPAY
| ID | Requirement | Priority |
| PAY-001 | Maintain employee masters and define salary structures from configurable earning/deduction pay heads | SHOULD |
| PAY-002 | Process monthly payroll from attendance/leave inputs and post the salary journal to books automatically | SHOULD |
| PAY-003 | Compute statutory deductions (PF, ESI, Professional Tax for India; WPS/end-of-service for UAE) | SHOULD |
| PAY-004 | Generate and email individual payslips | COULD |
08
Cost Centres, Budgets & MIS
Costing & BudgetsCST
| ID | Requirement | Priority |
| CST-001 | Define cost centres and cost categories and allocate voucher amounts across them (including split allocation) | SHOULD |
| CST-002 | Report profitability by cost centre / project / branch | SHOULD |
| CST-003 | Define budgets per ledger/group/cost centre and report budget-vs-actual variance | COULD |
| CST-004 | Support scenarios (provisional/optional entries) for forecasting without affecting actual books | COULD |
09
Import, Export & Integrations
Data Exchange & APIINT
| ID | Requirement | Priority |
| INT-001 | Provide a documented, authenticated public API covering masters, vouchers, and reports | MUST |
| INT-002 | Import masters and transactions from CSV/Excel and from Tally (XML) with mapping and validation | SHOULD |
| INT-003 | Export all data in open formats (CSV, Excel, JSON, PDF) so customers are never locked in | MUST |
| INT-004 | Emit webhooks on key events (voucher posted, invoice created, payment received) | COULD |
| INT-005 | Offer connectors to common e-commerce / POS / CRM systems | LATER |
10
Users, Roles & Security
Access ControlSEC
| ID | Requirement | Priority |
| SEC-001 | Provide role-based access control with fine-grained permissions per module, company, and action | MUST |
| SEC-002 | Support accountant/practice model: one login serving many client companies with per-client permissions | MUST |
| SEC-003 | Enforce strong authentication: password policy, multi-factor authentication, and session controls | MUST |
| SEC-004 | Support maker-checker approval workflows for sensitive vouchers above configurable thresholds | SHOULD |
| SEC-005 | Provide SSO (SAML/OIDC) for enterprise tenants | COULD |
| SEC-006 | Log all security-relevant events and expose an admin activity/audit log | MUST |
11
Non-Functional Requirements
Quality AttributesNFR
| ID | Requirement | Priority |
| NFR-001 | Performance: voucher save under 300 ms; standard reports for typical year render under 3 s | MUST |
| NFR-002 | Data integrity: all financial postings are transactional (ACID); ledger never left half-posted | MUST |
| NFR-003 | Availability: 99.9% uptime target for SaaS, with health monitoring and alerting | MUST |
| NFR-004 | Backup & recovery: automated encrypted backups with point-in-time restore | MUST |
| NFR-005 | Security: encryption in transit and at rest; regular vulnerability scanning; least-privilege access | MUST |
| NFR-006 | Scalability: horizontal scaling of API and worker tiers; storage that grows without downtime | SHOULD |
| NFR-007 | Usability: keyboard-first workflows, accessible (WCAG 2.1 AA), responsive from desktop to tablet | MUST |
| NFR-008 | Localisation: multi-language UI, multiple currencies, locale-aware formats; bilingual (EN/AR) for UAE | SHOULD |
| NFR-009 | Data residency: configurable region of storage to meet local regulatory requirements | SHOULD |
| NFR-010 | Observability: structured logging, metrics, and tracing across services | SHOULD |