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

# Discounts

> Create discount codes, automatic rule-based discounts, sibling discounts, and multi-product bundles.

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

DeanDesk supports four types of discounts to help you offer flexible pricing. You can create manual discount codes for promotions, automatic rule-based discounts that apply based on student data, sibling discounts for families with multiple children, and bundle discounts when students purchase multiple products together.

Open **Finance → Discounts** in the admin sidebar to manage your discounts.

## Discount types at a glance

| Type           | How it applies                                                      | Best for                                                |
| -------------- | ------------------------------------------------------------------- | ------------------------------------------------------- |
| **Code-based** | Student enters a code at checkout                                   | Promotions, scholarships, referral programs             |
| **Rule-based** | Applied automatically when student matches configured rules         | Need-based aid, residency discounts, role-based pricing |
| **Sibling**    | Applied automatically for families with multiple enrolled children  | Multi-child family discounts                            |
| **Bundle**     | Applied automatically when specific products are purchased together | Package deals, course bundles                           |

All discount types support either **percentage** (e.g., 20% off) or **fixed amount** (e.g., \$50 off) reductions.

## Code-based discounts

Code-based discounts require the student or parent to enter a discount code during checkout.

<Steps>
  <Step title="Open Discounts">
    Go to **Finance → Discounts** and click **Create Discount**.
  </Step>

  <Step title="Set basic information">
    * **Name** — an internal name for this discount (e.g., "Early Bird 2026")
    * **Description** — optional notes about the discount's purpose
    * **Active** — toggle on to make the discount available immediately
  </Step>

  <Step title="Configure the discount amount">
    * **Discount Type** — choose **Percentage** (0–100%) or **Fixed Amount** (dollar value)
    * **Amount** — the discount value (e.g., 20 for 20%, or 50 for \$50 off)
  </Step>

  <Step title="Set application type to Code-Based">
    Under **Application Type**, select **Code-Based (Manual Entry)**.
  </Step>

  <Step title="Enter the discount code">
    Type the code students will enter at checkout (e.g., "EARLYBIRD2026"). Codes are required for code-based discounts, automatically converted to uppercase, and must be unique across your school.
  </Step>

  <Step title="Choose applicable products (optional)">
    Leave the **Applicable Products** field empty to allow the code on any product, or select specific products to restrict it.
  </Step>

  <Step title="Set usage limits (optional)">
    * **Max Total Uses** — how many times the code can be used across all students (leave empty for unlimited)
    * **Max Uses Per User** — how many times a single student can use it
    * **Valid From / Valid Until** — date range when the code is active
  </Step>

  <Step title="Save">
    Click **Create**. Share the code with eligible students.
  </Step>
</Steps>

## Rule-based discounts

Rule-based discounts are applied automatically at checkout when a student's profile matches the rules you define. Students never need to enter a code — the discount appears automatically if they qualify.

### How rules work

Each rule-based discount contains a **rule set** — one or more conditions that are evaluated against the student's data. You choose whether **all** conditions must be met (AND logic) or **any** condition is sufficient (OR logic).

Each rule has three parts:

1. **Field** — the student data field to check (e.g., a custom metadata field like "Residency Status" or a derived field like "Number of Children")
2. **Operator** — the comparison to make (equals, does not equal, greater than, less than, contains, does not contain)
3. **Value** — the target value to compare against

### Available rule fields

Rules can reference three sources of data:

| Source              | Description                                            | Example fields                                    |
| ------------------- | ------------------------------------------------------ | ------------------------------------------------- |
| **User fields**     | Custom metadata fields defined in your school settings | Residency status, income bracket, enrollment year |
| **Identity fields** | Custom metadata fields from the institution level      | Membership tier, organization affiliation         |
| **Derived fields**  | System-calculated values based on student data         | Family size, number of children, date of birth    |

<Note>
  The fields available in your rules depend on what custom metadata fields you have configured for your school and institution. If you do not see the fields you need, add them in your school or institution settings first.
</Note>

### Create a rule-based discount

<Steps>
  <Step title="Create a new discount">
    Click **Create Discount** and fill in the name, discount type, and amount.
  </Step>

  <Step title="Set application type to Rule-Based">
    Select **Rule-Based (Automatic)**.
  </Step>

  <Step title="Choose the logic operator">
    Select **AND** if all rules must match, or **OR** if any rule matching is sufficient.
  </Step>

  <Step title="Add rules">
    Click **Add Rule** for each condition. For each rule:

    1. Select the **Field** from the grouped dropdown (User Fields, Identity Fields, or Derived Fields)
    2. Select the **Operator** (the available operators depend on the field type)
    3. Enter the **Value** to match against

    The value input adapts to the field type — you will see a text input for text fields, a number input for numeric fields, a date picker for date fields, a dropdown for select fields, etc.
  </Step>

  <Step title="Choose applicable products (optional)">
    Leave empty to apply to all products, or select specific products.
  </Step>

  <Step title="Save">
    Click **Create**. The discount now applies automatically to qualifying students at checkout.
  </Step>
</Steps>

### Example rule configurations

**Income-based discount (AND logic):**

* Rule 1: "Income Bracket" equals "Low Income"
* Rule 2: "Residency Status" equals "In-State"
* Result: 30% off for low-income, in-state students

**Multi-condition aid (OR logic):**

