Get project financials

Returns project, estimate, change order, and selection data in bulk for a singular project in your ConstructionOnline company account

get https://api.constructiononline.com/api/BulkFetch?type=Estimate&projectID={projectID}

This endpoint allows users to extract a project estimate's complete structure and related financials, such as client selections and change orders, in one singular call. The estimate's complete structure includes all estimate categories, subcategories, items, and company overhead & margin saved within the estimate.

This endpoint is suggested for financial integrations between ConstructionOnline and third-party accounting software platforms, such as NetSuite or Sage 50, as it allows users to extract project financial data without calling each individual endpoint for the estimate, estimate items, change orders, etc.

Requests

REQUIRED PARAMETERS

projectID: integer

  • Unique identifier for the project.
    • Sample URL request: https://api.constructiononline.com/api/BulkFetch?type=Estimate&projectID=7867564

Example requests in cURL, C#, Python, and JavaScript can be found below:

cURL

# replace {email} with the email address for your ConstructionOnline account
# {password} with your ConstructionOnline password
# {apikey} with your provided API key
# {projectID} with the project's ID

curl https://api.constructiononline.com/api/BulkFetch?type=Estimate&projectID={projectID} -u {email}:{password} -H 'APIKey:{apikey}'

C#

/* replace {username} with the email address for your ConstructionOnline account
{password} with your ConstructionOnline password
{apikey} with your provided API key
{projectID} with the project's ID */

public string GetData(string endpoint) {
string username = "{username}";
string password = "{password}";
string apikey = "{apikey}";
HttpResponseMessage response = null;
HttpClientHandler handler = new HttpClientHandler() { AutomaticDecompression = System.Net.DecompressionMethods.GZip };
    using (HttpClient client = new HttpClient(handler)) {
        client.Timeout = new TimeSpan(0, 0, 30);
        client.BaseAddress = new Uri("http://api.constructiononline.com");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password)));
        client.DefaultRequestHeaders.Add("APIKey", apikey);
        client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip");
        response = client.GetAsync(endpoint).Result;
    }
    return response?.Content.ReadAsStringAsync().Result;
}
MessageBox.Show(GetData("api/BulkFetch?type=Estimate&projectID={projectID}"));

Python

#replace {username} with the email address for your ConstructionOnline account
#{password} with your ConstructionOnline password
#{apikey} with your provided API key
#{projectID} with the project's ID

import base64, requests, json
apikey = "{apikey}"
username = "{username}"
password = "{password}"
def makeRequest(endpoint):
url = "https://api.constructiononline.com/" + endpoint
userPass = username + ":" + password
headers = {
"APIKey": apikey,
"Accept-Encoding": "gzip, deflate, br",
"Authorization": "Basic " + base64.b64encode(userPass.encode()).decode(),
}
response = requests.get(url, headers=headers)
return json.dumps(json.loads(response.text), indent=2)

#Main Program
print(makeRequest("api/BulkFetch?type=Estimate&projectID={projectID}"))

JavaScript

/* replace {username} with the email address for your ConstructionOnline account
{password} with your ConstructionOnline password
{apikey} with your provided API key
          {projectID} with the project's ID */

username = '{username}';
password = '{password}';
apikey = '{apikey}';
function makeRequest(endpoint) {
    auth = btoa('${username}:${password}');
    var myHeaders = new Headers();
    myHeaders.append("APIKey", apikey);
    myHeaders.append("Accept-Encoding", "gzip, deflate, br");
    myHeaders.append("Authorization", "Basic ${auth}");
    var requestOptions = {
        method: 'GET',
        headers: myHeaders,
        redirect: 'follow'
   };
    fetch("https://api.constructiononline.com/" + endpoint, requestOptions)
        .then(response => response.text())
        .then(result => console.log(result))
        .catch(error => console.log('error', error));
    return response;
};makeRequest("api/BulkFetch?type=Estimate&projectID={projectID}");

Responses

green 200: Success

A successful request will return a 200 response with the requested project financial data in the body. The response will contain a large JArray made up of individual objects for project, estimate, change order, and client selection data. The response will contain one project object and one estimate object. An individual object will also return for each estimate category, subcategory, and item.

Because estimate components are hierarchically related, each object will contain references to the objects it is related to. For example, an estimate item will list the IDs of the related project, estimate, estimate category, and estimate subcategory. The response will also return individual objects for each change order, change order item, selections category, subcategory, and choice.

Please note: the example below has been considerably condensed for the purpose of this article. It only depicts the structure of the response and does not include all the returned properties. 

A full list of returned properties for this endpoint can be found here.

{
"Project": [
        {
           "ID": 1230990,
          "NAME": "6744 E Lake Remodel",
          "CREATED_BY": 957890,
(continued.....)
        }
  ],

"Estimate": [
        {
           "ID": 292080,
            "NAME": "CSI 16 Division",
            "MARKUP_NAME": "Company Overhead and Margin",
          "TOTAL_PRICE": 84451.936561666691,
           (continued.....)
        }
    ],


"EstimateItems": [
        {
           "ID": 23338628,
            "ESTIMATE_ID": 292080,
            "CATEGORY_ID": 3304350,
            "SUBCATEGORY_ID": 16032667,
            "ROW_NUMBER": 167,
          "NAME": "Building Permit",
(continued.....)

      }

],

"EstimateSubCategories": [
        {
         "ID": 16032667,
            "ESTIMATE_ID": 292080,
          "CATEGORY_ID": 3304350,
          "ROW_NUMBER": 16,
        "NAME": "Permits",
(continued.....)

    }

],

"EstimateCategories": [
        {
         "ID": 3304350,
          "ESTIMATE_ID": 292080,
          "ROW_NUMBER": 7,
        "NAME": "Planning",
(continued.....)

    }

],

"EstimateMarkup": [
        {
            "ID": 1056913,
            "NAME": "Company Overhead",
            "ESTIMATE_ID": 292080,
            "VALUE": 10.0,
           (continued.....)
      }

],

 "ChangeOrders": [
        {
          "ID": 395070,
          "NAME": "Column Adjustment",
            "PRJ_ID": 1230973,
           (continued.....)

    }

],

"ChangeOrderItems": [
        {
            "ID": 152524,
            "CHANGE_ORDER_ID": 395070,
            "NAME": "Line item 1",
           (continued.....)

  }

],

    "SelectionCategories": [
        {
            "ID": 556390,
            "NAME": "Appliances",
            "PRJ_ID": 1230973,
           (continued.....)

}

],

"SelectionSubCategories": [
        {
            "ID": 972923,
            "NAME": "Fridge",
           "CAT_TYPE_ID": 556390,
          "CATEGORYNAME": "Appliances",
(continued.....)

}

],

"SelectionChoices": [
        {
            "ID": 1538417,
          "NAME": "LG InstaView 26.8-cu ft Side-by-Side Refrigerator",
          "PRJ_ID": 1230973,
            "CATEGORY_ID": 972923,
            "CATEGORYNAME": "Fridge",
           (continued.....)

}

]

}

