> ## Documentation Index
> Fetch the complete documentation index at: https://docs.groupflow.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Membership Lifecycle

> The account statuses a member moves through, when a membership expires, and what renewing does to the dates

A member's **account status** decides what they can reach: member-only pages and events, the member directory, and any [admin permissions](/concepts/admin-permissions) they hold. Everything else about a member — their profile, their dues, their attendance history — stays with the record whatever the status is.

GroupFlow moves members between statuses on its own as their dues come due, so most groups never set a status by hand.

## The statuses

Open a member from **Members & Users** and choose the **Dues** tab. The **Account status** section there has four choices:

| Status | What it means |
| - | - |
| **Non-member** | Someone with a GroupFlow account in your group who has never been a member, or who you've recorded as a contact rather than a member. |
| **Inactive Member** | A past member. They keep their account and their history, but lose member access. |
| **Active Member** | A current member. The screen says it: "Active members include dues-paid, trial, and dues-exempt members." They can see member-only pages and events, and their admin permissions work. |
| **Banned** | Blocked from the group. |

Two of the four aren't always available. **Non-member** can only be chosen for an account that is already a non-member, so a member can't be demoted to one. **Active Member** is unavailable while the membership end date is in the past; see [Renewing](#renewing).

The **Edit details** tab shows the status too, as a badge, but you can't change it there — it points you back to the **Dues** tab.

<Note>
  An inactive member isn't deleted and isn't a non-member. Use **Inactive Member** when someone's membership has ended.
</Note>

Two more labels appear in the **Account Status** filter on the **Members & Users** list without being statuses of their own. Both describe active members: a **Trial Member** is an active member who still has a trial end date, and a **Full Member** is any active member who isn't on a trial. Neither filter tells you whether dues were actually paid — a dues-exempt member and a member an admin activated by hand both count as **Full Member**.

## When a membership expires

A paid membership and a trial each have an end date, shown under **Membership Period** on the **Dues** tab as **Membership end date** and **Trial end date**. GroupFlow checks every hour for memberships that have passed their end date and sets those members to **Inactive Member**, so the status changes shortly after the end date passes rather than at some point in the next day.

One thing stops it: a member marked **Dues exempt** on their **Dues** tab is never expired, however old their end date. This is how honorary and life members are handled.

<Warning>
  A **lifetime plan** does not stop it. Ticking **Is lifetime term?** on a membership plan hides the term length from the plan form, but a member who pays on that plan still gets a **Membership end date**, and the hourly check still expires them when it passes. Mark life members **Dues exempt** as well. This is a bug, tracked as [gf-root#817](https://github.com/moxleydata/gf-root/issues/817).
</Warning>

If your group syncs with Meetup, a member who no longer appears in your Meetup group is also set to **Inactive Member** on the same hourly check.

## Reminders before and after

GroupFlow emails members as their dues come due and after they lapse, from the six **Dues Reminder Letters**. You choose which ones go out and when. The letters, and how to edit them, are in [Setting Up Member Dues](/getting-started/member-dues#reminder-letters).

## Renewing

A member becomes active again by paying their dues, whether they pay before their term ends or long after. Paying sets their status back to **Active Member** and gives them a new term, which runs for the **Term length in months** on their membership plan. Where that term starts depends on what they're coming from:

| They pay | The new term starts |
| - | - |
| Before their membership end date | The day after the old term ended, so no days are lost and the renewal date stays put year after year |
| After their membership end date | The day they paid |
| During a trial — their first payment | The day the trial started |
| After a trial has ended — their first payment | As many days before the payment date as the trial was long |

The last two rows are the same rule: a trial counts toward the first paid term, so a member who takes a 30-day trial on a 12-month plan gets 11 months of paid membership, whether they pay during the trial or after it. Paying also clears the trial end date, so the member is a **Full Member** from then on.

A member who has turned on **Dues auto-renew** is charged automatically when the term ends, and never becomes inactive as long as the charge succeeds. Auto-renew is the member's own setting; an admin can see it but not change it.

<Warning>
  You can't put an expired member back to **Active Member** by hand — the choice is disabled, and the screen says "The membership end date has passed. Update the membership dates to enable Active status." To give someone more time, change their **Membership end date** under **Membership Period** on the same tab, which re-enables the choice. For a member who should never be billed again, use **Dues exempt** instead.
</Warning>

<CardGroup cols={2}>
  <Card title="Setting Up Member Dues" icon="money-check-dollar" href="/getting-started/member-dues">
    Plans, term lengths, trials, and the reminder letters
  </Card>

  <Card title="Admin Permissions" icon="user-shield" href="/concepts/admin-permissions">
    Why permissions stop working when a member goes inactive
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.