Tasks simplify the process of capturing task data for projects as you enter transactions. The uniqueness of a task is bound to a specific project, meaning you cannot select a task without first identifying the project. Projects and tasks are available with the Construction subscription.
Use tasks (a unit of work to be performed for a project) to:
For more information, read more about task dimensions in the Sage Intacct Help Center.
Returns a collection with a key, ID, and link for each task. This operation is mostly for use in testing; use the query service to find tasks that meet certain criteria and to specify properties that are returned.
OK
Bad Request
{- "ia::result": [
- {
- "key": "1",
- "id": "TASK-MERIDIAN-REQ-001",
- "href": "/objects/projects/task/1"
}, - {
- "key": "2",
- "id": "TASK-NOVA-MIG-002",
- "href": "/objects/projects/task/2"
}, - {
- "key": "3",
- "id": "TASK-TECHSOL-CONFIG-003",
- "href": "/objects/projects/task/3"
}
], - "ia::meta": {
- "totalCount": 3,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}
Creates a new project task within a specified project. You may provide either a project task 'id' or a standard task id
. If a standard task is used, key
or id
is optional - when provided, the task is created based on that standard task template.
If document sequencing is not enabled, id
is required. If it is enabled, the task id
is optional unless you wish to override the system-generated id
.
If a parent task is provided, it must already exist in the project and defines the task hierarchy. If no parent task is specified, the system automatically creates any missing parent tasks based on the standard task hierarchy.
Task fields inherit values from the standard task unless defined in the request. Associated cost types from the standard task are also created automatically.
For more information, read about adding tasks in the Sage Intacct Help Center.
New task definition
name required | string Unique name for the task. Example: "Client Onboarding - Requirements Gathering" | ||||
required | object Specifies the project that the task is associated with. | ||||
| |||||
id | string Unique identifier for the task (20 characters maximum). Example: "01-010" | ||||
description | string or null Description for the task. Example: "Conduct detailed sessions with the client to identify. document, and validate business, functional, and technical requirements." | ||||
object Specifies the parent task to which this task is subordinate. | |||||
| |||||
object Specifies the work item associated with this task. Assigning an item is required for the task to be billable and included in customer invoicing. | |||||
| |||||
object Defines the scheduled start and end dates for the task. | |||||
| |||||
object Indicates planned, estimated, actual, approved and remaining time values, including both total and billable durations. | |||||
| |||||
isMilestone | boolean Default: false Indicates whether the task is a milestone. Set to Example: true | ||||
isUtilized | boolean Default: false Indicates whether the task contributes to project utilization. Set to Example: true | ||||
isBillable | boolean Default: false Indicates whether the time recorded against the task is billable to a customer. Set to Example: true | ||||
wbsCode | string or null Specifies the work breakdown structure (WBS) code for the task. This code can contain up to 8 characters and is used to categorize and organize tasks within the project. Example: "43364836" | ||||
priority | number or null Specifies the task's priority using a numeric value, A numeric value indicating the task priority. Example: 2 | ||||
taskStatus | string Default: "inProgress" Indicates the current status of the task. Once a task is marked as Example: "completed" | ||||
object Specifies the time type to be associated with this task, such as salary or overtime. Used for posting labor costs to the general ledger and for tracking how working time is categorized. This field is required if labor cost posting is enabled. For more information, read about how to setup labor cost posting in the Sage Intacct Help Center. | |||||
| |||||
object Specifies the class associated with the task. | |||||
| |||||
object Identifies a document associated with the task, such as a statement of work, technical specification, project plan or agreement. | |||||
| |||||
object Specifies the predecessor task that must be completed before this task can begin. Used to establish task dependencies and enforce proper sequencing within the project schedule. | |||||
| |||||
object Used to track measurable output resulting from various cost inputs, such as material, labor, and equipment. | |||||
| |||||
object Specifies a predefined standard task used as the template for this task, defining consistent settings such as name, duration and billing attributes. For more information, read about the Standard Task Catalog in the Sage Intacct Help Center. | |||||
|
Created
Bad Request
{- "id": "NET-XML30-1-REQ-001",
- "name": "Requirements Gathering",
- "project": {
- "id": "NET-XML30-1"
}, - "taskStatus": "planned"
}
{- "ia::result": {
- "key": "6",
- "id": "NET-XML30-1-REQ-001",
- "href": "/objects/projects/task/6"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified task.
key required | string System-assigned key for the task. Example: 497 |
OK
Bad Request
{- "ia::result": {
- "key": "6",
- "id": "NET-XML30-1-REQ-001",
- "parent": {
- "key": "11",
- "id": "NET-XML30-1-IMPL-001",
- "name": "Implementation Phase",
- "href": "/objects/projects/task/11"
}, - "name": "Requirements Gathering",
- "project": {
- "key": "1",
- "id": "NET-XML30-1",
- "name": "NetSuite XML Integration - Phase 1",
- "startDate": "2023-02-25",
- "endDate": "2023-04-25",
- "href": "/objects/projects/project/56"
}, - "customer": {
- "key": "1",
- "id": "CUST-ATLAS-001",
- "name": "Corley Manufacturing Ltd",
- "href": "/objects/accounts-receivable/customer/41"
}, - "productionUnits": {
- "estimate": 1200,
- "description": "Error Handling Rule Implemented."
}, - "item": {
- "key": "311",
- "id": "SERV-INTEG-001",
- "name": "Professional Services - Integration Development",
- "href": "/objects/inventory-control/item/311"
}, - "planned": {
- "startDate": "2023-02-25",
- "endDate": "2023-06-25"
}, - "actual": {
- "startDate": "2023-02-25",
- "endDate": "2023-11-25"
}, - "duration": {
- "planned": 100,
- "estimated": 100,
- "actual": 0,
- "remaining": null,
- "approved": 0,
- "plannedBillable": 0,
- "estimatedBillable": 0,
- "actualBillable": 0,
- "approvedBillable": 0
}, - "percentComplete": "0.25",
- "observedPercentComplete": "0.30",
- "description": "Gather and document technical and business requirements for the NetSuite XML integration.",
- "isMilestone": false,
- "isUtilized": false,
- "isBillable": false,
- "wbsCode": "1",
- "priority": 1,
- "taskStatus": "inProgress",
- "timeType": {
- "key": "2",
- "id": "Overtime",
- "href": "/objects/time/time-type/2"
}, - "class": {
- "key": "19",
- "id": "CLASS-PS-INTEG",
- "name": "Professional Services - Integration Projects",
- "href": "/objects/company-config/class/19"
}, - "audit": {
- "createdDateTime": "2025-02-15T03:03:31Z",
- "modifiedDateTime": "2025-02-15T03:03:32Z",
- "createdByUser": {
- "key": "159",
- "href": "/objects/company-config/user/159"
}, - "createdBy": "159",
- "modifiedByUser": {
- "key": "159",
- "href": "/objects/company-config/user/159"
}, - "modifiedBy": "159"
}, - "dependentOn": {
- "key": "1",
- "id": "NET-XML30-1-DESIGN-002",
- "name": "System Design",
- "href": "/objects/projects/task/1"
}, - "root": {
- "key": "1",
- "id": "NET-XML30-1-ROOT-000",
- "name": "NetSuite Integration - Phase 1",
- "href": "/objects/projects/task/1"
}, - "standardTask": {
- "key": "1",
- "id": "STD-INTEG-REQ-001",
- "name": "Requirements Gathering - Integration Projects",
- "href": "/objects/construction/standard-task/1"
}, - "attachment": {
- "key": null,
- "id": null
}, - "href": "/objects/projects/task/6"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing task by setting field values. Any fields not provided remain unchanged.
If the task does not already reference a standard task, you may assign one by by providing a standard task id
. The standard task id
must exactly match the project task id
. Assigning a standard task does not update any other task fields. Once set, the standard task reference or it's hierarchy cannot be changed.
For more information, read about defining standard tasks in the Sage Intacct Help Center.
key required | string System-assigned key for the task. Example: 497 |
name | string Unique name for the task. Example: "Client Onboarding - Requirements Gathering" | ||||
description | string or null Description for the task. Example: "Conduct detailed sessions with the client to identify. document, and validate business, functional, and technical requirements." | ||||
object Specifies the parent task to which this task is subordinate. | |||||
| |||||
object Specifies the work item associated with this task. Assigning an item is required for the task to be billable and included in customer invoicing. | |||||
| |||||
object Defines the scheduled start and end dates for the task. | |||||
| |||||
object Indicates planned, estimated, actual, approved and remaining time values, including both total and billable durations. | |||||
| |||||
isMilestone | boolean Default: false Indicates whether the task is a milestone. Set to Example: true | ||||
isUtilized | boolean Default: false Indicates whether the task contributes to project utilization. Set to Example: true | ||||
isBillable | boolean Default: false Indicates whether the time recorded against the task is billable to a customer. Set to Example: true | ||||
wbsCode | string or null Specifies the work breakdown structure (WBS) code for the task. This code can contain up to 8 characters and is used to categorize and organize tasks within the project. Example: "43364836" | ||||
priority | number or null Specifies the task's priority using a numeric value, A numeric value indicating the task priority. Example: 2 | ||||
taskStatus | string Default: "inProgress" Indicates the current status of the task. Once a task is marked as Example: "completed" | ||||
object Specifies the time type to be associated with this task, such as salary or overtime. Used for posting labor costs to the general ledger and for tracking how working time is categorized. This field is required if labor cost posting is enabled. For more information, read about how to setup labor cost posting in the Sage Intacct Help Center. | |||||
| |||||
object Specifies the class associated with the task. | |||||
| |||||
object Identifies a document associated with the task, such as a statement of work, technical specification, project plan or agreement. | |||||
| |||||
object Specifies the predecessor task that must be completed before this task can begin. Used to establish task dependencies and enforce proper sequencing within the project schedule. | |||||
| |||||
object Used to track measurable output resulting from various cost inputs, such as material, labor, and equipment. | |||||
| |||||
object Specifies a predefined standard task used as the template for this task, defining consistent settings such as name, duration and billing attributes. For more information, read about the Standard Task Catalog in the Sage Intacct Help Center. | |||||
|
OK
Bad Request
{- "taskStatus": "completed",
- "duration": {
- "estimated": 27
}
}
{- "ia::result": {
- "key": "6",
- "id": "NET-XML30-1-REQ-001",
- "href": "/objects/projects/task/6"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a task.
key required | string System-assigned key for the task. Example: 497 |
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
}
}