> ## 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.

# Products

> Create and manage the products your school sells — tuition, programs, and donation campaigns.

<Info>
  **School-level feature** — managed within your school portal at `yourschool.deandesk.com`.
</Info>

Products are the foundation of billing in DeanDesk. Every payment a student or family makes is tied to a product. You create products, attach pricing plans to them, and optionally link them to courses or programs so that paying for a product grants access to the associated content.

Open **Finance → Products** in the admin sidebar to manage your products.

## Product types

DeanDesk supports three product types. Choose the one that matches what you are selling.

| Type                  | Purpose                                                                             | Billing               | Who can purchase                                             |
| --------------------- | ----------------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------ |
| **Tuition**           | A recurring or one-time charge for enrolled students, optionally linked to a course | One-time or recurring | Students (optionally restricted to members or children only) |
| **Program**           | A publicly available program anyone can browse and purchase                         | One-time or recurring | Anyone (can require a checkout form)                         |
| **Donation Campaign** | A fundraising campaign with a goal, deadline, and suggested amounts                 | One-time or recurring | Anyone                                                       |

<Note>
  All prices use your school's sales currency (USD, GBP, or EUR). The currency is chosen when the school is created and cannot be changed — individual products and prices do not carry their own currency.
</Note>

## Create a product

Go to **Finance → Products** and click **Create Product**. The dialog walks you through a four-step wizard — click any step in the stepper at the top to jump back to it.

<Steps>
  <Step title="Choose a type">
    Pick the kind of product you are creating:

    * **Tuition** — a recurring or one-time charge for enrolled students, optionally linked to a course
    * **Program** — a publicly available program anyone can browse and purchase
    * **Donation Campaign** — a fundraising campaign with a goal, deadline, and suggested amounts
  </Step>

  <Step title="Enter details">
    Fill in the product's details:

    * **Name** — what students and families see when purchasing (e.g., "Full-Time Tuition", "Summer Camp Registration")
    * **Description** — a longer explanation of what the product includes. Descriptions support Markdown and render formatted on the public product page.
    * **Audience** — choose **Adults or children** or **Children only** to restrict who the product applies to
    * **YouTube Video URL** — paste a YouTube link to embed a video on the public product page
    * **Tags** — comma-separated labels used for filtering and public catalog chips
    * **Images** — add image URLs or upload up to 5 image files to display on the product page
    * **Benefits** — a comma-separated list of what the product includes, displayed as bullet points on the public product page (e.g., "Access to all resources, Discussion and community features, Ongoing updates")
  </Step>

  <Step title="Configure type-specific settings">
    The third step depends on the product type you chose:

    <Tabs>
      <Tab title="Tuition — Course & Access">
        * **Tuition Access** — choose **Anyone can select** or **Members only** to restrict purchasing to users with an active membership
        * **Eligible Memberships** (members-only products) — leave empty to allow any active membership, or pick one or more specific [membership plans](/institution/memberships) that gate purchase. Useful when only certain tiers (e.g. "Supporter Family") should unlock a specific tuition rate.
        * **Course association** — choose **No course**, **Create new course**, or **Attach existing** to link a course to the product. When a student purchases the product, they gain access to the linked course. You can also manage course associations later from the product details page.
      </Tab>

      <Tab title="Program — Checkout Form">
        * **Required Checkout Form** — attach a form that buyers must complete during checkout (e.g., a registration questionnaire), or create a new form directly from this step. Only public, active forms are available.
      </Tab>

      <Tab title="Donation — Campaign">
        * **Goal Amount** — optional fundraising goal (e.g., \$5,000)
        * **Deadline** — optional campaign end date
        * **Preset Amounts** — comma-separated amounts shown as quick-select buttons on the donation page (e.g., "25,50,100,250")
        * **Show Donor Wall** — toggle whether donors are displayed publicly on the donation page
      </Tab>
    </Tabs>
  </Step>

  <Step title="Set pricing">
    Add one or more price rows. Each row has:

    * **Label** — a name for this pricing option (e.g., "Monthly Plan")
    * **Amount** — the price, in your school's currency
    * **Price Type** — **Recurring**, **One-time**, or **Free**

    For recurring prices, also set the billing interval, an optional finite number of installments, and whether billing starts immediately or the first payment is delayed by one billing cycle.

    Click **Create Product** to finish. The product appears in your products list immediately.

    <Note>
      The Pricing step is skipped for donation campaigns (donors choose their own amounts) and when editing an existing product — manage existing prices from the product details page instead.
    </Note>
  </Step>
</Steps>

## Pricing plans

Every product needs at least one pricing plan that defines how much to charge and how often. A single product can have multiple pricing plans to give buyers flexibility.

### Add a pricing plan

