Billing Overtime Rules

In a Position’s Billing Settings, is a value for Billing Overtime Rules.

image-20230303-203639.png

This combo box refers to the records available via API at /overtime-rules .

[GET] /overtime-rules/2

{ "name": "Billing Regular (8x1.5 / 12x2.0)", "periodLength": "WEEKLY", "ruleType": "BILLING", "rules": {}, "id": 2 }

When a BOR is selected, it gets stored in the Position data as a Billing Setting:

[GET] /positions/381?include=billingSetting

{ "name": "5355362 - Location @ 123 Street, City - Security Guard", "description": "CM", "customId": "SG123", "status": "ACTIVE", "account": 313, "contract": 11, "nonBillable": false, "shiftMemo": "Access\r\nElevator Control\r\nSecurity presence", "beginDate": "2022-01-23T00:00:00+00:00", "endDate": null, "breakRule": null, "taxClass": 1, "payCodeLabel": null, "id": 381, "billingSetting": { "type": "HOURLY", "billItem": 1, "rate": 24.86, "discountRate": 0, "holidayGroup": 1, "billBreaks": "ALL", "holiday": "RATE", "holidayRate": 62.15, "holidayMultiplier": 1.5, ==> "overtimeRule": 2, "id": 381 } }

When working with the Pay-run Items entity by direct API or abstracted TQL, you can conditionally report on items that are Overtime Billable or not by checking if overtimeRule contains a value or not. This was done for a customer recently using Apogee who exported their pay-run via TQL.

A TQL conditional like this was used to select the OT rate or the base rate depending on if an overtimeRule had been selected:

IF(shift.position.billingSetting.overtimeRule IS NULL OR shift.position.billingSetting.overtimeRule = "", round(baseRate*100),round(rate*100)) `Level`, 
Was this article helpful?
0 out of 0 found this helpful

Articles in this section