G
Skip to main content

Staff & Payroll

A complete, workshop-specific HR & payroll suite — employees, attendance (with hardware device support), leave, payroll, and reporting — eliminating the need for a separate HR tool.

Employees

Staff → Employees is the employee directory.

Each record holds:

  • Identity — name, email, phone, employee code.
  • Employment type — full-time / part-time / contract.
  • Department + designation (e.g. Senior Mechanic, Service Advisor).
  • Salary + shift assignment.
  • Join date + status (active / terminated).

Employees are automatically linked to user accounts by email match — so when an employee logs in, they get their employee context. If their email changes, the link updates automatically.

Attendance

Staff → Attendance covers clock-in / clock-out.

Clock-in modes

  • Web punch — employee clicks Clock In from the dashboard.
  • Device punch — physical clock-in terminal (biometric / RFID / PIN). Devices authenticate via SHA-256-hashed, rotatable keys, sent in the X-Device-Key header. Device punches use the same processing pipeline as web punches.

Status determination

TheGarageOS determines status automatically based on:

  • The employee's shift template (start / end / grace period).
  • Configurable late and half-day thresholds.

Status options: present / late / half-day / absent.

Overtime

Automatic overtime calculation per shift rules. Configurable globally and overridable per employee.

Manual override

Staff → Attendance → Override lets managers correct an attendance record with a reason. Every override is logged.

Devices

Staff → Attendance → Devices — register physical clock-in devices. Each device has a rotatable key (shown once at creation) and can be assigned to a location.

Shifts

Staff → Attendance → Shifts — define shift templates (name, start, end, grace period, late threshold). Assign shifts to employees.

Leave

Staff → Leave is the leave management workflow.

Leave types

Staff → Leave → Types — define leave types:

  • Paid / unpaid.
  • Max days / year.
  • Carry-forward rules.
  • Document required flag.
  • Color tag for the calendar.

Holidays

Staff → Leave → Holidays — public holidays with recurrence and country code. Used by leave-day calculation.

Allotments

Staff → Leave → Allotments — per-employee, per-year leave allotments. Set initial allotment, adjust mid-year, configure carry-forward.

Requests

Staff → Leave → Requests — request / approve / reject.

A request has:

  • Employee + leave type + date range.
  • Auto-calculated day count (with half-days supported).
  • Statuspendingapproved / rejected / cancelled.

Balance tracking

Per-employee leave balance is never allowed to go negative. If a request would exceed the balance, it's rejected at the API.

Auto-attendance sync

When a leave request is approved, TheGarageOS generates attendance records for the entire date range via generate_series. Leave and attendance stay in sync — there's no separate timesheet to maintain.

Payroll

Staff → Payroll is the salary-sheet engine.

Components

Staff → Payroll → Components — define earning / deduction / bonus components:

  • Type — earning / deduction / bonus.
  • Taxable flag.
  • Calculation type — fixed amount or % of basic.
  • Effective-dated — assign to an employee with a start (and optional end) date. You can safely end-date a component without deleting history.

Advances

Staff → Payroll → Advances — track salary advances with race-condition-safe recovery:

  • Record an advance (amount, date, recovery schedule).
  • Recover it from one or more future salary sheets.
  • Atomic increments on the running balance — no double-recovery.

Settings

Staff → Payroll → Settings — payroll configuration:

  • Overtime rate (multiplier on hourly).
  • Working days per month (for per-day calculations).
  • Default payment method.

Salary sheets

Staff → Payroll → Sheets — monthly payroll runs.

A salary sheet has:

  • Period (month / year).
  • Statusdraftfinalizedpartially_paidpaidarchived.
  • Lines — one per employee, with full breakdown: basic, allowances, bonuses, overtime, gross, deductions, net payable, paid, due.

You can:

  • Create a sheet (auto-populates from current components).
  • Edit lines in a draft.
  • Finalize (locks the sheet — no further edits to lines).
  • Pay lines individually (partial payment supported).
  • Print the sheet (print-friendly view).
  • Payslip per line, branded per your document template.

GL posting

When a salary sheet is finalized, TheGarageOS generates the general ledger entries automatically:

  • DR Salary Expense
  • CR Salary Payable / Bank / Cash

Your books are always in sync with payroll — no manual journal entry, no month-end reconciliation scramble.

HR Reports

Staff → Reports — pre-built reports:

  • Attendance summary — status breakdowns + overtime totals.
  • Leave balance grid — employee × leave-type balance.
  • Payroll history — period-by-period totals.
  • Salary sheet print — printable monthly sheet.

All reports are permission-gated and date-range filterable.

Tips

  • Hardware devices are first-class — workshops where mechanics can't easily use a phone can use a wall-mounted terminal.
  • Auto-attendance sync removes an entire class of "HR said approved, but the timesheet says absent" disputes.
  • GL posting from payroll is one of the biggest wins — your books are the system of record, not a separate export.

Next: Accounting, or the user journey.