Role-Specific Training Guides — Lofty Golden Oil ERP
Version: 2.0
Last Updated: July 2026
Audience: All end users by role
Table of Contents
1. Production Team Training
User: Samuel Adebayo
Email: samuel@loftygoldenoil.com
Password: password123
Role: Production Manager
System Access
| Module | Access Level |
|---|---|
| Dashboard | View only |
| Inventory | Full (add/edit products, adjustments, monitoring) |
| Production | Full (create runs, view history) |
| Requisitions | Create and view own requests |
| All other modules | No access |
First-Day Checklist
- Log in successfully at https://loftygoldenoil.com
- Review the Dashboard and understand all KPIs
- Navigate to Inventory and review all stock levels
- Check which items are below safety stock
- Review the last 3 production runs
- Familiarize yourself with the sidebar navigation
Daily Workflows
Morning Routine (Start of Day)
- Log in and check the Dashboard
- Review stock levels — note any critical items
- Check alerts — especially low stock warnings
- Plan production based on inventory and demand
During the Day
- Create production runs as needed
- Monitor inventory levels throughout the day
- Record stock adjustments if physical count differs
- Raise requisitions for materials that need restocking
End of Day
- Verify production records are complete
- Check final inventory levels
- Log out of the system
Weekly Tasks
- Physical stock count for all raw materials
- Compare physical count to system count
- Record any discrepancies as adjustments
- Review production costs vs. targets
- Check supplier delivery schedules
Monthly Tasks
- Full inventory reconciliation
- Review production yield % trends
- Analyze cost per keg over time
- Report production metrics to admin
- Review safety stock levels and suggest adjustments
Common Tasks: Step-by-Step
Task 1: Create a Production Run
- Click Production in the sidebar
- Click "New Production Run"
- Enter Kegs to Produce:
150 - Verify Liters per Keg:
25(default) - Enter Overhead per Keg:
1850(or current rate) - Review the BOM summary showing materials to be consumed:
- Liquid Oil: 3,750 liters (150 × 25)
- Empty Kegs: 150 units
- Stickers: 150 units
- Leeds/Lids: 150 units
- Click "Start Production"
- Verify success message and note the production run ID (e.g., PR-3)
- Check inventory — raw materials should be reduced, finished kegs should increase
Task 2: Record a Stock Adjustment
- Click Inventory in the sidebar
- Click "Stock Adjustments" tab
- Click "New Adjustment"
- Select the material (e.g., Liquid Oil)
- Enter the physical count (what you actually counted)
- The system shows:
- System count (what the system thinks you have)
- Variance (difference)
- Value of variance (₦)
- Select type:
damage/loss/theft/reconciliation - Enter a detailed reason: e.g., "50 liters leaked from storage tank B during transfer"
- Click "Save"
- The inventory count updates immediately
Task 3: Check for Low Stock Items
- Click Inventory in the sidebar
- Look for items with red or yellow indicators
- Red = Critical (stock < 50% of safety stock)
- Yellow = Warning (stock below safety stock)
- For items below safety stock, raise a requisition (see Requisition Workflow below)
Task 4: Raise a Material Requisition
- Click Requisitions in the sidebar
- Click "New Requisition"
- Select the material that needs restocking
- Enter the quantity needed
- Enter a reason explaining why it's needed
- Click "Submit"
- The requisition enters the approval workflow
Tips and Best Practices
- Always check inventory before production — Ensure materials are available
- Record adjustments immediately — Don't wait until end of day
- Use detailed reasons — Future you will thank present you
- Monitor yield % — If consistently below 100%, investigate waste
- Raise requisitions early — Don't wait until stock is zero
- Review production costs — Track if cost per keg is increasing
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| "Insufficient [material]" error | Not enough raw materials | Raise a requisition, wait for restocking |
| "Insufficient funds" error | Cash position too low for overhead | Check with accountant, wait for sales revenue |
| Stock doesn't match physical count | Unrecorded adjustments | Record a stock adjustment |
| Production cost seems high | Overhead rate too high | Discuss with admin/accountant |
2. Sales Team Training
User: Fatima Osun
Email: fatima@loftygoldenoil.com
Password: password123
Role: Sales Representative
System Access
| Module | Access Level |
|---|---|
| Dashboard | View only |
| Customers | Full (add/edit customers) |
| Sales | Full (create sales, record payments) |
| Statements | Generate and send statements |
| Requisitions | Create and view own requests |
| All other modules | No access |
First-Day Checklist
- Log in successfully at https://loftygoldenoil.com
- Review the Dashboard — focus on sales metrics
- Navigate to Customers — review the customer list
- Check the current finished keg inventory
- Review recent sales history
- Familiarize yourself with the Sales creation form
Daily Workflows
Morning Routine
- Log in and check the Dashboard
- Review finished goods stock — how many kegs available?
- Check AR aging — any overdue invoices to follow up on?
- Plan the day's sales based on customer demand
During the Day
- Record sales as they happen
- Follow up on overdue invoices — call customers
- Add new customers as needed
- Send statements to customers who request them
End of Day
- Verify all sales are recorded
- Check AR status — any new credit sales?
- Log out of the system
Weekly Tasks
- Review total sales for the week
- Follow up on all overdue AR invoices
- Update customer information as needed
- Check finished goods inventory level
- Report sales summary to admin
Monthly Tasks
- Generate and send monthly statements to all credit customers
- Review AR aging report — escalate critical items
- Analyze sales trends (which customers buy the most?)
- Review pricing and suggest adjustments
- Report monthly sales figures to admin
Common Tasks: Step-by-Step
Task 1: Create a Cash/Bank Transfer Sale
- Click Sales in the sidebar
- Click "New Sale"
- Select the customer from the dropdown
- If new customer, click "Add Customer" first
- Enter quantity:
120(number of kegs) - Enter unit price:
35000(₦35,000 per keg) - Enter discount (if applicable):
0 - Select payment method:
Bank Transfer - Enter transaction reference:
TXN-8841 - Enter narration:
Transfer confirmed same day - Click "Record Sale"
- Success! Note the sale ID (e.g., S-4)
- Print receipt if needed
Task 2: Create a Credit Sale
- Follow steps 1-6 above
- Select payment method:
Credit (On Account) - Transaction reference and narration are optional
- Click "Record Sale"
- An AR invoice is automatically created with a 30-day due date
- The customer will receive an invoice email (if configured)
Task 3: Record an AR Payment
- Click Sales → AR (or Accounting → AR)
- Find the invoice from the customer
- Click "Record Payment"
- Enter the payment amount
- Select method:
Bank Transfer/POS Card Payment/Cash - Enter reference number (for bank transfers)
- Click "Save"
- Invoice status updates to
partialorsettled
Task 4: Add a New Customer
- Click Customers in the sidebar
- Click "Add Customer"
- Enter name:
Kwara Agro Distributors - Enter phone:
+234 806 789 0123 - Enter address:
7 Ahmadu Bello Way, Ilorin - Select type:
wholesale - Click "Save"
- Customer is now available in the sales dropdown
Task 5: Generate and Send a Customer Statement
- Click Statements in the sidebar
- Select the customer from the dropdown
- Set date range (defaults to current month)
- Click "Generate Statement"
- Review the statement:
- Opening balance
- Sales (debits)
- Payments (credits)
- Closing balance
- Click "Send via Email" (if email is configured)
- Or print/PDF for manual delivery
Tips and Best Practices
- Always check stock before selling — Don't promise what you don't have
- Record sales immediately — Don't batch at end of day
- Get transaction references — Always collect bank transfer references
- Follow up on credit sales — Check AR aging weekly
- Keep customer info updated — Phone numbers, addresses change
- Send statements promptly — Monthly, on the 1st
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| "Insufficient finished kegs" | Not enough stock | Check inventory, wait for production |
| "Transaction reference required" | Bank Transfer selected | Collect the reference number |
| Customer not in dropdown | New customer | Add customer first |
| Can't delete customer | Has sales records | Keep customer, mark as inactive |
| "Discount exceeds subtotal" | Too much discount | Reduce discount amount |
Thermal Receipt Printing Setup
- Install a thermal receipt printer (80mm paper width)
- Connect via USB to your computer
- Install printer drivers (Windows/Mac)
- When printing a receipt:
- Click "Print Receipt" after recording a sale
- Press Ctrl+P (Cmd+P on Mac)
- Select your thermal printer
- Set paper size to "80mm x 297mm" or "Roll Paper 80mm"
- Disable headers and footers in print settings
- The receipt auto-formats for thermal paper
3. Accountant Training
User: Ngozi Okoro
Email: ngozi@loftygoldenoil.com
Password: password123
Role: Accountant / Auditor
System Access
| Module | Access Level |
|---|---|
| Dashboard | View only |
| Expenses | Full (create, categorize, view) |
| Accounting | Full (GL, reports, compliance) |
| Purchases | Full (record procurement) |
| Suppliers | Full (add/edit suppliers) |
| Requisitions | Review and approve |
| All other modules | View only |
First-Day Checklist
- Log in successfully at https://loftygoldenoil.com
- Review the Dashboard — focus on financial metrics
- Navigate to Accounting — review Trial Balance
- Check the P&L statement
- Review the Balance Sheet
- Familiarize yourself with the Expense module
Daily Workflows
Morning Routine
- Log in and check the Dashboard
- Review cash position — how much available?
- Check AR aging — any overdue payments?
- Review any new expenses recorded yesterday
During the Day
- Record expenses as invoices come in
- Review purchase records for accuracy
- Check accounting reports as needed
- Approve/reject requisitions from other team members
End of Day
- Verify all expenses are properly categorized
- Check Trial Balance — still balanced?
- Log out of the system
Weekly Tasks
- Run Trial Balance — verify it balances
- Review P&L — check profitability
- Check AR aging — follow up on overdue items
- Review expenses by category
- Reconcile bank statements (if applicable)
Monthly Tasks
- Generate full P&L statement for the month
- Generate Balance Sheet
- Run AR aging report — escalate critical items
- Review all expenses for proper categorization
- Generate GL vouchers report
- Report financial summary to admin/owner
- Archive monthly reports
Common Tasks: Step-by-Step
Task 1: Create an Expense
- Click Expenses in the sidebar
- Click "New Expense"
- Select category:
Fuel / Diesel - Enter amount:
120000 - Enter description:
Diesel for factory generator — May 2026 - Click "Save"
- Note the expense ID (e.g., E-5)
- The cash position is reduced by ₦120,000
Task 2: Record a Purchase
- Click Purchases (or navigate via Accounting)
- Click "New Purchase"
- Select material:
liquid_oil - Enter quantity:
5000 - Enter unit cost:
950 - Select supplier:
Ogbomoso Oil Mill - Enter date loading:
2026-07-20 - Enter date offload:
2026-07-22 - Enter waybill no:
WB-2001 - Enter truck no:
KRD-402-XA - Click "Save"
- Inventory count and weighted average cost are automatically updated
Task 3: View the Trial Balance
- Click Accounting in the sidebar
- Click "Trial Balance"
- Review the accounts:
Debits (Assets + Expenses):
| Account | Amount |
|---|---|
| Cash & Cash Equivalents | Calculated |
| Inventory Valuation | Calculated |
| Accounts Receivable | Calculated |
| Cost of Goods Sold | Calculated |
| Operating Expenses | Calculated |
| Inventory Adjustments | Calculated |
Credits (Revenue + Equity):
| Account | Amount |
|---|---|
| Sales Revenue | Calculated |
| Owner's Capital & Reserves | Calculated |
- Verify: Total Debits should equal Total Credits
- Difference should be 0 (balanced)
Task 4: Generate a P&L Statement
- Click Accounting → Financial Reports
- Set date range (optional — defaults to all-time)
- Review:
Revenue: ₦X,XXX,XXX
- Cost of Goods Sold: ₦X,XXX,XXX
= Gross Profit: ₦X,XXX,XXX
- Operating Expenses: ₦X,XXX,XXX
- Adjustment Expense: ₦X,XXX,XXX
= Net Income: ₦X,XXX,XXX
- Export if needed (PDF/CSV)
Task 5: View the Balance Sheet
- Click Accounting → Financial Reports
- Scroll to Balance Sheet section
- Review:
ASSETS:
Cash & Cash Equivalents: ₦X,XXX,XXX
Inventory Valuation: ₦X,XXX,XXX
Accounts Receivable: ₦X,XXX,XXX
Total Assets: ₦X,XXX,XXX
EQUITY:
Owner's Capital: ₦X,XXX,XXX
Total Equity: ₦X,XXX,XXX
Total Assets should = Total Equity
Task 6: View the General Ledger
- Click Accounting → General Ledger (or Ledger Book)
- View all vouchers in chronological order
- Each voucher shows:
- Date and transaction ID
- Type (purchase, production, sale, expense, etc.)
- Debit and credit legs with account names and descriptions
Task 7: Review AR Aging
- Click Accounting → AR Aging
- View outstanding invoices grouped by age:
| Bucket | Description | Amount |
|---|---|---|
| Current | 0-30 days | ₦X,XXX |
| Overdue | 31-60 days | ₦X,XXX |
| Critical | 61-90 days | ₦X,XXX |
| Bad Debt | 90+ days | ₦X,XXX |
- Action: Contact customers with overdue/critical invoices
Task 8: Approve a Requisition
- Click Requisitions in the sidebar
- Find requisitions with status
openor pending your approval - Review the request details:
- Material requested
- Quantity
- Reason
- Who requested it
- Click "Approve" or "Reject"
- Add notes if rejecting (explain why)
Tips and Best Practices
- Record expenses daily — Don't let invoices pile up
- Categorize accurately — Proper categories = better reports
- Check Trial Balance weekly — Catch imbalances early
- Review AR aging — Follow up before invoices become bad debt
- Keep purchase records complete — Waybill numbers, truck numbers, dates
- Verify cash position before approving large expenses
- Back up the database before making major changes
- Use the audit log to investigate discrepancies
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Trial Balance doesn't balance | Data entry error | Review recent transactions, check GL vouchers |
| Cash position seems wrong | Missing transaction | Review all cash movements in the audit log |
| "Insufficient funds" error | Cash position too low | Check cash calculation, wait for revenue |
| Can't delete supplier | Has purchase records | Keep supplier, cannot delete |
| P&L shows unexpected loss | High COGS or expenses | Review COGS calculation and expense categories |
4. Requisition Workflow Training
Overview
The requisition system manages material restocking requests through a multi-level approval chain.
Approval Chain
Requester (Any User)
│
▼
Supervisor Review (Production/Sales/Accountant)
│
▼
Manager Review (Senior Staff)
│
▼
Accounts Review (Accountant verifies budget)
│
▼
MD Final Approval (Managing Director)
│
▼
Fulfilled (Procurement team orders materials)
Note: The current system implements a simplified 2-level approval (Requester → Approver). The full 4-level chain is the intended workflow for future enhancement.
Status Flow
open → approved → fulfilled
open → rejected
| Status | Meaning |
|---|---|
open | Request submitted, awaiting review |
approved | Approved for procurement |
fulfilled | Materials ordered/received |
rejected | Request denied |
Creating a Requisition
- Click Requisitions in the sidebar
- Click "New Requisition"
- Fill in the form:
| Field | Description | Example |
|---|---|---|
| Material | Select from inventory items | liquid_oil |
| Quantity | How many units needed | 5000 |
| Reason | Why it's needed (detailed) | "Liquid oil stock at 3,200L, below safety stock of 3,000L. Production scheduled for next week requires 7,500L." |
- Click "Submit"
- The requisition enters the approval workflow
Supervisor Review
Who reviews: The supervisor or manager for the requesting department.
- Open the Requisitions page
- Find requisitions with status
open - Review the request:
- Is the material needed?
- Is the quantity reasonable?
- Is the reason valid?
- Click "Approve" to move forward
- Click "Reject" if not appropriate (add notes explaining why)
Manager Review
Who reviews: Senior management.
- Open requisitions with supervisor approval
- Review the request with supervisor's context
- Consider budget impact and priority
- Click "Approve" or "Reject"
Accounts Review
Who reviews: Accountant (Ngozi).
- Open requisitions with manager approval
- Verify budget availability:
- Check current cash position
- Review upcoming expenses
- Ensure funds are available
- Click "Approve" if budget allows
- Click "Reject" if insufficient funds
MD Final Approval
Who reviews: Managing Director (Alhaji Ganiyu / Admin).
- Open requisitions with all prior approvals
- Final review and decision
- Click "Approve" to authorize procurement
- Status changes to
approved
Fulfillment
Once approved:
- Procurement team orders the materials
- When materials arrive, update status to
fulfilled - Inventory is updated when the purchase is recorded
Email Notifications
The system sends email notifications at key stages:
| Event | Notification |
|---|---|
| Requisition created | Email to approvers |
| Requisition approved | Email to requester |
| Requisition rejected | Email to requester with reason |
| Requisition fulfilled | Email to requester |
Rejection Handling
When a requisition is rejected:
- The requester receives a notification
- The rejection reason is recorded
- The requester can:
- Submit a new requisition with adjusted details
- Escalate to a higher authority
- Wait and resubmit later
Urgent Priority Handling
For urgent requests:
- Create the requisition with detailed reason including "URGENT" tag
- Contact the approver directly (phone/in-person)
- Follow up to ensure prompt review
- The system tracks all approvals in the audit log
Requisition Training Exercises
Exercise 1: Submit a Requisition
- Log in as Samuel (Production)
- Navigate to Requisitions
- Create a requisition for
liquid_oil, quantity5000 - Reason: "Stock below safety level. Production needs 7,500L next week."
- Submit the requisition
- Verify it appears in the list with status
open
Exercise 2: Approve a Requisition
- Log in as Ngozi (Accountant)
- Navigate to Requisitions
- Find the requisition submitted in Exercise 1
- Review the details
- Click "Approve"
- Verify the status changed to
approved
Exercise 3: Reject a Requisition
- Log in as any approver
- Create a test requisition
- Have another user reject it with reason: "Budget insufficient this month"
- Verify the rejection is recorded
- Check the audit log for the rejection entry
Quick Reference: All Roles
Login Credentials
| Role | Password | |
|---|---|---|
| Admin | admin@loftygoldenoil.com | admin123 |
| Production | samuel@loftygoldenoil.com | password123 |
| Sales | fatima@loftygoldenoil.com | password123 |
| Accountant | ngozi@loftygoldenoil.com | password123 |
Daily Checklist Summary
| Task | Admin | Production | Sales | Accountant |
|---|---|---|---|---|
| Check Dashboard | ✓ | ✓ | ✓ | ✓ |
| Review inventory | ✓ | ✓ | ✓ | ✓ |
| Create production runs | — | ✓ | — | — |
| Record sales | — | — | ✓ | — |
| Follow up on AR | — | — | ✓ | ✓ |
| Record expenses | ✓ | — | — | ✓ |
| Review Trial Balance | ✓ | — | — | ✓ |
| Check audit log | ✓ | — | — | — |
| Approve requisitions | ✓ | — | — | ✓ |
Key Phone Numbers
| User | Role | Contact |
|---|---|---|
| Alhaji Ganiyu | Admin/Owner | (Contact via company) |
| Samuel Adebayo | Production | (Contact via company) |
| Fatima Osun | Sales | (Contact via company) |
| Ngozi Okoro | Accountant | (Contact via company) |
Support
- System URL: https://loftygoldenoil.com
- Staging (testing): http://170.9.14.60:8443
- Health Check: https://loftygoldenoil.com/api/health
- GitHub Issues: https://github.com/abono200/lofty-golden-oil-erp/issues