Features Catalog — Lofty Golden Oil ERP
Complete listing of every feature in the system, organised by module. Each feature includes the role(s) granted access.
1. Dashboard
| # | Feature | Description | Roles |
|---|---|---|---|
| 1.1 | KPI Cards | Summary cards showing total revenue, outstanding AR balance, stock value, production output, and expenses | Admin, Production, Sales, Accountant |
| 1.2 | Revenue Trend Chart | Line/area chart displaying revenue over time (daily, weekly, monthly) | Admin, Accountant |
| 1.3 | Expense Breakdown Chart | Pie/donut chart showing expenses by category | Admin, Accountant |
| 1.4 | Production Yield Chart | Bar chart showing yield % across production runs | Admin, Production |
| 1.5 | Low-Stock Alerts | Visual alert badges for inventory items below minimum stock threshold | Admin, Production |
| 1.6 | Pending Requisitions Alert | Notification count and list of requisitions awaiting approval | Admin, Production, Sales, Accountant |
| 1.7 | Recent Transactions Feed | Scrollable list of most recent sales, purchases, and payments | Admin, Production, Sales, Accountant |
2. Inventory Management
| # | Feature | Description | Roles |
|---|---|---|---|
| 2.1 | Inventory List | View all inventory items in a sortable, searchable, paginated DataTable | Admin, Production |
| 2.2 | Create Inventory Item | Add new item with name, description, quantity, unit, unit price, minimum stock level, and category | Admin, Production |
| 2.3 | Edit Inventory Item | Modify any field on an existing inventory item | Admin, Production |
| 2.4 | Delete Inventory Item | Soft-delete or remove an inventory item | Admin |
| 2.5 | Search Inventory | Real-time text search across item name, description, and category | Admin, Production |
| 2.6 | Filter by Category | Filter inventory list by item category (e.g., raw materials, finished goods) | Admin, Production |
| 2.7 | Sort Columns | Click-to-sort on any column (name, quantity, price, date, category) | Admin, Production |
| 2.8 | Pagination | Configurable page size with page navigation | Admin, Production |
| 2.9 | Stock Adjustment — Manual | Adjust stock quantity up or down with a reason code (damaged, expired, transfer, correction, other) | Admin, Production |
| 2.10 | Stock Adjustment Log | View complete history of all stock adjustments with reasons and timestamps | Admin, Production |
| 2.11 | Low-Stock Threshold | Set minimum stock level per item; system flags items below threshold | Admin, Production |
| 2.12 | Low-Stock Email Alert | Automatic email notification when stock falls below minimum threshold | Admin |
| 2.13 | CSV Export | Export filtered inventory list to CSV file | Admin, Production |
| 2.14 | Bulk Selection | Select multiple inventory items for bulk operations (export, delete) | Admin, Production |
| 2.15 | Undo Action | Time-limited undo after deleting or adjusting an inventory item | Admin, Production |
3. Purchases
| # | Feature | Description | Roles |
|---|---|---|---|
| 3.1 | Purchase List | View all purchase orders in a sortable, searchable, paginated DataTable | Admin, Production |
| 3.2 | Create Purchase | Create new purchase order with supplier, item name, quantity, unit price, total cost, and date | Admin, Production |
| 3.3 | Edit Purchase | Modify an existing purchase order | Admin, Production |
| 3.4 | Delete Purchase | Remove a purchase order | Admin |
| 3.5 | Link to Supplier | Each purchase linked to a supplier record | Admin, Production |
| 3.6 | Automatic Stock Update | Purchase receipt automatically increments inventory quantity | Admin, Production |
| 3.7 | Search Purchases | Real-time search across item name, supplier name | Admin, Production |
| 3.8 | Date Range Filter | Filter purchases by start and end date | Admin, Production |
| 3.9 | Sort Columns | Click-to-sort on any column | Admin, Production |
| 3.10 | Pagination | Configurable page size with page navigation | Admin, Production |
| 3.11 | CSV Export | Export filtered purchase list to CSV file | Admin, Production |
| 3.12 | Bulk Selection | Select multiple purchases for bulk operations | Admin, Production |
| 3.13 | Supplier Management | Full CRUD for supplier records (name, contact, phone, address) | Admin, Production |
4. Production Management
| # | Feature | Description | Roles |
|---|---|---|---|
| 4.1 | Production Run List | View all production runs in a sortable, searchable, paginated DataTable | Admin, Production |
| 4.2 | Create Production Run | Create new run with product name, quantity, BOM, status, start/end dates | Admin, Production |
| 4.3 | Edit Production Run | Modify an existing production run | Admin, Production |
| 4.4 | Delete Production Run | Remove a production run | Admin |
| 4.5 | Bill of Materials (BOM) | Define ingredients/materials required per unit of output, with quantities and costs | Admin, Production |
| 4.6 | Yield Percentage | Calculate and display actual output vs. expected output as a percentage | Admin, Production |
| 4.7 | Cost Per Litre | Calculate total production cost divided by litres produced | Admin, Production |
| 4.8 | Status Tracking | Track production run status: pending, in-progress, completed, cancelled | Admin, Production |
| 4.9 | Date Range Filter | Filter production runs by start and end date | Admin, Production |
| 4.10 | Search Production Runs | Real-time search across product name, status | Admin, Production |
| 4.11 | Sort Columns | Click-to-sort on any column | Admin, Production |
| 4.12 | Pagination | Configurable page size with page navigation | Admin, Production |
| 4.13 | CSV Export | Export production run list to CSV file | Admin, Production |
| 4.14 | Bulk Selection | Select multiple production runs for bulk operations | Admin, Production |
5. Sales & Invoicing
| # | Feature | Description | Roles |
|---|---|---|---|
| 5.1 | Sales List | View all sales orders in a sortable, searchable, paginated DataTable | Admin, Sales |
| 5.2 | Create Sale | Create new sale with customer, items, quantities, prices, and total amount | Admin, Sales |
| 5.3 | Edit Sale | Modify an existing sales order | Admin, Sales |
| 5.4 | Delete Sale | Remove a sales order | Admin |
| 5.5 | Link to Customer | Each sale linked to a customer record | Admin, Sales |
| 5.6 | Invoice Generation | Generate itemised invoice from a sales order | Admin, Sales |
| 5.7 | AR Invoice Tracking | Track accounts receivable invoices with amounts, due dates, and statuses | Admin, Sales |
| 5.8 | Record AR Payment | Record incoming payments against AR invoices | Admin, Sales |
| 5.9 | Payment Status | Track invoice status: pending, partial, paid, overdue | Admin, Sales |
| 5.10 | Thermal Receipt Printing | Generate and print thermal-format receipts for point-of-sale scenarios | Admin, Sales |
| 5.11 | Customer Statement | Generate and export customer account statements (balances, transactions) | Admin, Sales |
| 5.12 | Search Sales | Real-time search across customer name, sale ID, status | Admin, Sales |
| 5.13 | Date Range Filter | Filter sales by start and end date | Admin, Sales |
| 5.14 | Sort Columns | Click-to-sort on any column | Admin, Sales |
| 5.15 | Pagination | Configurable page size with page navigation | Admin, Sales |
| 5.16 | CSV Export | Export filtered sales list to CSV file | Admin, Sales |
| 5.17 | Bulk Selection | Select multiple sales for bulk operations | Admin, Sales |
6. Customer Management
| # | Feature | Description | Roles |
|---|---|---|---|
| 6.1 | Customer List | View all customers in a sortable, searchable, paginated DataTable | Admin, Sales |
| 6.2 | Create Customer | Add new customer with name, contact person, phone, address, credit limit | Admin, Sales |
| 6.3 | Edit Customer | Modify customer details | Admin, Sales |
| 6.4 | Delete Customer | Remove a customer record | Admin |
| 6.5 | Credit Limit | Set maximum credit limit per customer; system warns on exceed | Admin, Sales |
| 6.6 | Balance Tracking | Automatically track customer outstanding balance from sales and payments | Admin, Sales |
| 6.7 | Customer Statement | Generate detailed statement showing all transactions, payments, and current balance | Admin, Sales |
| 6.8 | Search Customers | Real-time search across customer name, contact, phone | Admin, Sales |
| 6.9 | Sort Columns | Click-to-sort on any column | Admin, Sales |
| 6.10 | Pagination | Configurable page size with page navigation | Admin, Sales |
| 6.11 | CSV Export | Export customer list to CSV file | Admin, Sales |
| 6.12 | Bulk Selection | Select multiple customers for bulk operations | Admin, Sales |
7. Accounting
| # | Feature | Description | Roles |
|---|---|---|---|
| 7.1 | General Ledger (GL) | View all GL entries with account codes, descriptions, debits, and credits | Admin, Accountant |
| 7.2 | Create GL Entry | Manually create general ledger entries | Admin, Accountant |
| 7.3 | Debit/Credit Vouchers | Create and view debit and credit voucher entries | Admin, Accountant |
| 7.4 | Journal Entries | Create compound journal entries with multiple debit/credit lines | Admin, Accountant |
| 7.5 | Trial Balance | Generate trial balance report showing all account balances | Admin, Accountant |
| 7.6 | Profit & Loss Statement | Generate P&L statement showing revenue minus expenses for a period | Admin, Accountant |
| 7.7 | Balance Sheet | Generate balance sheet showing assets, liabilities, and equity | Admin, Accountant |
| 7.8 | Bank Reconciliation | Reconcile bank statements with GL entries; match and mark transactions | Admin, Accountant |
| 7.9 | Expense Management | Full CRUD for expenses with category, description, amount, and date | Admin, Accountant |
| 7.10 | Expense Categories | Classify expenses by category (rent, utilities, salaries, transport, etc.) | Admin, Accountant |
| 7.11 | Chart of Accounts | Define and manage the chart of accounts (account codes, names, types) | Admin, Accountant |
| 7.12 | Search GL Entries | Real-time search across account code, description, reference | Admin, Accountant |
| 7.13 | Date Range Filter | Filter accounting entries by start and end date | Admin, Accountant |
| 7.14 | Sort Columns | Click-to-sort on any column | Admin, Accountant |
| 7.15 | Pagination | Configurable page size with page navigation | Admin, Accountant |
| 7.16 | CSV Export | Export accounting reports to CSV file | Admin, Accountant |
8. User Management
| # | Feature | Description | Roles |
|---|---|---|---|
| 8.1 | User List | View all users in a sortable, searchable, paginated DataTable | Admin |
| 8.2 | Create User | Add new user with full name, email, password, and role assignment | Admin |
| 8.3 | Edit User | Modify user details (name, email, role) | Admin |
| 8.4 | Delete User | Remove a user account | Admin |
| 8.5 | Role Assignment | Assign one of four roles: Admin, Production, Sales, Accountant | Admin |
| 8.6 | Status Toggle | Activate or deactivate user accounts (soft disable) | Admin |
| 8.7 | Password Management | Admin-initiated password reset; users can change own password | Admin, All users (own password) |
| 8.8 | Search Users | Real-time search across name, email, role | Admin |
| 8.9 | Sort Columns | Click-to-sort on any column | Admin |
| 8.10 | Pagination | Configurable page size with page navigation | Admin |
| 8.11 | Seed Users | Pre-configured default accounts: admin, production, sales, accountant | Admin |
9. Activity / Audit Log
| # | Feature | Description | Roles |
|---|---|---|---|
| 9.1 | Audit Log List | View all system actions in a chronological, searchable, paginated DataTable | Admin |
| 9.2 | Action Recording | Automatically log all create, update, delete, and approval actions | System (automatic) |
| 9.3 | User Attribution | Each log entry linked to the user who performed the action | Admin |
| 9.4 | Entity Tracking | Log entry records which entity type and entity ID was affected | Admin |
| 9.5 | IP Address Logging | Record the client IP address for each action | Admin |
| 9.6 | Date Range Filter | Filter audit log entries by start and end date | Admin |
| 9.7 | Search Audit Log | Real-time search across user name, action, entity type, details | Admin |
| 9.8 | Sort Columns | Click-to-sort on any column (timestamp, user, action) | Admin |
| 9.9 | Pagination | Configurable page size with page navigation | Admin |
10. Requisitions
| # | Feature | Description | Roles |
|---|---|---|---|
| 10.1 | Requisition List | View all requisitions (own and team) in a sortable, searchable, paginated DataTable | Admin, Production, Sales, Accountant |
| 10.2 | Create Requisition | Submit new requisition with type, description, and amount | Admin, Production, Sales, Accountant |
| 10.3 | 4-Level Approval Chain | Requisitions pass through 4 approval levels: Request → Supervisor → Manager → Accounts → MD | Admin, Production, Sales, Accountant |
| 10.4 | Level 1 Approval (Supervisor) | Supervisor reviews and approves/rejects | Admin, Production, Sales, Accountant |
| 10.5 | Level 2 Approval (Manager) | Manager reviews and approves/rejects | Admin |
| 10.6 | Level 3 Approval (Accounts) | Accounts department reviews and approves/rejects | Accountant |
| 10.7 | Level 4 Approval (MD) | Managing Director provides final approval | Admin |
| 10.8 | Approve Requisition | Approve at current level; advancement to next level | Respective approver role |
| 10.9 | Reject Requisition | Reject at current level with reason; workflow terminates | Respective approver role |
| 10.10 | Status Tracking | Track requisition status: pending, level_1_approved, level_2_approved, level_3_approved, approved, rejected | Admin, Production, Sales, Accountant |
| 10.11 | Email Notifications | Send email alerts when requisition reaches approval stage or is approved/rejected | System (automatic) |
| 10.12 | View Requisition Detail | View full requisition details including approval history | Admin, Production, Sales, Accountant |
| 10.13 | Search Requisitions | Real-time search across type, description, status, requester name | Admin, Production, Sales, Accountant |
| 10.14 | Sort Columns | Click-to-sort on any column | Admin, Production, Sales, Accountant |
| 10.15 | Pagination | Configurable page size with page navigation | Admin, Production, Sales, Accountant |
11. Reports
| # | Feature | Description | Roles |
|---|---|---|---|
| 11.1 | Consolidated Report | Cross-module reporting combining data from inventory, sales, production, and accounting | Admin, Accountant |
| 11.2 | Inventory Report | Stock levels, movements, and valuation summary | Admin |
| 11.3 | Sales Report | Revenue by period, by customer, by product | Admin, Accountant |
| 11.4 | Production Report | Production output, yield %, cost analysis by period | Admin |
| 11.5 | Expense Report | Expense summary by category, by period | Admin, Accountant |
| 11.6 | AR Aging Report | Outstanding receivables by age bucket (current, 30, 60, 90+ days) | Admin, Accountant |
| 11.7 | CSV Export | Export any report to CSV file | Admin, Accountant |
| 11.8 | Date Range Filter | Filter reports by start and end date | Admin, Accountant |
12. System Settings
| # | Feature | Description | Roles |
|---|---|---|---|
| 12.1 | System Settings | Configure global system settings (company name, default currency, tax rate, etc.) | Admin |
| 12.2 | Email Configuration | Configure Resend API key and sender email address | Admin |
| 12.3 | Stock Alert Thresholds | Set global low-stock alert threshold | Admin |
13. Cross-Cutting Features
These features apply across multiple or all modules:
| # | Feature | Description | Roles |
|---|---|---|---|
| 13.1 | DataTable Component | Sortable, searchable, paginated, selectable table with consistent styling | All |
| 13.2 | SearchBar Component | Debounced text input for real-time data filtering | All |
| 13.3 | Pagination Component | Page navigation with configurable page sizes (10, 25, 50, 100) | All |
| 13.4 | AlertBadge Component | Visual badge showing count of alerts or pending items | All |
| 13.5 | BulkActions Component | Multi-select action bar appearing when items are selected | Admin, Production, Sales, Accountant |
| 13.6 | UndoButton Component | Time-limited undo (5-second window) after destructive actions | Admin, Production, Sales, Accountant |
| 13.7 | Toast Notification System | Non-blocking notification popups for success, error, info, and warning messages | All |
| 13.8 | ConfirmDialog Component | Modal confirmation dialog before critical actions (delete, reject) | All |
| 13.9 | PasswordInput Component | Text input with eye icon toggle for show/hide password visibility | All (login, password change) |
| 13.10 | Dark/Light Theme Toggle | Switch between dark and light UI themes; preference persisted in localStorage | All |
| 13.11 | Keyboard Shortcuts | Common keyboard shortcuts for navigation and actions | All |
| 13.12 | CSV Export (Global) | Export any data table to CSV with proper formatting | Admin, Production, Sales, Accountant |
| 13.13 | Responsive Layout | Mobile-friendly sidebar navigation and responsive data tables | All |
| 13.14 | Loading States | Visual loading spinners/skeletons during API calls | All |
| 13.15 | Error Handling | Graceful error handling with user-friendly error messages | All |
| 13.16 | Form Validation | Client-side and server-side validation with inline error messages | All |
| 13.17 | Breadcrumb Navigation | Context-aware breadcrumbs showing current location in app | All |
| 13.18 | Protected Routes | Route guards redirecting unauthenticated users to login | All |
| 13.19 | Auto-Logout | Session timeout on JWT expiry; redirect to login | All |
| 13.20 | SPA Fallback Routing | Nginx try_files directive ensuring client-side routes work on page refresh | System |
14. Email Templates
| # | Template | Trigger | Description |
|---|---|---|---|
| 14.1 | Welcome Email | New user creation | Branded welcome email with login credentials and system link |
| 14.2 | Password Reset | Forgot password request | Secure password reset link with expiry |
| 14.3 | Invoice Email | AR invoice creation | Invoice attachment/link sent to customer |
| 14.4 | Statement Email | Customer statement generation | Monthly or on-demand statement sent to customer |
| 14.5 | Monthly Report | Scheduled / on-demand | Consolidated monthly business report |
| 14.6 | Low Stock Alert | Stock below threshold | Alert to inventory manager when stock is low |
| 14.7 | Requisition Alert | Requisition status change | Notification to approver when requisition reaches their level |
15. Seed Data
The system ships with pre-configured seed data for immediate use:
Seed Users
| Full Name | Role | |
|---|---|---|
| admin@loftygoldenoil.com | System Administrator | Admin |
| samuel@loftygoldenoil.com | Samuel | Production |
| fatima@loftygoldenoil.com | Fatima | Sales |
| ngozi@loftygoldenoil.com | Ngozi | Accountant |
Note: All seed accounts use a default password that must be changed on first login.
Document version: 1.0 — July 2026