Activity / Audit Log Guide
Product: Lofty Golden Oil ERP
URL: https://loftygoldenoil.com
Applicable Roles: Admin (view access); System logs all user actions
Overview
The Activity / Audit Log is a comprehensive audit trail that records every significant action performed within the ERP system. It provides a chronological record of who did what, when, and from where. This is essential for:
- Compliance: Meeting regulatory requirements for financial record-keeping.
- Security: Detecting unauthorized access or suspicious activity.
- Accountability: Tracking user actions for internal governance.
- Forensics: Investigating incidents or data discrepancies.
All actions are stored in the audit_log table with full metadata including timestamps, user identification, action type, affected entity, details, and IP address.
Access: Navigate to Activity Log in the left sidebar. Only users with the Admin role can view the audit log. However, the system logs actions from all users regardless of their role.
Viewing the Activity Log
- Click Activity Log in the left sidebar.
- The Activity Log page loads with a DataTable displaying all recorded actions.
Table Columns
| Column | Description |
|---|---|
| Date/Time | Timestamp of when the action occurred (format: DD/MM/YYYY HH:MM:SS) |
| User | The email or name of the user who performed the action |
| Action | The type of action performed (CREATE, UPDATE, DELETE, LOGIN, APPROVE, REJECT) |
| Entity | The type of record affected (User, Inventory, Sale, Invoice, Payment, Expense, etc.) |
| Details | Description of what changed — includes old and new values where applicable |
| IP Address | The IP address from which the action was performed |
Reading the Table
Each row represents a single auditable event. The most recent actions appear at the top of the table. Scroll down to view older entries, or use pagination controls at the bottom to navigate through large datasets.
Example Entries
| Date/Time | User | Action | Entity | Details | IP Address |
|---|---|---|---|---|---|
| 26/06/2026 09:15:23 | admin@loftygoldenoil.com | CREATE | User | Created user "Adebayo Johnson" with role Sales | 197.210.x.x |
| 26/06/2026 10:02:45 | accountant@loftygoldenoil.com | UPDATE | Expense | Updated expense #1042: Amount ₦35,000 → ₦42,000 | 197.210.x.x |
| 26/06/2026 11:30:00 | sales@loftygoldenoil.com | LOGIN | Session | User logged in successfully | 197.210.x.x |
| 26/06/2026 14:22:10 | supervisor@loftygoldenoil.com | APPROVE | Requisition | Approved requisition REQ-2026-089 | 197.210.x.x |
Date Range Filtering
The Activity Log can be filtered by date range to narrow down entries to a specific period.
Setting a Date Range
- Navigate to Activity Log in the sidebar.
- Locate the Date Range filter above the table.
- Set the Start Date to view entries from that date onward.
- Set the End Date to view entries up to that date.
- Leave either field blank for an open-ended range.
- The table updates automatically to display only entries within the selected range.
Common Filtering Scenarios
| Scenario | Start Date | End Date |
|---|---|---|
| Today's activity | Today's date | Today's date |
| This week | Monday of this week | Today |
| This month | 1st of current month | Today |
| Specific incident | Day before incident | Day after incident |
| Last quarter | First day of last quarter | Last day of last quarter |
Combining Filters
- Use date range filtering in combination with the search bar to find specific entries.
- Search by user name to see all actions by a particular person within a date range.
- Search by entity type to see all actions affecting a specific module.
Understanding Actions
The system records the following action types:
CREATE
- Meaning: A new record was added to the database.
- Examples:
- Creating a new user account
- Adding a new inventory item
- Recording a new sale
- Creating a new expense
- Submitting a new requisition
UPDATE
- Meaning: An existing record was modified.
- Examples:
- Changing a user's role or status
- Updating inventory quantities
- Editing an expense amount
- Modifying a customer's contact information
- The details column shows the old value → new value
DELETE
- Meaning: A record was permanently removed from the database.
- Examples:
- Deleting a user account
- Removing an inventory item
- Cancelling a sale
- Note: Deletions are irreversible. The audit log preserves what was deleted.
LOGIN
- Meaning: A user authenticated and accessed the system.
- Examples:
- Successful login: "User logged in successfully"
- Failed login attempt: "Invalid password attempt" (if recorded)
- Session expiry: "Session expired"
APPROVE
- Meaning: A requisition was approved at a specific level in the workflow.
- Examples:
- Supervisor approves a requester's requisition
- Manager approves a supervisor's recommendation
- Accounts approves for financial review
- MD grants final approval
REJECT
- Meaning: A requisition was denied at a specific level in the workflow.
- Examples:
- Supervisor rejects a requisition with reason
- Manager denies budget approval
- Accounts flags financial concerns
Understanding Entities
The Entity column identifies the type of record that was affected.
| Entity | Description |
|---|---|
| User | User account creation, modification, or deletion |
| Inventory | Inventory item additions, updates, or removals |
| Sale | Sales transaction records |
| Invoice | Accounts receivable invoices |
| Payment | Payment records against invoices |
| Expense | Expense records (creation, approval, rejection) |
| Production Run | Production batch records |
| Purchase | Purchase order records |
| Requisition | Internal requisition requests and approvals |
| Customer | Customer profile records |
| Supplier | Supplier profile records |
| Settings | System configuration changes |
| Journal Entry | Manual journal entry creation or reversal |
| Voucher | Financial voucher records |
Reading Details
The Details column provides specific information about what changed during the action.
For CREATE Actions
The details typically show the key fields of the newly created record:
Created user "Adebayo Johnson" with role Sales, email adebayo@loftygoldenoil.com
For UPDATE Actions
The details show the old and new values:
Updated expense #1042: Amount ₦35,000 → ₦42,000, Category: Utilities → Transportation
Changed user status: Active → Inactive
For DELETE Actions
The details show what was removed:
Deleted inventory item "Palm Oil 5L" (ID: 45)
For LOGIN Actions
User logged in successfully from IP 197.210.x.x
For APPROVE/REJECT Actions
Approved requisition REQ-2026-089 at Supervisor level
Rejected requisition REQ-2026-085 at Manager level — Reason: Budget exceeded
Using Audit Log for Security
The audit log is a critical security tool. Regular review helps protect the integrity of your financial data.
Detecting Unauthorized Access
- Review the LOGIN entries regularly.
- Look for:
- Logins at unusual hours (e.g., 2:00 AM)
- Logins from unexpected IP addresses
- Multiple failed login attempts
- Logins from locations inconsistent with the user's role
Tracking Data Changes
- Filter by UPDATE actions on sensitive entities (User, Expense, Sale, Invoice).
- Review the Details column for unexpected changes.
- Verify that changes were authorized by the appropriate personnel.
Identifying Suspicious Patterns
Watch for these red flags:
| Pattern | Potential Issue |
|---|---|
| Multiple DELETE actions in short succession | Possible data destruction |
| User modifying their own role or status | Privilege escalation attempt |
| Changes to financial records outside business hours | Potential fraud |
| Failed login attempts followed by successful login | Possible credential compromise |
| Bulk operations on sensitive data | Unauthorized bulk modification |
Recommended Security Reviews
| Frequency | Action |
|---|---|
| Daily | Scan for failed logins and unusual activity |
| Weekly | Review all user management changes (create, edit, delete) |
| Monthly | Full audit log review for the month |
| Quarterly | Deep analysis of all financial entity changes |
Using Audit Log for Compliance
For Nigerian businesses and international standards, maintaining accurate audit trails is often a regulatory requirement.
Regulatory Compliance
- Financial Records: All financial transactions (sales, purchases, expenses, invoices) are logged with timestamps and user identification.
- Data Integrity: The audit log is append-only — existing entries cannot be modified or deleted.
- Access Control: Role-based access changes are logged, demonstrating appropriate segregation of duties.
- Approval Trail: Requisition approvals are logged with the approver's identity and timestamp.
Tracking Financial Transactions
- Filter by financial entities: Sale, Invoice, Payment, Expense, Journal Entry, Voucher.
- Review all changes to ensure proper authorization.
- Export the filtered data for audit documentation.
Monitoring Approvals
- Filter by APPROVE and REJECT actions.
- Verify that requisitions followed the proper workflow (Requester → Supervisor → Manager → Accounts → MD).
- Ensure no single user approved their own requisition.
Exporting Audit Data
- Navigate to Activity Log in the sidebar.
- Apply any desired filters (date range, user, action type).
- Click the Export button.
- A CSV file is generated containing all visible audit log entries.
- Save the file for:
- External auditing by your accounting firm
- Regulatory compliance submissions
- Internal investigation records
- Long-term archival
Export File Format
The CSV export includes all table columns:
- Date/Time
- User
- Action
- Entity
- Entity ID
- Details
- IP Address
Open the file in Microsoft Excel, Google Sheets, or any spreadsheet application for analysis.
Best Practices
Review Regularly
- Make audit log review a routine task (daily for quick scans, weekly for thorough reviews).
- Assign a specific person or team responsible for audit log monitoring.
- Document your review process and findings.
Set Up Alerts for Critical Actions
If the system supports webhook or email notifications for critical events, configure alerts for:
- User creation or deletion
- Role changes
- Large expense approvals
- Journal entry reversals
- Failed login attempts (if recorded)
Never Modify Audit Entries
- The audit log is designed to be immutable — entries cannot be edited or deleted by any user.
- If an entry appears incorrect, investigate the root cause rather than modifying the log.
- The integrity of the audit trail depends on its immutability.
Retention Policy
- Minimum retention: Retain audit logs for at least 7 years in compliance with Nigerian financial regulations and international best practices.
- Storage: Ensure backup copies of audit logs are stored securely.
- Archive: Move older logs to archival storage while maintaining accessibility for audits.
Documentation
- Maintain a log review register documenting:
- Who reviewed the log
- When the review was conducted
- What was found
- Any actions taken in response
- This register itself becomes part of your compliance documentation.
Role Access Summary
| Action | Admin | Accountant | Production | Sales |
|---|---|---|---|---|
| View Audit Log | Yes | No | No | No |
| Export Audit Log | Yes | No | No | No |
| Filter Audit Log | Yes | No | No | No |
| System Logs Their Actions | Yes | Yes | Yes | Yes |
Important: While only Admins can view the audit log, the system logs actions from all users regardless of their role. This ensures a complete audit trail even if a user does not have access to the log itself.
Troubleshooting
| Issue | Solution |
|---|---|
| Cannot see Activity Log in sidebar | Verify your role is Admin |
| Log appears empty | Ensure the date range filter is not set to a range with no activity |
| Export not working | Check browser download settings; ensure the date range has entries |
| Missing expected entries | Verify the action was actually performed; check if the user was logged in |
| IP Address shows unknown | The user may be behind a VPN or proxy; this is normal for some network configurations |
| Log loading slowly | Narrow the date range to reduce the dataset; large logs may take time to render |