Timesheets ensure that workers are paid appropriately. They also help project managers invoice clients and track overall project costs and expenses over time. Timesheets are used in both Projects and Time & Expenses. A subscription to Projects is required to approve timesheets and save timesheets as drafts.
Each time a timesheet entry is submitted, a timesheet approval history object is created for tracking purposes. Many settings that impact required timesheet information are configured in Projects. See Configure Projects in the Sage Intacct Help Center for more information.
Returns up to 100 object references from the collection with a key, ID, and link for each timesheet. This operation is mostly for use in testing; use query to find timesheets that meet certain criteria and to specify properties that are returned.
Subscription | Time & Expenses |
---|---|
User type | Business, Project Manager, or Employee |
Permissions | List Timesheets |
OK
Bad Request
{- "ia::result": [
- {
- "key": "101",
- "id": "101",
- "href": "/objects/time/timesheet/101"
}, - {
- "key": "102",
- "id": "102",
- "href": "/objects/time/timesheet/102"
}, - {
- "key": "103",
- "id": "103",
- "href": "/objects/time/timesheet/103"
}
], - "ia::meta": {
- "totalCount": 3,
- "start": 1,
- "pageSize": 100,
- "next": 0,
- "previous": 0
}
}
Creates a new timesheet.
Subscription | Time & Expenses |
---|---|
User type | Business, Project Manager, or Employee |
Permissions | Add timesheets |
timesheet
beginDate required | string <date> Begin date of the work period. Example: "2024-01-01" | ||||||||||||||||||
postingDate | string <date> Defaults to timesheet Example: "2024-01-01" | ||||||||||||||||||
state | string Default: "draft" State of the timesheet in the approval cycle, such as approved or declined. Example: "submitted" | ||||||||||||||||||
description | string Timesheet description. Example: "Week of 2024-01-01 to cover help desk" | ||||||||||||||||||
object The employee who performed the work and whose time is being tracked. | |||||||||||||||||||
| |||||||||||||||||||
object Supporting documentation for the timesheet. | |||||||||||||||||||
| |||||||||||||||||||
Array of objects Time entries | |||||||||||||||||||
Array
|
Created
Bad Request
{- "beginDate": "2024-01-01",
- "state": "submitted",
- "description": "Week of 01/01/24",
- "employee": {
- "key": "973"
}, - "attachment": {
- "key": "8420"
}, - "lines": [
- {
- "dimensions": {
- "department": {
- "key": "11"
}, - "location": {
- "key": "22"
}, - "project": {
- "key": "1"
}, - "costType": {
- "key": "2"
}, - "task": {
- "key": "1"
}, - "customer": {
- "key": "13"
}, - "item": {
- "key": "13"
}
}, - "entryDate": "2024-04-01",
- "quantity": 6,
- "description": "Week of 04/01/24",
- "notes": "Talked to client regarding project",
- "timeType": {
- "key": "1"
}, - "isBillable": true
}
]
}
{- "ia::result": {
- "key": "40",
- "id": "40",
- "href": "/objects/time/timesheet/40"
}, - "ia::meta": {
- "totalCount": 1
}
}
Returns detailed information for a specified timesheet.
Subscription | Time & Expenses |
---|---|
User type | Business, Project Manager, or Employee |
Permissions | List Timesheets |
key required | string System-assigned unique key for the timesheet. |
OK
Bad Request
{- "ia::result": {
- "key": "23",
- "id": "23",
- "href": "/objects/time/timesheet/23",
- "beginDate": "2024-01-01",
- "endDate": "2024-12-31",
- "postingDate": "2024-01-01",
- "state": "submitted",
- "unitOfMeasure": "Hours",
- "hoursInDay": 8,
- "description": "Week of 01/01/24",
- "calculationMethod": "hourly",
- "postActualLaborCost": false,
- "employee": {
- "key": "973",
- "id": "E-001",
- "href": "/objects/company-config/employee/973"
}, - "employeeContact": {
- "key": "977",
- "id": "John Smith",
- "firstName": "John",
- "lastName": "Smith",
- "href": "/objects/company-config/contact/977"
}, - "attachment": {
- "key": "8420",
- "id": "Attach-01",
- "href": "/objects/company-config/attachment/973"
}, - "employeeClassId": "EMP_CLS_001",
- "employeeDepartmentId": "DEP-11",
- "employeeLocation": {
- "key": "22",
- "id": "LOC-22",
- "href": "/objects/company-config/location/22"
}, - "employeePositionId": "MGR",
- "lines": [
- {
- "key": "1411",
- "id": "1411",
- "href": "/objects/time/timesheet-line/1411",
- "timesheet": {
- "key": "11",
- "id": "11",
- "href": "/objects/time/timesheet/11"
}, - "dimensions": {
- "department": {
- "key": "11",
- "id": "DEP-11",
- "name": "Sales and Marketing",
- "href": "/objects/company-config/department/11"
}, - "location": {
- "key": "22",
- "id": "LOC-22",
- "name": "California",
- "href": "/objects/company-config/location/22"
}, - "employee": {
- "key": "10",
- "id": "EMP-10",
- "name": "Garcia, John",
- "href": "/objects/company-config/employee/10"
}, - "project": {
- "key": "1",
- "id": "Proj-001",
- "name": "Implementation",
- "href": "/objects/projects/project/1"
}, - "costType": {
- "id": "2",
- "key": "2",
- "name": "Project Expense",
- "href": "/objects/construction/cost-type/2"
}, - "task": {
- "id": "1",
- "key": "1",
- "name": "Project Task",
- "href": "/objects/projects/task/1"
}, - "customer": {
- "key": "13",
- "id": "CUST-13",
- "name": "Jack In the Box",
- "href": "/objects/accounts-receivable/customer/13"
}, - "item": {
- "key": "13",
- "id": "Case 13",
- "name": "Platform pack",
- "href": "/objects/inventory-control/item/13"
}
}, - "entryDate": "2024-04-01",
- "quantity": 6,
- "lineNumber": 1,
- "description": "Week of 04/01/24",
- "notes": "Talked to client regarding project",
- "state": "approved",
- "timeType": {
- "key": "1",
- "id": "Salaries At Root",
- "name": "Salaries At Root",
- "href": "/objects/time/time-type/1"
}, - "isBillable": true,
- "isBilled": "false",
- "statisticalJournal": {
- "key": "7483",
- "id": "7483",
- "href": "/objects/company-config/employee/10"
}, - "billableUtilizedAccount": {
- "key": "8293",
- "id": "8293",
- "href": "/objects/general-ledger/statistical-account/8293"
}, - "nonBbillableUtilizedAccount": {
- "key": "8294",
- "id": "8294",
- "href": "/objects/general-ledger/statistical-account/8294"
}, - "billableNonUtilizedAccount": {
- "key": "8295",
- "id": "8295",
- "href": "/objects/general-ledger/statistical-account/8295"
}, - "nonBillableNonUtilizedAccount": {
- "key": "8296",
- "id": "8296",
- "href": "/objects/general-ledger/statistical-account/8296"
}, - "hours": {
- "billable": 8,
- "nonBillable": 2,
- "approved": 10,
- "approvedBillable": 8,
- "approvedNonBillable": 2,
- "utilized": 10,
- "nonUtilized": 4,
- "approvedUtilized": 3,
- "approvedNonUtilized": 2
}, - "externalPayroll": {
- "costRate": 1,
- "billingRate": 1,
- "amount": "90",
- "employerTaxes": 15,
- "fringes": 10,
- "cashFringes": 2
}, - "laborClass": {
- "key": "15",
- "id": "15",
- "name": "Labor Class",
- "href": "/objects/construction/labor-class/15"
}, - "audit": {
- "createdDateTime": "2022-04-20T16:20:00Z",
- "modifiedDateTime": "2022-04-20T16:20:00Z",
- "createdBy": "1",
- "modifiedBy": "95"
}, - "entity": {
- "key": "46",
- "id": "Western Region",
- "name": "Western Region",
- "href": "/objects/company-config/entity/46"
}
}
], - "audit": {
- "createdDateTime": "2022-04-20T16:20:00Z",
- "modifiedDateTime": "2022-04-20T16:20:00Z",
- "createdBy": "1",
- "modifiedBy": "95"
}
}, - "ia::meta": {
- "totalCount": 3
}
}
Updates an existing timesheet by setting field values. Any fields not provided remain unchanged.
Subscription | Time & Expenses |
---|---|
User type | Business, Project Manager, or Employee |
Permissions | Update Timesheets |
key required | string System-assigned unique key for the timesheet. |
beginDate | string <date> Begin date of the work period. Example: "2024-01-01" | ||||||||||||||||||
postingDate | string <date> Defaults to timesheet Example: "2024-01-01" | ||||||||||||||||||
state | string Default: "draft" State of the timesheet in the approval cycle, such as approved or declined. Example: "submitted" | ||||||||||||||||||
description | string Timesheet description. Example: "Week of 2024-01-01 to cover help desk" | ||||||||||||||||||
object The employee who performed the work and whose time is being tracked. | |||||||||||||||||||
| |||||||||||||||||||
object Supporting documentation for the timesheet. | |||||||||||||||||||
| |||||||||||||||||||
Array of objects Time entries | |||||||||||||||||||
Array
|
OK
Bad Request
{- "state": "submitted",
- "description": "Week of 01/01/24"
}
{- "ia::result": {
- "key": "40",
- "id": "40",
- "href": "/objects/time/timesheet/40"
}, - "ia::meta": {
- "totalCount": 1
}
}
Deletes a timesheet.
Subscription | Time & Expenses |
---|---|
User type | Business, Project Manager, or Employee |
Permissions | Delete Timesheets |
key required | string System-assigned unique key for the timesheet. |
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
}
}
Queries an object for filtered data.
object | string Object type to query, in the form Example: "time/timesheet" | ||||||||
fields | Array of strings List of fields to include in the response. Can be any combination of these:
Example: ["key","id","max:vendor.creditLimit"] | ||||||||
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object) Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}] | |||||||||
Array Any of: Field value must be equal to this specified value. For date fields, you can use these macro values that are relative to the current date or the
These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the For example,
| |||||||||
filterExpression | string Default: "and" Logical operators to apply when there are multiple filter conditions. The conditions in the Shortcuts:
Example: "(1 and 2) or 3" | ||||||||
| |||||||||
Array of objects Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order. Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}] | |||||||||
Array
| |||||||||
start | integer First record of the result set to include in the response. Example: 1 | ||||||||
size | integer Number of records to include in the response. Example: 100 |
OK
Bad Request
{- "object": "accounts-payable/vendor",
- "fields": [
- "id",
- "name",
- "status",
- "href"
], - "filters": [
- {
- "$eq": {
- "status": "active"
}
}, - {
- "$eq": {
- "billingType": "openItem"
}
}
], - "filterExpression": "1 and 2",
- "orderBy": [
- {
- "id": "asc"
}
]
}
{- "ia::result": [
- {
- "id": "Vend-00002",
- "name": "Test vendor",
- "status": "active",
- "href": "/objects/accounts-payable/vendor/85"
}, - {
- "id": "VEND-00010",
- "name": "Design Works",
- "status": "active",
- "href": "/objects/accounts-payable/vendor/111"
}
], - "ia::meta": {
- "totalCount": 2,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}