> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/memberships/managing-memberships/upgrades-and-downgrades.md).

# Upgrading & Downgrading

### Overview

A Customer or an Admin can move a Customer between Membership plans, and PodPlay calculates proration automatically. An upgrade to a more expensive Membership charges a prorated amount immediately and grants the new benefits right away by default. Admins can instead schedule an upgrade for an upcoming charge date. A downgrade to a less expensive Membership, or a switch of Charge Type on the same Membership such as Yearly to Monthly, is scheduled for the Customer's next billing date by default. All pricing calculations round to 2 decimal places.

{% hint style="warning" %}
**Two feature flags control this inside the Company Settings page of the Dashboard.**

* `membership_upgrade_downgrade` enables the feature for Admins in the Dashboard.
* `membership_upgrade_downgrade_client_facing` enables the feature for Customers in the App.
  {% endhint %}

### Related Updates

* [Group Member Buying Their Own Plan](broken://pages/LMRnGg8xfoKA311DcOHt)

### Before changing a Membership

* Confirm the Customer has an active, paid Membership.
* For an upgrade, confirm the Customer has a valid payment method on file.
* Review the Customer's current Membership details and billing cycle.
* Check for an existing scheduled change that might conflict.

### How proration works

On an upgrade, PodPlay calculates:

* **Days Remaining**, the days left in the current billing cycle.
* **Daily Rate**, the current Membership price divided by the days in the cycle.
* **Credit**, days remaining multiplied by the daily rate, rounded to 2 decimal places.
* **Prorated Charge**, the new Membership price minus the credit, rounded to 2 decimal places.

Example: a Customer on a $95 per month Membership is 10 days into a 30-day cycle, leaving 20 days, and upgrades to a $179 per month Membership. The credit is (20 ÷ 30) × $95 = $63.33. The prorated charge is $179 − $63.33 = $115.67, plus applicable taxes and fees.

The prorated amount affects that one charge only. Future charges bill at the regular Membership price.

#### Custom Price decides upgrade against downgrade

PodPlay decides whether a change counts as an upgrade or a downgrade based on the actual price the Customer will pay, including any Custom Price an Admin sets, not on the plan's default price. A Custom Price higher than the Customer's current rate is treated as an upgrade with immediate proration, even when the new plan's default price is lower.

Example: a Customer pays $150 per month for "Boston+." An Admin moves them to "Homepod Astoria," default $80 per month, and sets a Custom Price of $200 per month. Because $200 is more than the current $150, this is an upgrade with immediate proration, not a downgrade.

### Changing a Membership from the App

With the client-facing flag enabled, a Customer can change their own Membership without Admin help. The Customer opens the Membership page in the App. Their current plan shows a disabled **Your Membership** button, and other plans show a **Get Membership** button.

Selecting a new plan opens a confirmation modal, titled **Activate Membership** for a new activation or **Change Membership** for an upgrade, downgrade, or plan switch. The modal has these sections:

* **Membership Details**, the Minimum Commitment and Cancellation Notice where applicable, plus the Membership name and price. The row reads `MEMBERSHIP: [Plan Name]` for a new activation or `CHANGE TO: [Plan Name]` for a change, with the per-cycle price on the right.
* **Taxes & Fees** where applicable, each listed by name, percentage, and calculated amount.
* **Frequency Total**, the total recurring charge per billing cycle including base price, taxes, and fees.
* **Additional Charges** where applicable, including an `Adjustment for current cycle` line showing the credit from the unused portion of the current cycle on upgrades only, and the initiation fee with any applicable taxes.

When the Club has a Membership Terms of Service URL configured, the Customer must check **I have read and accept the terms and conditions** before the payment button unlocks.

On an upgrade, the Customer taps **Pay & Activate Membership**. The **Due today** amount reflects the prorated charge, payment processes immediately, and the new Membership takes effect right away.

On a downgrade or Charge Type switch, the Customer taps **Confirm Membership Change**. **Due today** shows `$0.00`, no payment is taken, and the change is scheduled for the next billing date while the Customer keeps their current benefits. The Customer's Membership Details page then shows `Switching to [New Membership Name] on [Date]` under the Type row, and tapping it shows more detail.

### Changing a Membership from the Dashboard

1. Open the Customer's Profile from the Customer page.
2. Click the **Edit Membership** button (pencil icon) in the Membership section of the side panel.
3. Select **Update Membership Plan** and click **Continue**. The other options are **Pause Membership** and **Cancel Membership**, covered in Pausing and canceling a Membership.
4. Select the plan in the **New Membership** dropdown, and select the **Charge Type** such as Monthly, Six months, or Yearly.

The **Price** field auto-populates from the selected Membership. The initiation fee is automatically waived on a switch, and the original fee still shows as a reference note.

Use **Effective date** to choose when the plan changes. Upgrades default to **Immediately**; downgrades and Charge Type switches default to the next charge date. Admins can choose from the next six charge dates. Mid-cycle dates are not available, so the charge and new benefits always begin together on a billing boundary.

#### On an upgrade

A **Subscription Preview** shows the immediate charge amount, the target Membership price, the credit applied from the unused portion of the current cycle, the next billing date, and applicable taxes and fees.

An **Immediate Pro-Rated Charge** field appears, pre-filled with the calculated amount. An Admin can keep it, override it for special circumstances, or set it to `0` to waive the charge.

Clicking **Update Membership** processes payment immediately, cancels the old subscription, creates the new one starting today, and grants the new benefits right away.

To defer the upgrade, select an upcoming charge date under **Effective date**. No prorated payment is taken now, and the Customer keeps their current Membership benefits until the selected date. The new Membership is charged and its benefits begin together on that date.

#### On a downgrade or Charge Type switch

The preview shows the effective date and the new Membership's price, taxes, fees, and total. Keep the next charge date or select a later available charge date. Clicking **Update Membership** creates a scheduled change, keeps the current Membership active until the scheduled date, and takes no payment now.

### Minimum Commitment on the new Membership

When a Customer switches Memberships, they must hold the new Membership until they meet its Minimum Commitment before they can cancel.

Example: a Customer holds Membership X for 45 days, then switches to Membership Y. The Customer must meet Membership Y's Minimum Commitment before canceling the new subscription.

### Viewing a scheduled change

In the Customer's Profile, the Membership section of the side panel shows an alert reading `Update to [New Membership Name] scheduled for [Date]`.

On the Customer page list view, a Customer with a scheduled change shows a clock icon next to their Membership name, and hovering it shows the same message.

### Canceling a scheduled change

To keep the Customer on their current Membership, open the Membership drawer and click **Cancel update** in the scheduled update alert. Confirm the action. The scheduled update and clock icon disappear, while the current Membership and billing dates remain unchanged.

The same action is available from **Edit Membership**. Select **Cancel Scheduled Membership Change**, then click **Continue**.

Canceling the entire Membership also clears its pending scheduled change, but is not required to undo a plan update.

### Group Memberships and upgrades

Upgrading a Customer who **owns** a Group Membership automatically migrates every Member of the group to the new subscription. Existing enrollments are preserved, new enrollments are created for all Members, and staff takes no additional steps.

A Customer who is a Member of a Group or Team Membership, and who is not the subscription owner, can buy a different Membership for themselves. That purchase does not change the Group Membership.

#### What happens

* The Member leaves the group; only their enrollment ends.
* The owner keeps the Group Membership, and every other Member stays enrolled.
* The Member pays the full catalog price for the new Membership, including any initiation fee; the system does not apply proration credit from the owner's Group Membership.
* Extra-member fees on the owner's Group Membership decrease the same way they do when staff removes a Member from the group.

This is different from an owner upgrade. When the **owner** upgrades or downgrades a Group Membership, the system still moves or ends the whole group.

#### How to tell who is the owner

Open the Customer's profile and check the Membership section. The owner is the Customer who holds the subscription. Other people listed under Group Members are co-members.

If staff changes Membership on the **owner**, the group follows that change. If an Admin assigns a new Membership to a **co-member**, that person leaves the group and the owner's subscription stays in place.

### Email notifications

The automated system email are sent to the Customer automatically whenever a Membership change is processed.

An immediate upgrade notification confirms the new Membership name, the new charge amount and billing frequency, and the prorated amount charged for the current cycle. A scheduled upgrade, downgrade, or plan-switch notification confirms the Membership they are switching to, the new charge amount and billing frequency, and the date the change takes effect.

### Errors and troubleshooting

* **`Cannot switch to a membership that is currently on pre-sale`:** The target Membership is in a presale period. Wait until the presale ends, or choose a different Membership.
* **`You are already subscribed to this membership with the same payment plan`:** The Customer is switching to the Membership and Charge Type they already hold. Choose a different Membership or Charge Type.
* **Payment failed during an upgrade:** Confirm the payment method is valid and not expired, try a different payment method, then contact support if it persists. See Paying for a Membership with a card or bank account.
* **Feature not available for Customers:** `membership_upgrade_downgrade_client_facing` is not enabled. Contact the PodPlay CSM.
* **Feature not available for Admins:** `membership_upgrade_downgrade` is not enabled. Contact the PodPlay CSM.

### Tips

* Check the Customer's current Membership and billing cycle before making a change, and confirm no conflicting scheduled change is already in place.
* Override the calculated prorated charge only when there is a clear business reason, and document the override.
* Remember that every member of a Group Membership is affected when the **owner** upgrades. A co-member buying their own plan leaves the group and does not change the owner's subscription.
* Tell Customers that upgrades take effect immediately, downgrades take effect at the next billing date, the initiation fee is waived on any switch, and they keep their current benefits until a scheduled change takes effect.
* Point Customers to the Membership Details page in the App to check a pending change.
* A cancellation automatically cancels any pending scheduled change.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podplay.app/memberships/managing-memberships/upgrades-and-downgrades.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
