Software Requirements Specification · v1.0

LedgerFlow

Complete specification of functional and non-functional requirements, organized by feature module with MoSCoW prioritization.

Document
SRS / Functional Spec
Delivery
Web (SaaS + on-prem)
Total Requirements
100+
Status
Approved for Dev
01

Accounting Core

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
IDRequirementPriority
VCH-001Support all standard voucher types: Payment, Receipt, Contra, Journal, Sales, Purchase, Debit Note, Credit Note, plus user-defined typesMUST
VCH-002Enforce the double-entry rule: a voucher cannot be saved unless total debits equal total creditsMUST
VCH-003Provide fully keyboard-driven entry (tab flow, in-field pickers, shortcut keys) allowing entry without the mouseMUST
VCH-004Auto-number vouchers per type with configurable prefixes and prevent duplicate/out-of-sequence numbersMUST
VCH-005Support recurring vouchers, voucher templates, and duplicate-from-existingSHOULD
VCH-006Attach files (scanned bills, receipts) and free-text narration to any voucherSHOULD
VCH-007Support post-dated and optional (non-posting) vouchers for forecastingCOULD
Bill-wise Tracking & AuditACC
IDRequirementPriority
ACC-001Track outstanding by individual bill (new reference, against reference, advance, on-account) for every partyMUST
ACC-002Maintain a tamper-evident audit trail: every create/edit/delete records who, what, and when; deletions are softMUST
ACC-003Lock periods so no back-dated changes are possible after a book close or filingMUST
ACC-004Calculate interest on overdue receivables/payables at configurable ratesCOULD
ACC-005Support multi-currency ledgers with transaction-date exchange rates and automatic forex gain/lossSHOULD
02

Company & Master Data

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
IDRequirementPriority
CMP-001Create a company with name, address, country, base currency, tax IDs (GSTIN/TRN/PAN), and FY startMUST
CMP-002Support feature profiles ("accounts only", "accounts + inventory") to enable/disable modules per companyMUST
CMP-003Configure books-beginning date and enter opening balances for all ledgers and stockMUST
CMP-004Split/continue a financial year, carrying closing balances forward as opening balances automaticallyMUST
CMP-005Upload a company logo and define invoice/print branding used across documentsSHOULD
Ledgers, Groups & MastersMST
IDRequirementPriority
MST-001Ship standard chart of primary groups (Assets, Liabilities, Capital, Income, Expenses) with ability to add user-defined groupsMUST
MST-002Create, edit, merge and safely delete ledgers, each classified under exactly one groupMUST
MST-003Allow creation of any master (ledger, stock item, party) inline during voucher entry without leaving the screenMUST
MST-004Maintain party masters with billing/shipping addresses, credit limit, credit period, and tax registrationMUST
MST-005Prevent deletion or alteration of a master that has posted transactions; require deactivation insteadMUST
MST-006Bulk-import masters from CSV/Excel with validation and error reportSHOULD
03

Inventory Management

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
IDRequirementPriority
INV-001Maintain stock items with groups, categories, and multiple units of measure (compound units, e.g. box of 12)MUST
INV-002Track stock across multiple godowns / warehouses / locationsMUST
INV-003Value stock by FIFO, LIFO, Weighted Average, Last Purchase Cost, selectable per itemMUST
INV-004Record inventory vouchers: stock journal (transfer/manufacture), physical stock, delivery note, receipt noteMUST
INV-005Track batches with manufacture/expiry dates and warn on expiring or expired stockSHOULD
INV-006Define reorder levels and minimum quantities, and surface a reorder-status reportSHOULD
INV-007Support Bill of Materials for simple assemblies/kits with automatic component consumptionCOULD
INV-008Support barcode/serial-number capture on entryCOULD
Invoicing CycleORD
IDRequirementPriority
ORD-001Support full sales cycle: quotation → order → delivery → invoice → receipt, each convertible to the nextSHOULD
ORD-002Mirror purchase cycle: purchase order → receipt → bill → paymentSHOULD
ORD-003Apply price lists / rate levels per party or party group, with quantity-based discount slabsCOULD
ORD-004Track order fulfilment status and pending order quantitiesCOULD
04

