Wage types
Hourly
Pay a base rate per hour worked. Hours come from Clock In/Out. Supports overtime.
Daily
Pay a fixed amount per day worked, regardless of hours. Common for casual staff.
Monthly
Pay a fixed monthly salary. Optionally prorated by working days.
Commission
Pay a percentage of sales attributed to the staff (typically waiters). Combine with a base rate if needed.
Fields in a wage structure

Wage modal with type, base rate, overtime, and effective-from fields.
Assigning a wage
1
Open the Wages tab
Go to Staff → Payroll → Wages. Every active staff member is listed with their current wage summary.
2
Click Set Wage or Edit Wage
Opens the wage modal.
3
Choose the wage type
Hourly, Daily, Monthly, or Commission. The form adjusts to show only relevant fields.
4
Enter base rate and overtime
For hourly wages, set the OT rate and threshold. Defaults: threshold 8 hrs, multiplier 1.5×.
5
Set Effective From
Choose today for immediate effect, or a future date to schedule the change.
6
Save
The wage is versioned. Older payroll records continue to reference the prior wage.
How overtime is calculated (Hourly)
For each day in the pay period:- Sum the hours worked (from clock-in/clock-out pairs).
- If daily hours exceed the OT threshold (default 8), the excess is paid at the OT rate.
- Non-OT hours are paid at the base rate.
The OT threshold and multiplier defaults live in Payroll Settings but can be overridden on the wage record itself.
How monthly proration works
When Prorate monthly wages by days is enabled in Payroll Settings:- Daily rate =
monthly_salary / working_days_per_month(default 26). - Gross for the period = daily rate × days worked in the period.
Commission staff
- Sales attributed to the staff (via the waiter assigned to each order) are summed for the period.
- Commission =
attributed_sales × commission_percent. - If a base rate is set, it is added on top. Useful for a small guaranteed retainer plus performance pay.
Tips and best practices
- Set Effective From in the future when a raise takes effect at the start of a new pay period. It keeps history clean.
- Use hourly wages for shift staff (waiters, cashiers, kitchen) so overtime is tracked automatically.
- Reserve commission structures for staff who directly drive sales.
- Keep OT threshold at 8 hrs/day to match Zambian labour norms; adjust only when your operating agreement differs.
Common mistakes
- No wage assigned. Payroll generates a zero-gross record. Always assign a wage before the first pay run.
- Backdated Effective From. Rewriting history can break existing paid records. Prefer future-dating.
- Forgetting the OT rate. With only a base rate set, all hours are paid at base — no overtime premium.
- Commission % over 100. Always a validation error. Commission is a percentage of sales, not a multiplier.

