- Subcontracts — agreements with trade contractors performing work
- Purchase Orders (POs) — agreements to buy materials, equipment, or services
How a Commitment Is Identified
Every commitment has:- Type —
subcontractorpurchase_order - Number — the contract or PO number (unique within the project)
- Title — short description
- Contract Company — the bound vendor or subcontractor (FK to
companies) - Project — every commitment belongs to exactly one project
subcontracts and purchase_orders. The unified list view reads from the commitments_unified view, which projects both types into a single shape for the table.
Columns Reference
The Commitments table shows these columns. All money values are computed from the commitment, its SOV items, its invoices, and its change orders.Identity and parties
Money
Dates
Visibility
Statuses
Statuses differ slightly between subcontracts and POs because they reflect industry vocabulary, but the budget side semantics are identical: every status maps to either pending (the project will probably owe this money) or executed (the project definitely owes this money), and the Budget table treats them accordingly.Subcontract statuses
Purchase Order statuses
The exact list of statuses available may be tightened or extended per project in Commitments Settings.
Schedule of Values (SOV)
Every commitment is broken into line items called the Schedule of Values. Each SOV item assigns a portion of the contract amount to a specific budget code, which is how a commitment lands on the right rows of the Budget table. SOV item fields:- Budget Code — the cost code the line rolls up to. This is what links the commitment to a Budget line.
- Description — what the line covers.
- Amount — the dollar value of the line.
- Retainage % — overrides the commitment default for this line, if needed.
subcontract_sov_items, purchase_order_sov_items.
Commitment Change Orders
A Commitment Change Order (CCO) modifies an executed commitment — adding scope, removing scope, or adjusting amounts on existing SOV lines. The change order itself has a status, and only approved/executed CCOs flow into the Revised Contract Amount and into the Budget’s Committed Costs.CCO statuses
Source tables:
contract_change_orders (the CCO header), commitment_change_order_lines (the line items).
CCOs typically originate from Change Events when a Potential Change Order (PCO) is promoted on the cost side. Direct creation of a CCO from the commitment detail page is also supported.
Retainage
Retainage is money held back from progress payments until the work is accepted, as a financial incentive for the contractor to complete the job correctly.- Default retainage % is set per commitment (
default_retainage_percent). - Each SOV line can override the default.
- Retainage is calculated on each invoice, accumulated as Retainage Held, and released through a Retainage Release invoice at substantial or final completion.
- Subcontracts and POs use the same retainage mechanics; POs typically default to 0%.
Privacy and SOV Visibility
Two independent toggles control who can see what.- Private commitment (
is_private) — Admins always see private commitments. Other users see them only if listed innon_admin_user_ids. - SOV visibility (
allow_non_admin_view_sov_items) — Even on a non-private commitment, the SOV (and therefore the dollar amounts) may be hidden from non-Admin users. Set this when contract amounts shouldn’t be visible to the wider project team.
Permissions
How Commitments Connect to Other Tools
Common Questions
Why doesn’t my new subcontract show up on the Budget yet? Check the status. Until the subcontract reachesOut for Signature, Pending, Approved, or Complete, the Budget ignores it. Draft subcontracts are intentionally excluded.
Why doesn’t my new PO show up on the Budget yet?
POs are counted starting at Draft (in Pending Cost Changes). If a PO isn’t showing up, the most likely cause is its SOV items aren’t assigned to a budget code, so they have nothing to roll up to.
What’s the difference between Revised Contract Amount and Original Amount?
Original Amount is the value at signing. Revised Contract Amount = Original + Approved Change Orders. Pending and draft change orders are not in Revised.
Why is the Balance to Finish negative?
The contractor has been billed for more than the Revised Contract Amount. Either an invoice was filed in excess of the contract, or an approved change order was reversed after invoicing. Investigate the invoice and CO history.
Why can’t I edit this commitment?
Either the commitment is executed (and you need Admin to edit), or you don’t have Write permission, or the commitment is private and you’re not on the access list.
How do I bill against a commitment?
Create an invoice from the Invoicing tool and select this commitment. The invoice’s SOV mirrors the commitment’s SOV with the additional billed-to-date columns. See Invoicing.
Why doesn’t my Subcontractor Invoice show in Direct Costs on the Budget?
By design. Subcontractor Invoices count toward JTD but are excluded from the Budget’s Direct Costs column because that work is already counted under Committed Costs. Including both would double-count.
Can I delete a commitment?
Soft delete only — it moves to the Recycle Bin and can be restored. Only Admins can delete or restore. Hard delete is not exposed in the UI.