Preview WIP postings

Generate a GL journal entry preview for posting a WIP schedule period.

Preview a WIP posting

post/services/construction-forecasting/wip-journal/generate-preview

Generate a GL journal entry preview for posting a WIP schedule period.

Permissions and other requirements
SubscriptionConstruction
User typeBusiness, Project Manager
PermissionsPost WIP Periods
SecurityOAuth2
Request
Request Body schema: application/json
required
description
string

The description for the GL journal entry posting.

Example: "Journal Post for WIP Sep 2023"
postingDate
string <date>

The date the GL journal entry was posted.

Example: "2023-05-31"
automaticReversalDate
string <date>

Reversal date if you want to automatically reverse this transaction on a certain date. Must be after the postingDate.

Example: "2023-12-31"
referenceNumber
string

Reference number for this posting.

Example: "WIP_092023"
key
string

Key for the WIP period.

Example: "123"
state
string
Default: "unposted"

The state is posted if the WIP projects are finalized and posted to the general ledger, otherwise, it is unposted.

Enum: "posted" "unposted"
Example: "unposted"
isHistoricalImport
boolean
Default: false

Indicates whether the WIP period was imported.

Example: false
lastRefreshDateTime
string <date-time>

The date and time the WIP period was last refreshed.

Example: "2023-05-26T10:06:00Z"
Array of objects

The WIP projects to be posted.

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.

object

The entity assigned to the WIP period.

key
string

Key for the entity.

Example: "1"
id
string

Unique identifier for the entity.

Example: "USAE"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "wipPeriodKey": "5",
  • "wipProjects": [
    • {
      • "project": {
        },
      • "customer": {
        },
      • "key": "5",
      • "cfoForecast": {
        },
      • "projectManagerForecast": {
        },
      • "cfoForecastGrossProfitAtCompletion": "26110.00",
      • "grossProfitPercentOfContract": 0.99,
      • "estimatedCostToComplete": "-5203.07",
      • "overUnderBillingAmount": "76578540.49",
      • "isFinalized": false,
      • "grossProfitVarianceAmount": "0.00",
      • "earnedProfitToDateAmount": "76578010.58",
      • "priorYearsProfit": "0",
      • "remainingProfit": "0",
      • "endOfPriorYearEarnedToDateAmount": "0",
      • "endOfPriorYearEarnedProfit": "0",
      • "estimatedPercentComplete": 29.12,
      • "grossProfitPercentOfCost": 141.14,
      • "remainingBacklogAmount": "-76557103.65",
      • "contractVarianceAmount": "0",
      • "cfoForecastGrossProfitMarginPercent": 0.99,
      • "totalGrossProfitEstimatedAtCompletion": "26110.00",
      • "jobToDateBillings": "4858.16",
      • "jobToDateCosts": "5388.07",
      • "estimatedCostToDateAmount": "185.00",
      • "earnedToDateAmount": "76583398.65",
      • "totalRevisedContract": "26295.00",
      • "yearToDateCostAmount": "15000",
      • "yearToDateBillingAmount": "15000",
      • "yearToDateEarnedRevenueAmount": "15000",
      • "jobToDateOverBillingAmount": "15000",
      • "jobToDateUnderBillingAmount": "15000",
      • "yearToDateEarnedProfitAmount": "15000",
      • "currentPeriodBillingAmount": "15000",
      • "currentPeriodCostAmount": "15000",
      • "currentPeriodEarnedProfitAmount": "15000",
      • "currentPeriodEarnedRevenueAmount": "15000"
      }
    ],
  • "automaticReversalDate": "2023-10-01",
  • "postingDate": "2023-09-30",
  • "referenceNumber": "WipJournal_202309",
  • "description": "Journal Entry for WIP Period ending 2023-09-30"
}
Response samples
application/json
{
  • "ia::result": {
    • "cumulativeBillingsInExcessOfCostsCreditAmount": "10023.33",
    • "cumulativeCostsInExcessOfBillingsDebitAmount": "2309.44",
    • "description": "Journal Entry Sep 2023",
    • "postingDate": "2023-09-30",
    • "automaticReversalDate": "2023-10-01",
    • "state": "posted",
    • "referenceNumber": "WIP_202309",
    • "overbillingAccount": {
      • "name": "Billings in Excess of Cost",
      • "id": 10030,
      • "key": 58
      },
    • "underbillingAccount": {
      • "name": "Cost in Excess of Billings",
      • "id": 10040,
      • "key": 60
      },
    • "underbillingOffsetAccount": {
      • "name": "Net Over or Under Billings",
      • "id": 10050,
      • "key": 62
      },
    • "overbillingOffsetAccount": {
      • "name": "Net Over or Under Billings",
      • "id": 10050,
      • "key": 62
      },
    • "lines": [
      • {
        },
      • {
        }
      ]
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}