Skip to content

Enable modules

Goal

Understand how optional capabilities (CRM, POS, payroll, storefront, and others) become available on your tenant — and how to review what is already on.

Who it is for

Tenant admins who manage plan and packs (subscription.view, industry_pack.view / industry_pack.apply). Platform operators enable/disable entitled modules from BlueMatrix Ops (PLATFORM_SUBSCRIPTIONS_MANAGE).

Important — there is no “Settings → Modules” toggle

Staff Tenant settings does not expose free-form module switches. Modules appear through provisioning, industry/country packs, plan entitlements, rich trial seed, or Ops. The Subscription screen only lists enabled / read-only modules.

Module classes

  • Core (always on): members, parties, catalog, inventory, accounting, localization.
  • Default-granted (can be disabled later): sales, purchasing, pricing_promotions, statutory_compliance, calendar.
  • Optional: POS, CRM, projects, treasury, commerce platform, HR/payroll suite, portals, and other keys in Modules::optional().

Preconditions

  • Your plan must entitle an optional module before Ops can enable it (otherwise modules.not_entitled).
  • After enable, users still need roles/permissions for the screens — enabling the module alone is not enough.

Steps — see what is enabled

  1. Open Subscription (/subscription, permission subscription.view).
  2. Review Current plan, Usage, and the Modules tag list (including read-only after downgrade).
  3. Manage billing needs subscription.manage when a billing portal is configured.

Steps — enable via industry pack (tenant)

  1. Open Industry packs (/industry-packs).
  2. Choose a pack and Apply / Upgrade / Re-apply (industry_pack.apply).
  3. Pack default_modules are enabled; toast Industry pack applied.
  4. Refresh /me (or reload) so nav picks up new enabled_modules.

Steps — enable via Ops (platform)

  1. A platform operator opens the tenant in BlueMatrix Ops.
  2. Uses Enable module / Disable module on entitled optional modules.
  3. Tenant members see new nav after the next /me refresh.

Steps — at first provision

Country pack, industry pack, and (outside tests) seed_rich_data may already turn on a large module set — see New workspace (onboarding).

Result

Module-gated routes and nav items appear for users who also have the matching permissions. Disabled modules stay hidden.

Hard stops

  • Calling a disabled module API → 422 (The :module module is not enabled for this tenant. / modules.not_enabled).
  • Mutating a read-only module after downgrade → 422 (…read-only on your current plan…).
  • Enable without plan entitlement → modules.not_entitled.
  • Frontend: missing module/permission → redirect to dashboard; nav filtered by auth.hasModule / auth.can.

BlueMatrix Help — product documentation for tenants