Refresh WIP projects

Creates a preview of the WIP schedule for a specified list of projects based on the latest project data.

You can only refresh the data for a WIP schedule period in an unposted state.

If refreshing the data changes a calculated value for a project that was set as finalized, the project is reset to active.

Refresh WIP projects

post/services/construction-forecasting/wip-period/refresh

Refresh WIP projects for a WIP period.

Permissions and other requirements
SubscriptionConstruction
User typeBusiness, Project Manager
PermissionsEdit WIP Projects
SecurityOAuth2
Request
Request Body schema: application/json
required
key
required
string

System-assigned key for the WIP schedule period. A WIP schedule can be identified by its key, and/or assignedEntity.key properties.

Example: "123"
periodEndDate
required
string <date>

The ending date of the WIP schedule's reporting period.

Example: "2023-05-31"
required
object

The entity assigned to the WIP period.

key
string

Unique key for the entity.

Example: "1"
id
string

Unique identifier for the entity.

Example: "USAE"
periodStartDate
string <date>

The beginning date of the WIP schedule's reporting period.

Example: "2023-05-01"
Array of objects

List of WIP projects used to refresh the WIP schedule period.

Array
key
string

System-assigned key for the WIP project.

Example: "1"
isFinalized
boolean
Default: false

A WIP project is finalized when it is ready to be posted to the general ledger.

Enum: false true
Example: false
estimatedCostToDateAmount
string <decimal-precision-2>

The project's estimated costs to-date based on estimate entries in the project's primary estimate. Estimate entries are included if they meet the following criteria:

  • Have a workflow type of original, revision, or approved change.
  • Have an effective date that falls before or on the end date for the WIP schedule.
Example: "10000.00"
jobToDateCosts
string <decimal-precision-2>

The project's actual costs to-date. This amount comes from journal postings to the selected cost accounts.

Example: "1000.00"
estimatedCostToComplete
string <decimal-precision-2>

Estimate of the costs remaining for the project. The amount is calculated as estimatedCostAtCompletion less jobToDateCosts.

Example: "3000.00"
estimatedCostAtCompletion
string <decimal-precision-2>

Estimated cost at completion of the project based on estimate entries in the project's primary estimate. Estimate entries are included if they have a workflow type of original, revision, or approved change.

Example: "3000.00"
pendingEstimatesAmount
string <decimal-precision-2>

Estimated pending amount based on pending estimate entries in the project's primary estimate.

Example: "3000.00"
estimatedPercentComplete
string <percent-precision-2>

Estimated percent complete for the project, calculated as project's jobToDateCosts divided by estimatedCostAtCompletion.

Example: 70.5
object

Project manager's forecast of project costs, profits, and completion percentage.

object

CFO forecast of project costs, profits, and completion percentage.

costAtCompletionVariance
string <decimal-precision-2>

Cost at completion variance (cfoForecast.costAtCompletion less estimatedCostAtCompletion).

Example: "500.00"
totalContractValue
string <decimal-precision-2>

The sum of the price for all project contract lines, including any change request entries linked to the project contract line through a change order.

A project contract line entry is included in the calculation if it meets the following conditions:

  • The workflow type is original or revision, or approved change (change request entry).
  • The price effective date is earlier than or on the end date of the WIP schedule period.
Example: "10000.00"
contractVarianceAmount
string <decimal-precision-2>

Contract amount variance (cfoForecast.contractValue less totalContractValue).

Example: "1000.00"
jobToDateBillings
string <decimal-precision-2>

Job-to-date billings amount comes from journal postings to the revenue accounts specified in the WIP setup object.

Journal entries are included in this amount if they meet the following conditions:

  • The account is specified as a revenue account in the list of accounts in the WIP setup object.

  • The project dimension assigned to the journal entry matches the WIP project or one of its child projects.

  • The entry date for the journal entry falls before the WIP schedule period end date.

A credit amount posted to the account is added to the job-to-date billed amount. A debit is subtracted.

Example: "5000.00"
earnedToDateAmount
string <decimal-precision-2>

Earned-to-date amount (cfoForecast.contractValue multiplied by cfoForecast.percentComplete).

This amount reflects the earnings from the beginning of the project; it is not limited to the current year.

Example: "5000.00"
remainingBacklogAmount
string <decimal-precision-2>

Remaining backlog amount represents the work left for the project as a currency amount (cfoForecast.contractValue less earnedToDateAmount).

Example: "3000.00"
overUnderBillingAmount
string <decimal-precision-2>

The overbilling or underbilling amount is the difference between YTD billed and YTD earned amounts.

Example: "-1000.00"
earnedProfitToDateAmount
string <decimal-precision-2>

Current earned profit to-date (earnedToDateAmount less jobToDateCosts).

Example: "5000.00"
grossProfitPercentOfContract
string <percent-precision-2>

Gross profit percent of contract (cfoForecast.grossProfitAtCompletion divided by cfoForecast.contractValue).

Example: 20
grossProfitPercentOfCost
string <percent-precision-2>

Gross profit percent of cost (cfoForecast.grossProfitAtCompletion divided by cfoForecast.costsAtCompletion).

Example: 30
totalGrossProfitEstimatedAtCompletion
string <decimal-precision-2>

Total gross profit estimated at completion (totalContractValue less estimatedCostAtCompletion).

