How abodmohammedam3/erp_q works
This is a Laravel-based inventory and accounting application, rather than the Laravel framework project described by its generic README. Users manage inventory and counterparties, record purchases and sales, and operate accounting records and cash/bank vouchers. The sampled controllers show these requests handled in the relevant domain controllers; invoice and voucher controllers delegate mutations to services, while opening balances can generate journal entries. The tree documents additional dashboards, returns, and master-data screens. Source excerpts are partial, so uncertain wiring among those capabilities is not drawn.
Main entry points: CharAccount.php Account records · database.php Application database · SalesInvoiceController.php Sales invoices · OpeningBalanceController.php Opening balances
Components 24
Business operations
- Sales invoices
app/Http/Controllers/Operation/Sales/SalesInvoiceController.php - Purchase invoices
app/Http/Controllers/Operation/Purchases/PurchaseInvoiceController.php - Receipt vouchers
app/Http/Controllers/Operation/ReceiptVoucher/ReceiptVoucherController.php - Payment vouchers
app/Http/Controllers/Operation/PaymentVoucher/PaymentVoucherController.php - Customer records
app/Http/Controllers/CustomerController.php - Supplier records
app/Http/Controllers/SupplierController.php - Sales service
app/Services/Sales/SalesInvoiceService.php - Purchase service
app/Services/Purchases/PurchaseInvoiceService.php
Inventory management
- Stock movements
app/Http/Controllers/Operation/Movements/InventoryMovementController.php - Warehouses
app/Http/Controllers/Inventory/StockController.php - Inventory catalog
app/Http/Controllers/Inventory/ItemController.php - Inventory service
app/Services/Inventory/InventoryService.php
Accounting
- Chart of accounts
app/Http/Controllers/accounting/CharAccountController.php - Opening balances
app/Http/Controllers/accounting/OpeningBalanceController.php - Journal service
app/Services/JournalEntryService.php - Receipt service
app/Services/ReceiptVoucherService.php - Payment service
app/Services/PaymentVoucherService.php
Domain data
- Sales records
app/Models/Sales/SalesInvoice.php - Purchase records
app/Models/Purchases/PurchaseInvoice.php - Movement records
app/Models/Inventory/InventoryMovement.php - Account records
app/Models/Accounting/CharAccount.php - Opening balance records
app/Models/Accounting/openingBalance.php - Application database
config/database.php
Other components
- User
Connections 31
- User → Sales invoices: submits invoice
- User → Purchase invoices: submits invoice
- User → Receipt vouchers: records receipt
- User → Payment vouchers: records payment
- User → Stock movements: records movement
- User → Warehouses: manages warehouse
- User → Inventory catalog: manages catalog
- User → Customer records: manages customers
- User → Supplier records: manages suppliers
- User → Chart of accounts: maintains accounts
- User → Opening balances: enters balances
- Sales invoices → Sales service: delegates mutations
- Sales invoices → Inventory service: requests last cost
- Sales invoices → Sales records: queries invoices
- Purchase invoices → Purchase service: delegates mutations
- Purchase invoices → Purchase records: queries invoices
- Receipt vouchers → Receipt service: delegates deletion
- Payment vouchers → Payment service: delegates deletion
- Stock movements → Movement records: queries movements
- Opening balances → Journal service: deletes journal entries
- Opening balances → Opening balance records: writes balances
- Customer records → Account records: links accounts
- Supplier records → Account records: links accounts
- Warehouses → Account records: links accounts
- Chart of accounts → Account records: manages accounts
- Opening balances → Account records: reads accounts
- Sales records → Application database: persists records
- Purchase records → Application database: persists records
- Movement records → Application database: persists records
- Account records → Application database: persists records
- Opening balance records → Application database: persists records