Project Overview ERPdash is a modular enterprise ERP system designed for single company deployment with scalable architecture for future multi-company support. ๐ŸŽฏ Core Goals Enterprise-grade financial integrity Modular expansion (Sales โ†’ Inventory โ†’ Finance โ†’ HR) Strong RBAC (Role Based Access Control) Audit-ready architecture Quarterly financial periods Immutable financial posting ๐Ÿ— SYSTEM ARCHITECTURE Folder Structure app/ โ”œโ”€โ”€ Models/ โ”‚ โ”œโ”€โ”€ Core/ โ”‚ โ”œโ”€โ”€ Finance/ โ”‚ โ”œโ”€โ”€ Sales/ โ”‚ โ”œโ”€โ”€ Inventory/ โ”‚ โ””โ”€โ”€ HR/ โ”‚ โ”œโ”€โ”€ Http/ โ”‚ โ”œโ”€โ”€ Controllers/ โ”‚ โ”œโ”€โ”€ Requests/ โ”‚ โ”œโ”€โ”€ Services/ โ”‚ โ”œโ”€โ”€ Core/ โ”‚ โ”œโ”€โ”€ Finance/ โ”‚ โ”‚ โ”œโ”€โ”€ Posting/ โ”‚ โ”‚ โ””โ”€โ”€ Reports/ โ”‚ โ”œโ”€โ”€ Policies/ โ””โ”€โ”€ DTO/ ๐Ÿ“ฆ MODULE ROADMAP ๐Ÿงฉ M1 โ€” Core Branches code name is_active Settings system settings branch settings Number Sequences Document numbering LockForUpdate ๐Ÿ’ฐ M2 โ€” Finance Foundation Accounts Hierarchical chart of accounts Parent-child structure Journals Journal types Journal Entries Draft Post Reverse Immutable after posting Balances Quarterly tracking Per account per branch ๐Ÿ“Š M3 โ€” Reports Trial Balance General Ledger Income Statement Balance Sheet ๐Ÿ” PERMISSION MODEL Naming convention: core.branches.view finance.accounts.create finance.journal_entries.post finance.reports.trial_balance.view Super Admin bypass enabled. ๐Ÿงช TEST STRATEGY Each module must include: CRUD test Permission test Unauthorized access test Edge case test Finance modules must include: Posting validation test Reverse test Period lock test Double posting prevention test ๐Ÿ“ˆ SCALABILITY CONSIDERATIONS Future multi-company ready Indexed financial tables Optimized reporting queries Modular services ๐Ÿ›ก SECURITY CONSTRAINTS No editing posted financial records Route protection mandatory Permission cache reset after role changes Admin inactive login blocked ๐Ÿš€ Development Phases Phase 1: Core Phase 2: Finance Phase 3: Reports Phase 4: Sales Phase 5: Inventory Phase 6: HR