Example: "3000.00"
cfoForecastGrossProfitAtCompletion
string <decimal-precision-2>

CFO forecast gross profit at completion (cfoForecast.contractValue less cfoForecast.costsAtCompletion).

Example: "3000.00"
grossProfitVarianceAmount
string <decimal-precision-2>

Gross profit variance (cfoForecast.grossProfitAtCompletion less totalGrossProfitEstimatedAtCompletion).

Example: "1000.00"
cfoForecastGrossProfitMarginPercent
string <percent-precision-2>

CFO forecast gross profit margin percent (cfoForecast.grossProfitAtCompletion divided by cfoForecast.contractValue).

Example: 30
priorYearsProfit
string <decimal-precision-2>

Earned to-date profit (earnedToDateAmount less jobToDateCost).

Example: "20000.00"
endOfPriorYearEarnedToDateAmount
string <decimal-precision-2>

Earned to-date amount as of end of prior year (earnedToDateAmount less endOfPriorYearEarnedProfit).

Example: "15000.00"
endOfPriorYearEarnedProfit
string <decimal-precision-2>

Earned profit as of end of prior year. This value comes from the end-of-year WIP schedule from the prior year if one exists. Otherwise, the amount is zero.

Example: "15000.00"
remainingProfit
string <decimal-precision-2>

The amount of the project that remains to be earned (cfoForecast.grossProfitAtCompletion less earnedProfitToDate).

Example: "15000.00"
yearToDateCostAmount
string <decimal-precision-2>

Year-to-date costs.

Example: "15000.00"
yearToDateBillingAmount
string <decimal-precision-2>

Year-to-date billings.

Example: "15000.00"
yearToDateEarnedRevenueAmount
string <decimal-precision-2>

Year-to-date earned revenue.

Example: "15000.00"
jobToDateOverBillingAmount
string <decimal-precision-2>

Job-to-date over billing.

Example: "15000.00"
jobToDateUnderBillingAmount
string <decimal-precision-2>

Job-to-date under billing.

Example: "15000.00"
yearToDateEarnedProfitAmount
string <decimal-precision-2>

Year-to-date earned profit.

Example: "15000.00"
currentPeriodBillingAmount
string <decimal-precision-2>

Current period billings.

Example: "15000.00"
currentPeriodCostAmount
string <decimal-precision-2>

Current period costs.

Example: "15000.00"
currentPeriodEarnedProfitAmount
string <decimal-precision-2>

Current period earned profit.

Example: "15000.00"
currentPeriodEarnedRevenueAmount
string <decimal-precision-2>

Current period earned revenue.

Example: "15000.00"
notes
string

Notes or comments about the WIP project.

Example: "no comments"
Array of objects

WIP forecast details for the WIP project

object

The project this WIP project is based on.

object

The customer associated with the project.

object

The entity from which this WIP project's parent WIP schedule was created.

object

The WIP period this WIP project is associated with.

Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "periodEndDate": "2023-05-31",
  • "wipProjects": [
    • {
      • "key": "55",
      • "wipPeriod": {
        },
      • "project": {
        },
      • "isFinalized": false,
      • "glPostedDate": "2023-05-31",
      • "estimatedCostToDateAmount": "185",
      • "jobToDateCosts": "5388.07",
      • "estimatedCostToComplete": "-5203.07",
      • "estimatedPercentComplete": 29.12,
      • "cfoForecast": {
        },
      • "projectManagerForecast": {
        },
      • "costAtCompletionVariance": "0.00",
      • "totalRevisedContract": "26295",
      • "contractVarianceAmount": "0",
      • "jobToDateBillings": "4858.16",
      • "earnedToDateAmount": "76583398.65",
      • "remainingBacklogAmount": "-76557103.65",
      • "overUnderBillingAmount": "76578540.49",
      • "earnedProfitToDateAmount": "76578010.58",
      • "grossProfitPercentOfContract": 0.99,
      • "grossProfitPercentOfCost": 141.14,
      • "totalGrossProfitEstimatedAtCompletion": "26110",
      • "cfoForecastGrossProfitAtCompletion": "26110",
      • "grossProfitVarianceAmount": "0",
      • "cfoForecastGrossProfitMarginPercent": 0.99,
      • "priorYearsProfit": "0",
      • "remainingProfit": "0",
      • "endOfPriorYearEarnedToDateAmount": "0",
      • "endOfPriorYearEarnedProfit": "0",
      • "yearToDateCostAmount": "15000",
      • "yearToDateBillingAmount": "15000",
      • "yearToDateEarnedRevenueAmount": "15000",
      • "jobToDateOverBillingAmount": "15000",
      • "jobToDateUnderBillingAmount": "15000",
      • "yearToDateEarnedProfitAmount": "15000",
      • "currentPeriodBillingAmount": "15000",
      • "currentPeriodCostAmount": "15000",
      • "currentPeriodEarnedProfitAmount": "15000",
      • "currentPeriodEarnedRevenueAmount": "15000",
      • "notes": "not ready"
      }
    ],
  • "key": "40"
}
Response samples
application/json
{
  • "ia::result": {
    • "wipProjects": [
      • {
        }
      ],
    • "lastRefreshDateTime": "2023-06-02T15:11:07Z",
    • "wipCostBreakdownLevel": "costCodeAndCostType"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}