The Audit Log records activity in SolaHR for your organization: who did what, when, from which IP address, and whether it succeeded. Use it to answer questions such as "who changed the attendance settings?", "who disabled this account?" or "why did that save fail?". The page header reads Audit Log — "Review activity and security-relevant events".
It is read-only. Nobody can edit or delete entries from SolaHR.
Where to find it
| Sidebar | System → Audit Log |
| URL | /audit-logs |
| Plans | Plans that include Audit log. Without it the item is hidden. |
| Permission | View audit logs |
Who can see it
| Role | Access |
|---|---|
| Organization Owner, SolaHR Administrator | Yes |
| HR Operations Manager (older role) | Yes |
| HR Records Viewer (older role) | No |
| Scoped roles (HR Manager, Department Manager, Attendance Recorder, HR Viewer) | No |
Anyone who can open the page sees every entry for the organization, including actions by Owners.
What is recorded
- Every request a signed-in person makes in SolaHR: opening pages and lists (method GET) as well as saves, approvals and deletions (POST, PUT, PATCH, DELETE). Each entry has the person, method, operation, result, details and IP address.
- Failures as well as successes: a save refused because of a validation error or missing permission is recorded as failed with the problem in Details.
- Named events written by SolaHR itself, for example employee renumbering (employees.renumbered, with the old and new numbers), a policy published or acknowledged, and workflow automation runs.
Sensitive values are hidden before they are stored: passwords, tokens, salary amounts, IBAN and bank details, national ID, passport and similar fields never appear in Details.
Opening and filtering the Audit Log page is itself recorded (as spa.audit-logs.index).
Screen tour
Filters (across the top)
| Filter | What it does |
|---|---|
| Search operations | Matches the operation name, the request details and the person's name |
| Administrator | Only entries by one person (lists every SolaHR account) |
| Method | GET (viewing), POST, PUT, PATCH, DELETE (changes) |
| Result | success or failed |
| Module | An area such as employees, attendance, payroll, settings. The module names are shown in Arabic. |
| From date / To date | Whole days, inclusive |
The list refreshes as you change any filter and goes back to page 1. There is no Apply or Clear button: empty a field or choose the blank option to remove a filter.
Columns
| Column | Meaning |
|---|---|
| Date | Date and time of the activity |
| Administrator | The person who did it, or — |
| Method | Request type badge. GET is viewing; the others change data. |
| Action | The operation. Older, well-known operations show a short description (in Arabic); others show the technical operation name, for example spa.settings.company.update or spa.admins.toggle-status. |
| Module | The area the operation belongs to |
| Result | success or failed |
| Details | For a failed action, the problem; otherwise the request details (filters used, fields sent — with sensitive values hidden), or — |
| IP Address | Where the request came from |
25 entries per page, newest first, with pagination underneath. With no matching entries you see "Nothing here yet — No records match the current view."
Reading the Action names
Operations from the current SolaHR screens start with spa., followed by the area and the step:
| Example | Means |
|---|---|
spa.settings.company.update |
Company Information saved on Settings |
spa.attendance.settings.update |
Attendance Defaults saved |
spa.settings.numbering.apply |
Employee renumbering applied |
spa.admins.store / spa.admins.update / spa.admins.toggle-status / spa.admins.reset-password |
Admin Users changes |
spa.team-access.save |
Team access saved for a member |
spa.workflow-automations.run |
An Automation was run |
Find who changed something
- Open System → Audit Log.
- Type a keyword in Search operations — the area name works best (for example
settings,admins,payroll,team-access). - Choose Method PUT or POST to hide page views.
- Set the date range.
- Read Administrator, Date and Details on the matching rows.
Tip: the Module filter matches older operation names. For activity from the current screens (names starting with spa.), Search operations is more reliable.
Find out why something failed
- Set Result to failed and narrow the dates.
- Optionally pick the person in Administrator.
- Read Details: it shows the problem, for example a validation message or "This action is unauthorized."
Worked examples
Quick example: who disabled an account?
Sara Khan says she can't open SolaHR since this morning. The owner of Al Noor Trading LLC searches admins, sets Method to POST and today's date. One row: 09:12 · Layla Mansour · POST · spa.admins.toggle-status · success · 10.0.4.21. Layla disabled the wrong account; the owner re-enables Sara in Admin Users.
Full example: an attendance-rule dispute
- In November, warehouse staff at Dubai Main complain that late deductions started appearing.
- The owner opens the Audit Log, searches
attendance.settings, sets Method to PUT and dates 1 October – 30 November. - Two rows appear:
- 3 Oct, 16:40 · Omar Haddad · PUT · spa.attendance.settings.update · failed — Details: "The work start time field must match the format H:i."
- 3 Oct, 16:42 · Omar Haddad · PUT · spa.attendance.settings.update · success — Details show the values sent, including
late_grace_minutes: 5(previously 15) andlate_deduction_enabled: true.
- So Omar cut the grace period from 15 to 5 minutes on 3 October. The owner checks Settings → Attendance Defaults, sets it back to 15 and saves.
- The new save appears at the top of the log under the owner's name, giving a clear before-and-after trail. Pending deductions created in the meantime are reviewed in Attendance.
How it connects
| Screen | What you find in the log |
|---|---|
| Settings | Each tab saved, renumbering applied (with old → new numbers) |
| Admin Users | Accounts created, edited, enabled/disabled, passwords reset (password never shown) |
| Team access | Each access save (the full before/after scope is also stored by SolaHR) |
| Automations | Runs completed or failed |
| Policies | Policies published and acknowledged |
| Every other screen | Page views and changes, with results |
Tips and common problems
| Problem | Cause | Fix |
|---|---|---|
| Too many rows | Page views (GET) are recorded too | Set Method to POST/PUT/PATCH/DELETE. |
| The Module filter finds nothing for recent changes | Recent operations start with spa. and the filter matches older names |
Use Search operations with the area name instead. |
| Action and Module are in Arabic or look technical | Labels exist only for older operation names | Use the examples table above to read spa. names. |
| Salary or IBAN is missing in Details | Sensitive values are hidden on purpose | Check the record itself on its screen. |
| Audit Log menu missing | Plan lacks Audit log, or your role lacks View audit logs | Ask the Owner. |
| An entry's Administrator is — | The person's account no longer exists or the event had no signed-in user | Use the date, IP and Details to identify it. |