Discover more about construction change orders with the ConstructionOnline API
Table of Contents
Introduction
In ConstructionOnline, users can effectively manage project modifications with the integrated Change Orders feature. Change orders are crucial for tracking alterations to the original project scope, ensuring that all adjustments are properly documented and accounted for. Change orders can only be created for a specific project, ensuring that all changes are directly associated with their respective job. Each change order consists of detailed items that can represent various elements such as labor, materials, or other resources impacted by the change.
The ConstructionOnline API provides two key endpoints for managing change orders:
The ConstructionOnline API provides two key endpoints for managing change orders:
- api/ChangeOrders endpoints return high-level information about a change order, such as its name, related project, creator ID, and more. These endpoints do not return any items associated with the change order.
- api/ChangeOrderItems endpoints return information about a change order's items. These endpoints will return specific information about each individual item, such as its name, markup type, cost, tax, and more. These items will reference the change order the item belongs to.
api/ChangeOrders
The following properties will return when an api/ChangeOrders endpoint is called:
Name | Type | Description |
ID | integer | Unique identifier for the change order. |
NAME | string | Name of the change order. |
PRJ_ID | integer | Unique identifier of the project associated with the change order. |
PROJECTNAME | string | Name of the project associated with the change order. |
NUMBER | string | Number assigned to the change order. |
DETAILS | string | Description of the change order. |
CONDITION | byte | Status of the change order. A value of 0 represents a pending status, 1 is an approved status, 2 is a rejected status, and 3 is a draft status. |
COST_MONEY | decimal | Total cost of the change order (excluding any tax or markup). |
COST_TIME | integer | Number of added workdays for the change order. |
DATE_CREATED | date | Date and time the change order was created. |
CREATED_BY | integer | Unique identifier of the user who created the change order. |
CREATOR | string | Name of the user who created the change order. |
DATE_CLOSED | date | Date and time the change order was approved or rejected. |
CLOSED_BY | integer | Unique identifier of the user who approved/rejected the change order. |
CLOSER | string | Name of the user who approved/rejected the change order. |
DATE_MODIFIED | date | Date and time the change order was last modified. |
MODIFIED_BY | integer | Unique identifier of the user who last modified the change order. |
MODIFIER | string | Name of the user who last modified the change order. |
NOTES | string | Notes entered for the change order. |
REASONING | string | Reserved for internal use. |
PRICE | decimal | Unit cost of the change order. |
QTY | decimal | Quantity set for a lump sum change order. |
SUBTITLE | string | Subtitle of the change order. |
IMAGE_ID | integer | Unique identifier for the image selected as the item image for the change order. |
URL | string | Item webpage URL entered for the change order. |
SUBSTANTIAL_COMMENCEMENT | date | Reserved for internal use. |
MULTIPLIER | integer | Reserved for internal use. |
MARKUP | decimal | Markup calculated for the change order. |
TAX_PERCENT | decimal | Tax percentage applied to the change order. |
TAX_METHOD | integer | Tax calculation method selected for the change order. |
SALES_TAX | decimal | Tax calculated for the change order. |
CLIENT_PRICE | decimal | Client price of the change order (total cost + tax + markup). |
DATE_SUBMITTED | date | Date the change order was submitted for approval (manual field entry, not automatically assigned). |
GCCO | string | G.C. change order number. |
QBO_INVOICE_ID | integer | Unique identifier for the invoice associated with the change order. |
ACCT_INVOICE_ID | string | Unique identifier for the invoice associated with the change order. |
ACTUAL | decimal | Actuals manually recorded for the change order. |
INVOICED_AMOUNTS | decimal | Amount invoiced for the change order. |
COMMITTED_COSTS | decimal | Total committed costs for the change order. |
MARKUP_TYPE | byte | Signifies which markup type was selected for the change order. A value of 0 represents Percent Markup (%), 1 is Dollar Markup ($), and 2 is Dollar per Unit Markup ($/unit). |
QB_COMMITTED | decimal | Total committed costs recorded in QuickBooks for the the change order. |
QB_INVOICED | decimal | Total amount invoiced in QuickBooks for the change order. |
QB_ACTUALS | decimal | Total actual costs recorded in QuickBooks for the change order. |
COST_CODE_ID | integer | Reserved for internal use. |
UNIT | integer | Reserved for future use. |
UNIT_NAME | string | Reserved for future use. |
RELSUBCATS | string | ID of the estimate subcategory associated with the change order. |
RELCONIDS | string | Reserved for internal use. |
RELUSERIDS | string | ID and name of any users added to the change order as a resource. |
Example response:
{ "ID": 498099,
"NAME": "Living Room Light Fixtures",
"PRJ_ID": 1321036,
"PROJECTNAME": "3931 E Lake Blvd",
"NUMBER": "2",
"DETAILS": "Client requested different overhead light fixtures for the living room. \nNew fixtures exceed existing allowance.\nFixtures need to be ordered & delivered before installation date of 7/01/23.",
"CONDITION": 0,
"COST_MONEY": 2380.0,
"COST_TIME": 3,
"DATE_CREATED": "2023-05-17T18:15:45.037",
"CREATED_BY": 985300,
"CREATOR": "",
"DATE_CLOSED": "2023-06-02T19:59:14.217",
"CLOSED_BY": 988884,
"CLOSER": "",
"DATE_MODIFIED": "2024-02-19T17:48:46.417",
"MODIFIED_BY": 988884,
"MODIFIER": "",
"NOTES": "",
"REASONING": "",
"PRICE": 2380.0,
"QTY": 1.0,
"SUBTITLE": "Upgraded light fixtures for the living room",
"IMAGE_ID": 0,
"URL": "",
"SUBSTANTIAL_COMMENCEMENT": null,
"MULTIPLIER": null,
"MARKUP": 385.0,
"TAX_PERCENT": 0.0,
"TAX_METHOD": 3,
"SALES_TAX": 0.0,
"CLIENT_PRICE": 2765.0,
"DATE_SUBMITTED": "2023-05-14T00:00:00",
"GCCO": "",
"QBO_INVOICE_ID": null,
"ACCT_INVOICE_ID": null,
"ACTUAL": 0.0,
"INVOICED_AMOUNTS": 0.0,
"COMMITTED_COSTS": 0.0,
"MARKUP_TYPE": 1,
"QB_COMMITTED": null,
"QB_INVOICED": 0.0,
"QB_ACTUALS": 0.0,
"UNIT": null,
"UNIT_NAME": null,
"RELSUBCATS": null,
"RELCONIDS": null,
"RELUSERIDS": "985779,Theo Brown"
}
api/ChangeOrderItems
The following properties will return when an api/ChangeOrderItems endpoint is called:
Name | Type | Description |
ID | integer | Unique identifier for the change order item. |
CHANGE_ORDER_ID | integer | Unique identifier of the change order the item is belongs to. |
NAME | string | Name of the change order item |
PRJ_ID | integer | Unique identifier of the project associated with the change order item. |
PROJECTNAME | string | Name of the project associated with the change order item. |
ROW_NUMBER | string | Row number assigned to the change order item. |
DESCRIPTION | string | Description of the change order item. |
CLASSIFICATION | integer | Designates the classification assigned to the e item. A value of 1 is the classification Material, 2 is Labor, 3 is Subcontractor, 4 is Equipment, 5 is Other, and 6 is Unclassified. |
STATUS | integer | Status of the change order. A value of 0 represents a pending status, 1 is an approved status, 2 is a rejected status, and 3 is a draft status. |
COST_ESTIMATE | decimal | Total cost of the change order item (excluding any tax or markup). |
COST_TOTAL | integer | Reserved for internal use. |
NOTES_TEAMLINK | string | TeamLink notes entered for the change order. |
NOTES_CLIENTLINK | string | ClientLink notes entered for the change order. |
NOTES_GENERAL | string | General notes entered for the change order. |
LINE_ITEM_MARKUP | string | Individual markup for the change order item. |
RATE | decimal | Quantity of the change order item. |
RATE_QTY | decimal | Unit cost of the change order item. |
LINE_ITEM_MARKUP_TYPE | integer | Signifies which markup calculation type was selected for the item. A value of 1 represents Percent Markup (%), 2 is Dollar Markup, 3 is Dollar per Unit Markup, and 4 is Classification Markups Applied. |
ADJUSTMENT | decimal | Total adjustments entered for the change order. |
TRAFFIC_COLOR | integer | Reserved for future use. |
COST_CODE_ID | integer | Unique identifier for the cost code assigned to the change order item. |
MARKUP | decimal | Total markup calculated for the change order item. |
COMMITTED_COSTS | decimal | Total committed costs manually recorded for the change order. |
INVOICED_AMOUNTS | decimal | Total amount invoiced towards the change order. |
ACTUAL | decimal | Total actual costs manually recorded for the change order. |
QB_COMMITTED | decimal | Total committed costs recorded in QuickBooks for the change order. |
QB_INVOICED | decimal | Total amount invoiced in QuickBooks for the change order. |
QB_ACTUAL | decimal | Total actual costs recorded in QuickBooks for the change order. |
TAX_PERCENT | decimal | Tax percentage applied to the change order item. |
TAX_METHOD | integer | Tax calculation method selected for the change order item. |
SALES_TAX | decimal | Total tax calculated for the change order item. |
CLIENT_PRICE | decimal | Client price of the change order item (total cost + tax + markup). |
DATE_CREATED | date | Date the change order item was created. |
CREATED_BY | integer | Unique identifier for the user who created the change order item. |
CREATOR | string | Name of the user who created the change order item. |
DATE_CLOSED | date | Date and time the change order was approved or rejected. |
CLOSED_BY | integer | Unique identifier of the user who approved/rejected the change order. |
CLOSER | string | Name of the user who approved/rejected the change order. |
DATE_MODIFIED | date | Date and time the change order item was last modified. |
MODIFIED_BY | integer | Unique identifier of the user who last modified the change order item. |
MODIFIER | string | Name of the user who last modified the change order item. |
CUSTOM_UNIT | integer | Reserved for future use. |
UNIT_NAME | string | Reserved for future use. |
RELSUBCATS | string | Reserved for future use. |
Example response:
{
"ID": 524469,
"CHANGE_ORDER_ID": 500942,
"NAME": "Chandelier",
"PRJ_ID": 1321036,
"PROJECTNAME": "3931 E Lake Blvd",
"ROW_NUMBER": 0,
"DESCRIPTION": "",
"CLASSIFICATION": 1,
"STATUS": 3,
"COST_ESTIMATE": 850.0,
"COST_TOTAL": null,
"NOTES_TEAMLINK": null,
"NOTES_CLIENTLINK": null,
"NOTES_GENERAL": null,
"LINE_ITEM_MARKUP": "20",
"RATE": 850.0,
"RATE_QTY": 1.0,
"LINE_ITEM_MARKUP_TYPE": 0,
"ADJUSTMENT": 0.0,
"TRAFFIC_COLOR": 0,
"COST_CODE_ID": 371,
"MARKUP": 170.0,
"COMMITTED_COSTS": 0.0,
"INVOICED_AMOUNTS": 0.0,
"ACTUAL": 0.0,
"QB_COMMITTED": null,
"QB_INVOICED": null,
"QB_ACTUAL": null,
"TAX_PERCENT": 0.0,
"TAX_METHOD": 3,
"SALES_TAX": 0.0,
"CLIENT_PRICE": 1020.0,
"DATE_CREATED": "2023-06-02T15:13:36.403",
"CREATED_BY": 985888,
"CREATOR": "Alex Kim",
"DATE_CLOSED": null,
"CLOSED_BY": null,
"CLOSER": "",
"DATE_MODIFIED": "2023-06-27T17:25:05.983",
"MODIFIED_BY": 985888,
"MODIFIER": "",
"CUSTOM_UNIT": null,
"UNIT_NAME": null,
"RELSUBCATS": null
}
Last updated: Oct 14, 2024