During the submission of cost payment applications, contracts, OCOs, RFQs, or SCOs, project teams often have to provide supporting documentation. With the compliance requirements workflow, you can track and store lien waivers, certificates of insurance, bonding documents, and other required materials before submissions proceed.
Project administrators create compliance requirement templates in settings. Then members upload the required documents in the item's details panel. The system tracks compliance status and can block submissions until requirements are met. You can also enforce tax-based compliance rules that block Send or Submit until tax is applied.
For contract compliance, you can also create condition-based requirements — including conditions that use TradeTapp supplier qualification and risk data — to automatically block sending contracts to non-compliant suppliers.
In this article:
Where you configure compliance and which requirement types are available depends on the item type:
| Item type | Settings | Document-based | Condition-based |
|---|---|---|---|
| Contracts | Cost settings | Yes | Yes |
| Cost Payment Applications | Cost settings | Yes | Yes |
| OCOs | Change Order settings | Yes | — |
| RFQs | Change Order settings | Yes | — |
| SCOs | Change Order settings | Yes | Yes |
Condition options include budget code segments, TradeTapp supplier data, and tax-based compliance. For detailed steps, follow the links in the Settings column above.
After creating templates, you can customize requirements for specific items. Navigate to any item's details panel and find the Compliance Requirements section:
next to any requirement.
For time-sensitive documents like insurance certificates, you can require expiration dates. This option is available for document-based compliance requirements only.

Condition-based requirements are available for Contracts, Cost Payment Applications (tax conditions), and SCOs. They allow you to block actions based on specific conditions being met. For contracts, you can create condition-based requirements that block actions based on:
For SCOs (Supplier Change Orders), you can create condition-based requirements that control when SCOs can be processed.
Learn more about setting condition-based requirements for contracts and cost payment applications and SCOs.
Tax-based compliance blocks Send, Submit, or related actions until tax is applied on the item. It is configured as a Condition requirement — not as a separate compliance type beside Document and Condition.
Tax-based compliance is available for:
Before you create a tax-based compliance requirement, add at least one Active tax formula in Settings > General > Tax. See Tax Formulas.
To create a tax-based compliance requirement:
The condition label varies by item type — for example, Allow sending Contract only if, Allow submitting Cost Payment Application only if, or Allow sending SCO only if.
When a tax-based rule is active and not satisfied, Send or Submit is blocked until tax is applied. Apply a tax formula in the item flyout. See Tax Formulas.
For projects with the TradeTapp integration configured, contract compliance can be conditioned on supplier qualification and risk data synced from TradeTapp. This blocks sending a contract to a supplier whose data doesn't meet the criteria you set.
TradeTapp fields appear in the condition-field dropdowns of the Add Requirement dialog:

When a project has TradeTapp-based compliance requirements configured, members see the rule and its current status directly in the contract flyout panel.
Compliance rule details: The Compliance Requirements section in the contract flyout shows each TradeTapp compliance rule, the condition that must be satisfied (for example, Insurance Programme is present and not expired), and whether the supplier currently meets it.

Supplier data display: The supplier's current Risk Status, Qualification Status, Insurance Programme, Internal Single Limit, and Internal Total Limit appear in the Qualification and Risk Profile section of the contract flyout, pulled directly from TradeTapp.

Insurance not present: If the supplier has no insurance documents in TradeTapp, the Insurance Programme field doesn't appear in the Qualification and Risk Profile section. Instead, an Insurance is not present indicator is shown, and the Insurance Programme is present and not expired compliance rule fails.

Blocking the Send action: When a TradeTapp condition fails for the contract's supplier, the Send button in the Review and send step is disabled and shows the tooltip The following compliance requirement is not fulfilled: TradeTapp Compliance. Members can click View to see the failing rule, or Request Revision to send the contract back for changes — but Send stays disabled until the supplier's TradeTapp data satisfies the rule.

Members with collaborative permission can upload documents to meet compliance requirements.
When compliance requirements are active, you'll see them in the item's details panel. When requirements are needed, you'll see:
To upload documents:
Go to the Compliance Requirements section in the item details.
Click Add Document next to the requirement.
Choose your upload method:

You can view, download, or remove documents before submission. After submission, documents have limited editing to maintain audit trails.
The compliance column in overview tables shows real-time status:

Add the Compliance Document Exp. Date column to track expiration dates:
The column appears in the Dates section. Use grouping by dates to quickly identify upcoming expirations.

Expiration dates automatically appear in:
| Issue | Solution |
|---|---|
| Can't submit even with documents uploaded | Check if all required compliance items have documents |
| Documents not appearing in compliance section | Ensure that documents are uploaded to the correct requirement |
| Compliance column not visible | Add the column through table settings (gear icon) |
| Can't modify uploaded document | Documents in compliance requirements have limited editing for audit purposes |
| Wrong expiration date showing | System shows the latest expiration date when multiple requirements exist |
| Contract blocked unexpectedly | Check condition-based requirements for budget code segment rules that apply to linked budgets |
| Send or Submit blocked for missing tax | Apply a tax formula in the item flyout, or review tax details in the Edit Tax dialog when Add Tax & Check Details is enabled |
| Value dropdown empty for Tax condition | This is expected — the Value field is disabled by design. The system checks only whether any tax is applied, not which formula was used |