This article is a trace-back procedure for when a figure on the payroll doesn't match the timesheet. Follow the steps in order and don't skip ahead — the cause is usually at an earlier layer than you think.
Step 0 — classify
Before searching, determine the scope. The fixes are completely different:
| Scope | Common causes |
|---|---|
| One person is off | That person's own data: profile, timesheet, requests |
| A whole group is off | Formula, payroll template configuration, or period scope |
| The whole payroll is off by the same ratio | A wrong constant or coefficient in a formula |
Six layers to check, in order
- Layer 1 — Employee profile. Check that salary, start date, end date, branch, and department are correct. This is the layer most often wrong for new employees.
- Layer 2 — Timesheet. Open that month's timesheet (article B6-12). The number of working days on the payroll must equal the number on the timesheet. If they differ here, the problem lies in time & attendance, not payroll.
- Layer 3 — Requests. Have all leave, overtime, business trip, and salary advance requests for the period been approved (article B8-14)? Unapproved requests do not flow into the payroll.
- Layer 4 — That person's pay configuration. A row labeled Review means the pay configuration is incomplete.
- Layer 5 — Formulas. Open the payroll template and check the formula of the column that is off (article B9-05). Errors here throw off an entire group.
- Layer 6 — Period scope. Does the pay period include the correct branches, departments, and job titles?
Work through them sequentially starting from layer 1. Most cases stop at layer 2 or layer 3 — meaning the payroll calculated correctly based on the data it had, and the data is what was wrong.
Supporting tools
| Tool | Used to |
|---|---|
| Details tab | See the breakdown of each figure for an employee |
| Variance Report tab | Quickly find people with unusual changes compared to the previous period |
| Audit Log tab | See whether anyone manually edited that row |
| Column letters (A, B, C…) | Pinpoint exact locations when discussing with colleagues |
Quick lookup table
| Symptom | Check here first |
|---|---|
| Salary is 0 for one person | Layer 1 — profile has no salary amount entered |
| Fewer working days than actual | Layer 2 — timesheet; check for days with missed clock-ins |
| Leave was deducted from pay | Layer 3 — leave request not approved, or unpaid leave type selected by mistake |
| No overtime hours | Layer 3 — overtime request not approved |
| Allowance is 0 for an entire department | Layer 5 — formula or allowance scope |
| Cell shows `#NAME?` | Layer 5 — formula references a keyword that doesn't exist |
| Some people are missing entirely from the period | Layer 6 — pay period scope |
| New hire received a full month's salary | Layer 1 — start date is incorrect, so pay isn't prorated |
After you find it
- Fix it at the source; don't overwrite values on the payroll.
- Click Reload payroll to reload the data.
- Recheck the other people in the same group as well — errors rarely affect just one person.
- Record the cause so it doesn't recur next period.
Step 4 is what makes the difference between a stable payroll process and monthly firefighting. The same type of error recurring for three periods means there's a step in the process that needs fixing, not a number that needs fixing.