Skip to content

Amendments and Renewals

Contracts are not static. Rates change, scopes expand, terms renew. FoxCLM handles this with amendments (as child contracts) and a renewal system driven by each contract's end date and renewal settings.

Amendments

An amendment is a new contract linked to a parent via parent_contract_id. The parent stays intact; the amendment documents the change.

Creating an amendment

On any Active, Expiring Soon, or Approved contract, click Amend (top-right workflow buttons). FoxCLM:

  1. Prompts for:
    • Effective date - when the amendment takes effect
    • Amendment summary - what's changing
  2. Creates a new contract with:
    • type: Amendment
    • parent_contract_id pointing to the parent
    • Empty obligations and parties (you can inherit the parent's or add new)
  3. Sets the parent contract's status to Amended (so its list badge reflects the change)
  4. Navigates to the amendment's editor in Draft status

From here, edit the amendment's content to capture exactly what changed (e.g. "Section 3.2 updated: monthly retainer increased from $4,000 to $4,500").

Amendment workflow

Amendments go through the same lifecycle as a new contract:

Draft -> Under Review -> Submitted for Approval -> Approved
  -> Out for Signature -> Active

Only the Active amendment takes effect. Amendments in Draft or Under Review are proposals.

Viewing amendments

From the parent contract's editor, click the Amendments tab. You see each child amendment with its title, status, and effective date. Click to navigate.

To see every amendment across all contracts, filter the main Contracts list by Type: Amendment.

Multiple amendments

A contract can have many amendments. Each is linked to the parent, not to other amendments. If Amendment #2 modifies Amendment #1, you create it from the parent and reference Amendment #1 in its summary or content.

Renewals

Renewal is about what happens as a contract approaches its End Date. FoxCLM tracks three configurable fields per contract:

  • Renewal Date - when renewal kicks in (defaults to end_date if blank)
  • Renewal Term (days) - how long the renewed term lasts
  • Renewal Notice (days, comma-separated) - how many days before end_date to start warning (e.g. 60,30,14 for multiple escalating reminders)

The Expiring Soon status

A contract auto-transitions from Active to Expiring Soon when:

  • end_date - today is within the smallest renewal notice window
  • The contract has a workflow transition with this condition

Status badges turn orange on the list so overdue-to-renew contracts stand out.

Renewal cron

A background job (runs daily) evaluates every Active and Expiring Soon contract:

  1. For each renewal notice day (e.g. 60, 30, 14), fires send_renewal_warning if configured.
  2. If the contract has auto_renew: true and end_date <= today:
    • Extend end_date by renewal_term_days
    • Transition to Renewed
    • Fire any send_contract_approved_email action

Without auto_renew, the contract transitions to Expired on the day after end_date (no extension).

Auto-renew

Tick Auto-renew at end date on the Details tab. On the day after end_date, FoxCLM:

  • Extends end_date by renewal_term_days (default: the same number of days as the original term)
  • Transitions to Renewed (then typically back to Active via workflow)
  • Fires configured actions

Turn off for contracts that should require explicit renewal action (e.g. rate increase negotiations).

Renewal workflow actions

Configure on the Active -> Expiring Soon or Active -> Renewed transition:

ActionUse for
send_renewal_warningEmail you / the client N days before end
send_expiry_noticeFinal notice on the day the contract expires without renewal
send_contract_approved_emailFire on Renewed to notify all parties the new term is in effect

Termination

Distinct from expiry - termination is an early end.

On any Active contract, click Terminate. Prompts for:

  • Reason - stored for the audit trail

Sets terminated_at, transitions to Terminated, fires configured actions.

Termination is not a soft-delete - the contract is preserved with its termination reason. Use it for mutual cancellation, breach, or any early wind-down.

Tips

  • Set realistic renewal notice days. 60 days is typical for commercial contracts; 30 for simple service agreements; 14 for short-term.
  • Use auto-renew sparingly. Only for contracts with no expected changes. Anything with price, scope, or regulatory risk should be renewed manually.
  • Document amendments thoroughly. A future reader should understand what changed and why, without cross-referencing multiple documents.
  • Keep the parent intact. Amendments modify via reference, not replacement. Don't edit the parent's HTML to reflect the amendment's changes.

Next steps

  • Obligations - track renewal-related commitments (e.g. "renewal decision deadline")
  • Signatures - amendments typically need signing too

FoxCLM Documentation