Skip to main content
Overtime is the extra pay an employee earns for working beyond their normal shift. In Hitaji 360 it has two parts: overtime types, which are the pay-rate categories you define once (time-and-a-half on weekdays, double time on holidays, and so on), and overtime slips, which are the actual claims — a period’s worth of overtime hours for one employee, valued and ready for payroll. The hours themselves are worked out from clock-ins against the employee’s shift, so overtime ties directly into the shift and attendance engine. This page covers defining overtime types, how a slip is generated and valued, the slip’s lifecycle, and exactly how overtime reaches payroll and the ledger. You’ll find this at: Overtime Types at /settings/erp/people/overtime-types (in the ERP settings hub, under People). Overtime slips are served by the API at hr/overtime-slips — see Current state for the UI position.
Overtime types are tenant-level settings; slips are tied to an employee’s contract and business. Confirm the business switcher before generating slips.
📷 Screenshot: the Overtime Types list with the “New Overtime Type” button — to be added.

Overtime types (the rate categories)

An overtime type defines how much extra a category of overtime pays. The Overtime Types page lists them with their Name, Multiplier (shown as e.g. ×1.5), what days they Apply on, the Salary component they map to, and a Status badge (Active / Inactive). Choose New Overtime Type to add one: When several types could apply to one day, the most specific wins — a holiday rate beats a weekday rate on a public holiday, a weekend rate beats the catch-all “All days” rate at the weekend, and so on. Within the same tier you can break ties with a default flag and a priority. Deleting a type is non-destructive to history — existing overtime slips are unaffected; the type just stops being available for new ones.

Overtime slips (the claims)

An overtime slip is the actual overtime for one employee over a period. It carries:

How a slip is generated and valued

Slips aren’t typed in by hand — they’re generated for a period. Hitaji:
  1. Reads the employee’s clock-ins for the period and, for each day, works out how far the last clock-out ran past the shift end (beyond the allowed grace) — that’s the day’s overtime hours.
  2. Works out the base hourly rate from the employee’s salary structure — either an explicit hourly rate if the structure carries one, or the monthly base divided by the standard working hours per month from your payroll deduction policy (defaulting to 208 hours/month under regional labour law).
  3. Picks the right overtime type for that day (using the day/holiday precedence above) and values the line as:
    line amount = base hourly rate × multiplier × hours
  4. Sums the lines into the slip’s total hours and total amount, and saves it as a Draft.
Re-generating for the same period replaces the existing draft rather than duplicating it.

The slip lifecycle

Submitting a slip does not itself create a payslip line or post anything — it simply marks the slip Submitted so the next payroll run for that contract will collect it.

How overtime reaches payroll — and the ledger

This is the part that touches pay and the books. When you run payroll for a period, the run gathers every Submitted overtime slip for the contracts in the run and folds their amounts into the employee’s earnings (added to gross pay before statutory deductions are computed, so PAYE and the rest are calculated on the larger gross). It then marks each slip Consumed, stamping which payroll run took it, so the same slip can never be paid twice. Where the money posts depends on the overtime type:
  • If the type has a salary component mapped, the overtime amount lands on that component, and posts to the general ledger through that component’s account mapping.
  • If the type has no component, payroll pays it under a default Overtime earning line, which posts through the standard payroll overtime path.

Behind the scenes — the accounting

Overtime posts to the ledger as part of the payroll run that consumes the slip — it is not posted by the slip on its own. Like any earning, when payroll posts the run: So the overtime cost is recognised as an expense and the obligation to pay it parked in salaries payable, exactly as the rest of the run’s earnings are, and is settled when the run is paid. See Running payroll for the full set of postings.

Permissions


⚠️ Current state. Overtime types have a full web screen (create, edit, delete). Overtime slips do not have a web UI — the generate / submit / cancel actions, and any list or detail view of slips, are driven through the API today, even though payroll fully consumes submitted slips. So you can configure rates on screen, but raising and submitting the actual overtime claims currently needs the API (or a payroll-side integration). (Flagged for the team.)