red 404: Error

The server was not able to locate the resource specified in the request.

red 429: Error

The user has surpassed the request rate limit for the hour, day, week, or month.

 red 500: Error

There was an internal server error and the server was unable to complete the request.

Properties

Project Object

 

Name Type Description
ID integer Unique identifier for the project.
NAME string Name of the project.
CREATED_BY integer Unique identifier for the user who created the project.
LOG_ID integer Reserved for future use.
LMOD date Date and time the project was last modified.
ADDRESS string Project's address.
CITY string Project's city.
STATE string Project's state.
ZIP string Project's zip code.
PROJECT_NUMBER string Project number assigned to the project.
PROJECT_TYPE string Name of the project type assigned to the project. The unique numerical ID for the specific project type is listed in the property 'PROJECT_TYPE_CUSTOM'.
LMOD_CON_ID integer Unique identifier for the user who last modified the project.
NUMBERFOLDERS integer Number of folders saved within the project.
NUMBERIMAGES integer Number of images saved within the project.
NUMBERALBUMS integer Number of albums saved within the project.
NUMBERFILES integer Number of files saved within the project.
CON_ID integer Reserved for internal use 
DATE_CREATED date Date and time the project was created
ATTACH_FOLDER_ID integer Attachment folder location for daily logs, to dos, etc. 
PRIMARY_SCHEDULE integer Unique numerical ID representing the schedule tied to the project. 
TOTAL_MONEY decimal Initial contract price.
TOTAL_TIME integer Initial project duration.
IS_ARCHIVED boolean Signifies if the project was archived.
CURRENCY integer Type of currency set for the project. Each type of currency corresponds to a specific number, which will be returned in this property. 
IS_TEMPLATE boolean Signifies if the project was created from a project template.
COUNTRY_SETTING integer Number representing the specific country associated with the project.
CUSTOM_COLOR string Project's color as it appears in ConstructionOnline. Returns the specific hex code for the color.
COMPANY_ID integer Unique identifier for the company associated with the project.
IS_INACTIVE boolean Signifies if the project has a status of 'Live' or 'Pending'. Returns true if the project is Pending, false if the project is Live.
LAT double Project's entered latitude coordinates.
LON double Project's entered longitude coordinates.
TRACKING_TYPE integer Reserved for internal use.
SCOPE_OF_WORK string Scope of work entered for the project. Returns as an encoded string.
PROJECT_NOTES string Notes entered for the project.
PROJECT_TYPE_ID integer Reserved for internal use.
WEATHER_STATION string Reserved for internal use.
USE_CURR_CODE boolean Reserved for internal use.
ESTIMATE_UNQUALIFIED_COMMITS decimal Total value of any imported POs from QuickBooks that do not match anything in the estimate.
ESTIMATE_UNQUALIFIED_ACTUALS decimal Total value of any imported actuals from QuickBooks that do not match anything in the estimate.
ESTIMATE_UNQUALIFIED_EXPENSES decimal Total value of any imported invoices from QuickBooks that do not match anything in the estimate.
SELECTION_UNQUALIFIED_COMMITS decimal Total value of any imported POs from QuickBooks that do not match any selections.
SELECTION_UNQUALIFIED_ACTUALS decimal Total value of any imported actuals from QuickBooks that do not match any selections.
SELECTION_UNQUALIFIED_EXPENSES decimal Total value of any imported invoices from QuickBooks that do not match any selections.
CHANGE_ORDER_UNQUALIFIED_COMMITS decimal Total value of any imported POs from QuickBooks that do not match any change orders.
CHANGE_ORDER_UNQUALIFIED_ACTUALS decimal Total value of any imported actuals from QuickBooks that do not match any change orders.
CHANGE_ORDER_UNQUALIFIED_EXPENSES decimal Total value of any imported invoices from QuickBooks that do not match any change orders.
PROJECT_TYPE_CUSTOM integer Corresponds to the 'Project Type' custom value. Returns the numerical ID for the specific project type associated with the project. 
PROJECT_STAGE integer Corresponds to the 'Project Stage' custom value. Returns the numerical ID for the specific stage associated with the project. 
PROJECT_GROUP integer Corresponds to the 'Project Group' custom value. Returns the numerical ID for the specific contact group associated with the project. 
PROJECT_CATEGORY integer Corresponds to the 'Contact Category' custom value. Returns the numerical ID for the specific category associated with the project.
PROJECT_OFFICE integer Corresponds to the 'Office' custom value. Returns the numerical ID for the specific office associated with the project.
PROJECT_DIVISION integer Corresponds to the 'Division' custom value. Returns the numerical ID for the specific division associated with the project.
PROJECT_REGION integer Corresponds to the 'Region' custom value. Returns the numerical ID for the specific region associated with the project.
IS_OPPORTUNITY boolean
Signifies if the project was created from an opportunity. Returns true if created from an opportunity, false if not. 
OPPORTUNITY_STATUS integer Closed/open status of the opportunity. Returns the integer that corresponds with the selected status. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_REFERRER  string Email address of the user who referred the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_PROBABILITY  integer Probability entered for the opportunity. Returned value will be 0, 25, 50, 75, or 100. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_VALUE double Value entered for the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_OPENED_DATE date Date the opportunity was opened. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_CLOSED_DATE date Date the opportunity was closed. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_QUALITY integer Quality associated with the opportunity. Returns the star rating as a integer between 1 and 5. Returns null if no rating has been assigned. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_NOTES string Notes entered for the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_CONVERTED_DATE date Date the opportunity was converted to a project. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_LEAD integer Reserved for internal use. 
OPPORTUNITY_STAGE integer Corresponds to the 'Opportunity Stage' custom value. Returns the numerical ID for the specific stage associated with the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_SOURCE integer Corresponds to the 'Opportunity Source' custom value. Returns the numerical ID for the specific source tied to the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_TYPE integer Corresponds to the 'Opportunity Type' custom value. Returns the numerical ID for the specific type associated with the opportunity. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_WON_REASON integer Corresponds to the 'Opportunity Won Reason' custom value. Returns the numerical ID for the specific reason why the opportunity was won. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_CLOSED_REASON integer Corresponds to the 'Opportunity Closed Reason' custom value. Returns the numerical ID for the specific reason why the opportunity was closed. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
ADDR_LAT decimal Project's entered latitude coordinates.
ADDR_LON decimal Project's entered longitude coordinates.
COST_CODE_SET  integer Number associated with the cost code list assigned to the project. Returns null if a cost code list has not been assigned.
EFFECTIVE_DATE_CREATED  date Date and time the project was created.
CREATED_FROM  integer Indicates how the project was created, such as from scratch, from an opportunity, or from a template. 
SALES_TAX_REGION  integer Tax settings selected in the project's tax settings. The selected region corresponds to a specific numeric value (for example, United States would return a value of 1).
TAX_METHOD  integer Tax calculation method selected in the project's tax settings. The selected method corresponds to a specific numeric value.
JOBSITE_INSTRUCTIONS  string Job site instructiosn for the project.
IS_SAMPLE_PROJECT  boolean Indicates if the project is one of ConstructionOnline's sample, preloaded projects.
OPPORTUNITY_NUMBER  integer Opportunity number assigned to the project. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_BID_DUE_DATE  date Opportunity bid due date for the project. Only applicable if the project was converted from an opportunity; else, the property will return as null. 
OPPORTUNITY_BID_SUBMITTED_DATE  date Opportunity bid submitted date for the project. Only applicable if the project was converted from an opportunity; else, the property will return as null. 

