Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.deandesk.com/llms.txt

Use this file to discover all available pages before exploring further.

Institution-level feature — managed from your institution dashboard at deandesk.com/dashboard. Memberships are scoped to your institution, not to individual schools. See Institutions & Schools for how these levels relate.
DeanDesk includes a full membership management system at the institution level. You can create membership plans, accept payments through Stripe, import members in bulk, track membership history, and use membership status to gate access to products and discounts across your schools.

What is a membership?

A Membership represents a person’s paid or manually-assigned membership in your institution. It is separate from — and sits alongside — the Identity and User account systems.

How Membership, Identity, and User relate

Institution
  └── Identity (login credential — username, email, password)
        └── Membership (membership entitlement — plan, billing, status, metadata)
        └── User in School A (school profile — roles, courses, grades)
        └── User in School B (school profile — roles, courses, grades)
ConceptWhat it isScope
IdentityA login account for your institution. Holds credentials (username, email, password) and institution-level roles.Institution-wide
UserA profile inside a specific school. Holds school-specific roles, course enrollments, grades, and billing. Created automatically when an Identity accesses a school.Per school
MembershipA membership entitlement tied to an Identity. Tracks the membership plan, billing status, term dates, contact info, and custom metadata.Institution-wide
An Identity can exist without a Membership (they are just an account holder). A Membership requires an Identity to be linked to — though during bulk import, memberships can be queued for Identities that don’t exist yet and will be linked automatically when the Identity is created.
A person has one Identity per institution, one Membership per institution (at most), and one User per school they access. These are three separate records that work together.

Membership plans

Before you can add members, you need to create at least one membership plan. You can publish multiple plans within the same tier (e.g. a “Standard Family” and a “Supporter Family” plan), and each plan has its own pricing, features, and display order on the public landing page.

Creating a plan

1

Open Membership settings

From your institution dashboard, go to Memberships → Configuration.
2

Choose a tier type

DeanDesk supports two tier types:
TierWhat it includes
IndividualA single-person membership
FamilyA membership that covers a primary member plus spouse and children (configurable max size, default 5)
You can create as many plans as you like within each tier. Plans are grouped by tier on the public membership landing page under Individual Memberships and Family Memberships headings.
3

Set pricing

Configure the pricing options you want to offer:
  • Monthly price — recurring charge every month
  • Annual price — recurring charge once per year
You can enable one or both billing intervals.
4

Add plan details

Fill in the plan name, description, and optionally:
  • Features — a list of benefits shown to prospective members
  • Terms — terms and conditions members must accept when subscribing
  • Policies — free-text policy text shown alongside the plan
  • Max family size — for family plans, the maximum number of members (default 5, max 20)
  • Display order — controls the order plans appear in their tier section on the landing page
  • Active toggle — hide a plan from the landing page without deleting it
5

Save

Click Save. DeanDesk automatically creates the corresponding Stripe product and price objects in both your test and live environments.
Use multiple plans within a tier to offer pricing variations like “Standard” vs “Supporter”, or to surface special-event or seasonal plans without retiring your default plan.

Membership term settings

Configure when your membership year starts and ends, and how to handle members who join mid-term.
1

Open Membership settings

Go to Memberships → Settings in the institution dashboard.
2

Set the annual term dates

Define the start and end of your membership year (e.g. January 1 through December 31, or September 1 through August 31).
3

Choose a late join policy

When someone signs up for an annual plan after the term has already started:
PolicyWhat happens
Full priceThe member pays the full annual amount regardless of when they join
ProratedThe member pays a reduced amount based on the remaining time in the current term

Adding members

There are three ways to add members: self-service signup, manual creation, and bulk import.

Self-service signup

Members can purchase a membership themselves from your institution portal.
  1. The member visits your institution’s portal and clicks to join.
  2. They see the available plans with pricing (including prorated amounts if applicable).
  3. They select a plan and billing interval, enter payment details, and accept the terms.
  4. Stripe processes the payment and DeanDesk creates the membership automatically.

Manual creation

Admins can create memberships on behalf of individuals — useful for complimentary memberships, imported records, or members who pay offline.
1

Go to Members

In the institution dashboard, go to Memberships → Members.
2

Click Add Member

Click Add Member and enter the member’s identity (by email, username, or ID).
3

Select a plan and set dates

Choose the membership plan and set the start and end dates. Manual memberships are not billed through Stripe.
4

Pick a payment source

Choose how the member paid: DeanDesk (Stripe), Cash, Venmo, Zelle, Check, or Other. Payment source is searchable on the Members page and is one of the filters in the custom report builder.
5

Fill in contact info and metadata (optional)

Add the member’s contact information and any custom metadata fields you’ve configured.
6

Save

