CoPortalDocs

Projects

Contracts & e-sign

Create reusable contract templates, generate client-specific contracts, and collect legally valid e-signatures — all without leaving CoPortal.

Contract templates

Templates are the master copies of your contracts. You write them once and reuse them across clients and projects, with placeholder variables that get filled in per contract.

Go to Settings → Contracts and click New template. Write your contract body using standard text. To insert dynamic values, wrap a placeholder in double curly braces:

This agreement is made between {{agency_name}} and {{client_name}}
for services relating to {{project_name}}, commencing {{start_date}}.

Payment of {{amount}} is due within {{payment_terms}} days of invoice.

Common placeholder patterns:

  • {{client_name}} — filled in when creating the contract
  • {{project_name}}
  • {{amount}}
  • {{start_date}}
  • Any variable name you like — they all get replaced when generating the contract
Tip: Keep your template generic and use placeholders for anything that changes per client. The fewer edits you need per contract, the faster you can get a signature.

Creating a contract for a project

Open any project and click the Contracts panel (grid icon on the project overview). Click Create contract:

  • Select a template from your library
  • Give the contract a name (e.g. “Service Agreement — Acme Corp”)
  • CoPortal fills in the template body — edit any placeholders directly in the text area
  • Click Create

Sending for signature

Once the contract is created, click Send for signature. CoPortal generates a unique signing link:

coportal.io/contracts/[id]/sign

Copy this link and send it to your client via email, WhatsApp, or however you prefer. The signing page is public and requires no login — just the direct link.

The signing experience

When the client opens the signing link, they see:

  • The full contract body in a clean, readable layout
  • A text field to type their name as their signature
  • A Sign contract button

After signing, CoPortal records:

  • Signed by — the name they typed
  • Signed at — exact timestamp
  • IP address — for verification

The contract status updates to Signed and the signing details are displayed in the Contracts panel on the project.

Important: Electronic signatures created through CoPortal constitute valid agreement under South African electronic communications law when the signer has access to the signing URL and the contract content is clear. Consult a legal professional if you have specific requirements.

Contract statuses

DraftCreated but not yet sent
SentSigning link has been shared
SignedClient has signed — timestamp and name recorded

Workflow: new client contract

1Create a contract template in Settings → Contracts (do this once)
2Quote is accepted → project auto-created → open the project
3Open Contracts panel → Create contract → select template → fill in details
4Send for signature → copy link → send to client via WhatsApp or email
5Client signs → project page shows Signed badge → send deposit invoice