Standard cost types

Define standard cost types to create a catalog of definitions that can be used to create new cost types pre-populated with specific values, such as for labor, materials, and subcontracts.

Note: Construction companies record expenses using the work breakdown structure (WBS). In the industry, the WBS is traditionally defined as job/cost code/category. Sage Intacct uses project/task/cost type to reflect this structure.

List standard cost types

get/objects/construction/standard-cost-type

Returns up to 100 object references from the collection with a key, ID, and link for each standard cost type. 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": "7",
      • "id": "LAB",
      • "href": "/objects/construction/standard-cost-type/7"
      },
    • {
      • "key": "1",
      • "id": "EQ",
      • "href": "/objects/construction/standard-cost-type/1"
      },
    • {
      • "key": "2",
      • "id": "EQ-Rental",
      • "href": "/objects/construction/standard-cost-type/2"
      },
    • {
      • "key": "3",
      • "id": "EQ-Owned",
      • "href": "/objects/construction/standard-cost-type/3"
      }
    ],
  • "ia::meta": {
    • "totalCount": 4,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a standard cost type

post/objects/construction/standard-cost-type

Creates a new standard cost type.

SecurityOAuth2
Request
Request Body schema: application/json
required

Standard cost type to create

id
required
string

Unique identifier of the standard cost type. Used by the system to create the IDs of any cost types created from this standard cost type. 12 characters or less.

Example: "EQ-Owned"
name
required
string

Name of the standard cost type.

Example: "EQ Owned"
description
string

Description of the standard cost type.

Example: "EQ Owned"
costUnitDescription
string or null

Describes the unit of measure used by this cost type. For example, for a labor cost type the cost unit represents an hour of labor. For a materials cost type, the cost unit could be "tons" or "feet" or similar.

Example: "each"
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"
object

General ledger account associated with this cost type.

key
string

Account key.

Example: "256"
id
string

Account ID.

Example: "6252"
object

Accumulation type associated with this cost type.

key
string

Accumulation type key.

Example: "1"
id
string

Accumulation type ID.

Example: "Equipment"
object

Reference to a parent standard cost type to group standard cost types in the catalog.

key
string

Parent standard cost type key.

Example: "2"
id
string

Parent standard cost type ID.

Example: "EQ"
object

Reference to an item.

key
string

Item key.

Example: "319"
id
string

Item ID.

Example: "Overhead"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "EQ-Owned",
  • "name": "EQ Owned",
  • "description": "EQ Owned",
  • "accumulationType": {
    • "id": "Equipment"
    },
  • "glAccount": {
    • "key": "208"
    },
  • "parent": {
    • "id": "EQ"
    },
  • "item": {
    • "id": "Equipment"
    }
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "14",
    • "id": "EQ-Owned",
    • "href": "/objects/construction/standard-cost-type/14"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a standard cost type

get/objects/construction/standard-cost-type/{key}

Returns detailed information for a specified standard cost type.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the standard cost type.

Example: 1050
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "10",
    • "id": "LAB-REG",
    • "name": "Labor Regular",
    • "description": "Labor Regular",
    • "accumulationType": {
      • "key": "1",
      • "id": "Labor",
      • "href": "/objects/construction/accumulation-type/1"
      },
    • "costUnitDescription": null,
    • "status": "active",
    • "glAccount": {
      • "key": "208",
      • "id": "5001.01",
      • "name": "Construction Labor",
      • "href": "/objects/general-ledger/account/208"
      },
    • "parent": {
      • "key": "7",
      • "id": "LAB",
      • "name": "Labor",
      • "href": "/objects/construction/standard-cost-type/7"
      },
    • "item": {
      • "key": "320",
      • "id": "Labor",
      • "name": "Labor",
      • "href": "/objects/inventory-control/item/320"
      },
    • "audit": {
      • "createdDateTime": "2022-10-14T15:45:22Z",
      • "modifiedDateTime": "2022-10-14T15:46:44Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "href": "/objects/construction/standard-cost-type/10"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a standard cost type

patch/objects/construction/standard-cost-type/{key}

Updates an existing standard cost type by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the standard cost type.

Example: 1050
Request Body schema: application/json
name
string

Name of the standard cost type.

Example: "EQ Owned"
description
string

Description of the standard cost type.

Example: "EQ Owned"
costUnitDescription
string or null

Describes the unit of measure used by this cost type. For example, for a labor cost type the cost unit represents an hour of labor. For a materials cost type, the cost unit could be "tons" or "feet" or similar.

Example: "each"
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"
object

General ledger account associated with this cost type.

key
string

Account key.

Example: "256"
id
string

Account ID.

Example: "6252"
object

Accumulation type associated with this cost type.

key
string

Accumulation type key.

Example: "1"
id
string

Accumulation type ID.

Example: "Equipment"
object

Reference to a parent standard cost type to group standard cost types in the catalog.

key
string

Parent standard cost type key.

Example: "2"
id
string

Parent standard cost type ID.

Example: "EQ"
object

Reference to an item.

key
string

Item key.

Example: "319"
id
string

Item ID.

Example: "Overhead"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "description": "Owned equipment",
  • "costUnitDescription": "each",
  • "glAccount": {
    • "id": "5001.05"
    },
  • "item": {
    • "id": "Equipment"
    },
  • "parent": {
    • "id": "OH"
    }
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "14",
    • "id": "EQ-Owned",
    • "href": "/objects/construction/standard-cost-type/14"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a standard cost type

delete/objects/construction/standard-cost-type/{key}

Deletes a standard cost type. You cannot delete a standard cost type if it has been used to create a cost type in a project.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the standard cost type.

Example: 1050
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
    }
}