* Rule 1: "Financial Aid Eligible" equals "Yes"
* Rule 2: "Number of Children" greater than 3
* Result: \$200 off if the family qualifies for financial aid OR has more than 3 children

## Sibling discounts

Sibling discounts reward families that enroll multiple children. The discount is applied automatically when a family has the required number of actively enrolled children in tuition products.

<Steps>
  <Step title="Create a new discount">
    Click **Create Discount** and fill in the name, discount type, and amount.
  </Step>

  <Step title="Set application type to Sibling">
    Select **Sibling (Child Tuition Enrollment)**.
  </Step>

  <Step title="Configure sibling settings">
    * **Minimum Active Children** — the number of actively enrolled children required before the discount applies (minimum 2). For example, set to 3 if the discount should only apply when a family has 3 or more children enrolled.
    * **Include First Child** — toggle on if the discount should also apply to the first child. When off, only the second (and subsequent) children receive the discount.
  </Step>

  <Step title="Choose applicable products (optional)">
    Select specific tuition products, or leave empty to apply to all tuition products.
  </Step>

  <Step title="Save">
    Click **Create**. The discount is applied automatically during checkout.
  </Step>
</Steps>

<Warning>
  Sibling discounts can only be applied to **tuition** products. If you select non-tuition products, they will be removed automatically.
</Warning>

<Note>
  The sibling discount is applied once per qualifying child — it is never multiplied by the number of siblings. For example, a 10% sibling discount for a family with 3 children gives each qualifying child 10% off, not 30%.
</Note>

## Bundle discounts

Bundle discounts apply automatically to eligible products in a single checkout. You can select specific eligible products, or leave the product list blank to make the bundle discount apply to every product.

<Steps>
  <Step title="Create a new discount">
    Click **Create Discount** and fill in the name, discount type, and amount.
  </Step>

  <Step title="Set application type to Bundle">
    Select **Bundle (Multi-Product)**.
  </Step>

  <Step title="Select eligible bundle products">
    In the **Eligible Bundle Products** field, select the products that can receive the discount. Leave this field blank to include all products.
  </Step>

  <Step title="Choose whether the first product is discounted">
    Turn on **Discount the highest-priced eligible product** if every eligible product should receive the discount. Turn it off if the highest-priced eligible product should stay full price and the discount should apply only to the second product and onwards.
  </Step>

  <Step title="Save">
    Click **Create**. The discount applies automatically when one or more eligible products are in the same checkout.
  </Step>
</Steps>

**Example:** Create a 15% bundle discount for "Fall Semester Tuition" and "Course Materials Fee." If a student buys either eligible product, the discount can apply according to your first-product setting. If the first product is excluded, DeanDesk sorts eligible products from highest price to lowest price and discounts the second product and onwards.

## Usage constraints

All discount types support optional usage limits:

| Setting               | Purpose                                                                                          |
| --------------------- | ------------------------------------------------------------------------------------------------ |
| **Max Total Uses**    | Maximum number of times the discount can be used across all students. Leave empty for unlimited. |
| **Max Uses Per User** | Maximum number of times a single student can use this discount. Leave empty for unlimited.       |
| **Valid From**        | The date the discount starts being available.                                                    |
| **Valid Until**       | The date the discount expires.                                                                   |

A discount is considered valid when it is active, within the valid date range (if set), and has not exceeded its maximum usage count.

## Combinability

By default, discounts cannot be stacked — only one discount applies per purchase. Toggle **Allow Combining With Other Discounts** when creating a discount if you want it to be eligible for stacking with other combinable discounts.

## Subscription discount duration

When a discount applies to a **recurring** purchase, you can choose whether it applies to every billing cycle or only the first one. Use the **Subscription Discount** dropdown when creating or editing a discount:

| Option                                          | What happens                                                                                         |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Apply to every subscription cycle** (default) | The discount reduces the price on every recurring charge for as long as the subscription is active   |
| **Apply to first subscription cycle only**      | The discount applies once at the first charge, then subsequent charges are billed at the full amount |

One-time purchases always receive the discount once at checkout, regardless of which option you pick.

<Tip>
  Use first-cycle-only for new-customer welcome discounts (e.g. "50% off your first month") so the discount doesn't carry forward indefinitely.
</Tip>

## Managing discounts

The discount list page shows all your discounts in a filterable table.

### Filter tabs

Use the tabs at the top to filter the list:

* **All** — every discount
* **Active** / **Inactive** — by status
* **Code-Based** / **Rule-Based** / **Sibling** / **Bundle** — by application type

### Discount table columns

| Column          | What it shows                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------------------- |
| **Name**        | Discount name and description                                                                         |
| **Type**        | Percentage or Fixed Amount                                                                            |
| **Discount**    | The discount value (e.g., 20% or \$50)                                                                |
| **Application** | The code (for code-based), number of rules, number of required children, or number of bundle products |
| **Products**    | Number of applicable products, or "All products"                                                      |
| **Usage**       | How many times used out of the maximum                                                                |
| **Status**      | Active or Inactive                                                                                    |
| **Actions**     | Edit and Delete buttons                                                                               |

### Edit or delete a discount

Click the **Edit** button on any discount to update its settings. Click **Delete** to permanently remove it. Deleting a discount does not affect purchases that already used it.
