From creation until closure, contracts follow a life cycle that determines which fields can be edited.

When a contract is in Draft state, almost all fields on the contract record can be edited. After a contract moves past the Draft state, certain date, renewal, extension, and financial fields become read-only. The State field and Substate field are read-only.

The Contract Compliance Checks schedule job runs on the Contract [ast_contract] table automatically each night. For more information about the scheduled job, see Use Condition Check Definitions. The scheduled job performs the following actions:
  • Changes the contract state to Active if the contract is approved and reaches the specified start date.
  • Renews the contract if the contract is approved for renewal and reaches the specified start date.
  • Changes the contract state to Expired if the contract state is Active and reaches the end date.
The system property contract_compliance_check_job.enable_override enables the Contract Compliance Checks job to override checks in a hierarchy. By default, this system property is set to True. When checks are defined on the same field of the parent and child tables, the Contract Compliance Checks job performs the following:
  • For the records on the parent table, the condition check on the table sets the field with the value specified in the condition.
  • For the records on the child table, the condition check on the child table overrides the parent table condition and sets the field value on the child table accordingly.

For example, when a check is defined on the Description field of the Contract (parent) and Lease (child) tables, the field on the Lease table is set to the value specified in the child table condition. To disable the contract compliance check override functionality, set the system property contract_compliance_check_job.enable_override to False.

Expense lines are only generated from contracts that are active or expired.

In addition to a state, a contract can also have a substate.