If the Identity exists, the membership is created immediately. If the Identity doesn’t exist yet (e.g. the person hasn’t registered), the membership is queued as a pending member and will be linked automatically when they create their account.

Bulk import

Import hundreds or thousands of members at once using the Bulk Import wizard. The wizard walks you through column mapping, validation, and execution, and tracks every import as a job you can revisit and retry.
1

Open Bulk Import

Go to Memberships → Bulk Import in the institution dashboard.
2

Upload your CSV

Upload a CSV containing your member rows. The wizard parses the file and shows the headers it detected.
3

Map your columns

Match each CSV column to a DeanDesk field (email, first name, last name, plan, dates, custom metadata fields, etc.). Click Auto-Map to have DeanDesk match columns by name automatically — you can then adjust any mappings that didn’t resolve correctly.
4

Validate

Run validation. The wizard reports any rows that have missing required fields, invalid emails, unknown plan IDs, or metadata values that don’t match the schema. Fix issues in your source file and re-upload, or proceed with the valid rows only.
5

Execute the import

Run the import. DeanDesk processes each record:
  • If the Identity exists: creates the membership immediately
  • If the Identity doesn’t exist yet: queues as a pending member
  • If the person already has an active membership: skipped
6

Review the job

Each import is saved as a job in Memberships → Bulk Import. Open a job to see row-level results — created, queued, skipped, failed — with the failure reason for each row. You can retry failed rows after fixing your source data.

Historical backfill from an import

Once a bulk import job has completed, you can use it as the source for a historical backfill — converting the imported rows into historical membership periods on existing member profiles. This is useful when you import a snapshot of a prior membership year and want to keep it as a closed historical period rather than an active membership.
1

Open the completed import

On Memberships → Bulk Import, click into a completed job.
2

Open the Historical Backfill panel

Scroll to the Historical Backfill card on the job detail page.
3

Pick the target plan and year

Select the live membership plan and the membership year you want to attribute the rows to.
4

Run the backfill

DeanDesk creates a historical period on each member’s profile, scoped to this import job. Re-running the backfill is safe — only rows that haven’t been backfilled yet are processed.
Backfill is scoped per-import-job, so different imports can be attributed to different plans and years without interfering with each other.

Awaiting-login members

When a membership is created for someone whose Identity doesn’t exist yet, it is saved as an awaiting-login member. The Members page has tabs that segment the list:
TabWhat it shows
All currentEvery active membership, regardless of login state
Members with loginsCurrent memberships linked to an Identity that has signed in
Awaiting loginsMemberships waiting on the person to create an Identity
HistoricalPast membership periods (see Membership history)
Awaiting-login records are automatically linked when the person registers:
  • When a new Identity is created (via signup or invitation), DeanDesk checks for any awaiting records that match the email or username.
  • If a match is found, the membership is created and linked to the new Identity automatically.
  • You can also manually trigger a sync or link individual awaiting records from the Awaiting logins tab.

Member detail page

Clicking a row in any Members tab opens a dedicated detail page at /dashboard/memberships/members/[kind]/[id] (where kind is current, awaiting-login, or historical). The detail page lets you:
  • Re-link the membership to a different Identity
  • Edit contact info, address, payment source, referral source, and custom metadata
  • Change the plan or billing interval
  • View transaction history
  • Add or edit history periods (historical members)
  • Merge duplicate profiles when the same person appears more than once
  • Manually change membership status

Membership metadata

Custom metadata fields let you store institution-specific information on each membership — volunteer roles, committee assignments, t-shirt sizes, dietary restrictions, or anything else your organization needs to track.

Configuring metadata fields

1

Open metadata settings

Go to Memberships → Metadata in the institution dashboard.
2

Add a field

Click Add Field and configure:
SettingWhat it controls
Field nameThe unique identifier for the field (used in imports and APIs)
Field labelThe display name shown to admins and in reports
Field typeThe data type — see table below
RequiredWhether the field must be filled in when creating or editing a membership
OptionsFor select and multiselect types, the list of allowed values
Default valueA default value pre-filled for new memberships
DescriptionHelp text shown to admins

Supported field types

TypeDescriptionExample
TextShort text input”Board Member”, “Room 204”
TextareaLong text inputNotes, special requests
NumberNumeric valueYears of membership, age
DateDate pickerJoin date, certification expiry
BooleanYes/No toggle”Volunteer?”, “Newsletter opt-in”
SelectSingle choice from a list”Committee: Finance / Education / Events”
MultiselectMultiple choices from a list”Interests: Sports, Arts, Technology”

Where metadata appears

  • Member list and detail views in the institution dashboard
  • Bulk import — metadata values can be included in import data and are validated against the schema
  • Reports — custom metadata columns are included when exporting membership reports as CSV
  • Discount rules — metadata fields can be used as conditions in rule-based discounts (see Membership entitlements below)

