Getting started
Requirements
- Drupal 11.1 or later
- PHP 8.3+
- CRM (drupal.org/project/crm) — provides Contact entities and integration
- Duration Field (drupal.org/project/duration_field) — used for term plugin configuration (e.g. membership duration)
- Datetime Range (Core) —
core:datetime_rangefor membership period date ranges
These are declared in crm_membership.info.yml as module dependencies.
Installation
- Install the module as you would any contributed Drupal module (Composer, or download and place in
modules/contrib). - Enable the CRM Membership module at Administration → Extend.
- Run any required Drupal updates if prompted.
See Installing Drupal modules for detailed instructions.
Admin UI
After installation:
| Task | Path |
|---|---|
| Membership types (structure) | Administration → Structure → CRM → Membership Types |
| Memberships (content) | Administration → Content → CRM → Memberships |
| Membership periods (content) | Administration → Content → CRM → Membership periods |
| Module settings | Administration → CRM → CRM Membership |
Typical workflow
- Create membership types at Structure → CRM → Membership Types. For each type, choose a Membership term plugin (Fixed duration, Rolling duration, or Lifetime) and configure duration / options.
- Add memberships at Content → CRM → Memberships. Select one or more contacts (the members), a target contact (“Member of”), and optionally override start/end dates; otherwise they are calculated from the type’s term plugin.
- Permissions — Configure who can view, edit, renew, or delete memberships under People → Permissions (search for “CRM” or “membership”).
For more detail on entities and the plugin system, see Architecture and Plugin system.