Guide

Staff scheduling and roster automation

A roster is a set of rules applied to a list of people. Write the rules once, and the Sunday-night roster becomes a Wednesday-afternoon check.

Who this is for

A lodge, a clinic, a supermarket, a restaurant, a small factory, a security company: anywhere between eight and sixty people work shifts, and one manager builds the roster by hand every week. The method below uses a spreadsheet because that is what the manager already has; a rostering app is a later, optional step.

Step 1 — Write the rules down (this is the automation)

The roster is hard because the rules live in the manager’s head. Get them out:

Rule typeExampleWhere it comes from
CoverageFront desk: 2 on morning, 2 on afternoon, 1 on nightoperations
SkillsAt least one first-aider per shift; one person who can run the tilloperations / licence
RestTwo rest days in seven; no closing shift followed by an opening shiftyour NEC agreement
HoursMaximum ordinary hours per week; overtime rulesyour NEC agreement
FairnessWeekend shifts rotate; nobody has three consecutive nightsstaff
AvailabilityApproved leave, training days, school runs by agreementleave sheet
PowerKitchen and workshop need fewer people during load-shedding windowsZESA schedule

The NEC (National Employment Council) agreement for your industry sets the hours, rest and overtime rules. Encode those, not a template’s. Have a labour practitioner check the rule list before it goes live; that is a one-hour review, and it removes the risk from everything that follows.

Step 2 — Build the sheet

Three tabs.

  1. People. Name, role, skills (tick boxes), contract hours, weekend rotation group, phone number.
  2. Inputs. Approved leave (from the leave form), the week’s load-shedding windows pasted from the published schedule, any special events.
  3. Roster. A grid of people × days × shifts. Conditional formatting turns a cell red when a rule is broken: coverage short, rest-day rule violated, skill missing, a person on leave rostered.

The first version does not “generate” anything: the manager fills the grid and the sheet checks. That alone removes most of the Sunday-night work, because the errors that used to surface on Tuesday now surface immediately.

The second version generates a draft: a simple script (Google Apps Script, or Excel’s Solver) fills the grid from last week’s pattern, applies the availability inputs, and leaves the red cells for the manager. Thirty minutes of exceptions instead of three hours.

Roster generation flow Inputs on the left — people and skills, approved leave, load-shedding windows, last week's pattern — feed a rules check that produces a draft roster; the manager fixes red cells; the roster is published to WhatsApp and to payroll. People + skillsApproved leaveLoad-shedding windowsLast week's pattern Rules checkcoverage · rest · skills Manager fixesred cells only WhatsAppPayroll
The manager's job moves from building the roster to approving it.

Step 3 — Load shedding as an input, not a surprise

ZESA’s stated goal is to end load shedding by December 2026 and it has reported long stretches without it, but a kitchen, a workshop or a cold room still needs a plan for the weeks when it returns. Paste the published windows into the Inputs tab; a rule reduces required coverage in power-dependent areas during those hours and, where you have it, adds a generator-minder shift. Businesses with an inverter for the router and one laptop keep the roster, the WhatsApp inbox and the invoicing running regardless — see the connectivity costs.

Step 4 — Publish and record

Export the roster tab as a PDF and post it to the staff WhatsApp group on the same weekday every week — Wednesday for the following Monday is a good habit, because it lets staff arrange transport and childcare. Mobile internet is how most staff will read it (POTRAZ counts 12.86 million mobile internet subscriptions), so keep the PDF small and the text legible on a phone.

Swaps go through one channel — a message to the manager, who edits the sheet — so the sheet is always the truth. At month-end the roster feeds payroll: ordinary hours, overtime and night allowances by person, exported once.

Measure

Three numbers a week, on the sheet’s summary tab: unfilled shifts, swaps after publication, and rule violations caught (red cells at draft stage). Falling unfilled shifts and swaps are the proof; if swaps stay high, a fairness rule is missing.

What it saves (illustrative)

A lodge with 18 staff: three hours every Sunday plus an hour of mid-week fixes becomes 30 minutes of exceptions — 3.5 hours a week for the manager, and the roster is out five days earlier. The bigger effect is the shift that is no longer unfilled on a Saturday night; count those before and after.

When to buy a rostering app

When the sheet has more than about 40 people, three sites, or staff need to see and swap on their own phones with an audit trail. Check that it exports to your payroll, works offline, and can hold your NEC’s rest rules — not just generic ones. Until then, the sheet is the product.

The checklist

  • Rules table written and checked against the NEC agreement.
  • People, Inputs and Roster tabs built; red-cell checks working.
  • Leave form feeding the Inputs tab.
  • Load-shedding windows pasted weekly.
  • Roster published on the same weekday for four consecutive weeks.
  • Unfilled shifts and swaps counted weekly.

Sources

Evert Vorster — Founder, AI Automated SolutionsFounder of AI Automated Solutions (Cape Town), which builds WhatsApp, CRM, voice and workflow automation for small and mid-sized businesses, and of the related company Eigenstate Systems. Writes every page on this site; sources are listed on each one. About this site.

Want a second pair of eyes on the numbers?

Get an automation assessment: we map your processes, run the ROI with your figures and tell you honestly what to automate first — and what to leave alone. Implementation, if you want it, is by AI Automated Solutions.