Change Orders Overview

Discover more about construction change orders with the ConstructionOnline API

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:
  • 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