Taxation & Compliance

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
IDRequirementPriority
TAX-001Configure tax regimes (GST, VAT) with rate slabs and classify items/services by HSN/SAC codesMUST
TAX-002Auto-compute tax per invoice line and split GST into CGST/SGST (intra-state) or IGST (inter-state)MUST
TAX-003Handle reverse charge, nil-rated, exempt, and zero-rated supplies distinctlyMUST
TAX-004Generate filing-ready outputs: GSTR-1, GSTR-3B summaries (India) and VAT 201 return (UAE)MUST
TAX-005Produce an input-tax-credit register and reconcile against purchase dataSHOULD
TAX-006Integrate e-invoicing (IRN generation) and e-way bill generation via government APIsSHOULD
Withholding — TDS / TCSWHT
IDRequirementPriority
WHT-001Configure TDS/TCS sections, rates, thresholds and deduct/collect automatically on qualifying vouchersSHOULD
WHT-002Produce TDS payable registers, challan data, and return-ready summaries (e.g. Form 26Q)COULD
05

Banking & Reconciliation

BankingBNK
IDRequirementPriority
BNK-001Reconcile bank ledgers against statements by matching bank dates to book entriesMUST
BNK-002Import bank statements (CSV / OFX / MT940) and auto-suggest matches to open entriesSHOULD
BNK-003Print cheques on configurable cheque formats and maintain a cheque registerSHOULD
BNK-004Generate payment-advice / bank payment files for bulk transfersCOULD
BNK-005Connect to bank feeds / payment gateways for automatic statement sync and reconciliationLATER
06

Financial Reporting

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
IDRequirementPriority
RPT-001Produce Trial Balance, Profit & Loss, and Balance Sheet for any date range in scheduled/grouped formatsMUST
RPT-002Provide Day Book and ledger-wise / group-wise statements with running balancesMUST
RPT-003Allow drill-down from any report figure down to the originating voucherMUST
RPT-004Produce Receivables/Payables outstanding and ageing analysis with configurable bucketsMUST
RPT-005Produce Cash Flow and Funds Flow statementsSHOULD
RPT-006Produce inventory reports: stock summary, movement analysis, godown-wise, and stock valuationMUST
RPT-007Provide ratio analysis and a configurable dashboard of key financial indicatorsSHOULD
RPT-008Export every report to PDF and Excel; schedule and email recurring reportsSHOULD
RPT-009Compare periods side-by-side (e.g. this year vs last) and against budgetCOULD
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##
IDRequirementPriority
FIN-101Define budgets per ledger, group, cost centre, and period, with multiple budget versions (original vs revised)SHOULD
FIN-102Report budget-vs-actual variance (amount and %) at any level, drilling to source vouchersSHOULD
FIN-103Warn or block transactions that would breach a budget, per configurable policyCOULD
Cash & Liquidity ManagementFIN-2##
IDRequirementPriority
FIN-201Project cash flow forward from open receivables, payables, post-dated cheques, and recurring commitmentsSHOULD
FIN-202Show consolidated bank/cash position across all accounts with projected balances by dateSHOULD
FIN-203Support payment-scheduling/prioritisation worklist that proposes what to pay within available liquidityCOULD
FIN-204Support optional (non-posting) and post-dated vouchers as forecast inputs without touching actual booksCOULD
Credit Control & CollectionsFIN-3##
IDRequirementPriority
FIN-301Enforce per-party credit limits and credit periods, warning or blocking orders/invoices that breach themSHOULD
FIN-302Provide an ageing-driven collections worklist prioritising overdue accounts for follow-upSHOULD
FIN-303Send automated payment reminders/dunning notices (email/WhatsApp/SMS) on configurable schedulesCOULD
FIN-304Compute interest on overdue receivables/payables at configurable ratesCOULD
Cost & ProfitabilityFIN-4##
IDRequirementPriority
FIN-401Define cost centres and allocate voucher amounts across them, including split allocationSHOULD
FIN-402Report profitability by cost centre, project, branch, or product lineSHOULD
FIN-403Support scenarios/provisional entries for what-if analysis without affecting actual booksCOULD
Financial Analytics & MISFIN-5##
IDRequirementPriority
FIN-501Provide a management dashboard of KPIs (liquidity, profitability, leverage, activity ratios)SHOULD
FIN-502Compare periods side-by-side (this year vs last) and actuals vs budgetSHOULD
FIN-503Produce Cash Flow and Funds Flow statements as analytical (management) viewsSHOULD
FIN-504Export dashboards and MIS packs to PDF/Excel and schedule them to stakeholdersCOULD
08

