Timesheet rules

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.

List timersheet rules

get/objects/time/timesheet-rule

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.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "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
    }
}

Create a timesheet rule

post/objects/time/timesheet-rule

Creates a new timesheet rule.

SecurityOAuth2
Request
Request Body schema: application/json
required
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
key
string

Unique key for the employee to whom the timesheet rule applies.

Example: "5606"
id
string

Unique identifier for the employee to whom the timesheet rule applies.

Example: "EMP-1"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "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"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "3",
    • "href": "/objects/time/timesheet-rule/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a timesheet rule

get/objects/time/timesheet-rule/{key}

Returns detailed information for a specified timesheet rule.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the timesheet rule.

Example: 99
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "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": [
      • {
        },
      • {
        }
      ]
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a timesheet rule

patch/objects/time/timesheet-rule/{key}

Updates an existing timesheet rule by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the timesheet rule.

Example: 99
Request Body schema: application/json
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
key
string

Unique key for the employee to whom the timesheet rule applies.

Example: "5606"
id
string

Unique identifier for the employee to whom the timesheet rule applies.

Example: "EMP-1"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "name": "Time Schedule for 2024",
  • "timesheetRuleEmployees": [
    • {
      • "key": "24"
      },
    • {
      • "id": "MGR1"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "5",
    • "id": "5",
    • "href": "/objects/time/timesheet-rule/5"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a timesheet rule

delete/objects/time/timesheet-rule/{key}

Deletes a timesheet rule.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the timesheet rule.

Example: 99
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}