Recorded as it happens. Not reconstructed afterwards.
Every action, calculation and submission creates a permanent audit trail. The evidence exists because the work created it - which is the only way it can be complete.
Actor. Timestamp. Event.
Three properties turn a log into evidence. A record of what changed, without who changed it and when, answers the easy half of the question.
Which file, how many rows, which rows failed and why.
Every check that ran on the run, its result, and the workers a failure affected.
Created, calculated, recalculated, posted - each with the user who initiated it and when.
FPS and EPS filings with HMRC’s response stored against the run that produced them.
What was owed and when it was due, evidenced against the run that created it.
Payslips, reports and exports, with the parameters that generated them.
Timesheets
Run
12 controls
FPS accepted
BACS
| Event | Actor | Recorded | Status |
|---|---|---|---|
| Timesheet import - 2,842 rows | System | 21 May 09:04 | Complete |
| Import - 6 rows rejected | System | 21 May 09:05 | Reported |
| Payroll created | J. Whitfield | 21 May 09:41 | Logged |
| Calculation initiated | A. Mensah | 21 May 10:22 | Logged |
| Payroll calculated | System | 21 May 10:28 | Complete |
| Run validated - 12 controls | System | 21 May 10:42 | Complete |
| Payroll posted | R. Duignan | 21 May 10:58 | Complete |
| FPS submitted - HMRC accepted | System | 21 May 11:06 | Accepted |
Evidence you cannot find is evidence you do not have.
A trail that exists but takes three days to assemble fails at exactly the moment it is needed. Everything is addressable by the reference the question will arrive with.
By pay run
One run reference returns its controls, submissions, liability and outputs.
By worker
Every period a worker was paid, and every document held for them.
By agency
Everything relating to the workers one agency supplied - and nothing outside that scope.
By period
A tax month, a quarter or a full tax year.
A trail that can be edited is not a trail.
Audit records are append-only. Every event is written once, with the user who caused it and the moment it happened, and nothing in the product edits it afterwards.
No user role can delete or alter an audit record, including administrators.
Each event carries the user who initiated it, or is marked as system-generated.
Records are retained for the statutory period and remain retrievable after the worker has left.
The trail leaves in a readable format, so an auditor does not need a Precision login to read it.
Every payslip line carries the rate and units that produced it, so a closed run reconciles against its own figures rather than against whatever the rate says today.