Payroll runs¶
A payroll run calculates and processes compensation for a pay period, producing a payslip for every included employee.
The runs list¶
Go to Payroll → Runs. Each run card shows the period, a consecutive number, the number of employees, the gross and net totals, the status and the station (if the run is scoped to one).
Use the filters:
- Date range and amount range (on gross).
- Status chips: Draft, Processing, Completed, Failed, pending_approval, approved, voided.
- Show voided to reveal voided runs.
Create a run¶
- Click Run Payroll (this opens the wizard at
/payroll/runs/new).
Step 1 — Select the pay period¶
- Set the Period Start and Period End (defaults to the current month).
- Optionally filter by station.
- The wizard shows how many active employees will be included — those with an approved timesheet overlapping the period (and matching the station filter).
- Click Preview.
Approved timesheets are required
An employee is only included if they have an approved timesheet in the period. If nobody qualifies, the wizard shows “No approved timesheets for this period.”
Step 2 — Review the preview¶
The preview is a spreadsheet you can adjust before running:
| Column | Editable | Notes |
|---|---|---|
| Employee | No | Frozen column |
| Location | No | Station or “Unassigned” |
| Type | No | Fixed / Hourly |
| Hours | Yes | Editing recomputes gross |
| Regular Pay | No | Gross − overtime |
| OT | No | Approved overtime hours only |
| OT Pay | No | Priced with country multipliers |
| DT / DI | No | Days worked / disability days |
| Gross | Yes | Editing recomputes taxes unless you overrode them |
| Social Charges | Yes | Employee social-security contributions |
| Deductions | Yes | Conditional |
| Bonuses | Yes | Conditional |
| Net | No | Always recomputed |
| Travel Expenses | No | Opens a per-employee breakdown |
The toolbar shows running totals (gross, social charges, deductions, bonuses, net) per currency.
- Travel Expenses opens a modal to enter counts and unit prices per category (transportation, meals, lodging, other). If a category is marked Required in settings, quantities are pre-filled from days worked.
- Save Draft stores the run for later; auto-save runs every 120 seconds.
- Finalize & Run generates the payslips and completes the run.
Step 3 — Completion¶
The wizard confirms the run and offers View Payslips.
Calculation engine¶
Gross pay¶
- Fixed salary: a full calendar month pays the full salary; a partial month pays
salary × (days in period ÷ 30). Hours do not reduce base pay. - Hourly:
(hours worked − unpaid break hours) × hourly rate. - Overtime: approved overtime hours × hourly rate × country multiplier (fixed salary ÷ 160 for the base hourly rate).
Bonuses and deductions¶
- Pending bonuses overlapping the period are added.
- Active deductions overlapping the period subtract
min(installment, remaining).
Leave¶
For approved leaves below 100% remuneration, the unpaid portion is subtracted from gross for fixed-salary employees. Daily rate = fixed salary ÷ 30 (or hourly rate × 8).
Taxes and employer contributions¶
Employee and employer contributions are calculated from the tax rules you configured (see Tax & Compliance). The rate applies to the taxable gross; a threshold acts as a floor.
Net pay¶
Net = gross + bonuses + holiday pay − unpaid-leave deduction
− employee social charges − employee deductions
Deductions are capped so net never goes negative.
Travel expenses are informational
Viáticos are shown on the payslip but are not added to gross or net — they are reimbursed separately. See Travel expenses.
Multi-currency¶
Employees paid in different currencies are grouped into one run per currency. Drafts are matched by period, station and currency.
Run lifecycle¶
| Status | Meaning |
|---|---|
| Draft | Saved but not finalized; fully editable |
| Processing | Being calculated |
| Completed | Payslips generated; triggers automatic email delivery |
| pending_approval | Submitted for a second person to approve |
| approved | Approved and locked for analytics |
| rejected | Returned to Draft with a reason |
| voided | Cancelled with a reason |
| Failed | Processing error |
Available actions depend on the status:
- Draft: Edit Draft, Submit for Approval, Delete.
- pending_approval: Approve, Reject.
- Completed / approved: Revert to Draft, Void.
- Any run (unless voided): Lock / Unlock period.
- Exports: CSV, PDF, Excel.
Voiding requires a reason. Reverting to Draft is blocked when the period is locked.
Exports¶
Each run can be exported as:
- CSV — per-employee columns plus a summary block.
- Excel — a Data sheet and a Summary sheet.
- PDF — a landscape table sorted by station.
Related¶
Still have questions? Ask on Discord or explore the tutorials.