Skip to main content
A wage structure tells DishInk how to calculate gross pay for a staff member. Every person on the payroll needs one — without it, payroll generates a zero-gross record.

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

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:
  1. Sum the hours worked (from clock-in/clock-out pairs).
  2. If daily hours exceed the OT threshold (default 8), the excess is paid at the OT rate.
  3. 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.
With proration off, monthly staff receive their full salary regardless of the days 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.
Last modified on July 19, 2026