Configure Membership Terms, Expiration, and No-Expiration Plans

The Plan’s Membership term determines the normal subscription end date for new memberships. QCMM 2.0.21 supports terms measured in days, months, years, or No Expiration.

Month and year terms use calendar-aware date arithmetic rather than treating every month as exactly 30 days for the authoritative end date. No-Expiration Plans store no normal end date and do not require routine renewal.

Choose the Term

  1. Open Components → QC Memberships & Meetings → Plans and edit the Plan.
  2. Under Plan Details, find Membership term.
  3. Choose Days, Months, Years, or No Expiration.
  4. For a finite term, enter a value from 1 through 36500.
  5. Save the Plan and verify the frontend Plan Details/checkout wording.

How QCMM Calculates the End Date

TermCurrent behavior
DaysAdds the configured number of calendar days to the authoritative UTC start time.
MonthsAdvances by whole calendar months and keeps the original day when possible. If the target month is shorter, QCMM clamps to that month’s last valid day.
YearsAdvances by whole calendar years and similarly clamps invalid dates such as a leap-day anniversary when necessary.
No ExpirationStores a null normal end date. Frontend term text shows No Expiration and routine renewal is not required.

Manual Renewal for Finite Memberships

Normal QCMM memberships use member-driven manual renewal. The Settings Renewal window controls how many days before expiration an active member may begin renewal; a value of 0 allows renewal only after expiration. The Plan Details and checkout interfaces identify finite Plans as manual renewal.

Expiration and Access Cleanup

  • The Membership Transitions / lifecycle automation processes finite memberships as they approach and pass their stored end date.
  • At final expiration, QCMM removes Plan-assigned Joomla groups only when they are not still required by another active membership and are not protected lifecycle groups.
  • No-Expiration memberships are not expected to enter the normal time-based expiration path simply because time passes.
  • Cancellation can still end or schedule the end of a No-Expiration membership according to the cancellation workflow; No Expiration does not mean “cannot be cancelled.”

Plan Edits Do Not Recalculate History

The subscription stores its own start/end state. Changing a Plan from 12 months to 6 months affects future calculations; it is not a command to silently rewrite the stored end date of every historical membership. Use explicit administrative membership controls when an existing member’s dates genuinely need correction.

Verify with Boundary Dates

  1. Create a controlled test membership and record its UTC-backed start and expected end.
  2. For month/year Plans, test an end-of-month or leap-year boundary when those dates matter to your business.
  3. Confirm the frontend displays the intended term and renewal wording.
  4. Confirm the lifecycle task is healthy before relying on automatic expiration/group cleanup.

Community Discussion

Want to compare QCMM workflows or discuss how other Joomla site owners use this feature? Visit the QC Memberships & Meetings Community. For private support, account-specific entitlement or billing issues, or bug reports, use the QuantaCade support system.