Skip to content

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_range for membership period date ranges

These are declared in crm_membership.info.yml as module dependencies.

Installation

  1. Install the module as you would any contributed Drupal module (Composer, or download and place in modules/contrib).
  2. Enable the CRM Membership module at Administration → Extend.
  3. 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

  1. 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.
  2. 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.
  3. 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.