<Steps>
  <Step title="Open the product">
    From **Finance → Products**, click on the product to open its details page.
  </Step>

  <Step title="Click Add Pricing Plan">
    In the **Pricing Plans** section, click **Add Pricing Plan**.
  </Step>

  <Step title="Configure the plan">
    * **Plan Name** — a label for this pricing option (e.g., "Monthly Plan", "Annual Plan", "One-Time Payment")
    * **Amount** — the price to charge, in your school's currency (e.g., 25.00 for \$25). Toggle the **Free** switch for free products.
    * **Billing Type** — choose **Recurring** or **One-time**

    All plans use your school's sales currency, so there is no per-plan currency setting.
  </Step>

  <Step title="Configure recurring billing (if applicable)">
    For recurring plans:

    * **Billing Interval** — how often to charge: Daily, Weekly, Monthly, or Yearly
    * **Interval Count** — the number of intervals between charges (e.g., set to 3 with Monthly for quarterly billing)
    * **Limited Billing** — toggle this on to stop billing after a set number of payments. For example, "12 monthly payments" charges the student monthly for one year, then stops automatically.
    * **First Payment** (limited-billing plans) — choose **Charge when purchased** to bill immediately, or **Charge after one billing cycle** to delay the first charge until one interval later. Delayed billing gives access now and starts paid billing one interval later. The cart shows "Starts after one billing cycle" and the order summary uses **Due today** instead of a single total.
  </Step>

  <Step title="Save">
    Click **Save**. The pricing plan is now available to buyers.
  </Step>
</Steps>

### Example pricing configurations

| Plan name       | Amount  | Billing   | Interval       | Payments    | Total cost |
| --------------- | ------- | --------- | -------------- | ----------- | ---------- |
| Monthly Tuition | \$150   | Recurring | Monthly        | Unlimited   | Ongoing    |
| Semester Plan   | \$800   | Recurring | Every 6 months | Unlimited   | Ongoing    |
| 10-Month Plan   | \$100   | Recurring | Monthly        | 10 payments | \$1,000    |
| Annual Tuition  | \$1,000 | One-time  | —              | 1           | \$1,000    |
| Free Trial      | \$0     | One-time  | —              | —           | Free       |

<Tip>
  Offering both monthly and annual pricing plans for the same product lets families choose the payment schedule that works best for them. Consider a small discount on the annual option to incentivize upfront payment.
</Tip>

### Archive a pricing plan

To remove a pricing plan without deleting it, click the **Archive** button next to the plan. Archived plans are no longer available for new purchases, but existing subscriptions on that plan continue unaffected.

## Linking courses and programs

Products can be linked to courses and programs so that purchasing the product automatically grants access to the associated content.

### Manage course associations

From the product details page, click **Manage Courses** to:

* **Search and link existing courses** — select courses that already exist in your school
* **Create a new course** — create a course directly from the product page with title, description, instructor, dates, enrollment code, term, capacity, and active status
* **Remove a course** — unlink a course from the product

Each linked course displays its title, instructor, status, start/end dates, capacity, and current enrollment count.

### Manage program associations

Click **Manage Programs** to link or unlink programs. The process is the same as courses — search existing programs or create a new one.

<Note>
  Courses can be linked to **Tuition** products and to any other product type whose initial signup role is **student**. **Program** products can be linked to programs. Donation campaigns do not support course or program associations.
</Note>

## Linking rosters

Tuition products can also be associated with [rosters](/sis/rosters). Linking a roster to a tuition product surfaces that product on the roster and lets the Roster Distribution canvas highlight which students are enrolled.

<Steps>
  <Step title="Open the product">
    From **Finance → Products**, open a tuition product.
  </Step>

  <Step title="Open Manage Rosters">
    In the **Associated Rosters** section, click **Manage Rosters**.
  </Step>

  <Step title="Add or remove rosters">
    Use the picker to add rosters or click the remove icon next to a roster to detach it.
  </Step>

  <Step title="Save">
    Save. The association takes effect immediately and is visible on both the product detail page and the linked rosters.
  </Step>
</Steps>

## Public product URLs

Every product has a public landing page at a URL based on its **slug**:

| Product type          | URL pattern                                       |
| --------------------- | ------------------------------------------------- |
| **Donation**          | `https://yourschool.deandesk.com/donate/<slug>`   |
| **Tuition / Program** | `https://yourschool.deandesk.com/products/<slug>` |

Slugs must be unique within the school. If you try to save a product with a slug already in use, you'll see: *That URL slug is already in use by another product.* Slugs are auto-derived from the product name on creation; you can override the slug when editing.

### Program browsing

On the public Products page, program tags appear as clickable chips — visitors click a chip to filter the catalog. When your school has three or more programs, a search box also appears automatically so visitors can search by name.

## Cart and checkout

Visitors and families can add products to a **cart** from the public Products page, product detail pages, and the program enrollment flow, then pay for everything in a single checkout.

