Managing Contracts & Permissions
The day-to-day operations side: who can do what, how to find the contract you need, and how to retire contracts you no longer want active.
Capability Matrix
| Capability | Who Has It |
|---|---|
| View any contract | Administrator, Editor, Representative |
| View own contracts | Client users assigned as signer or in same client (visibility-dependent) |
| Create contracts | Administrator, Editor, Representative |
| Edit any contract | Administrator, Editor |
| Edit own contracts (drafts) | Representative (their own drafts only) |
| Place signature fields | Administrator, Editor, Representative |
| Send contracts | Administrator, Editor, Representative |
| Sign a contract | Assigned signer (contract_signers field) or client_user |
| View signed PDF | Anyone with view access to the contract |
| Resend | Administrator, Editor, Representative |
| Void contract | Administrator, Editor |
| Archive / restore | Administrator, Editor |
| Permanent delete | Administrator, Editor |
| Manage E-Signature settings | Administrator |
| View audit trail | Administrator, Editor — full; signers see their own |
Subscriber role users are blocked from the Contracts page entirely (auto-redirected to home).
Manage Mode
Admins, Editors, and Representatives can switch the Contracts page into Manage Mode by appending ?cove=manage to the URL (or via the toolbar toggle).
Manage Mode adds:
- Drafts visible in the main list (normally hidden)
- Bulk action toolbar when contracts are selected
- Inline edit controls on the row actions
- Status assignment — change a contract's status directly from the row
- Manage Categories gear icon for editing the category taxonomy
Default mode (no Manage flag) is the cleaner client-facing list: only Sent and Signed contracts, no draft clutter.
The Submissions View
For template-based contracts, the submissions view shows every per-recipient signed copy (or pending submission).
Opening it
- From the Contracts page, click View Submissions (admin/editor/representative)
- Or append
?view=submissionsto the URL
What you see
A table with one row per submission:
| Column | Notes |
|---|---|
| Submission Title | Auto-generated from the parent template name + recipient |
| Parent Template | Link back to the template |
| Client | Resolved from the signer's assign_to_client profile |
| Signer | The recipient user |
| Status | Pending / Viewed / Signed / Declined / Expired |
| Signed Date | When the signing flow completed |
| Actions | View signed PDF, Resend, Void |
Filter by status, parent template, client, and date range using the sidebar.
Filtering & Sorting
The contracts list sidebar (admin/editor/representative) offers:
Status filters
- All
- Draft (Manage Mode only)
- Sent
- Signed
Category filter
Terms from the contract-category taxonomy. Click any term to filter; click again to clear.
Client filter
Dropdown of all clients. Pick one to scope to that client's contracts.
Date filters
- Sent Date — from / to range pickers
- Signed Date — from / to range pickers
Sorting
Click the column header in the table to sort. Available sorts:
- Title (A→Z / Z→A)
- Date created
- Signed date
Show Archived
Toggle in the sidebar — switches the entire view to archived contracts only.
Searching Contracts
The search input at the top of the contracts table searches three things:
- The post title (
post_title) - The
contract_titleACF field (display title) - The contract ID (numeric match)
Search is case-insensitive substring matching. Combines with active filters (AND).
Voiding a Contract
Voiding marks a contract as no longer valid — useful when a contract was sent in error, the terms changed, or the deal fell through.
Voiding
- Open the contract from the contracts list
- Click Void Contract (admin/editor)
- Confirm
- Status flips to Void
- Recipients can no longer sign
- The audit trail logs who voided and when
Voided contracts stay in the database (they don't get deleted) so the record is preserved. They're filtered out of normal views but appear in Manage Mode and the Show Archived view.
Re-sending after a void
You can't un-void a contract. To re-send:
- Edit the original contract or clone it (the duplicate post action)
- Adjust as needed
- Send fresh — this creates a new contract record with new submissions
Archive & Restore
Once a contract is fully signed (or voided) and you've moved past it operationally, archive it to keep the active list clean.
Archive
- From the contracts list, click the Archive action on the row
- Or use bulk archive in Manage Mode
The contract gets _archived = '1' post meta. It's filtered out of normal views.
View archived
- Toggle Show Archived in the sidebar
- Or append
?archived=1to the URL
Restore
- In the archived view, click Restore on any row
- The
_archivedmeta is removed - The contract returns to the normal list
Permanent delete
Administrators and Editors only. From the archived view, click Delete Permanently. This:
- Removes the contract post entirely
- Submissions, signed PDFs, and audit records remain (for legal preservation)
- Is irreversible
For full cleanup including submissions and audits, you'd need direct database access — keep that path locked down.
How Visibility Works for Clients
For client users, what they see on the Contracts page depends on:
Their role
- Client roles (
client_basic,client_standard,client_billing,client_admin,author,contributor) see the page but with restrictions - Subscribers are blocked
Their client assignment
- Client users only see contracts where:
- They're an assigned signer (
contract_signersincludes their user ID), OR - The contract's
client_userfield is them, OR - The contract is assigned to their client (
the_clientfield) AND visibility is Client
- They're an assigned signer (
The contract's visibility setting
- Client visibility — any user from the same client can view (read-only unless they're a signer)
- Private visibility — only assigned signers can view
Templates and drafts
- Templates are hidden from client users entirely (admin tool)
- Drafts are hidden from clients (only Manage Mode shows them, which clients can't access)
Settings & E-Signature Configuration
E-Signature is configured globally in Settings → Contracts.
The settings panel is informational — most configuration is per-contract. The panel covers:
Key features section
- Browser-based PDF signing
- OTP verification (Email/SMS)
- SHA-256 integrity verification
- IP address logging
- Audit trail database
- No external dependencies
Configuration requirements
| Service | Required For | Setup |
|---|---|---|
| Email service | OTP delivery via email | WP Mail SMTP plugin + SendGrid (or other transactional sender) |
| SMS service (optional) | OTP delivery via SMS | Twilio integration |
| File storage | Signed PDFs | Google Cloud Storage (or another configured cloud provider) |
Per-contract configuration
Each contract has its own:
- OTP method —
email/sms/both - Visibility —
client/private - Default message — pre-filled in the email
- Expiry — set per-send in the Send modal
Adobe Sign fallback
The codebase includes optional Adobe Sign integration (adobe_agreement_id field, /adobesign/ API calls). It's not commonly used — the built-in E-Signature system handles most needs without external accounts. Configure Adobe Sign API credentials in the contract editor if you need that path.
Compliance note: ClientCove's E-Signature system is designed for general business contracts. For specialized legal contexts (banking, healthcare consent forms, government filings) with specific compliance requirements (eIDAS, ESIGN Act formalities, HIPAA), confirm the audit trail and OTP method satisfy your jurisdiction's requirements before relying on it for critical signatures.