Skip to main content
Payroll generation reads clock-in hours, sales attributions, tip pools, deductions, and advances for the chosen period, then produces a Draft record per staff member. All calculations happen server-side through the payroll-operations edge function.

Two ways to generate

Bulk generation

One click, all eligible staff, chosen period. Ideal for scheduled pay runs.
Action: bulk_generate_payroll.

Single staff record

Generate for one staff member — useful for adjustments, final pay, or a new hire mid-period.
Action: generate_payroll_record.

Bulk generation

1

Open the Records tab

Staff → Payroll → Records.
2

Set the period

Use the period navigator arrows or the date-range picker. Default is the last 7 days.
3

Click Generate Payroll

The Payroll Generation modal opens with the period pre-filled.
4

Select Bulk

Choose Bulk generation for all staff.
5

Review the summary

The modal previews how many staff qualify. Staff without a wage structure are listed as skipped.
6

Confirm Generate

DishInk creates one Draft record per staff member. The Records list refreshes.
Payroll generation modal

Payroll generation modal with bulk option selected.

Single-staff generation

1

Open the modal

Same Generate Payroll button.
2

Select Single Staff

Choose the staff member from the dropdown.
3

Confirm

A single Draft record is created for that staff member and period.
Regenerating for a staff member who already has a Draft record for the period replaces the existing draft. Approved and Paid records are never overwritten.

What a generated record contains

Each Draft record includes:
  • Hours — regular and overtime, from clock-in/clock-out pairs.
  • Gross pay — wage type applied to hours or attributed sales.
  • Tips — pooled and distributed for the period (see Tip Distribution).
  • Deductions — statutory (PAYE, NAPSA) and custom, from the assigned deduction preset.
  • Advances — approved salary advances auto-applied to this period.
  • Net pay — the final take-home amount.

Prerequisites

Tips and best practices

  • Close every open shift before generating — otherwise those hours are missing from the record.
  • Distribute tips before generating so pooled tips appear on the pay slip.
  • Use single-staff generation for termination pay or a mid-period new hire.
  • Keep generation and approval on separate days if you have a review workflow.

Common mistakes

  • Open shifts. Hours after the last clock-out are not counted.
  • Missing wage structure. Zero-gross record. Fix in the Wages tab and regenerate.
  • Skipping tip distribution. Tips appear as 0 on the pay slip until you distribute the pool.
  • Regenerating after approval. Not possible — approved records are locked. Revert to draft first.
Last modified on July 19, 2026