Creating Contracts & Templates
A contract starts as a PDF and ends as a signable document with placed fields, assigned signers, and a delivery message. This page covers everything from upload to template-ready.
Two Workflows: One-Shot vs Template
| Workflow | When | What you do |
|---|---|---|
| One-shot contract | A unique contract for one specific client | Create the contract, pick a client + signer, send |
| Template contract | A repeating contract you'll send to many clients (NDAs, MSAs, statements of work) | Create the contract with Save as Template on, place fields once, then use Send from Template for each recipient |
Templates are far more efficient for repeating contracts because field placement is preserved — every send re-uses the same coordinates.
Opening the Create Modal
- Open Contracts in the left sidebar
- Click the Create Contract button (top-right toolbar)
- The Create New Contract modal opens
The button is visible to admins, editors, and representatives.
Step-by-Step
1. Contract Title (required)
Enter the contract name. Used as the post title and the headline shown to recipients.
2. Contract Template (PDF) (required)
Upload the PDF the contract will use. Two ways:
- Upload from your computer — opens the WordPress media frame
- Pick from media library — re-use an existing PDF
The PDF becomes the canvas for field placement.
3. Default Message
Optional message to include in the email when the contract is sent. Plain text — appears above the "View Contract" CTA in the recipient's notification email.
4. Visibility
Pick one:
- Client (default) — any user assigned to the recipient's client can view the contract (view-only unless they're an assigned signer)
- Private — only the explicitly assigned signers can view
See Visibility Setting below for the detailed implications.
5. Save as Template
Toggle. If on, the contract is flagged as a template (is_template = true). Templates:
- Show in the Templates view of the contracts page
- Power the Send from Template modal (see Sending Contracts)
- Don't get sent automatically when created
If off, the contract is a one-shot — you assign signers and send it directly.
6. Save
Click Create. ClientCove:
- Creates the contract post with status Draft
- Saves the PDF reference
- Redirects you to the contract's edit page or the field placement modal
You're now ready to place signature fields.
PDF Field Placement
This is the core of the contract editor — the visual tool for declaring where signers apply signatures, initials, names, and dates on the PDF.
Opening the placement tool
From the contract's edit page:
- Click Configure Signature Fields in the toolbar, or
- The PDF Field Placement Tool metabox in WordPress admin
The fullscreen placement modal opens, showing your PDF with a toolbar.
The toolbar
| Control | Purpose |
|---|---|
| Signature | Add a signature field at the next click |
| Initial | Add an initial field |
| Name | Add a name field (auto-fills with signer's name on signing) |
| Delete | Remove the selected field (Del key works too) |
| Page selector | Jump between PDF pages |
| Zoom out / Zoom in | Adjust zoom — percentage shown between |
| Save | Persist the field placement |
Adding a field
- Click the field type button (Signature / Initial / Name)
- Click on the PDF where you want the field to appear
- The field appears as a sized rectangle
- Drag to reposition, or use arrow keys for fine adjustment
- Drag the corner handles to resize
Multi-page contracts
Use the page selector to navigate. Each field is bound to a specific page (page attribute).
Saving
Click Save in the toolbar. The fields are stored in the signature_fields ACF repeater with type, page, X position, Y position, width, height, and label.
You can re-open the placement tool any time to add, remove, or move fields — until the contract has been signed.
Field Types
| Type | What the signer does | What gets placed |
|---|---|---|
| Signature | Draws their signature in the modal | The drawn signature image, scaled to fit the field |
| Initial | Types or draws their initials | The initial mark in the field |
| Name | Auto-filled from the signer's profile name | Their full name typed into the field |
| Date | Auto-filled with the signing date | The signing date formatted in the field |
For multi-signer contracts, each field can be assigned to a specific signer (so signer 1's signature goes in their fields, signer 2's in theirs).
Visibility Setting
The Visibility field determines who can VIEW the contract (separate from who can sign it):
Client (default)
- Any user assigned to the recipient's client can view the contract page
- Only assigned signers can sign
- Useful for transparency — a client manager can see the contract their colleague is signing
Private
- Only assigned signers can view the contract
- No one else from the client sees it
- Useful for confidential agreements (employment contracts, NDAs to specific individuals)
Admins, editors, and representatives bypass these restrictions and can always view.
Default Message
The optional message included in the recipient's email notification. Plain text, appears in the email body above the "View Contract" link.
Use it for:
- Context ("Here's the MSA we discussed on Monday")
- Deadlines ("Please sign by Friday")
- Instructions ("Reply to this email if anything looks off")
The Send from Template modal lets you override this message per-send, so the default is just the fallback.
Content Access Grants
The access_grants field lets a contract unlock other content in the portal once signed.
For example: a signed NDA might grant the client access to a private resource library; a signed MSA might unlock specific project templates.
Configure grants by selecting:
- The content (resources, project templates, etc.) the contract unlocks
- Whether the grant is per-signer or per-client
Grants apply automatically when the contract is fully signed.
Save as Template
Toggling Save as Template on at create time (or later via the edit screen) flags the contract as a reusable template:
- Templates appear in the Contract Templates list
- The Send from Template modal lets you spawn submissions from any template
- Templates aren't sent on creation — they wait for you to use them
A template can have signers assigned, but they're treated as defaults that get overridden per-send.
Editing a Contract
From the Contracts list, click the Edit action on any draft contract (admins/editors only).
The edit screen exposes:
- Title
- PDF Template (replace the file if needed)
- Default message
- Visibility
- Save as Template toggle
- Status (
Draft/Sent/Signed/Void) - Signers
- Signature Fields (re-open the placement tool)
- Content Access Grants
Editing a sent contract is restricted. Once a contract has been sent and viewed by a recipient, most fields are locked to preserve the integrity of the signing record. To make changes, void the existing contract and create a new one.
Once a contract has been signed (any recipient), the contract becomes effectively read-only. The signed PDF, audit trail, and OTP records are immutable.