Referral source tracking

To understand where new members come from, you can configure a Referral Source dropdown that appears during membership signup.
1

Define your referral options

In Memberships → Configuration, add the referral options you want to track (e.g. “School admissions”, “Friend referral”, “Social media”, “Newsletter”, “Event”).
2

Members select on signup

The dropdown is shown during the signup flow. The selected option is saved on the membership record.
3

Report on referral channels

Referral source is included as a column in the bulk export and in custom reports, so you can see which acquisition channels are driving signups.

Demographic sync

Memberships can store demographic data on each member — useful for community reporting, grant applications, and program eligibility. Demographic fields collected during signup or import are synced into the membership record automatically.
Demographic data is institution-private. It is never exposed to schools or appears in public-facing surfaces.

Family memberships

When a member subscribes to the Family tier, DeanDesk creates a family group that the primary member can manage.

Family roles

RoleWhoHow they’re added
PrimaryThe account holder who purchased the family membershipAutomatically assigned
SpouseThe primary member’s partnerInvited by email — must accept the invite
Child (13+)A child aged 13 or olderInvited by email — must accept the invite
Child (under 13)A child under 13Listed by name only (no email/account required)

Adding family members

The primary member (or an admin) can invite family members from the membership portal:
  1. Click Invite Family Member and choose the role (spouse or child).
  2. For spouse and children 13+, enter their email. DeanDesk creates an Identity for them if one doesn’t exist and sends an invitation email.
  3. For children under 13, enter their name only — they are listed on the family group without an account.
  4. Invited members accept the invitation by signing in and confirming.
The family group size is capped by the plan’s max family size setting.

Membership entitlements

Membership status can be used to control access and pricing across your schools.

Members-only products

When creating or editing a tuition product, you can set its access to Members Only. When a product is marked as members-only:
  • Only users with a valid, active membership at the institution level can select and purchase it.
  • Users without a membership see the product but are blocked from enrolling with a message indicating a membership is required.
  • Admins can always bypass this restriction.
This is configured on the product’s tuitionAccess setting (set to members_only instead of all).
Use members-only products to offer exclusive tuition rates, premium courses, or special programs that are only available to paying members of your institution.

Membership-based discounts

The discount rule engine can evaluate a user’s membership status when deciding whether to apply a discount. Two membership-related fields are available as discount rule conditions:
FieldTypeWhat it checks
Has Active MembershipBooleanWhether the user’s Identity has a valid, active membership at the institution
Membership TierSelect (individual / family)The tier type of the user’s active membership
This lets you create discounts like:
  • “10% off all tuition for active members”
  • “Family plan members get $50 off per child enrollment”
  • “$25 discount for anyone with an active membership”
These fields are evaluated automatically — you don’t need to tag users manually. DeanDesk checks the user’s linked Identity and current membership status in real time when the discount rules are evaluated.

Membership history

DeanDesk maintains a historical record of all membership periods — both current DeanDesk-managed memberships and imported historical data.

Historical profiles

Each person gets a history profile that tracks all their membership periods across time. This is useful for:
  • Tracking long-term membership tenure for members who joined before you started using DeanDesk
  • Importing records from a previous membership system
  • Maintaining a complete audit trail of membership activity

Importing historical data

Use the historical import to load past membership periods. Each imported record includes:
  • The member’s email (used to match or create a profile)
  • The period’s start and end dates
  • An import label (e.g. “2022-2023 Membership Year”)
  • Plan name, tier type, and any metadata
Historical profiles are automatically linked to existing Identities when a matching email is found. If multiple profiles exist for the same person (e.g. from separate imports with different email addresses), you can merge them.

Active membership sync

When a member subscribes or renews through Stripe, DeanDesk automatically adds a period to their history profile. This keeps the historical record up to date without manual intervention.

Membership reports

The Reports workspace at Memberships → Reports lets you preview and download canned reports, or build a custom report with the filters you need.

Canned reports

ReportWhat it includes
Active MembersAll currently valid memberships with contact info and metadata
Manual MembershipsMemberships created manually (not through Stripe)
DeanDesk BillingStripe-backed memberships with subscription details and revenue
Expiring SoonMemberships approaching their end date — useful for retention outreach

Custom report builder

Build a report tailored to a specific question by filtering on:
FilterValues
StatusActive, expired, cancelled, pending
TierIndividual, family
PlanAny of your published plans
Payment sourceDeanDesk (Stripe), Cash, Venmo, Zelle, Check, Other
Days until expirationNumeric range — surface members expiring in the next N days
Preview results in the dashboard, then download as CSV. Reports include all standard fields plus any custom metadata columns you’ve configured.