System Settings Guide
Product: Lofty Golden Oil ERP
URL: https://loftygoldenoil.com
Applicable Roles: Admin
Overview
System Settings provides centralized configuration for the entire ERP platform. All settings are managed by administrators and stored in the settings table. Changes here affect all users across the system.
Access: Navigate to Settings in the left sidebar. Only users with the Admin role can access this module.
Company Information
Configure your organization's details, which appear on invoices, reports, and communications.
Setting Company Information
- Click Settings in the sidebar.
- Select the Company Information tab.
- Fill in the following fields:
| Field | Description | Current Value |
|---|---|---|
| Company Name | Official registered name | Lofty Golden Oil Ltd |
| Logo | Company logo image (JPG/PNG, recommended 200×200px) | Upload via file picker |
| Address | Registered business address | Enter full address |
| Phone | Primary contact phone number | Enter phone number |
| Primary business email | Enter email address | |
| Website | Company website URL | https://loftygoldenoil.com |
| Tax ID / RC Number | Corporate Affairs Commission registration number | Enter RC number |
- Click Save to apply changes.
- Updated information takes effect immediately on new invoices and reports.
Logo Upload
- Click the Upload Logo area or drag and drop an image file.
- Supported formats: JPG, PNG.
- Recommended dimensions: 200×200 pixels.
- Maximum file size: 5 MB.
- The logo appears on generated invoices, statements, and PDF exports.
Tax Configuration
Configure tax rates that apply to invoices and financial transactions.
Setting Tax Rate
- Navigate to Settings > Tax Configuration tab.
- The current VAT rate is displayed.
| Setting | Description | Current Value |
|---|---|---|
| VAT Rate | Value Added Tax percentage | 7.5% |
- To modify the rate:
- Enter the new percentage in the VAT Rate field.
- Click Save.
- The new rate applies to all future invoices generated after the change.
- Existing invoices retain the rate that was active when they were created.
Nigeria VAT Context
- The standard VAT rate in Nigeria is 7.5% (as regulated by the Federal Inland Revenue Service — FIRS).
- VAT is applied to taxable goods and services.
- Verify with your tax advisor which transactions are VAT-exempt.
- The system calculates VAT automatically on invoices based on this configured rate.
Low Stock Thresholds
Configure alerts that notify administrators when inventory levels fall below safe minimums.
Global Default Threshold
- Navigate to Settings > Low Stock Thresholds tab.
- Set the Global Default Threshold — this applies to all products unless overridden.
| Setting | Description |
|---|---|
| Global Default Threshold | Minimum quantity before a low stock alert is triggered |
- Enter the default threshold value (e.g., 50 units).
- Click Save.
Per-Product Overrides
- In the same tab, locate the Product Overrides section.
- Click + Add Override.
- Select the product from the dropdown.
- Enter a custom threshold for that product.
- Click Save.
Priority: Per-product overrides take precedence over the global default.
Low Stock Alerts
When inventory falls below the configured threshold:
- Dashboard Alert: A warning notification appears on the dashboard for Admin and Production users.
- Email Notification: If email notifications are enabled, an alert email is sent to designated recipients.
- Inventory List: The product is flagged with a low stock indicator in the inventory table.
Email Configuration
Configure the email service used for all system notifications, welcome emails, and alerts.
Resend API Configuration
The system uses Resend as its email service provider.
| Setting | Description | Current Value |
|---|---|---|
| Resend API Key | API key for authentication with Resend | Enter your Resend API key |
| From Address | Sender email address for all outgoing emails | noreply@loftygoldenoil.com |
| From Name | Display name for outgoing emails | Lofty Golden Oil ERP |
Setting Up Resend
- Navigate to Settings > Email Configuration tab.
- Enter your Resend API Key (obtain from https://resend.com).
- Verify the From Address matches your verified domain in Resend.
- Enter the From Name (e.g., "Lofty Golden Oil ERP").
- Click Save.
- Click Send Test Email to verify the configuration works.
Email Templates
The system includes branded HTML email templates for the following communications:
| Template | Trigger | Recipient |
|---|---|---|
| Welcome Email | New user created | New user |
| Password Reset | Forgot password request | Requesting user |
| Invoice | Invoice generated | Customer |
| Statement | Monthly statement sent | Customer |
| Monthly Report | End of month report | Admin/Accountant |
| Low Stock Alert | Inventory below threshold | Admin/Production |
| Requisition Alert | New requisition submitted | Approver at next level |
Customizing Templates
- Navigate to Settings > Email Configuration > Templates.
- Select the template you wish to modify.
- Edit the HTML content using the built-in editor.
- Use placeholders for dynamic content:
{{user_name}}— Recipient's name{{company_name}}— Company name from settings{{amount}}— Transaction amount{{date}}— Transaction date{{reference}}— Reference number
- Click Preview to see how the email will look.
- Click Save to apply changes.
Notification Settings
Control which events trigger email notifications and whether notifications are enabled system-wide.
Enabling/Disabling Notifications
- Navigate to Settings > Notification Settings tab.
- Toggle the Enable Email Notifications switch to turn all notifications on or off.
- When disabled, no emails are sent regardless of individual event settings.
Event-Specific Notifications
Configure which events trigger email notifications:
| Event | Description | Default |
|---|---|---|
| New User Created | Welcome email sent to new user | Enabled |
| Password Reset Requested | Password reset link sent | Enabled |
| Invoice Generated | Invoice sent to customer | Enabled |
| Statement Sent | Monthly statement sent to customer | Enabled |
| Low Stock Alert | Alert when inventory is low | Enabled |
| Requisition Approval Needed | Alert to next-level approver | Enabled |
- Toggle each event on or off based on your preferences.
- Click Save to apply changes.
Notification Best Practices
- Keep Password Reset notifications enabled for security.
- Keep Requisition Approval notifications enabled for workflow efficiency.
- Consider disabling Low Stock Alerts via email if the dashboard alerts are sufficient.
- Review notification settings quarterly to ensure they align with business needs.
Display Settings
Configure the visual and formatting preferences for the ERP interface.
Display Configuration
| Setting | Description | Options |
|---|---|---|
| Default Theme | Interface color scheme | Dark / Light |
| Default Currency | Currency displayed throughout the system | ₦ NGN (Nigerian Naira) |
| Date Format | How dates are displayed | DD/MM/YYYY (Nigerian standard) |
| Items Per Page | Number of rows in DataTables | 10, 25, 50, 100 (default: 10) |
Changing Display Settings
- Navigate to Settings > Display Settings tab.
- Select your preferred options from each dropdown.
- Click Save.
- Changes take effect immediately for your account.
- These settings apply per-user — each admin can customize their own display.
Security Settings
Configure authentication and session security parameters.
Security Configuration
| Setting | Description | Current Value |
|---|---|---|
| JWT Token Expiry | Duration before a login session expires | 24 hours |
| Session Timeout | Idle timeout before automatic logout | Configurable (minutes) |
| Password Minimum Length | Minimum characters required for passwords | 6 characters |
Configuring Security Settings
- Navigate to Settings > Security Settings tab.
- Modify the desired settings:
JWT Token Expiry:
- Set how long a login session remains valid.
- Shorter durations (e.g., 8 hours) improve security but require more frequent logins.
- Longer durations (e.g., 24 hours) improve convenience but increase risk.
- Recommended: 24 hours for standard use, 8 hours for high-security environments.
Session Timeout:
- Set how long an inactive session remains open.
- After the timeout, the user must log in again.
- Recommended: 30 minutes for shared workstations, 60 minutes for private offices.
Password Minimum Length:
- Set the minimum number of characters required for passwords.
- The system enforces this minimum for all new passwords and password resets.
- Recommended: 8 characters for enhanced security.
- Current: 6 characters.
- Click Save to apply changes.
Password Storage
- All passwords are hashed using bcrypt before storage.
- Plain-text passwords are never stored in the database.
- The system uses salted hashes to prevent rainbow table attacks.
- Even administrators cannot view user passwords.
Backup Configuration
Configure automatic database backups to protect against data loss.
Backup Settings
| Setting | Description |
|---|---|
| Backup Schedule | How often backups are performed (Daily, Weekly, Custom) |
| Backup Time | Time of day when backups run |
| Backup Retention | How long backup files are kept (e.g., 30 days, 90 days) |
| Notify on Failure | Send email alert if a backup fails |
Configuring Backups
- Navigate to Settings > Backup Configuration tab.
- Set the Backup Schedule:
- Daily: Recommended for production systems. Backs up every night.
- Weekly: Suitable for low-volume systems. Backs up once per week.
- Custom: Specify a custom cron schedule for advanced users.
- Set the Backup Time (e.g., 2:00 AM — during off-peak hours).
- Set the Backup Retention period (e.g., 30 days).
- Toggle Notify on Failure to receive email alerts if a backup fails.
- Click Save.
Backup Best Practices
- Always enable backups. Data loss can be catastrophic for a distribution business.
- Test restores periodically. A backup is only useful if it can be restored.
- Store backups offsite. Keep copies in a separate location from the primary server.
- Monitor backup health. Enable failure notifications and check logs regularly.
- Retain financial data backups for at least 7 years for compliance.
System Information
View technical details about the ERP installation.
System Details
| Field | Description | Current Value |
|---|---|---|
| Version | ERP application version | 3.0.0 |
| Node.js Version | Backend runtime version | Check via Settings |
| MySQL Version | Database version | 8.0 |
| Uptime | Time since last server restart | Displayed in real-time |
Viewing System Information
- Navigate to Settings > System Information tab.
- Review the displayed information.
- This information is useful for:
- Troubleshooting with technical support
- Verifying you are running the latest version
- Checking system health (uptime)
Settings Summary
| Category | Key Settings | Impact |
|---|---|---|
| Company Information | Name, Logo, Address, Tax ID | Invoices, reports, communications |
| Tax Configuration | VAT Rate (7.5%) | Invoice calculations |
| Low Stock Thresholds | Global default, per-product overrides | Dashboard alerts, email notifications |
| Email Configuration | Resend API Key, From Address, Templates | All outgoing emails |
| Notification Settings | Event toggles | Email notification triggers |
| Display Settings | Theme, Currency, Date format, Pagination | UI appearance per user |
| Security Settings | JWT expiry, Session timeout, Password length | Authentication security |
| Backup Configuration | Schedule, Retention, Failure alerts | Data protection |
| System Information | Version, Node.js, MySQL, Uptime | Technical reference |
Role Access Summary
| Feature | Admin | Other Roles |
|---|---|---|
| View Settings | Yes | No |
| Edit Company Information | Yes | No |
| Edit Tax Configuration | Yes | No |
| Edit Low Stock Thresholds | Yes | No |
| Edit Email Configuration | Yes | No |
| Edit Notification Settings | Yes | No |
| Edit Display Settings | Yes (own account) | No |
| Edit Security Settings | Yes | No |
| Edit Backup Configuration | Yes | No |
| View System Information | Yes | No |
Troubleshooting
| Issue | Solution |
|---|---|
| Cannot see Settings in sidebar | Verify your role is Admin |
| Emails not being sent | Check Resend API key is valid; verify From Address is verified in Resend |
| Welcome email not received by new user | Check spam folder; verify Resend configuration; test with Send Test Email |
| Low stock alerts not appearing | Verify threshold is set; check inventory quantities; enable notifications |
| Backup not running | Check backup schedule; verify server cron jobs are active |
| Tax rate not applying to invoices | Verify rate is saved; new rate applies to future invoices only |
| Changes not taking effect | Some settings require a page refresh; clear browser cache if needed |