Use WIP schedule periods to monitor profitability and revenue recognition for ongoing projects. The WIP schedule periods are based on the reporting periods in your entity. See Work in progress (WIP) management for details.
Returns a collection with a key, ID, and link for each WIP period. 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.
OK
Bad Request
{- "ia::result": [
- {
- "id": "8",
- "key": "8",
- "href": "/objects/construction-forecasting/wip-period/8"
}, - {
- "id": "9",
- "key": "9",
- "href": "/objects/construction-forecasting/wip-period/9"
}
], - "ia::meta": {
- "totalCount": 2,
- "totalSuccess": 2,
- "totalError": 0
}
}
Creates a new WIP period. You can only create one WIP period for a specified assignedEntity
in a given reporting period.
Create a new WIP period.
periodEndDate required | string <date> The ending date of the WIP schedule's reporting period. This field cannot be modified. Example: "2023-05-31" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object The entity assigned to this WIP period. This field cannot be modified. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
periodName | string The name for the reporting period on which the WIP schedule is based. This field cannot be modified. Example: "Month end May 2023" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
periodStartDate | string <date> The beginning date of the WIP schedule's reporting period. This field cannot be modified. Example: "2023-05-01" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
state | string Default: "unposted" The state is A period is ready to be posted when:
Example: "unposted" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notes | string Notes or comments about the WIP period. Example: "Review with the team" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isHistoricalImport | boolean Default: false Indicates whether this is a manually imported historical WIP period. This field cannot be modified. Example: false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastRefreshDateTime | string <date-time> The date and time the WIP period was last updated with the latest project data and any changes to the projects included in the WIP schedule. Example: "2023-05-26T10:06:00Z" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object The entity from which this WIP period was created. This field cannot be modified. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects WIP projects the WIP schedule period is based on. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Created
Bad Request
{- "periodEndDate": "2023-10-31",
- "notes": "WIP schedule for the month of Oct. 2023",
- "assignedEntity": {
- "id": "TIMBGC"
}
}
{- "ia::result": {
- "key": "41",
- "id": "41",
- "href": "/objects/construction-forecasting/wip-period/41"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified WIP period.
key required | string System-assigned key for the WIP period. Example: 1 |
OK
Bad Request
{- "ia::result": {
- "createdFromEntity": {
- "key": "3"
}, - "endOfPriorYearPeriod": {
- "periodName": "Month Ended December 2022",
- "id": "65",
- "key": "65"
}, - "assignedEntity": {
- "name": "Timberline GC",
- "id": "TIMBGC",
- "key": "3"
}, - "wipProjects": [
- {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "project": {
- "endDate": "2023-07-31",
- "name": "Quick Bowls - Portland1",
- "description": "Fast food restaurant with drive-thru",
- "id": "22-001",
- "key": "1",
- "startDate": "2022-01-03",
- "status": "active"
}, - "forecastDetails": [
- {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "task": {
- "name": "Finish Carpentry",
- "id": "06 20 00",
- "key": "538"
}, - "costType": {
- "name": "Subcontract",
- "id": "SUB",
- "key": "1496"
}, - "project": {
- "name": "Quick Bowls - Portland1",
- "id": "22-001",
- "key": "1"
}, - "wipProject": {
- "id": "338",
- "key": "338"
}, - "rootTask": {
- "name": "WOOD PLASTICS AND COMPOSITES",
- "id": "06 00 00",
- "key": "537"
}, - "priorPeriodProjectManagerForecast": {
- "costAtCompletion": "900",
- "costToComplete": "500",
- "percentComplete": "80"
}, - "costAndEstimateDetail": {
- "estimatedCostAtCompletion": "5200",
- "jobToDateCosts": "5200",
- "estimatedCostToDateAmount": "5200",
- "key": "7829"
}, - "projectManagerForecast": {
- "costToCompleteVariance": "900",
- "costAtCompletionVariance": "500"
}, - "id": "782900000000",
- "key": "782900000000"
}, - {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "task": {
- "name": "Fees",
- "id": "01 41 23",
- "key": "259"
}, - "costType": {
- "name": "Other",
- "id": "OTH",
- "key": "835"
}, - "project": {
- "name": "Quick Bowls - Portland1",
- "id": "22-001",
- "key": "1"
}, - "wipProject": {
- "id": "338",
- "key": "338"
}, - "rootTask": {
- "name": "GENERAL REQUIREMENTS",
- "id": "01 00 00",
- "key": "255"
}, - "priorPeriodProjectManagerForecast": {
- "costAtCompletion": "900",
- "costToComplete": "500",
- "percentComplete": "80"
}, - "costAndEstimateDetail": {
- "estimatedCostAtCompletion": "1100",
- "jobToDateCosts": "6590",
- "estimatedCostToDateAmount": "1100",
- "key": "7836"
}, - "projectManagerForecast": {
- "costToCompleteVariance": "900",
- "costAtCompletionVariance": "500"
}, - "id": "783600000000",
- "key": "783600000000"
}
], - "audit": {
- "createdBy": "1",
- "createdDateTime": "2024-12-11T17:36:42Z",
- "modifiedBy": "1",
- "modifiedDateTime": "2025-01-03T21:13:13Z",
- "createdByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}, - "modifiedByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}
}, - "projectManagerForecast": {
- "contractValue": "179610",
- "costAtCompletion": "900",
- "costToComplete": "-308235.95",
- "percentComplete": "-9999"
}, - "cfoForecast": {
- "contractValue": "179610",
- "lastUpdatedDate": "2024-12-26T16:35:22Z",
- "costAtCompletion": "450000.6",
- "costToComplete": "140864.65",
- "percentComplete": "68.7"
}, - "customer": {
- "name": "Trammel Crow",
- "id": "C00002",
- "key": "2"
}, - "jobToDateUnderbillingAmount": "100490.07",
- "remainingProfit": "-84646.72",
- "currentPeriodEarnedProfitAmount": "0",
- "totalContractValue": "179610",
- "currentPeriodEarnedRevenueAmount": "0",
- "endOfPriorYearEarnedToDateAmount": "0",
- "earnedProfitToDateAmount": "-185743.88",
- "cfoForecastGrossProfitAtCompletion": "-270390.6",
- "costAtCompletionVariance": "21244.06",
- "currentPeriodBillingAmount": "0",
- "grossProfitPercentOfContract": "-150.54",
- "estimatedCostToComplete": "119620.59",
- "overUnderBillingAmount": "100490.07",
- "yearToDateBillingAmount": "0",
- "isFinalized": false,
- "grossProfitVarianceAmount": "-21244.06",
- "jobToDateOverbillingAmount": "0",
- "estimatedPercentComplete": "72.1",
- "yearToDateEarnedProfitAmount": "-185743.88",
- "jobToDateCosts": "309135.95",
- "endOfPriorYearEarnedProfit": "0",
- "grossProfitPercentOfCost": "-60.09",
- "remainingBacklogAmount": "56217.93",
- "id": "338",
- "estimatedCostToDateAmount": "428756.54",
- "contractVarianceAmount": "0",
- "key": "338",
- "currentPeriodCostAmount": "0",
- "yearToDateCostAmount": "0",
- "cfoForecastGrossProfitMarginPercent": "-150.54",
- "yearToDateEarnedRevenueAmount": "123392.07",
- "totalGrossProfitEstimatedAtCompletion": "-249146.54",
- "jobToDateBillings": "22902",
- "earnedToDateAmount": "123392.07",
- "estimatedCostAtCompletion": "428756.54",
- "pendingEstimatesAmount": "0",
- "hasAnomaly": false,
- "assignedEntity": {
- "key": "3",
- "id": "TIMBGC",
- "name": "Timberline GC",
- "href": "/objects/company-config/entity/3"
}
}, - {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "project": {
- "endDate": "2023-05-31",
- "name": "The Crest",
- "description": "3-story hotel with 140 rooms",
- "id": "22-002",
- "key": "2",
- "startDate": "2022-05-23",
- "status": "active"
}, - "forecastDetails": [
- {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "task": {
- "name": "Curb Gutters Sidewalks and Driveways",
- "id": "32 16 00",
- "key": "139"
}, - "costType": {
- "name": "Subcontract",
- "id": "SUB",
- "key": "562"
}, - "project": {
- "name": "The Crest",
- "id": "22-002",
- "key": "2"
}, - "wipProject": {
- "id": "339",
- "key": "339"
}, - "assignedEntity": {
- "name": "Timberline GC",
- "id": "TIMBGC",
- "key": "3"
}, - "rootTask": {
- "name": "EXTERIOR IMPROVEMENTS",
- "id": "32 00 00",
- "key": "138"
}, - "costAndEstimateDetail": {
- "estimatedCostAtCompletion": "650000",
- "jobToDateCosts": "650000",
- "estimatedCostToDateAmount": "650000",
- "key": "7831"
}, - "projectManagerForecast": {
- "costToCompleteVariance": "0",
- "costAtCompletionVariance": "0"
}, - "id": "783100000000",
- "key": "783100000000"
}, - {
- "wipPeriod": {
- "periodName": "Month Ended October 2023",
- "id": "54",
- "key": "54"
}, - "task": {
- "name": "Finish Carpentry",
- "id": "06 20 00",
- "key": "544"
}, - "costType": {
- "name": "Subcontract",
- "id": "SUB",
- "key": "1510"
}, - "project": {
- "name": "The Crest",
- "id": "22-002",
- "key": "2"
}, - "wipProject": {
- "id": "339",
- "key": "339"
}, - "assignedEntity": {
- "name": "Timberline GC",
- "id": "TIMBGC",
- "key": "3"
}, - "rootTask": {
- "name": "WOOD PLASTICS AND COMPOSITES",
- "id": "06 00 00",
- "key": "543"
}, - "costAndEstimateDetail": {
- "estimatedCostAtCompletion": "850000",
- "jobToDateCosts": "850000",
- "estimatedCostToDateAmount": "850000",
- "key": "7842"
}, - "projectManagerForecast": {
- "costToCompleteVariance": "0",
- "costAtCompletionVariance": "0"
}, - "id": "784200000000",
- "key": "784200000000"
}
], - "audit": {
- "createdBy": "1",
- "createdDateTime": "2024-12-11T17:36:42Z",
- "modifiedBy": "1",
- "modifiedDateTime": "2025-01-03T21:13:13Z",
- "createdByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}, - "modifiedByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}
}, - "projectManagerForecast": {
- "contractValue": "26655280",
- "costAtCompletion": "22047033.42",
- "costToComplete": "1476700.07",
- "percentComplete": "93.3"
}, - "cfoForecast": {
- "contractValue": "26655280",
- "costAtCompletion": "22047033.42",
- "costToComplete": "1476700.07",
- "percentComplete": "93.3"
}, - "customer": {
- "name": "Star Enterprises",
- "id": "C00021",
- "key": "21"
}, - "jobToDateUnderbillingAmount": "24869376.24",
- "remainingProfit": "309203.69",
- "currentPeriodEarnedProfitAmount": "0",
- "totalContractValue": "26655280",
- "currentPeriodEarnedRevenueAmount": "0",
- "endOfPriorYearEarnedToDateAmount": "0",
- "earnedProfitToDateAmount": "4299042.89",
- "cfoForecastGrossProfitAtCompletion": "4608246.58",
- "costAtCompletionVariance": "0",
- "currentPeriodBillingAmount": "0",
- "grossProfitPercentOfContract": "17.29",
- "estimatedCostToComplete": "1476700.07",
- "overUnderBillingAmount": "24869376.24",
- "yearToDateBillingAmount": "0",
- "isFinalized": false,
- "grossProfitVarianceAmount": "0",
- "jobToDateOverbillingAmount": "0",
- "estimatedPercentComplete": "93.3",
- "yearToDateEarnedProfitAmount": "4299042.89",
- "jobToDateCosts": "20570333.35",
- "endOfPriorYearEarnedProfit": "0",
- "grossProfitPercentOfCost": "20.9",
- "remainingBacklogAmount": "1785903.76",
- "id": "339",
- "estimatedCostToDateAmount": "22047033.42",
- "contractVarianceAmount": "0",
- "key": "339",
- "currentPeriodCostAmount": "0",
- "yearToDateCostAmount": "0",
- "cfoForecastGrossProfitMarginPercent": "17.29",
- "yearToDateEarnedRevenueAmount": "24869376.24",
- "totalGrossProfitEstimatedAtCompletion": "4608246.58",
- "jobToDateBillings": "0",
- "earnedToDateAmount": "24869376.24",
- "estimatedCostAtCompletion": "22047033.42",
- "pendingEstimatesAmount": "0",
- "hasAnomaly": false,
- "assignedEntity": {
- "key": "3",
- "id": "TIMBGC",
- "name": "Timberline GC",
- "href": "/objects/company-config/entity/3"
}
}
], - "audit": {
- "createdBy": "1",
- "createdDateTime": "2024-12-11T17:36:41Z",
- "modifiedBy": "1",
- "modifiedDateTime": "2025-01-03T21:13:12Z",
- "createdByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}, - "modifiedByUser": {
- "key": "1",
- "id": "Admin",
- "href": "objects/company-config/user/1"
}
}, - "lastRefreshDateTime": "2024-12-27T00:37:38Z",
- "wipCostBreakdownLevel": "costCodeAndCostType",
- "notes": "",
- "periodName": "Month Ended October 2023",
- "id": "54",
- "state": "unposted",
- "fiscalYear": "2023-01-01",
- "isHistoricalImport": false,
- "key": "54",
- "periodEndDate": "2023-10-31"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing WIP period by setting the field values. Any fields not provided remain unchanged.
key required | string System-assigned key for the WIP period. Example: 1 |
state | string Default: "unposted" The state is A period is ready to be posted when:
Example: "unposted" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notes | string Notes or comments about the WIP period. Example: "Review with the team" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isHistoricalImport | boolean Default: false Indicates whether this is a manually imported historical WIP period. This field cannot be modified. Example: false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastRefreshDateTime | string <date-time> The date and time the WIP period was last updated with the latest project data and any changes to the projects included in the WIP schedule. Example: "2023-05-26T10:06:00Z" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects WIP projects the WIP schedule period is based on. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
OK
Bad Request
{- "state": "posted",
- "notes": "large under billing"
}
{- "ia::result": {
- "key": "41",
- "id": "41",
- "href": "/objects/construction-forecasting/wip-period/41"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a WIP period.
key required | string System-assigned key for the WIP period. Example: 1 |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "A POST request requires a payload",
- "errorId": "REST-1028",
- "additionalInfo": {
- "messageId": "IA.REQUEST_REQUIRES_A_PAYLOAD",
- "placeholders": {
- "OPERATION": "POST"
}, - "propertySet": { }
}, - "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
}
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 0,
- "totalError": 1
}
}