One platform for finance, people, sales, operations, fleet, commerce, and BI.
XOERP
Let's meet

Scheduling

Build shift presets and day templates, assign fixed, flexible, and open shifts, and roster whole teams in bulk.

Updated April 8, 2026

Scheduling plans who works when. Define reusable shift presets, roster individuals or whole teams, and let the schedule drive Attendance — so lateness, overtime, and day-offs are measured against the right plan.

Concepts

  • Shift preset — a reusable shift definition (start, end, breaks, grace).
  • Day template — a day’s pattern, including a day-off.
  • Fixed hours vs flexible vs open shifts.

Create shift presets

  1. Go to XO People → Scheduling → Shift presets → New.
  2. Set start/end times and breaks.
  3. Choose the type:
    • Fixed hours — same hours each day.
    • Flexible — a window with required total hours; enable lateness compensation so extra time offsets a late start.
    • Open shift — no fixed clock-out; useful for one-punch sites.
  4. Set allowed shortage / early-out tolerances.
  5. Save.

Tip: for sites where staff punch once, enable one-punch / clock-out not required so a single punch counts as present.

Assign shifts

  • To an individual: open the employee → Schedule → pick a preset per day.
  • To a team: select multiple employees and apply a day template across a date range.
  • Day-off: mark rest days so they’re excluded from absence/lateness.

Bulk scheduling (Excel)

  1. Scheduling → Bulk → Download template.
  2. Fill in employee, date, and shift preset per row.
  3. Upload — XO validates and applies the roster in one go.
  4. Use Clear schedule to reset a range before re-rostering.

📷 Screenshot: a weekly roster grid with presets color-coded per employee.

Best practices

  • Build a small library of presets and reuse them — don’t hand-build shifts daily.
  • Roster before the period starts so Attendance has a plan to measure against.
  • Use flexible shifts for office roles and fixed/open for retail and field.

Troubleshooting

  • Attendance flags everyone late. The assigned preset/grace is wrong for that team — check the day template.
  • Bulk upload rejected. A preset name or date is invalid — XO lists the offending rows on import.