Contract Details: Contract Contract Status

Contract header, vehicle, and options information

Contract Status

The Contract Status and Contract Sub Status define where a contract sits within your business process.

These fields are available on:

  • Contract tab

  • Order tab

  • Terminate tab

They can also be used as filters in Contracts / Search.

Both Status and Sub Status are fully configurable.


Overview

Contract Status

  • Configurable list of primary contract stages.

  • Each Status can be configured to:

    • Display specific Sub Statuses

    • Link to other status tables

    • Trigger automatic updates

Contract Sub Status

  • Behaviour depends on how the selected Contract Status is configured.

  • Can be:

    • Linked to Order Status

    • Linked to Due Off Status

    • Linked to a dedicated Sub Status table

    • Not linked at all


Renaming, Hiding & Display Order

Both:

  • Contract Status

  • Contract Sub Status

Can be:

  • Renamed

  • Hidden

  • Reordered

Lists display in record order, but this can be modified using the display_order field.

Important:

  • display_order only affects display in Contracts / Search – Status field.

Inactive records (status_flag = inactive):

  • Will not display in drop lists.

  • Will be silently removed from edited contracts on Save.


Date Validation Rules

If Contract Status is changed to:

Suspended

  • Suspend Date must be entered.

  • Record cannot be saved without it.

Terminated

  • Terminated Date must be entered.

  • Record cannot be saved without it.

If active payment schedules exist:

  • Entering Suspend or Terminated dates triggers the Stop Payment process.


Linked Tables – How Sub Status Works

Contract Sub Status can be linked to one of three tables:

  1. Order Status

  2. Due Off Status

  3. Contract Sub Status table

Changing from one linked Status to another will:

  • Automatically change or clear the Sub Status value

  • Display only values linked to the selected Status

Example

If:

  • Status/Sub Status = Ordering / Delivered
    And Status changes to Active

Then:

  • Sub Status becomes blank
    (Because Order Status is no longer linked)


Auto-Updating Contract Status

If linked to Order or Due Off Status tables:

Selecting certain Sub Statuses can automatically update the Contract Status.

Example

Ordering / New
→ Change Order Status to Cancelled
→ Contract Status automatically updates to Terminated


Linking Options Explained

Linked to Order Status

Use this when:

  • You want Order Status visible in Contracts / Search.

  • You want Order Status selections to update Contract Status.

Behaviour:

  • Contract Sub Status mirrors Order Status.

  • Changes in one update the other.

  • Order Status can auto-move Contract Status.

Example:
Selecting Order Status “Settled”
→ Contract Status moves to Active.


Linked to Due Off Status

Use this when:

  • You want Due Off Status visible in Contracts / Search.

  • You want Due Off Status to control Contract Status movement.

Behaviour:

  • Contract Sub Status mirrors Due Off Status.

  • Changes update both fields.

Example:
Selecting Due Off Status “Sold”
→ Contract Status moves to Terminated.


Linked to Contract Sub Status Table

Use this when:

  • You want a Sub Status that stays with the contract for its entire life.

  • You want processes that operate independently of Order and Due Off screens.

  • You already manage Order/Due Off in separate modules.

Behaviour:

  • A unique Sub Status list is shown.

  • Sub Status can remain even when Status changes (depending on configuration).


Not Linked

If Contract Status is not linked to any Sub Status table:

  • Sub Status list will be blank.

  • No Sub Status value will be stored.


Scheduler – Automatic Status Updates

The system includes standard statuses:

  • Order

  • Active

  • Due Off

  • Suspended

  • Terminated

A nightly scheduled job automatically updates Contract Status based on rules.

These rules can be customised via your Account Manager.


Scheduler Rules

Update to: Order

If:

  • Contract Status is blank
    AND

  • Reg Number = “ORDER”
    OR

  • Start Date is blank
    AND

  • Suspend Date is blank or greater than System Date


Update to: Active

If:

  • Contract Status = Order

  • Reg Number ≠ “ORDER”

  • Start Date not blank

  • End Date > System Date

  • Suspend Date blank or future

  • Terminated Date blank

  • Due Off Status blank


Update to: Due Off

If either:

Scenario 1

  • Contract Status = Active

  • Reg Number ≠ “ORDER”

  • Start Date not blank

  • End Date ≤ System Date

  • Suspend Date blank or future

  • Terminated Date blank

OR

Scenario 2

  • Contract Status = Active

  • Reg Number ≠ “ORDER”

  • Start Date not blank

  • Suspend Date blank or future

  • Terminated Date blank

  • Due Off Status not blank


Update to: Suspended

If:

  • Contract Status = Order, Active or Due Off

  • Reg Number ≠ “ORDER”

  • Suspend Date ≤ System Date

  • Terminated Date blank


Update to: Terminated

If either:

Scenario 1

  • Reg Number = “ORDER”

  • Suspend Date populated

OR

Scenario 2

  • Reg Number ≠ “ORDER”

  • Suspend Date populated

  • Terminated Date populated


Set-Up Configuration

fmcontractstatuses

  • First record = default Status for new contracts.

  • Controls available primary statuses.

  • Modify display_order to change list sequence.

  • Only affects Contracts / Search display.


Linking to Order & Due Off Statuses

Choose this when:

  • You want visibility of Order/Due Off Status in Contracts / Search.

  • You want Sub Status to control Contract Status movement.


Linking to Sub Status Table

Choose this when:

  • You want persistent Sub Status across contract life.

  • You want separate workflow from Order/Due Off.


fmorderstatuses

Important:

  • On contract acceptance, Order Status defaults to record with orderstatuscode = NEW.

Ensure your configuration aligns with this behaviour.

Auto-Update Example

If:

  • 'SETTLED' record has contractstatusid_update = 100001

Then:

  • Selecting SETTLED updates Contract Status to Active.

Note:

  • Only works when linked to Order/Due Off Statuses.


fmcontractsub_statuses

Not populated by default.

Configuration rules:

contractstatusid field

If populated:

  • Sub Status only available for that Contract Status.

  • Removed automatically if Status changes.

If set to 0:

  • Sub Status usable for any Contract Status.

  • Remains unless user changes it.

Modify display_order to control listing order.


fmdueoff_statuses

Works similarly to Order Status table.

Auto-Update Example

If:

  • 'SOLD' record has contractstatusid_update = 100003

Then:

  • Selecting SOLD updates Contract Status to Terminated.

Only works when linked to Order/Due Off Statuses.