In Semi-Monthly models, timesheets cover the 1st–15th and 16th–end-of-month. Overtime (OT) follows each employee’s Employment Type rule (preset or custom). Weekly thresholds are evaluated within the semi-monthly period using your company’s Start of Week. OT is calculated when a timesheet is Approved or Locked.
Quick Navigation
How OT is calculated
- Semi-monthly periods: OT is applied on approval/lock of each semi-monthly timesheet (1st–15th, 16th–EOM).
-
Weekly thresholds inside the period: When your rule includes a weekly threshold (e.g., 40+), the system evaluates weekly totals inside each half using the company Start of Week (e.g., Monday–Sunday). Weeks that straddle the 15th/EOM are split across the two halves.
- Daily thresholds: Daily rules (e.g., >8 hrs/day = 1.5×; >12 hrs/day = 2×) apply per calendar day within the semi-monthly period.
-
Employment Type–based: Each employee follows the OT rule assigned to their Employment Type (preset or custom).
-
Pay Codes: Each multiplier (1.5×, 2×) maps to exactly one Pay Code; all occurrences of that multiplier use the same code.
- Time Off excluded: Only worked time counts toward OT. Time Off entries are not included in OT calculations.
Examples
Example A — Weekly threshold spanning the 15th
Assumption: Weekly OT at 1.5× after
40 hours (no daily OT).
Start of Week: Monday.
Week: Mon 13th → Sun 19th (straddles the 15th).
| Timesheet | Days included | Worked hrs (portion) | How OT is applied |
|---|---|---|---|
| 1st–15th | Mon 13th–Wed 15th | e.g., 24.0 | Counts toward that week’s total inside this half. |
| 16th–EOM | Thu 16th–Sun 19th | e.g., 22.0 | The remaining portion of the same week is evaluated here. Any weekly hours beyond 40 convert to 1.5× in this half (no double-counting). |
Result: Weekly 1.5× is assigned across the two halves according to the hours each half contains when both halves are approved/locked.
Example B — Daily OT within a semi-monthly half
Assumptions (daily rules only): >8 hrs/day =
1.5×, >12 hrs/day = 2×.
Scenario: Within the 1st–15th, an employee works 10
hours on the 7th and 13 hours on the 9th.
| Day | Total | Regular (1.0×) | OT (1.5×) | DT (2.0×) |
|---|---|---|---|---|
| 7th | 10.0 | 8.0 | 2.0 | 0.0 |
| 9th | 13.0 | 8.0 | 4.0 | 1.0 |
| Totals | 23.0 | 16.0 | 6.0 | 1.0 |
Note: If your rule also has a weekly threshold, only remaining straight-time beyond 40 in the week converts to weekly 1.5×. Hours already paid at daily 1.5×/2× are not converted again (“no pyramiding”).
Submission & approval flow
- Employee completes time and submits the semi-monthly period (1st–15th or 16th–EOM).
- Approver Approves or Locks the timesheet.
- On approval/lock, OT is calculated and labeled using your configured Pay Codes.
- If OT was inactive when the timesheet was approved, Undo Approval/Unlock and re-approve/lock to apply OT.
Logging overtime
Employees log time normally. When worked hours meet daily/weekly thresholds set for their Employment Type, the system classifies them as OT at approval/lock—no special entry required.
Reporting options
Timesheet Overtime by Person
Shows worked, Time Off, and OT hours per approved timesheet, the approver, and totals for a date range. In semi-monthly models, this view helps verify OT classified inside each half (1st–15th, 16th–EOM), including weeks that straddle the mid-month boundary.
Where to find: Company → Reports → People → Timesheet Overtime by Person
Common criteria
| Setting | What it does | Tips (Semi-Monthly) |
|---|---|---|
| Date range | Limits to approved timesheets in the selected period. | Run separately for 1st–15th and 16th–EOM to mirror approval cadence. |
| People / Divisions / Employment Types | Filter who is included in the results. | Use Employment Type to compare different OT rules. |
| Approved only | Ensures OT reflects final calculations. | Semi-monthly OT applies at approve/lock; keep this enabled. |
Key columns
| Column | Meaning |
|---|---|
| Person / Division / Employment Type | Who the timesheet belongs to and how they are grouped. |
| Worked / Time Off / Total | Breakdown of hours on the approved semi-monthly timesheet. |
| Overtime (by multiplier) | OT hours at 1.5× and/or 2× as calculated at approval/lock. |
| Approver | Who approved or locked the timesheet. |
Overtime Export for Payroll
Exports approved OT totals by Pay Code for payroll processing.
You can label exported timesheets and exclude/include them in subsequent
exports. In semi-monthly models, this is useful when weeks straddle the mid-month
boundary.
Important (Semi-Monthly): If you run Overtime Export for Payroll for the 16th–end-of-month period and the export shows 0 hours for a person who has approved time, confirm the 1st–15th timesheet for that month is also Approved or Locked — even if it contains 0 worked hours. Because weekly OT rules can span both halves of the month, the export totals for the second half may not populate until the first half is approved/locked. Once the 1st–15th is approved/locked, rerun the export.
Where to find: Company → Reports → People → Overtime Export for Payroll
Common criteria
| Setting | What it does | Tips (Semi-Monthly) |
|---|---|---|
| Date range | Defines which approved timesheets to include in the export. | Align with 1st–15th or 16th–EOM; run both halves if payroll spans the split. |
| People / Divisions / Employment Types | Limit the export to specific groups or individuals. | Filter by Employment Type to review OT rule impacts. |
| Label exports | Applies a tag to timesheets included in this export. | Use labels (e.g., “PR-YYYY-MM-HALF1”) to prevent re-export. |
| Exclude/Include by label | Controls whether previously labeled timesheets are exported again. | Exclude prior exports to avoid double-paying OT. |
Export output (typical fields)
| Field | Example / Description |
|---|---|
| Person | Employee name or identifier |
| Pay Code | OT1 (1.5×), OT2 (2×), etc. — one Pay Code per multiplier |
| OT Hours | Hours grouped by Pay Code for the export period |
| Timesheet Period / Approval | Dates and approver metadata (for reconciliation) |
Tip: If Start of Week or OT rules changed, reopen and re-approve affected semi-monthly timesheets (both halves if a week straddles the 15th/EOM) before exporting, so totals reflect the latest configuration.
Edge cases & tips
- Weeks spanning both halves: Weekly OT can be split across the two semi-monthly timesheets when a week straddles the 15th or month-end.
- Start-of-Week changes: In semi-monthly models, changing Start of Week clears existing OT calculations; re-approve/lock to recompute.
- Cross-midnight entries: Daily thresholds apply per calendar day; hours are counted on the day they’re recorded.
- Multiple projects/tasks: OT is determined on total worked time, not per project or task. Pay Codes reflect multipliers, not project/task.
- Rule updates mid-period: Updates affect future calculations. Reopen and re-approve to reapply new rules to an existing period if needed.
Troubleshooting
- OT isn’t showing: Confirm the timesheet is Approved/Locked, the employee’s Employment Type has an active OT rule, and Pay Codes are mapped for each multiplier.
- Totals don’t match payroll: Verify daily vs. weekly thresholds and check for week splits across the mid-month boundary.
- Unexpected reset after Start-of-Week change: Re-approve/lock semi-monthly timesheets to recompute OT.
- Wrong Pay Code: Ensure a one-to-one mapping between multiplier and Pay Code in OT Configuration.
Notes & limitations
- Only worked hours are eligible for OT; Time Off is excluded.
- Changing Start of Week in semi-monthly models clears existing OT calculations; re-approve/lock to recompute.
- Changing the Timesheet Model can remove existing timesheets, approvals, and overtime history. Plan changes carefully.
Summary
Semi-Monthly models split the month into two approval periods (1st–15th, 16th–EOM). Daily rules apply per calendar day; weekly thresholds are evaluated inside each half using your Start of Week. OT is calculated at approval/lock, excludes Time Off, and uses one Pay Code per multiplier. If settings change, reopen and re-approve to reapply calculations.
Comments
0 comments
Article is closed for comments.