Set up timesheet rules to enforce policies when an employee enters a timesheet. Timesheets that don't meet the rules cannot be submitted. Create a timesheet rule that's global to apply across an entire organization. Or, create a timesheet rule that applies only to a specific holiday schedule or designated project workers. Create specific timesheet rules if projects span multiple departments or multiple entities that have different work schedules. See Specify timesheet rules in the Sage Intacct Help Center for more information.
Returns a collection with a key, ID, and link for each timesheet rule. This operation is mostly for use in testing; use the query service to find objects that meet certain criteria and to specify properties that are returned.
OK
Bad Request
{- "ia::result": [
- {
- "key": "1",
- "id": "1",
- "href": "/objects/time/timesheet-rule/1"
}, - {
- "key": "2",
- "id": "2",
- "href": "/objects/time/timesheet-rule/2"
}
], - "ia::meta": {
- "totalCount": 2,
- "totalSuccess": 2,
- "totalError": 0,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}
Creates a new timesheet rule.
name required | string Rule name. Example: "Weekend overtime limit" | ||||
startDate required | string <date> The timesheet rule start date. Example: "2025-06-01" | ||||
endDate required | string <date> The timesheet rule end date. The end date must occur after the start date. Example: "2026-06-01" | ||||
businessDays | Array of strings Default: [] Days of the week defined as work days that apply to the timesheet rule. Example: ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"] | ||||
weekends | Array of strings Default: [] Days of the weekend defined as work days that apply to the timesheet rule. Example: ["SATURDAY","SUNDAY"] | ||||
minHoursForApproval | string or null <decimal-precision-2> The minimum hours required for approval. Example: "0.2" | ||||
maxHoursForApproval | string or null <decimal-precision-2> The maximum hours allowed for approval. Example: "5" | ||||
minHoursPerWorkDay | string or null <decimal-precision-2> The minimum required non-weekend hours per work day. Example: "2.0" | ||||
maxHoursPerWorkDay | string or null <decimal-precision-2> The maximum allowed non-weekend hours per work day. Example: "10.0" | ||||
requireNotes | boolean Default: false Indicates whether notes are required (true) or not (false) for the timesheet. Example: false | ||||
doNotAllowOnHolidays | boolean Default: false Indicates whether to reject timesheets submitted with work performed on a defined holiday (true) or not (false). Example: false | ||||
minHoursPerWeekend | string or null <decimal-precision-2> The minimum weekend hours. Use '0' if no one works. Example: "0.2" | ||||
maxHoursPerWeekend | string or null <decimal-precision-2> The maximum weekend hours. Use '0' if no one works. Example: "5.0" | ||||
Array of objects | |||||
Array
| |||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
Created
Bad Request
{- "name": "Holiday schedule 2022",
- "businessDays": [
- "MONDAY",
- "TUESDAY",
- "WEDNESDAY",
- "THURSDAY",
- "FRIDAY"
], - "weekends": [
- "SATURDAY",
- "SUNDAY"
], - "startDate": "2022-01-01",
- "endDate": "2022-12-31",
- "requireNotes": false,
- "doNotAllowOnHolidays": false,
- "timesheetRuleEmployees": [
- {
- "key": "22"
}, - {
- "key": "27"
}, - {
- "id": "JSmith"
}
]
}
{- "ia::result": {
- "key": "3",
- "id": "3",
- "href": "/objects/time/timesheet-rule/3"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified timesheet rule.
key required | string System-assigned unique key for the timesheet rule. Example: 99 |
OK
Bad Request
{- "ia::result": {
- "key": "2",
- "id": "2",
- "name": "Time sheet of my company",
- "businessDays": [
- "MONDAY",
- "TUESDAY",
- "WEDNESDAY",
- "THURSDAY",
- "FRIDAY"
], - "weekends": [
- "SATURDAY",
- "SUNDAY"
], - "startDate": "2024-02-01",
- "endDate": "2024-10-01",
- "minHoursPerWorkDay": "2.5",
- "maxHoursPerWorkDay": "8",
- "minHoursForApproval": "1.5",
- "maxHoursForApproval": "8",
- "minHoursPerWeekend": "2",
- "maxHoursPerWeekend": "4",
- "requireNotes": false,
- "doNotAllowOnHolidays": false,
- "status": "active",
- "href": "/objects/time/timesheet-rule/2",
- "timesheetRuleEmployees": [
- {
- "key": "23",
- "id": "jsmith",
- "name": "Smith, John",
- "href": "/objects/company-config/employee/23"
}, - {
- "key": "25",
- "id": "abrown",
- "name": "Brown, Angela",
- "href": "/objects/company-config/employee/25"
}
]
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing timesheet rule by setting field values. Any fields not provided remain unchanged.
key required | string System-assigned unique key for the timesheet rule. Example: 99 |
name | string Rule name. Example: "Weekend overtime limit" | ||||
businessDays | Array of strings Default: [] Days of the week defined as work days that apply to the timesheet rule. Example: ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"] | ||||
weekends | Array of strings Default: [] Days of the weekend defined as work days that apply to the timesheet rule. Example: ["SATURDAY","SUNDAY"] | ||||
startDate | string <date> The timesheet rule start date. Example: "2025-06-01" | ||||
endDate | string <date> The timesheet rule end date. The end date must occur after the start date. Example: "2026-06-01" | ||||
minHoursForApproval | string or null <decimal-precision-2> The minimum hours required for approval. Example: "0.2" | ||||
maxHoursForApproval | string or null <decimal-precision-2> The maximum hours allowed for approval. Example: "5" | ||||
minHoursPerWorkDay | string or null <decimal-precision-2> The minimum required non-weekend hours per work day. Example: "2.0" | ||||
maxHoursPerWorkDay | string or null <decimal-precision-2> The maximum allowed non-weekend hours per work day. Example: "10.0" | ||||
requireNotes | boolean Default: false Indicates whether notes are required (true) or not (false) for the timesheet. Example: false | ||||
doNotAllowOnHolidays | boolean Default: false Indicates whether to reject timesheets submitted with work performed on a defined holiday (true) or not (false). Example: false | ||||
minHoursPerWeekend | string or null <decimal-precision-2> The minimum weekend hours. Use '0' if no one works. Example: "0.2" | ||||
maxHoursPerWeekend | string or null <decimal-precision-2> The maximum weekend hours. Use '0' if no one works. Example: "5.0" | ||||
Array of objects | |||||
Array
| |||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
OK
Bad Request
{- "name": "Time Schedule for 2024",
- "timesheetRuleEmployees": [
- {
- "key": "24"
}, - {
- "id": "MGR1"
}
]
}
{- "ia::result": {
- "key": "5",
- "id": "5",
- "href": "/objects/time/timesheet-rule/5"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a timesheet rule.
key required | string System-assigned unique key for the timesheet rule. Example: 99 |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "A POST request requires a payload",
- "errorId": "REST-1028",
- "additionalInfo": {
- "messageId": "IA.REQUEST_REQUIRES_A_PAYLOAD",
- "placeholders": {
- "OPERATION": "POST"
}, - "propertySet": { }
}, - "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
}
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 0,
- "totalError": 1
}
}