* **Cart icon** — when the cart has items, a cart icon with an item-count badge appears in the top bar. Clicking it opens a slide-out **Your cart** panel with quantity controls and a **Checkout** button.
* **Family member assignment** — for family accounts, each cart item can be assigned to a specific family member, so a parent can purchase for several children in one order.
* **Order Summary** — checkout breaks down the total into **Due today**, recurring amounts per billing interval, installment plans (including delayed first payments), named discount lines, fees, and a **Total of all payments** for finite plans.
* **Confirmation email** — after purchase, buyers receive a confirmation email with the same billing breakdown. This works for guest checkout too.
* **Saved form answers** — in-progress checkout form answers are saved locally, so buyers who leave and return don't lose their responses.

## Donation campaigns

Donation products include additional features for running fundraising campaigns.

### Donation page

Each donation product has a public donation page where supporters can:

* Choose from **preset donation amounts** (the quick-select buttons you configured)
* Enter a **custom amount**
* Leave an optional **message**
* Choose to donate **anonymously**
* Set up a **recurring donation** on a schedule

### Donation page appearance

Beyond the goal, deadline, preset amounts, and donor wall toggle, each campaign has appearance settings:

* **Donation Form Headline** — the heading shown above the donation form. Use the `{campaignName}` placeholder to insert the campaign name — the default is "Help Move {campaignName} Forward".
* **Donation Form Intro Text** — introductory text displayed with the donation form
* **Donation button color** — a hex color for the donate button

The public donation page also inherits your school's custom page theme, so its fonts and colors match the rest of your public pages.

### Donor wall

If enabled, the donation page displays a wall showing donor names, amounts, and messages. Anonymous donors appear as "Anonymous" on the wall.

### Viewing donations

From the product details page, the **Donations** section shows:

* Total number of donations
* Total amount raised
* A paginated table of every donation with donor name, email, amount, message, anonymous status, recurring indicator, status, and date

## Tags and sort order

Products can be organized with **tags** and a **sort order** value to control how they appear in lists and on the public Enroll-In-Program cards.

| Field          | What it does                                                                                                                                           |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Tags**       | Comma-separated labels (e.g. "summer", "scholarship", "k-2"). Tags appear as chips on public product cards and can be used to filter the product list. |
| **Sort order** | Numeric value that determines the order products appear in lists and on the public catalog. Lower numbers appear first.                                |

Set tags and sort order on the create/edit product form, or update them in bulk using the spreadsheet editor (below).

### Reorder tuition products

For tuition products, the Products list has a **Reorder** action that opens a dialog for arranging tuition products. The order you set controls how tuition products appear to enrolling families.

## Editing and archiving products

* **Edit** — click the edit button on any product to update its name, description, type settings, metadata, images, tags, and sort order
* **Archive** — archiving a product deactivates it so it can no longer be purchased. Existing subscriptions and enrollments are not affected.
* **Reactivate** — archived products can be reactivated. You can optionally reactivate their pricing plans at the same time.

## Bulk import

Use the **Bulk Product Import** dialog to create many products at once.

<Steps>
  <Step title="Open Bulk Import">
    From **Finance → Products**, click **Bulk Import**.
  </Step>

  <Step title="Provide your rows">
    Upload a CSV or paste rows directly into the dialog. Each row represents a product with fields like name, description, type, access (anyone / members only), audience (adults+children / children only), tags, and sort order.
  </Step>

  <Step title="Review">
    DeanDesk parses your rows and shows a preview with type, access, audience, and tags surfaced for each product. Fix any rows that show validation errors.
  </Step>

  <Step title="Push to Stripe">
    Submit. DeanDesk creates the products in DeanDesk and pushes them to Stripe in both your test and live environments.
  </Step>
</Steps>

## Bulk edit (spreadsheet editor)

For updating tags, sort order, type, access, or audience across many existing products at once, use the **Bulk Edit** spreadsheet editor.

<Steps>
  <Step title="Open Bulk Edit">
    From **Finance → Products**, click **Bulk Edit**.
  </Step>

  <Step title="Edit cells">
    The editor loads your existing products into a spreadsheet grid. Edit cells inline — only changed cells are highlighted.
  </Step>

  <Step title="Save changes">
    Submit. Only the rows you edited are sent to DeanDesk; untouched products are left alone.
  </Step>
</Steps>

<Tip>
  Use Bulk Edit when you need to re-tag or reorder large catalogs after a curriculum change — much faster than opening each product individually.
</Tip>

## Product list

The **Finance → Products** page shows all your products in a table with:

| Column                 | What it shows                   |
| ---------------------- | ------------------------------- |
| **Product**            | Name and description            |
| **Type**               | Tuition, Program, or Donation   |
| **Tags**               | Tags applied to the product     |
| **Pricing Plans**      | Number of plans and price range |
| **Associated Courses** | Number of linked courses        |
| **Status**             | Active or Inactive              |

### Filters and search

The product list supports:

* **Search** by product name
* **Filter by type** — Tuition, Program, or Donation
* **Sort by Active** — surface active products first (or last) so you can quickly find what's available for purchase

Click any product to open its details page where you can manage pricing plans, courses, programs, and view donations.
