Contract Management
SwiftlyCRM's Contract Management module gives you a structured way to create, review, sign, and track legal agreements — linked directly to the accounts and opportunities they relate to.
Contract Lifecycle
Contracts move through a defined lifecycle:
| Status | Meaning |
|---|---|
| Draft | Being written or edited; not yet submitted |
| In Review | Submitted for internal legal or manager review |
| Approved | Reviewed and approved; ready to send to the client |
| Active | Signed and currently in effect |
| Expired | Past the end date |
To move a contract from Draft to In Review, click Submit for Review. Approvers with admin access can then approve or send back with comments. Only an Approved contract can be marked Active (typically done after receiving a signed copy).
Contract Types
When creating a contract, select the type that best describes the agreement:
| Type | Common Use Case |
|---|---|
| MSA (Master Service Agreement) | Overarching terms governing an ongoing client relationship |
| SOW (Statement of Work) | Defines the scope, deliverables, and timeline for a specific project |
| NDA (Non-Disclosure Agreement) | Confidentiality agreement before sharing sensitive information |
| Service Agreement | Ongoing service delivery terms (e.g., retainer, SLA) |
| Custom | Any agreement that does not fit a standard category |
Creating a Contract
Navigate to Contracts → New Contract. Fill in the required fields:
| Field | Description |
|---|---|
| Contract Name | A clear, searchable title |
| Account | The company this contract is with |
| Opportunity | The deal this contract supports (optional but recommended) |
| Contract Type | Select from the list above |
| Start Date | When the contract takes effect |
| End Date (Expiry) | When the contract period ends |
| Value | The total contract value if applicable |
After saving, you can add the contract body text in the built-in editor or attach an external document.
Tracking Amendments
When a contract term changes after the contract is Active, do not edit the original — create an amendment instead. Click Add Amendment on the contract record. Each amendment:
- Creates a new version (v2, v3, etc.)
- References the parent contract
- Has its own approval workflow
- Appears in the contract's version history tab
The version history shows a side-by-side diff of changed fields between versions.
Expiry Date Reminders
SwiftlyCRM sends automated reminders before a contract expires:
| Reminder | Timing |
|---|---|
| First reminder | 60 days before expiry |
| Second reminder | 30 days before expiry |
| Final reminder | 7 days before expiry |
Branch admins can adjust the reminder schedule in Settings → Notifications → Contract Reminders. Reminders are sent to the contract owner and, optionally, their manager.
The Client Read-Only Portal
Every contract has a Share button that generates a unique, read-only link. Send this link to your client so they can review the contract in a clean, branded portal without needing a SwiftlyCRM account. The portal shows the contract name, type, dates, value, and body text.
View access is tracked — every time the link is opened, a view event is logged on the contract timeline with a timestamp.
Generating the Contract PDF
Click Download PDF on any contract to generate a print-ready PDF. The PDF includes your branch header, contract metadata (type, dates, value), the contract body, and amendment history if applicable. PDFs are generated on demand using WeasyPrint and are not cached — each download reflects the current state of the contract.
Related