Contracts

The Contracts module allows you to create, send, and track legally binding agreements with clients. Clients sign contracts electronically via their portal, and the CRM captures a timestamped record of their signature.


Creating a Contract

  1. Navigate to Contracts in the left sidebar.
  2. Click + New Contract.
  3. Fill in the contract form:
Field Required Notes
Client Yes Select from existing client records
Title Yes e.g. "Service Agreement — Q3 2025" or "Website Project Contract"
Content / Body Yes The full contract text (rich text editor supported)
Effective Date No When the contract takes effect (informational)
Expiry Date No When the contract term ends (informational)
  1. Click Create Contract.

The contract is saved in draft status.

💡
Use a template

Prepare your standard contract text in a document editor first, then paste it into the content field. The rich text editor supports headings, bold/italic, bullet points, and numbered lists for structured contract formatting.


Editing a Draft Contract

While a contract is in draft status, you can:

  • Update the title
  • Revise the contract body/content
  • Change the linked client
  • Update effective or expiry dates

Click Edit on the contract detail page, make changes, and click Save.


Sending a Contract for E-Signature

Once the contract content is finalised:

  1. Open the contract.
  2. Review the content using the Preview button.
  3. Click Send for Signature.
  4. Confirm the recipient (defaults to the client's primary contact email).
  5. Click Send.

What happens:

  • The contract status changes from draft to sent.
  • The client receives an email via Resend with a link to review and sign the contract in their portal.
  • The signing page shows the full contract text and a signature input field.
⚠️
Cannot edit after sending

Once a contract is sent, the body is locked. If a change is needed after sending, you must create a new contract, inform the client, and ask them to ignore the previous one.


Contract Statuses

Status Meaning
draft Created but not yet sent
sent Delivered to the client; awaiting signature
signed Client has signed electronically
declined Client has declined to sign

Client Signing Process

From the client's perspective:

  1. They receive an email with a Review & Sign Contract link.
  2. They log in to their portal.
  3. They read the full contract text.
  4. They either:
    • Click Sign Contract — they draw or type their signature and confirm.
    • Click Decline — they can provide an optional reason.
  5. On signing, their name, email, and a timestamp are captured as the e-signature record.

Notifications on Sign / Decline

When a client acts on a contract, all admins receive a notification:

Event Notification Type Message
Contract signed contract_signed "[Client Name] has signed [Contract Title]"
Contract declined contract_declined "[Client Name] has declined [Contract Title]"

Both notifications link directly to the contract record so you can review the outcome immediately.


Downloading a Signed Contract

  1. Open the signed contract.
  2. Click Download PDF.
  3. A PDF is generated with the contract content and the e-signature details appended (signatory name, email, timestamp).
ℹ️
PDF storage

The generated PDF can be downloaded on demand. It is not stored permanently in Supabase Storage — it is generated fresh each time. Upload a copy to the client's Documents tab if you want a permanent copy on file.


Re-Sending a Contract

If the client reports they did not receive the email, or the link expired:

  1. Open the contract (status must be sent).
  2. Click Resend.
  3. A new email is sent to the primary contact.
💡
Check spam

Ask the client to check their spam/junk folder before re-sending. Advise them to whitelist your sending domain to prevent future emails from being filtered.


Deleting a Contract

  1. Open the contract.
  2. Click the Actions menu.
  3. Select Delete Contract.
  4. Confirm.
🚨
Draft contracts only

Only draft contracts can be deleted. Sent, signed, and declined contracts are permanently retained for legal and audit purposes.