Example project object:

 {     
"ID": 1321036,
            "NAME": "3931 E Lake Blvd",
            "CREATED_BY": 1003826,
            "LOG_ID": 18121,
            "LMOD": "2024-02-01T16:28:37.85",
            "ADDRESS": "3931 E Lake Blvd",
            "CITY": "Auburn",
            "STATE": "AL",
            "ZIP": "36830",
            "PROJECT_NUMBER": "3578",
            "PROJECT_TYPE": "Single-family Residential",
            "LMOD_CON_ID": 985314,
            "NUMBERFOLDERS": 18,
            "NUMBERIMAGES": 136,
            "NUMBERALBUMS": 6,
            "NUMBERFILES": 155,
          "CON_ID": 1003826,
          "DATE_CREATED": "2022-09-20T14:23:21.383",
          "ATTACH_FOLDER_ID": null,
            "PRIMARY_SCHEDULE": 413461,
            "TOTAL_MONEY": 635000.0,
            "TOTAL_TIME": 180,
          "IS_ARCHIVED": false,
            "CURRENCY": 0,
            "IS_TEMPLATE": false,
            "COUNTRY_SETTING": 1,
            "CUSTOM_COLOR": "#6357a7",
            "COMPANY_ID": 24720,
            "IS_INACTIVE": false,
            "LAT": 32.5389,
            "LON": -85.4921,
            "TRACKING_TYPE": 3,
          "SCOPE_OF_WORK": "",
            "CS_LMOD": null,
          "PROJECT_NOTES": "Contact Benjamin Chen for additional information.",
            "PROJECT_TYPE_ID": 0,
            "WEATHER_STATION": null,
            "USE_CURR_CODE": false,
            "ESTIMATE_UNQUALIFIED_COMMITS": null,
            "ESTIMATE_UNQUALIFIED_ACTUALS": null,
            "ESTIMATE_UNQUALIFIED_EXPENSES": null,
            "SELECTION_UNQUALIFIED_COMMITS": null,
            "SELECTION_UNQUALIFIED_ACTUALS": null,
            "SELECTION_UNQUALIFIED_EXPENSES": null,
            "CHANGE_ORDER_UNQUALIFIED_COMMITS": null,
            "CHANGE_ORDER_UNQUALIFIED_ACTUALS": null,
            "CHANGE_ORDER_UNQUALIFIED_EXPENSES": null,
          "PROJECT_TYPE_CUSTOM": 385,
            "PROJECT_STAGE": 1616,
            "PROJECT_GROUP": 0,
            "PROJECT_CATEGORY": 0,
            "PROJECT_OFFICE": 83379,
            "PROJECT_DIVISION": 86192,
            "PROJECT_REGION": 86189,
            "IS_OPPORTUNITY": false,
            "OPPORTUNITY_STATUS": null,
            "OPPORTUNITY_STAGE": null,
            "OPPORTUNITY_SOURCE": null,
            "OPPORTUNITY_TYPE": null,
            "OPPORTUNITY_REFERRER": null,
            "OPPORTUNITY_PROBABILITY": null,
            "OPPORTUNITY_VALUE": null,
            "OPPORTUNITY_OPENED_DATE": null,
            "OPPORTUNITY_CLOSED_DATE": null,
            "OPPORTUNITY_QUALITY": null,
            "OPPORTUNITY_NOTES": null,
            "OPPORTUNITY_CONVERTED_DATE": null,
            "OPPORTUNITY_LEAD": null,
            "OPPORTUNITY_WON_REASON": null,
            "OPPORTUNITY_LOST_REASON": null,
            "OPPORTUNITY_REPRESENTATIVE": null,
            "ADDR_LAT": 32.575412,
            "ADDR_LON": -85.425347,
          "COST_CODE_SET": 2,
            "EFFECTIVE_DATE_CREATED": "2022-09-20T14:23:21.383",
            "CREATED_FROM": 0,
            "SALES_TAX_REGION": 1,
            "TAX_METHOD": 1,
            "JOBSITE_INSTRUCTIONS": "%3Cp%3EFront gate code is 1234. Contact Benjamin Chen if you have any questions.%26nbsp%3B%3C%2Fp%3E",
            "IS_SAMPLE_PROJECT": true,
            "SCHEDULED_START": null,
            "SCHEDULED_END": null,
            "ACTUAL_START": null,
            "ACTUAL_END": null,
            "ADJUSTED_COSTS": null,
            "ACTUAL_COSTS": null,
            "BUDGETED_HOURS": null,
            "OPPORTUNITY_NUMBER": null,
            "OPPORTUNITY_BID_DUE_DATE": null,
            "OPPORTUNITY_BID_SUBMITTED_DATE": null

}

 