Payroll

PayrollPAY
IDRequirementPriority
PAY-001Maintain employee masters and define salary structures from configurable earning/deduction pay headsSHOULD
PAY-002Process monthly payroll from attendance/leave inputs and post the salary journal to books automaticallySHOULD
PAY-003Compute statutory deductions (PF, ESI, Professional Tax for India; WPS/end-of-service for UAE)SHOULD
PAY-004Generate and email individual payslipsCOULD
08

Cost Centres, Budgets & MIS

Costing & BudgetsCST
IDRequirementPriority
CST-001Define cost centres and cost categories and allocate voucher amounts across them (including split allocation)SHOULD
CST-002Report profitability by cost centre / project / branchSHOULD
CST-003Define budgets per ledger/group/cost centre and report budget-vs-actual varianceCOULD
CST-004Support scenarios (provisional/optional entries) for forecasting without affecting actual booksCOULD
09

Import, Export & Integrations

Data Exchange & APIINT
IDRequirementPriority
INT-001Provide a documented, authenticated public API covering masters, vouchers, and reportsMUST
INT-002Import masters and transactions from CSV/Excel and from Tally (XML) with mapping and validationSHOULD
INT-003Export all data in open formats (CSV, Excel, JSON, PDF) so customers are never locked inMUST
INT-004Emit webhooks on key events (voucher posted, invoice created, payment received)COULD
INT-005Offer connectors to common e-commerce / POS / CRM systemsLATER
10

Users, Roles & Security

Access ControlSEC
IDRequirementPriority
SEC-001Provide role-based access control with fine-grained permissions per module, company, and actionMUST
SEC-002Support accountant/practice model: one login serving many client companies with per-client permissionsMUST
SEC-003Enforce strong authentication: password policy, multi-factor authentication, and session controlsMUST
SEC-004Support maker-checker approval workflows for sensitive vouchers above configurable thresholdsSHOULD
SEC-005Provide SSO (SAML/OIDC) for enterprise tenantsCOULD
SEC-006Log all security-relevant events and expose an admin activity/audit logMUST
11

Non-Functional Requirements

Quality AttributesNFR
IDRequirementPriority
NFR-001Performance: voucher save under 300 ms; standard reports for typical year render under 3 sMUST
NFR-002Data integrity: all financial postings are transactional (ACID); ledger never left half-postedMUST
NFR-003Availability: 99.9% uptime target for SaaS, with health monitoring and alertingMUST
NFR-004Backup & recovery: automated encrypted backups with point-in-time restoreMUST
NFR-005Security: encryption in transit and at rest; regular vulnerability scanning; least-privilege accessMUST
NFR-006Scalability: horizontal scaling of API and worker tiers; storage that grows without downtimeSHOULD
NFR-007Usability: keyboard-first workflows, accessible (WCAG 2.1 AA), responsive from desktop to tabletMUST
NFR-008Localisation: multi-language UI, multiple currencies, locale-aware formats; bilingual (EN/AR) for UAESHOULD
NFR-009Data residency: configurable region of storage to meet local regulatory requirementsSHOULD
NFR-010Observability: structured logging, metrics, and tracing across servicesSHOULD