Contract and Main Contract Variables
Use document templates and variables of your choice to create a contract with necessary information, such as the:
- Contract code or type,
- Total value of contract,
- Date the contract was approved.
The variables available to bring in contract information are broken out into tables for the following sections:
- Contract Variables - the selection of variables that can be used to create a customized contract, ready to be sent to subcontractors. To learn more about contracts, see the Work with Contracts article.
- Contract Variables for Change Orders - the selection of variables that can be used in generating downstream change orders. See the Change Orders article to learn more.
- Main Contract Variables - the selection of variables that can be used to create a customized main contract, ready to be sent to an owner. To learn more about working with main contracts, see the Main Contract article.
- Main Contract Variables for Change Orders - the selection of variables that can be used in generating upstream change orders.
Contract Variables
Use the variables from the table to create a template for a contract. You can use the search at the top of the tables to narrow down results in the table.
Variables | Description |
{contract.name} | Returns the name of the contract |
{contract.description} | Returns the description of the contract |
{contract.code} | Returns the contract code |
{contract.type} | Returns the contract type |
{contract.note} | Returns the notes on the contract |
{contract.awarded} For example: {contract.awarded | written} |
Returns the contract award amount. You can add the currency you want the contract to be awarded in. For example, {contract.awarded | writtenCurrency:'USD'}. |
{contract.changes} | Returns the value of the contract changes |
{contract.retention} | Returns the contract retention |
{contract.completedWorkRetentionPercent || contract.retention.completedWorkRetentionPercent} | Returns the percentage of retention of total work completed |
{contract.materialsRetentionPercent || contract.retention.materialsRetentionPercent} | Returns the percentage of retention of materials on site |
{contract.total} | Returns the total contract value |
{#contract.exhibits} and {/contract.exhibits} | Returns the name and target name of the contract exhibit source file #contract.exhibits and /contract.exhibits must be used together Any contract exhibit variables that exist between #contract.exhibits and /contract.exhibits are returned Refer to the mustache.github.io help on sections to learn more about the syntax of this variable Tip: Add a return character after variables used between #contract.exhibits and /contract.exhibits to display them on separate lines |
{#contract.exhibits.name} For example: {#contract.exhibits}{name} {/contract.exhibits} |
Returns the original file name and extension of the contract exhibit source file |
{#contract.exhibits.targetName} For example: {#contract.exhibits}{targetName} {/contract.exhibits} |
Returns the new name of the contract exhibit in the generated package |
{contract.originalBudget} | Returns the original contract value budget |
{contract.internalAdjustment} | Returns the adjusted value of the contract |
{contract.approvedOwnerChanges} | Returns the value of the approved owner changes |
{contract.revised} | Returns the value of the revised contract |
{contract.pendingOwnerChanges} | Returns the value of the pending owner changes |
{contract.projectedBudget} | Returns the value of the projected contract budget |
{contract.approvedChangeOrders} | Returns the value of the approved change orders for the contract |
{contract.pendingChangeOrders} | Returns the value of the pending change orders for the contract |
{contract.projectedCost} | Returns the value of the projected contract cost |
{(contract.awarded | toNumber) + (contract.approvedChangeOrders | toNumber)} | Returns the value of contract total |
{contract.reserves} | Returns the value of the contract reserves |
{contract.forecastFinalCost} | Returns the value of the forecast final cost for the contract |
{contract.awardedAt | date:'MM DD, YYYY'} | Returns the date when the contract was awarded |
{contract.StatusChangedAt | date:'MM DD, YYYY'} | Returns the date when the contract status last changed |
{contract.sentAt | date:'MM DD, YYYY'} | Returns the date when the contract was sent |
{contract.responseDue | date:'MM DD, YYYY'} | Returns the date that the contract was responded |
{contract.onsiteAt | date:'MM DD, YYYY'} | Returns the date when the contract was on site |
{contract.procuredAt | date:'MM DD, YYYY'} | Returns the date when the contract was procured |
{contract.approvedAt | date:'MM DD, YYYY'} | Returns the date when the contract was approved |
{contract.executedAt | date:'MM DD, YYYY'} | Returns the date when the contract was executed |
{contract.returnedAt | date:'MM DD, YYYY'} | Returns the date when the contract was returned |
{contract.varianceTotal} | Returns the value of the contract variance |
{contract.retentionCap} | Returns the percentage of the contract's sum of commitments to date |
{@contract.scopeOfWork} | Returns the scope of work for the contract. This variable must be on a line with no other text. |
{contract.properties["Attachment N"] || "N/A"} or {contract.properties["Attachment N"] | bool: "Yes":"No":"N/A"} |
Returns the value of Attachment N or returns “N/A” if Attachment N is blank |
{#scheduleOfValues} and {/scheduleOfValues} | Returns all line items of a contract's schedule of values table. #scheduleOfValues and /scheduleOfValues must be used together Any schedule of values variables that exist between #scheduleOfValues and /scheduleOfValues are returned Refer to the mustache.github.io help on sections to learn more about the syntax of this variable |
{#scheduleOfValues.code} For example: {#scheduleOfValues}{code}{/scheduleOfValues} |
Returns the contract code in the schedule of values |
{#scheduleOfValues.name} For example: {#scheduleOfValues}{name}{/scheduleOfValues} |
Returns the contract name in the schedule of values |
{#scheduleOfValues.quantity} For example: {#scheduleOfValues}{quantity}{/scheduleOfValues} |
Returns the quantity in the schedule of values |
{#scheduleOfValues.unit} For example: {#scheduleOfValues}{unit}{/scheduleOfValues} |
Returns the unit in the schedule of values |
{#scheduleOfValues.unitPrice} For example: {#scheduleOfValues}{unitPrice}{/scheduleOfValues} |
Returns the unit price in the schedule of values |
{#scheduleOfValues.amount} For example: {#scheduleOfValues}{amount}{/scheduleOfValues} |
Returns the total amount in the schedule of values |
{#scheduleOfValues.bulkUnitPrice} For example: {#scheduleOfValues}{bulkUnitPrice}{/scheduleOfValues} |
Contract variable only. Returns the bulk unit price in the schedule of values. |
{#scheduleOfValues.quantityPerBulk} For example: {#scheduleOfValues}{quantityPerBulk}{/scheduleOfValues} |
Contract variable only. Returns the display quantity in the schedule of values |
{#amount > 0.0} {amount} {/} {#amount == 0.0} Included {/} | Returns “Included” for any Amount value left as 0. |
{#unitPrice > 0.0} {unitPrice} {/} {#unitPrice == 0.0} Included {/} | Returns “Included” for any Unit Price value left as 0. |
contract.
before the variable. For example, contract.mainContract.plannedCompletionDate
will output the date the main contract is planned to complete.Contract Variables for Change Orders
Use the selection of contract variables to generate documents while creating downstream change orders. You can use the search at the top of the table to narrow down results in the table.
Variables | Description | PCO | RFQ | RCO | OCO | SCO |
{contractOriginal} | [E], original commitment of the related contract | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousContractApproved} | [F], all approved SCOs of the related contract created before the current SCO during document generation of the SCO | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousContractPending} | All nonapproved SCOs of the related contract created before the current SCO during document generation of the SCO | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousContractAmount} | [G], where [G] = [E] + [F] | ![]() |
![]() |
![]() |
![]() |
![]() |
{revisedContractAmount} | [H], where [H] = [G] + sum of approved cost item values under this OCO, including markups | ![]() |
![]() |
![]() |
![]() |
![]() |
{generalContractAmount} | Returns the original net contract price. | ![]() |
![]() |
![]() |
![]() |
![]() |
{generalContractTaxAmount} | Returns the total tax of the original contract. | ![]() |
![]() |
![]() |
![]() |
![]() |
{generalContractGrandAmount} | Returns the original gross contract price including taxes. | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousGeneralContractAmount} | Returns the revised net contract price including approved OCOs. | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousGeneralContractTaxTotalAmount} | Returns the total tax of the revised contract including approved OCOs. | ![]() |
![]() |
![]() |
![]() |
![]() |
{previousGeneralContractGrandTotalAmount} | Returns the revised gross contract price including taxes and approved OCOs. | ![]() |
![]() |
![]() |
![]() |
![]() |
Main Contract Variables
Use the selection of variables to create a template for a main contract. You can use the search at the top of the table to narrow down results in the table.
Variables | Description | Type |
{mainContract.code} | Returns the code of the main contract | String |
{mainContract.description} | Returns the description of the main contract | String |
{mainContract.name} | Returns the name of the main contract | String |
{mainContract.status} | Returns the status of the main contract | String |
{mainContract.amount} | Returns the amount of the main contract | Number |
{mainContract.paymentDue | date:'MM DD, YYYY'} | Returns the due date of the main contract | Date |
{mainContract.type} | Returns the type of the main contract | String |
{@mainContract.note} | Returns the note of the main contract | RichText |
{mainContract.createdAt | date:'MM DD, YYYY'} | Returns the created date of the main contract | Date |
{@mainContract.scopeOfWork} | Returns the scope of work for the main contract. This variable must be on a line with no other text. | RichText |
{#scheduleOfValues} and {/scheduleOfValues} | Returns the list of scheduleOfValues for the main contract | Array |
{#scheduleOfValues.code} For example: {#scheduleOfValues}{code}{/scheduleOfValues} |
Returns the main contract code in the schedule of values | String |
{#scheduleOfValues.quantity} For example: {#scheduleOfValues}{quantity}{/scheduleOfValues} |
Returns the quantity in the schedule of values | Number |
{#scheduleOfValues.unit} For example: {#scheduleOfValues}{unit}{/scheduleOfValues} |
Returns the unit in the schedule of values | String |
{#scheduleOfValues.unitPrice} For example: {#scheduleOfValues}{unitPrice}{/scheduleOfValues} |
Returns the unit price in the schedule of values | Number |
{#scheduleOfValues.amount} For example: {#scheduleOfValues}{amount}{/scheduleOfValues} |
Returns the total amount in the schedule of values | Number |
{mainContract.executedDate | date:'MM DD, YYYY'} | Returns the date when the main contract was executed | Date |
{mainContract.startDate | date:'MM DD, YYYY'} | Returns the date when the main contract started | Date |
{mainContract.plannedCompletionDate | date:'MM DD, YYYY'} | Returns the date when the main contract is planned to complete | Date |
{mainContract.actualCompletionDate | date:'MM DD, YYYY'} | Returns the date when the main contract actually completed | Date |
{contract.mainContract.createdAt | date:'MM DD, YYYY'} | Returns the date when the main contract was created | Date |
{mainContract.closeDate | date:'MM DD, YYYY'} | Returns the date when the main contract was closed | Date |
{mainContract.plannedCompletionDate} | Returns the planned completion date | Date |
{mainContract.revisedCompletionDate} | Returns the revised completion date | Date |
{mainContract.scheduleChange} | Returns the schedule change | Number |
{oco.proposedRevisedCompletionDate} | Returns proposed or revised completion date | Date |
{mainContract.taxes.TaxTotal.amount} | Returns the total tax of the original contract | Number |
{mainContract.taxes.GrandTotal.amount} | Returns the original gross contract price including taxes | Number |
{mainContract.taxesWithApprovedOCOs.TaxTotal.amount} | Returns the total tax of the original contract | Number |
{mainContract.taxesWithApprovedOCOs.GrandTotal.amount} | Returns the revised gross contract price including taxes | Number |
{mainContract.owner} | Returns the owner from the flyout panel | |
{mainContract.owner.phone} | Returns the owner's company phone number | |
{mainContract.architect} | Returns the architect's company from the flyout panel |
Main Contract Variables for Change Orders
Use the selection of main contract variables to generate documents while creating upstream change orders. You can use the search at the top of the table to narrow down results in the table.
Variables | Description |
{mainContract.code} | Returns the code of the main contract |
{mainContract.description} | Returns the description of the main contract |
{mainContract.name} | Returns the name of the main contract |
{mainContract.status} | Returns the status of the main contract |
{mainContract.amount} | Returns the amount of the main contract |
{mainContract.type} | Returns the type of the main contract |
{@mainContract.note} | Returns the note of the main contract |
{mainContract.createdAt | date:'MM DD, YYYY'} | Returns the created date of the main contract |
{@mainContract.scopeOfWork} | Returns the scope of work for the main contract. This variable must be on a line with no other text. |
{mainContract.executedDate | date:'MM DD, YYYY'} | Returns the date that the main contract was executed |
{mainContract.startDate | date:'MM DD, YYYY'} | Returns the date that the main contract started |
{mainContract.plannedCompletionDate | date:'MM DD, YYYY'} | Returns the date that the main contract is planned to complete |
{mainContract.actualCompletionDate | date:'MM DD, YYYY'} | Returns the date the main contract completed |
{contract.mainContract.createdAt | date:'MM DD, YYYY'} | Returns the date that the main contract was created |
{mainContract.closeDate | date:'MM DD, YYYY'} | Returns the date that the main contract closed |
{generalContractTaxAmount} | Returns the total tax of the original contract |
{generalContractGrandAmount} | Returns the original gross contract price including taxes |
- Contract and change order document templates can also use the main contract variables. Add one of the following to the specific main contract variable:
- contract.
- pco.
- rfq.
- rco.
- oco.
- sco.
For example, adding
sco.mainContract.startDate
in the SCO document template will output the date the main contract started.
- Spreadsheet can't support rich text variable. Remove "@" from the variable while using it in spreadsheets. For example, instead of {@pco.scopeOfWork} use {pco.scopeOfWork}.
Related Articles
To learn more about using variables in different scenarios, see the Using Variables Example article.