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

CapabilityWho Has It
View any contractAdministrator, Editor, Representative
View own contractsClient users assigned as signer or in same client (visibility-dependent)
Create contractsAdministrator, Editor, Representative
Edit any contractAdministrator, Editor
Edit own contracts (drafts)Representative (their own drafts only)
Place signature fieldsAdministrator, Editor, Representative
Send contractsAdministrator, Editor, Representative
Sign a contractAssigned signer (contract_signers field) or client_user
View signed PDFAnyone with view access to the contract
ResendAdministrator, Editor, Representative
Void contractAdministrator, Editor
Archive / restoreAdministrator, Editor
Permanent deleteAdministrator, Editor
Manage E-Signature settingsAdministrator
View audit trailAdministrator, 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

  1. From the Contracts page, click View Submissions (admin/editor/representative)
  2. Or append ?view=submissions to the URL

What you see

A table with one row per submission:

ColumnNotes
Submission TitleAuto-generated from the parent template name + recipient
Parent TemplateLink back to the template
ClientResolved from the signer's assign_to_client profile
SignerThe recipient user
StatusPending / Viewed / Signed / Declined / Expired
Signed DateWhen the signing flow completed
ActionsView 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:

  1. The post title (post_title)
  2. The contract_title ACF field (display title)
  3. 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

  1. Open the contract from the contracts list
  2. Click Void Contract (admin/editor)
  3. Confirm
  4. Status flips to Void
  5. Recipients can no longer sign
  6. 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:

  1. Edit the original contract or clone it (the duplicate post action)
  2. Adjust as needed
  3. 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=1 to the URL

Restore

  • In the archived view, click Restore on any row
  • The _archived meta 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_signers includes their user ID), OR
    • The contract's client_user field is them, OR
    • The contract is assigned to their client (the_client field) AND visibility is Client

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

ServiceRequired ForSetup
Email serviceOTP delivery via emailWP Mail SMTP plugin + SendGrid (or other transactional sender)
SMS service (optional)OTP delivery via SMSTwilio integration
File storageSigned PDFsGoogle Cloud Storage (or another configured cloud provider)

Per-contract configuration

Each contract has its own:

  • OTP methodemail / sms / both
  • Visibilityclient / 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.

Was this page helpful?