Estimate Object

 

Name Type Description
ID integer Unique identifier for the estimate.
NAME string Name of the estimate as it appears in ConstructionOnline.
MARKUP_NAME string Name of the estimate's Company Overhead and Margin section.
TOTAL_PRICE decimal Total value of the estimate (also displayed as project total in the estimate). This includes the base cost of the estimate, markup, selections allowance, approved change orders, and company overhead and margin. Selection overages are not included in this total.
TOTAL_ALLOWANCE decimal Total selections allowance for the estimate. 
TOTAL_COM decimal Total value of the estimate's company overhead and margin section. This total does not include markup applied to individual estimate subcategories or items.
TOTAL_MARKUP decimal Total markup calculated for each estimate subcategory or item. This total does not include the estimate's company overhead and margin.
TOTAL_BASECOST decimal Base cost of the estimate before any tax or markup. This total does not include selections allowance, company overhead and margin, change orders, or overages. 
TOTAL_SALES_TAX decimal Total amount of tax calculated from the base cost of the estimate.
ORIGINAL_CONTRACT_VALUE decimal Original contract price/total of the estimate. This includes the base cost of the estimate, markup, selections allowance, and company overhead and margin. 
TOTAL_ACTUALS decimal Total actual costs recorded in ConstructionOnline for estimate subcategories or items, and approved change orders.
TOTAL_COMMITTED decimal Total committed costs recorded in ConstructionOnline for estimate subcategories or items.
TOTAL_INVOICED decimal Total amount invoiced for the estimate.
TOTAL_REMAINING decimal Internal estimate calculation value.
TOTAL_BALANCE decimal Internal estimate calculation value.
TOTAL_ADJUSTMENT decimal Total adjustments entered in ConstructionOnline for estimate subcategories or items. 
TOTAL_ADJUSTEDCOST decimal Total adjusted cost for the estimate, which is base cost + total tax + adjustments + cost of all change orders linked to estimate. 
TOTAL_QB_ACTUALS decimal Total value of QuickBooks Actuals associated with the estimate. This value is populated by importing from QuickBooks and can include Bills and Expenses. 
TOTAL_QB_INVOICED decimal Total value of existing invoices within QuickBooks associated with the estimate. This value is populated by importing from QuickBooks.
TOTAL_LINKED_CO_PRICE decimal Total client price (cost + tax + markup) of all approved change orders linked to the estimate. 
TOTAL_LINKED_CO_COST decimal Total cost of all approved change orders linked to the estimate. This value does not include tax or markup.
TOTAL_CONTRACTPRICE decimal Total contract price for the estimate, which is base cost + total tax + total markup (not including 
CREATED_BY integer Unique identifier for the user who created the estimate.
DATE_CREATED string Date and time the estimate was created. 
CREATOR string Name of the user who created the estimate.
LMOD_BY integer Unique identifier for the user who last modified the estimate.
LMOD string Date and time the estimate was last modified.
MODIFIER string Name of the user who last modified the estimate.
FIVE_COLUMN_ESTIMATE boolean Signifies the estimate's calculation method. Returns true if the 5-column calculation method was used, false if the standard calculation method was used.
ADVANCED_ESTIMATE boolean Signifies the estimate's level of detail. Returns true if the estimate is a standard 3-level estimate, false if the estimate is a basic 2-level estimate.
COST_TOTAL decimal Internal estimate calculation value (base cost).
COST_ACTUAL decimal Internal estimate calculation value (actual costs).
COST_INVOICED decimal Internal estimate calculation value (invoiced costs).
COST_VARIENCE decimal Internal estimate calculation value (estimate - actual cost)
COST_COMMITTED decimal Internal estimate calculation value (committed costs).
COST_PAID decimal Internal estimate calculation value (costs paid).
TOTAL_PROFIT decimal Total profit recorded for the estimate.
PROJECT_ID integer Unique identifier for the project/opportunity that contains the estimate.
PROJECT_NAME string Name of the project/opportunity containing the estimate. 
LAST_QBD_ESTIMATE_DATE string Date the estimate was last sent over to QuickBooks Desktop.
LAST_QBD_ACTUAL_DATE string Date the estimate's actuals were last sent over to QuickBooks Desktop.
LAST_QBD_INVOICE_DATE string Date the estimate was last invoiced in QuickBooks Desktop.
LAST_QBD_PO_DATE string Date a purchase order was last created and sent to QuickBooks Desktop. 

Example estimate object:

{
    "ID": 367610,
  "NAME": "1342 S Ross St - version w/out pool Estimate 2",
    "MARKUP_NAME": "Company Overhead and Margin",
    "TOTAL_PRICE": 565167.85714285728,
    "TOTAL_ALLOWANCE": 0.0,
    "TOTAL_COM": 198855.35714285722,
    "TOTAL_MARKUP": 460.0,
    "TOTAL_BASECOST": 365852.50000000006,
    "TOTAL_SALES_TAX": 0.0,
    "ORIGINAL_CONTRACT_VALUE": 565167.85714285728,
    "TOTAL_ACTUALS": 0.0,
    "TOTAL_COMMITTED": 0.0,
    "TOTAL_INVOICED": 0.0,
    "TOTAL_REMAINING": 564707.85714285728,
    "TOTAL_BALANCE": 565167.85714285728,
    "TOTAL_ADJUSTMENT": 0.0,
    "TOTAL_ADJUSTEDCOST": 365852.50000000006,
    "TOTAL_QB_ACTUALS": 0.0,
    "TOTAL_QB_INVOICED": 0.0,
    "TOTAL_QB_COMMITTED": 0.0,
    "TOTAL_LINKED_CO_PRICE": 0.0,
    "TOTAL_LINKED_CO_COST": 0.0,
    "TOTAL_CONTRACTPRICE": 366312.50000000006,
    "CREATED_BY": 999997,
    "DATE_CREATED": "2022-09-22T14:44:14.263",
    "CREATOR": "Alex Kim",
    "LMOD_BY": 999997,
    "LMOD": "2022-09-22T14:44:14.257",
    "MODIFIER": "Alex Kim",
    "FIVE_COLUMN_ESTIMATE": false,
    "ADVANCED_ESTIMATE": true,
    "COST_TOTAL": 365852.50000000006,
    "COST_ACTUAL": 0.0,
    "COST_INVOICED": 0.0,
    "COST_VARIENCE": 0.0,
    "COST_COMMITTED": 0.0,
    "COST_PAID": 0.0,
    "TOTAL_PROFIT": 460.0,
    "PROJECT_ID": 1312899,
  "PROJECT_NAME": "1342 S Ross St",
    "LAST_QBD_ESTIMATE_DATE": null,
    "LAST_QBD_ACTUAL_DATE": null,
    "LAST_QBD_INVOICE_DATE": null,
    "LAST_QBD_PO_DATE": null
}

Estimate Category Object

 

Name Type Description
ID integer Unique identifier for the estimate category. 
ESTIMATE_ID integer Unique identifier for the estimate.
ROW_NUMBER integer Row number of the estimate that the estimate category is located on.
NAME string Name of the estimate category.
DESCRIPTION string Description entered for the estimate category.
NOTES_TEAMLINK string TeamLink notes entered for the estimate category.
NOTES_CLIENTLINK string ClientLink notes entered for the estimate category.
NOTES_GENERAL string General notes entered for the estimate category.
TRAFFIC_COLOR integer Represents the traffic light color assigned to the estimate category. The number 1 corresponds to the color green, 2 corresponds to the color yellow, 3 corresponds to the color red, and 0 means no color has been assigned to the category.
COST_CODE string Corresponds to the Code column of the estimate subcategory. 
COST_CODE_ID integer Unique identifier for the cost code assigned to the estimate category.
COST_ESTIMATE double Base cost of the estimate category.

Example estimate category object:

{
     
        "ID": 4393211,
        "ESTIMATE_ID": 367610,
        "ROW_NUMBER": 1,
        "NAME": "Planning",
        "DESCRIPTION": "",
        "NOTES_TEAMLINK": "",
        "NOTES_CLIENTLINK": "",
        "NOTES_GENERAL": "",
        "TRAFFIC_COLOR": 0,
        "COST_CODE": "",
        "COST_CODE_ID": 0,
        "COST_ESTIMATE": 97080.0
  }

Estimate Subcategory Object

 

Name Type Description
ID integer Unique identifier for the estimate subcategory
ESTIMATE_ID integer Unique identifier for the estimate.
CATEGORY_ID integer Unique identifier for the estimate category.
ROW_NUMBER integer Row number of the estimate that the estimate subcategory is located on.
NAME string Name of the estimate subcategory.
DESCRIPTION string Description entered for the estimate subcategory.
CLASSIFICATION integer Reserved for future use.
STATUS integer Reserved for future use.
COST_ESTIMATE decimal Base cost of the estimate subcategory.
NOTES_TEAMLINK string TeamLink notes entered for the estimate subcategory.
NOTES_CLIENTLINK string ClientLink notes entered for the estimate subcategory.
NOTES_GENERAL string General notes entered for the estimate subcategory.
LINE_ITEM_MARKUP integer Only applicable to 2-level estimates. Individual markup value for the estimate subcategory.
RATE decimal Only applicable to 2-level estimates. Quantity of the estimate subcategory.
RATE_QTY decimal Only applicable to 2-level estimates. Unit cost of the estimate subcategory.
LINE_ITEM_MARKUP_TYPE integer Only applicable to 2-level estimates. Signifies which markup calculation type was selected for the estimate subcategory. 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 estimate subcategory.
FIVE_COLUMN_EQUIPMENT decimal Total equipment costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_LABOR decimal Total labor costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_MATERIAL decimal Total material costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_OTHER decimal Total other costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_SUB decimal Total subcontractor costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
TRAFFIC_COLOR integer Represents the traffic light color assigned to the estimate subcategory. The number 1 corresponds to the color green, 2 corresponds to the color yellow, 3 corresponds to the color red, and 0 means no color has been assigned to the subcategory.
COST_CODE string Name of the cost code assigned to the subcategory.
COST_CODE_ID integer Unique identifier for the cost code assigned to the subcategory.
DOLLAR_MARKUP decimal Total markup calculated from the subcategory.
TOTAL_MARKUP decimal Total markup calculated from the subcategory.
COMMITTED_COSTS decimal Total committed costs recorded for the estimate subcategory.
INVOICED_AMOUNTS decimal Total amount invoiced for the estimate subcategory.
ACTUAL decimal Total actual costs recorded for the estimate subcategory.
QB_COMMITTED decimal Total committed costs recorded in QuickBooks for the the estimate subcategory.
QB_INVOICED decimal Total amount invoiced in QuickBooks for the estimate subcategory.
QB_ACTUAL decimal Total actual costs recorded in QuickBooks for the estimate subcategory.
SALES_TAX decimal Total tax calculated for the estimate subcategory.
UNIT integer Unique identifier of the unit used to measure the estimate subcategory.
UNIT_NAME string Name of the unit used to measure the estimate subcategory.
ASSIGNED string Only applicable to 2-level estimates. Unique identifier for the user(s) assigned to the estimate subcategory as a resource. 

Example estimate subcategory object:

 {
        "ID": 22069965,
        "ESTIMATE_ID": 367610,
        "CATEGORY_ID": 4393211,
        "ROW_NUMBER": 2,
        "NAME": "Design Services",
        "DESCRIPTION": "",
        "CLASSIFICATION": 6,
        "STATUS": 0,
        "COST_ESTIMATE": 5000.0,
        "NOTES_TEAMLINK": "",
        "NOTES_CLIENTLINK": "",
        "NOTES_GENERAL": "",
        "LINE_ITEM_MARKUP": "0",
        "RATE": 0.0,
        "RATE_QTY": 0.0,
        "LINE_ITEM_MARKUP_TYPE": 1,
        "ADJUSTMENT": 0.0,
        "FIVE_COLUMN_EQUIPMENT": null,
        "FIVE_COLUMN_LABOR": null,
        "FIVE_COLUMN_MATERIAL": null,
        "FIVE_COLUMN_OTHER": null,
        "FIVE_COLUMN_SUB": null,
        "TRAFFIC_COLOR": null,
        "COST_CODE": "",
        "COST_CODE_ID": 0,
        "DOLLAR_MARKUP": 0.0,
        "TOTAL_MARKUP": 0.0,
        "COMMITTED_COSTS": 0.0,
        "INVOICED_AMOUNTS": 0.0,
        "ACTUAL": 0.0,
        "QB_COMMITTED": 0.0,
        "QB_INVOICED": 0.0,
        "QB_ACTUAL": 0.0,
        "SALES_TAX": 0.0,
        "UNIT": "0",
        "UNIT_NAME": null,
        "ASSIGNED": null
  }

Estimate Item Object

 

Name Type Description
ID integer Unique identifier for the estimate item.
ESTIMATE_ID integer Unique identifier for the estimate.
CATEGORY_ID integer Unique identifier for the category containing the estimate item.
SUBCATEGORY_ID integer Unique identifier for the subcategory containing the estimate item.
ROW_NUMBER integer Row number of the estimate that the estimate item is located on.
NAME string Name of the estimate item.
DESCRIPTION string Description entered for the estimate item.
CLASSIFICATION integer Designates the classification assigned to the estimate 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 Designates the status assigned to the estimate item. A value of 1 is the status Estimated, 2 is Firm, and 3 is Bid.
COST_ESTIMATE decimal Base cost of the estimate item.
NOTES_TEAMLINK string TeamLink notes entered for the estimate item.
NOTES_CLIENTLINK string ClientLink notes entered for the estimate item.
NOTES_GENERAL string General notes entered for the estimate item.
LINE_ITEM_MARKUP integer Markup value for the estimate item.
RATE decimal Quantity of the estimate item.
RATE_QTY decimal Unit cost of the estimate item.
LINE_ITEM_MARKUP_TYPE integer Signifies which markup calculation type was selected for the estimate 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 Adjustment value entered for the estimate item.
FIVE_COLUMN_EQUIPMENT decimal Total equipment costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_LABOR decimal Total labor costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_MATERIAL decimal Total material costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_OTHER decimal Total other costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
FIVE_COLUMN_SUB decimal Total subcontractor costs entered for a 5-column estimate. Returns null if estimate is not 5-column.
TRAFFIC_COLOR integer Represents the traffic light color assigned to the estimate item. The number 1 corresponds to the color green, 2 corresponds to the color yellow, 3 corresponds to the color red, and 0 means no color has been assigned to the item.
COST_CODE string Name of the cost code assigned to the estimate item.
COST_CODE_ID integer Unique identifier for the cost code assigned to the estimate item.
DOLLAR_MARKUP decimal Individual markup calculated from the estimate item.
COMMITTED_COSTS decimal Total committed costs recorded for the estimate item.
INVOICED_AMOUNTS decimal Total amount invoiced for the estimate item.
ACTUAL decimal Total actual costs recorded for the estimate item.
QB_COMMITTED decimal Total committed costs recorded in QuickBooks for the the estimate item.
QB_INVOICED decimal Total amount invoiced in QuickBooks for the estimate item.
QB_ACTUAL decimal Total actual costs recorded in QuickBooks for the estimate item.
SALES_TAX decimal Total tax calculated for the estimate item.
UNIT integer Unique identifier of the unit used to measure the estimate item.
UNIT_NAME string Name of the unit used to measure the estimate item.
ASSIGNED string Unique identifier for user(s) assigned to the estimate item as a resource. 

Example estimate item object:

{
        "ID": 47440788,
        "ESTIMATE_ID": 367610,
        "CATEGORY_ID": 4393211,
        "SUBCATEGORY_ID": 22069965,
        "ROW_NUMBER": 3,
    "NAME": "Site Work",
        "DESCRIPTION": "",
        "CLASSIFICATION": 5,
        "STATUS": 0,
        "COST_ESTIMATE": 5000.0,
        "NOTES_TEAMLINK": "",
        "NOTES_CLIENTLINK": "",
    "NOTES_GENERAL": "Specifications require a 10' uncleared buffer area.",
    "LINE_ITEM_MARKUP": "1",
    "RATE": 500.0,
    "RATE_QTY": 10.0,
        "LINE_ITEM_MARKUP_TYPE": 1,
        "ADJUSTMENT": 0.0,
        "FIVE_COLUMN_EQUIPMENT": null,
        "FIVE_COLUMN_LABOR": null,
        "FIVE_COLUMN_MATERIAL": null,
        "FIVE_COLUMN_OTHER": null,
        "FIVE_COLUMN_SUB": null,
    "TRAFFIC_COLOR": 1,
        "COST_CODE": "",
    "COST_CODE_ID": 75,
        "DOLLAR_MARKUP": 0.0,
        "COMMITTED_COSTS": 0.0,
    "INVOICED_AMOUNTS": 1000.0,
        "ACTUAL": 0.0,
        "QB_COMMITTED": null,
        "QB_INVOICED": null,
        "QB_ACTUAL": 0.0,
        "SALES_TAX": 0.0,
        "UNIT": "0",
        "UNIT_NAME": null,
    "ASSIGNED": 123456
  }

Estimate Markup Object

 

Name Type Description
ID integer Unique identifier for the markup entry.
NAME string Name of the markup entry.
ESTIMATE_ID integer Unique identifier for the estimate containing the markup entry.
VALUE decimal Value assigned to the markup entry.
MARKUP_TYPE integer Markup type assigned to the markup entry. A value of 1 represents Percent Margin, 2 represents Percent of Costs, and 3 represents Fixed Amount. 
INVOICED decimal Amount invoiced towards the markup entry.
ACTUALS decimal Actual cost of the markup entry; amount recorded in the Actuals column of the estimate.
QB_ACTUALS decimal Value of QuickBooks Actuals associated with the markup entry.
QB_INVOICED decimal Value of invoices within QuickBooks associated with the markup entry.
TOTAL_MARKUP decimal Total amount calculated for the markup entry.

Example markup object:

{
        "ID": 1396830,
        "NAME": "Company Overhead",
        "ESTIMATE_ID": 367610,
        "VALUE": 8.0,
      "MARKUP_TYPE": 2,
        "INVOICED": 0.0,
        "ACTUALS": 0.0,
        "QB_ACTUALS": 0.0,
        "QB_INVOICED": 0.0,
        "TOTAL_MARKUP": 29305.000000000004
}

Change Order Object

 

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 change order object:

 {          "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"

      }

Change Order Item Object

 

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 estimate subcategory.
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 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.
CUSTOM_UNIT integer Reserved for future use.
UNIT_NAME string Reserved for future use.
RELSUBCATS string Reserved for future use.

Example change order item object:

{
            "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
      }

Selection Category Object

 

Name Type Description
ID integer Unique identifier for the selection category.
NAME string Name of the selection category.
PRJ_ID integer Unique identifier for the project containing the selection category. 
PROJECTNAME string Name of the project containing the selection category. 
DESCRIPTION string Description entered for the selection category. 
SORT_NUM integer Category order number for the selection category. 
TYPE integer Reserved for internal use.
TEMPLATE_ID integer Reserved for internal use.

Example selection category object:

{
            "ID": 616648,
            "NAME": "Flooring",
          "PRJ_ID": 1321099,
            "PROJECTNAME": "3931 E Lake Blvd",
            "DESCRIPTION": "",
            "SORT_NUM": 1,
            "TYPE": 0,
            "TEMPLATE_ID": 0
}

Selection Subcategory Object

 

Name Type Description
ID integer Unique identifier for the selection subcategory.
NAME string Name of the selection subcategory
PRJ_ID integer Unique identifier for the project contaning the selection subcategory.
PROJECTNAME string Name of the project containing the selection subcategory.
CAT_TYPE_ID integer Unique identifier for the selection category containing the selection subcategory.
CATEGORYNAME string Name of the selection category contaning the selection subcategory. 
LOCATION string Location entered for the selection subcategory. 
DUE_DATE date Due date entered for the selection subcategory.
ALLOWANCE decimal Allowance value entered for the selection subcategory.
COST decimal Reserved for internal use.
NET decimal Reserved for internal use. 
DETAILS string Notes entered for the selection subcategory. 
CLOSED boolean Indicates if a choice has been selected for the selection subcategory. Returns true if a choice has been approved, false if not. 
SORT_NUM integer Selection order number for the selection subcategory.
TYPE integer Reserved for internal use. 
TEMPLATE_ID integer Reserved for internal use. 
MILESTONE integer Reserved for internal use. 
SUBJECT string Reserved for internal use. 
CHOICE_NAME string Name of the selection choice chosen for the subcategory. Only applicable if a selection choice has been approved for the subcategory; else, will return an empty string.
CHOICE_ID integer Unique identifier for the selection choice chosen for the subcategory. Only applicable if a selection choice has been approved for the subcategory.
APPROVED boolean Indicates if a selection choice has been made and approved for the subcategory. 
DATE_APPROVED date Date the selection choice was approved for the subcategory.
APPROVED_BY integer Unique identifier for the user who approved the selection choice. 
CHOICE_PRICE decimal Unit cost of the approved selection choice.
CHOICE_QTY decimal Quantity entered for the approved selection choice.
CHOICE_TOTAL_COST decimal Total cost (unit cost x quantity) of the approved selection choice. 
CHOICE_MARKUP decimal Markup entered for the approved selection choice.
CHOICE_SALES_TAX decimal Tax calculated for the approved selection choice. 
CHOICE_ACTUAL decimal Actual costs recorded for the selection choice.
CHOICE_INVOICED decimal Total amount invoiced for the selection choice.
CHOICE_QB_ACTUAL decimal Total value of QuickBooks Actuals associated with the selection choice.
CHOICE_QB_INVOICED decimal Total value of existing invoices within QuickBooks associated with the selection choice. 
APPROVED_PRICE decimal Client price for the approved selection choice. 

Example selection subcategory object:

 {
            "ID": 1148457,
            "NAME": "Refrigerator",
          "PRJ_ID": 1321333,
            "PROJECTNAME": "3931 E Lake Blvd",
            "CAT_TYPE_ID": 616649,
            "CATEGORYNAME": "Appliances",
            "LOCATION": "Kitchen",
            "DUE_DATE": "2024-02-01T00:00:00",
          "ALLOWANCE": 15000.0,
            "COST": 0.0,
            "NET": 0.0,
          "DETAILS": "",
            "CLOSED": false,
            "SORT_NUM": 2,
            "TYPE": 0,
            "TEMPLATE_ID": 0,
            "MILESTONE": null,
            "SUBJECT": null,
            "CHOICE_NAME": "LG Electronics 29.7 cu. ft. French Door Refrigerator with Door-in-Door and CustomChill Drawer in Stainless Steel-LMXS30776S - The Home Depot",
            "CHOICE_ID": 1792040,
            "APPROVED": true,
            "DATE_APPROVED": "2024-03-12T15:14:46.57",
          "APPROVED_BY": 912344,
            "CHOICE_PRICE": 3999.0,
            "CHOICE_QTY": 3.0,
            "CHOICE_TOTAL_COST": 11997.0,
            "CHOICE_MARKUP": 501.0,
            "CHOICE_SALES_TAX": 0.0,
            "CHOICE_ACTUAL": 0.0,
            "CHOICE_INVOICED": 0.0,
            "CHOICE_QB_ACTUAL": 0.0,
            "CHOICE_QB_INVOICED": 0.0,
            "APPROVED_PRICE": 12498.0
    }

Selection Choice Object

 

Name Type Description
ID integer Unique identifier for the selection choice.
NAME string Name of the selection choice.
PRJ_ID integer Unique identifier for the project containing the selection choice.
PROJECTNAME string Name of the project containing the selection choice.
CATEGORY_ID integer Unique identifier for the subcategory containing the selection choice. 
CATEGORYNAME string Name of the subcategory for the selection choice. 
DETAILS string Details entered for the selection choice.
APPROVED boolean Signifies if the selection choice was approved. Returns true if approved, false if not. 
DATE_APPROVED date Date and time the selection choice was approved.
APPROVED_BY integer Unique identifier for the user who approved the selection choice.
APPROVER string Name of the user who approved the selection choice.
PRICE decimal Unit cost of the selection choice.
QTY decimal Quantity entered for the selection choice.
TOTAL_COST decimal Total cost (unit cost x quantity) of the selection choice.
URL string Item webpage URL entered for the selection choice.
IMAGE_ID integer Unique identifier for the item image set for the selection choice.
VENDOR_TEXT string External vendors entered for the selection choice. 
STATUS integer  Reserved for internal use. 
VENDOR_ID integer Unique identifier for the vendor(s) assigned to the selection choice.
VENDOR string Name of the vendor(s) assigned to the selection choice. 
DATE_CREATED date Date the selection choice was created.
CREATED_BY integer Unique identifier for the user who created the selection choice.
CREATOR string Name of the user who created the seletion choice. 
SORT_NUM integer Choice order number for the selection choice.
TYPE integer Reserved for internal use. 
IS_DEFAULT boolean Reserved for internal use. 
AMOUNT_PAID decimal Total amount paid towards the selection choice. 
TEMPLATE_ID integer Reserved for internal use. 
ACTUAL decimal Actual costs recorded for the selection choice. 
MARKUP decimal Markup applied to the selection choice. 
SALES_TAX decimal Tax calculated for the selection choice. 
QB_INVOICED decimal Total value of QuickBooks Actuals associated with the selection choice.
QB_ACTUAL decimal Total value of existing invoices within QuickBooks associated with the selection choice. 
UNIT integer Unique identifier for the unit selected for the selection choice.
UNIT_NAME string Name of the unit selected for the selection choice. 

Example selection choice object:

{
   
"ID": 1792038,
            "NAME": "LG Electronics 6.9 cu. ft. Smart Double Oven Slide In Gas Range with ProBake Convection and Wi-Fi in Stainless Steel-LTG4715ST - The Home Depot",
          "PRJ_ID": 1321333,
            "PROJECTNAME": "3931 E Lake Blvd",
            "CATEGORY_ID": 1148456,
            "CATEGORYNAME": "Range",
          "DETAILS": "With 6.9 cu. ft. of capacity, you can do it all at once",
            "DATE_APPROVED": "2023-08-17T17:55:40.637",
          "APPROVED_BY": 987777,
            "APPROVER": "",
            "PRICE": 2098.0,
            "QTY": 1.0,
            "TOTAL_COST": 2098.0,
            "URL": "https://www.homedepot.com/p/LG-Electronics-6-9-cu-ft-Smart-Double-Oven-Slide-In-Gas-Range-with-ProBake-Convection-and-Wi-Fi-in-Stainless-Steel-LTG4715ST/304994119",
            "IMAGE_ID": 9708942,
            "VENDOR_TEXT": "homedepot.com",
            "STATUS": 0,
            "VENDOR_ID": 985779,
            "VENDOR": "",
            "DATE_CREATED": "2022-09-20T14:23:22.637",
          "CREATED_BY": 1004444,
            "CREATOR": "",
            "SORT_NUM": 1,
            "TYPE": 0,
            "IS_DEFAULT": false,
            "AMOUNT_PAID": 0.0,
            "TEMPLATE_ID": 0,
            "ACTUAL": 0.0,
            "MARKUP": 502.0,
            "SALES_TAX": 0.0,
            "QB_INVOICED": 0.0,
            "QB_ACTUAL": 0.0,
            "UNIT": 1,
          "UNIT_NAME": "Each"

      }

 

Last updated: Feb 6, 2024