Skip to main content

Core Concepts

Before diving into individual features, it helps to understand how the key objects in OpenCLM relate to each other.

The Contract Object

A Contract is the central entity in OpenCLM. Every contract has:

FieldDescription
TitleHuman-readable name shown in lists and search results
TypeCategorisation (NDA, SLA, Vendor, Employment, etc.)
StatusOne of: Draft → Under Review → Approved → Signed → Active → Expired → Terminated
CounterpartyThe external organisation or individual
Effective/Expiry datesUsed by the Deadlines and Renewals engine
ValueFinancial value for analytics
OwnerThe user responsible for the contract
ClausesReusable legal building blocks embedded in the contract body

Contract Status Flow

Draft → Under Review → Approved → Signed → Active
↑ ↓
Rejected ←───────────────────────────── Expired

Templates

A Template is a pre-built contract structure that teams reuse to speed up authoring. Templates:

  • Contain a body with placeholder variables (e.g. {{counterparty_name}}).
  • Inherit approved clauses from the Clause Library.
  • Lock specific sections so only authorised roles can modify them.

Clauses

A Clause is an atomic, reusable piece of legal text — for example, a standard liability cap paragraph or a governing law statement. Clauses can be:

  • Tagged by category (Liability, Indemnity, IP, Confidentiality, …).
  • Versioned independently of the contracts that use them.
  • Marked as mandatory so they cannot be removed by contract authors.
  • Analysed for compliance drift over time.

Approval Workflows

An Approval Workflow defines who must review and approve a contract before it can move to the Signed phase. Workflows support:

  • Sequential steps — each approver waits for the previous.
  • Parallel steps — all approvers in a group are notified at once.
  • Conditional routing — e.g. "if value > $100 k, add Finance Controller".
  • Escalation — auto-escalate if no action taken within N days.

Roles & Permissions (RBAC)

OpenCLM uses Role-Based Access Control. Every user is assigned one or more roles, each of which grants a specific set of permissions on specific resources. See Roles & Permissions for the full matrix.

Organisations & Multi-tenancy

A single OpenCLM instance can host multiple Organisations. Each organisation has its own users, contracts, templates, and settings, with strict data isolation between tenants.

Obligations

An Obligation is a recurring or one-time duty that flows from a signed contract — for example, "Deliver quarterly performance report" or "Pay licence fee annually". Obligations are tracked separately from the contract itself so they can have their own status, due dates, and owners.

Integrations

OpenCLM connects to external systems via the Integrations manager:

  • OpenSign — e-signature workflow.
  • Keycloak — SSO and identity federation.
  • More integrations (Slack, Salesforce, Jira) are community-driven.