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.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
| Concept | What it is | Scope |
|---|---|---|
| Identity | A login account for your institution. Holds credentials (username, email, password) and institution-level roles. | Institution-wide |
| User | A profile inside a specific school. Holds school-specific roles, course enrollments, grades, and billing. Created automatically when an Identity accesses a school. | Per school |
| Membership | A membership entitlement tied to an Identity. Tracks the membership plan, billing status, term dates, contact info, and custom metadata. | Institution-wide |
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
Choose a tier type
DeanDesk supports two tier types:
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.
| Tier | What it includes |
|---|---|
| Individual | A single-person membership |
| Family | A membership that covers a primary member plus spouse and children (configurable max size, default 5) |
Set pricing
Configure the pricing options you want to offer:
- Monthly price — recurring charge every month
- Annual price — recurring charge once per year
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
Membership term settings
Configure when your membership year starts and ends, and how to handle members who join mid-term.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).
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.- The member visits your institution’s portal and clicks to join.
- They see the available plans with pricing (including prorated amounts if applicable).
- They select a plan and billing interval, enter payment details, and accept the terms.
- 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.Select a plan and set dates
Choose the membership plan and set the start and end dates. Manual memberships are not billed through Stripe.
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.
Fill in contact info and metadata (optional)
Add the member’s contact information and any custom metadata fields you’ve configured.
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.Upload your CSV
Upload a CSV containing your member rows. The wizard parses the file and shows the headers it detected.
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.
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.
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
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.Pick the target plan and year
Select the live membership plan and the membership year you want to attribute the rows to.
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:| Tab | What it shows |
|---|---|
| All current | Every active membership, regardless of login state |
| Members with logins | Current memberships linked to an Identity that has signed in |
| Awaiting logins | Memberships waiting on the person to create an Identity |
| Historical | Past membership periods (see Membership history) |
- 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
Add a field
Click Add Field and configure:
| Setting | What it controls |
|---|---|
| Field name | The unique identifier for the field (used in imports and APIs) |
| Field label | The display name shown to admins and in reports |
| Field type | The data type — see table below |
| Required | Whether the field must be filled in when creating or editing a membership |
| Options | For select and multiselect types, the list of allowed values |
| Default value | A default value pre-filled for new memberships |
| Description | Help text shown to admins |
Supported field types
| Type | Description | Example |
|---|---|---|
| Text | Short text input | ”Board Member”, “Room 204” |
| Textarea | Long text input | Notes, special requests |
| Number | Numeric value | Years of membership, age |
| Date | Date picker | Join date, certification expiry |
| Boolean | Yes/No toggle | ”Volunteer?”, “Newsletter opt-in” |
| Select | Single choice from a list | ”Committee: Finance / Education / Events” |
| Multiselect | Multiple 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.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”).
Members select on signup
The dropdown is shown during the signup flow. The selected option is saved on the membership record.
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
| Role | Who | How they’re added |
|---|---|---|
| Primary | The account holder who purchased the family membership | Automatically assigned |
| Spouse | The primary member’s partner | Invited by email — must accept the invite |
| Child (13+) | A child aged 13 or older | Invited by email — must accept the invite |
| Child (under 13) | A child under 13 | Listed by name only (no email/account required) |
Adding family members
The primary member (or an admin) can invite family members from the membership portal:- Click Invite Family Member and choose the role (spouse or child).
- For spouse and children 13+, enter their email. DeanDesk creates an Identity for them if one doesn’t exist and sends an invitation email.
- For children under 13, enter their name only — they are listed on the family group without an account.
- Invited members accept the invitation by signing in and confirming.
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.
tuitionAccess setting (set to members_only instead of all).
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:| Field | Type | What it checks |
|---|---|---|
| Has Active Membership | Boolean | Whether the user’s Identity has a valid, active membership at the institution |
| Membership Tier | Select (individual / family) | The tier type of the user’s active membership |
- “10% off all tuition for active members”
- “Family plan members get $50 off per child enrollment”
- “$25 discount for anyone with an active membership”
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
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
| Report | What it includes |
|---|---|
| Active Members | All currently valid memberships with contact info and metadata |
| Manual Memberships | Memberships created manually (not through Stripe) |
| DeanDesk Billing | Stripe-backed memberships with subscription details and revenue |
| Expiring Soon | Memberships approaching their end date — useful for retention outreach |
Custom report builder
Build a report tailored to a specific question by filtering on:| Filter | Values |
|---|---|
| Status | Active, expired, cancelled, pending |
| Tier | Individual, family |
| Plan | Any of your published plans |
| Payment source | DeanDesk (Stripe), Cash, Venmo, Zelle, Check, Other |
| Days until expiration | Numeric range — surface members expiring in the next N days |