WIP setups

Use WIP setup to configure accounts used for your WIP schedules, and a reconciliation method for overbilling and underbilling amounts.

You cannot delete a WIP setup object.

List WIP setups

get/objects/construction-forecasting/wip-setup

Returns a collection with a key, ID, and link for each WIP setup. 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": [
    • {
      • "id": "1",
      • "key": "1",
      • "href": "/objects/construction-forecasting/wip-setup/1"
      }
    ],
  • "ia::meta": {
    • "totalCount": 1,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a WIP setup

post/objects/construction-forecasting/wip-setup

Creates a new WIP setup.

SecurityOAuth2
Request
Request Body schema: application/json
required

Creates a new WIP setup.

autoCreateNextPeriod
required
boolean
Default: false

If true, automatically create the next WIP period.

Example: false
reconciliationMethod
required
string
Default: "autoReverse"

Reconciliation method for overbilling and underbilling amounts.

Enum: "autoReverse" "autoReverseBegin" "autoReverseEnd" "netChange"
Example: "autoReverse"
object

The general ledger journal to use when posting a WIP schedule.

key
string

System-generated unique key for the general ledger journal.

Example: "9"
id
string

The general ledger journal book ID to use when posting a WIP schedule.

Example: "GJ"
wipCostBreakdownLevel
string
Default: "wipScheduleProject"

The level at which to allow cost and forecast breakdowns.

Enum: "costCode" "costCodeAndCostType" "project" "wipScheduleProject"
Example: "wipScheduleProject"
Array of objects

List of general ledger accounts used for WIP schedules. You may specify multiple accounts for cost and revenue. Specify one account for overbilling and underbilling, and either a single offset account or one each of underbillingOffset and overbillingOffset. You may not use an offset account in combination with either an underbillingOffset or an overbillingOffset account.

Array
wipAccountType
string
Default: "cost"

Category of general ledger account for the WIP setup account.

  • cost - for totaling the job costs to-date used in WIP schedules
  • revenue - for totaling the billed to-date amounts used in WIP schedules
  • overbilling - for posting an underbilling amount
  • underbilling - for posting an overbilling amount
  • offset - for posting adjustments for overbilling or underbilling amounts
  • underbillingOffset - for posting adjustments for underbilling amounts
  • overbillingOffset - for posting adjustments for overbilling amounts
Enum: "cost" "offset" "overbilling" "overbillingOffset" "revenue" "underbilling" "underbillingOffset"
Example: "cost"
object

General ledger account for the WIP setup account.

Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "wipSetupAccounts": [
    • {
      • "account": {
        },
      • "wipAccountType": "cost"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "cost"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "revenue"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "revenue"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "revenue"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "underbillingOffset"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "overbillingOffset"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "overbilling"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "underbilling"
      }
    ],
  • "autoCreateNextPeriod": true,
  • "postingJournal": {
    • "id": "APJ"
    },
  • "reconciliationMethod": "autoReverse",
  • "wipCostBreakdownLevel": "costCodeAndCostType"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "41",
    • "id": "41",
    • "href": "/objects/construction-forecasting/wip-setup/41"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a WIP setup

get/objects/construction-forecasting/wip-setup/{key}

Returns detailed information for a specified WIP setup.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the WIP setup.

Example: 99
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "wipSetupAccounts": [
      • {
        },
      • {
        },
      • {
        },
      • {
        },
      • {
        },
      • {
        }
      ],
    • "audit": {
      • "createdDateTime": "2023-10-27T18:08:24Z",
      • "modifiedDateTime": "2023-10-27T18:08:24Z",
      • "createdByUser": {
        },
      • "modifiedByUser": {
        }
      },
    • "autoCreateNextPeriod": true,
    • "postingJournal": {
      • "key": 9,
      • "id": "APJ",
      • "name": "Account payable journal",
      • "href": "/objects/general-ledger/journal/9"
      },
    • "wipCostBreakdownLevel": "costCode",
    • "id": "27",
    • "reconciliationMethod": "autoReverse",
    • "key": "27",
    • "href": "/objects/construction-forecasting/wip-setup/27"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a WIP setup

patch/objects/construction-forecasting/wip-setup/{key}

Updates an existing WIP setup object by setting the field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the WIP setup.

Example: 99
Request Body schema: application/json
object

The general ledger journal to use when posting a WIP schedule.

key
string

System-generated unique key for the general ledger journal.

Example: "9"
id
string

The general ledger journal book ID to use when posting a WIP schedule.

Example: "GJ"
reconciliationMethod
string
Default: "autoReverse"

Reconciliation method for overbilling and underbilling amounts.

Enum: "autoReverse" "autoReverseBegin" "autoReverseEnd" "netChange"
Example: "autoReverse"
autoCreateNextPeriod
boolean
Default: false

If true, automatically create the next WIP period.

Example: false
wipCostBreakdownLevel
string
Default: "wipScheduleProject"

The level at which to allow cost and forecast breakdowns.

Enum: "costCode" "costCodeAndCostType" "project" "wipScheduleProject"
Example: "wipScheduleProject"
Array of objects

List of general ledger accounts used for WIP schedules. You may specify multiple accounts for cost and revenue. Specify one account for overbilling and underbilling, and either a single offset account or one each of underbillingOffset and overbillingOffset. You may not use an offset account in combination with either an underbillingOffset or an overbillingOffset account.

Array
wipAccountType
string
Default: "cost"

Category of general ledger account for the WIP setup account.

  • cost - for totaling the job costs to-date used in WIP schedules
  • revenue - for totaling the billed to-date amounts used in WIP schedules
  • overbilling - for posting an underbilling amount
  • underbilling - for posting an overbilling amount
  • offset - for posting adjustments for overbilling or underbilling amounts
  • underbillingOffset - for posting adjustments for underbilling amounts
  • overbillingOffset - for posting adjustments for overbilling amounts
Enum: "cost" "offset" "overbilling" "overbillingOffset" "revenue" "underbilling" "underbillingOffset"
Example: "cost"
object

General ledger account for the WIP setup account.

Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "wipSetupAccounts": [
    • {
      • "account": {
        },
      • "wipAccountType": "cost",
      • "key": "1"
      },
    • {
      • "key": "2",
      • "ia::operation": "delete"
      },
    • {
      • "account": {
        },
      • "wipAccountType": "revenue"
      }
    ],
  • "autoCreateNextPeriod": true,
  • "postingJournal": {
    • "id": "APJ"
    },
  • "wipCostBreakdownLevel": "project",
  • "reconciliationMethod": "autoReverse"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "41",
    • "id": "41",
    • "href": "/objects/construction-forecasting/wip-setup/41"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}