Running Payroll
Payroll calculates compensation for a period based on approved timesheets. The process follows a locked workflow to ensure accuracy and prevent unintended changes during calculation.
Period Types
Vuoro supports two period lengths, matching the Finnish Amusement Park TES working time models:
| Period Type | Length | Typical Use |
|---|---|---|
| 2-week | 14 days | Standard working time model |
| 3-week | 21 days | Extended equalization model |
Workflow
Follow these steps to run payroll for a period:
- Create a payroll period — Set the start date, end date, and period type. The dates must align with your organization's payroll calendar.
- Verify all timesheets are approved — Check the period summary to confirm every employee's timesheet has been reviewed and approved by their supervisor.
- Lock the period — Locking prevents further timesheet changes. This ensures the data used for calculation is final.
- Run payroll calculation — The system processes all approved worklogs and calculates pay components including base pay, overtime, allowances, and premiums.
- Review results — Check per-employee breakdowns and address any warnings before proceeding.
- Approve the period — Approval requires the Accounting role. This confirms the payroll results are correct and ready for export.
- Export to accounting system — Send the approved payroll data to your accounting software (e.g., Netvisor).
Period Status Flow
Payroll periods move through these statuses:
Open --> Locked --> Calculated --> Approved --> Exported
^ ^ | |
| |<------------+ |
|<----------+ (reject can also come |
| from Approved) |
+<------------------------------------+ (revoke export)
- Open — Timesheets can still be edited and approved.
- Locked — No further timesheet changes allowed. Ready for calculation.
- Calculated — Payroll has been run. Results are available for review.
- Approved — Results confirmed by accounting. Ready for export.
- Exported — Data has been sent to the accounting system.
Periods can move backward when corrections are needed:
- Locked to Open — Unlock the period to allow timesheet corrections.
- Calculated to Open — Reject the calculation to start over.
- Approved to Locked — Reject after approval, for when an approver spots an issue after signing off. The period returns to
Locked; calculated results are discarded and must be re-run. Requires Manager or Company Admin. - Exported to Approved — Revoke a completed export (Company Admin only, see Revoking an Exported Period).
Locking ignores discarded worklogs
When a period is locked, any worklogs marked as discarded ("this didn't happen" rows — used for clock-in mistakes and the like) are excluded from the readiness check. You no longer need to chase down every discarded worklog's status before the lock will succeed; the period summary also hides them.
Locked periods block downstream shift reassignments
A locked or exported period also blocks every flow that would change a shift's employeeId retroactively — that's the whole point of the lock, but it's worth making explicit:
- Swap auto-approve at acceptance — blocked.
- Supervisor approve on a swap — blocked. There is no role-level bypass.
- Offer claim — blocked.
In every case the API returns HTTP 409 with code: 'period_locked' and the locked period's date range. The swap or offer stays in its current status; the underlying shift is unchanged. The web UI surfaces a localized toast ("Payroll period 2026-04-01–2026-04-21 is locked — this action is not possible. Ask an administrator to unlock the period.").
If you genuinely need to reassign a shift inside a locked period (rare — usually a payroll-correction case), the process is: unlock the period via the normal flow, perform the reassignment, then re-lock. The unlock flow already requires a CompanyAdmin and emits an audit-log entry.
Warnings
During calculation, the system may flag the following warnings:
| Warning | Meaning |
|---|---|
| Missing hourly rate | An employee has no resolved pay rate for the period. |
| Approaching annual overtime limit | The employee has used 90% or more of the 250-hour annual cap. |
| Annual overtime exceeded | The employee has exceeded the 250-hour legal overtime limit. |
Address all warnings before approving the period.
Making Corrections
If issues are found after calculation:
- Reject the payroll period to move it back to Open status.
- Unlock the period to allow timesheet edits.
- Make the necessary corrections to timesheets.
- Re-approve the timesheets.
- Lock the period again.
- Re-run payroll calculation.
Revoking an Exported Period
Once a period has been exported to Netvisor, it can be returned to the Approved state if a correction is needed after export — for example, a reporting error discovered downstream.
:::caution Company Admin only Revoking an export is a Company Admin-only action. Managers and Accounting cannot perform it. The operation is logged to the audit trail. :::
When to use
- The exported file was rejected by the accounting system and needs to be regenerated.
- A downstream reconciliation turned up an error that requires reopening the period.
- The wrong period was exported.
What it does
- Moves the period back from Exported to Approved.
- Clears the export reference so the period can be re-exported after any corrections.
- Leaves worklogs and calculation results in place — the revoke itself does not reopen timesheets. To correct the underlying data, reject the approval first (see Making Corrections) and re-run the workflow.
How to revoke
- Open the exported payroll period.
- Click the Revoke Export action.
- Enter a reason (required for the audit trail).
- Confirm.
Employee Self-Service
Employees can view their own payroll results for locked and exported periods through the My Pay section in their dashboard. This includes a breakdown of hours worked, overtime, allowances, and total compensation for each period.
See also
- Reports — payroll summary, hours/overtime, attendance, and other reports you can generate from the same data.