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

# Upgrades and Downgrades

### Overview

A Customer or an Admin can move a Customer between Membership plans, with proration calculated automatically. Upgrading to a more expensive Membership charges the Customer a prorated amount immediately and grants the new benefits right away. Downgrading to a less expensive Membership, or switching Charge Types on the same Membership (for example, Yearly to Monthly), is scheduled for the Customer's next billing date, so the Customer keeps their current benefits until then. All pricing calculations round to 2 decimal places.

#### Feature flags

Two flags control this feature. Contact your PodPlay CSM if either isn't enabled for your Club:

* `membership_upgrade_downgrade` — enables the feature for Admins in the Dashboard
* `membership_upgrade_downgrade_client_facing` — enables the feature for Customers in the App

#### Before changing a Membership

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

#### How proration works

When a Customer upgrades, the system calculates:

* Days Remaining: days left in the current billing cycle
* Daily Rate: current Membership price ÷ days in the cycle
* Credit: days remaining × daily rate, rounded to 2 decimal places
* Prorated Charge: new Membership price − credit, rounded to 2 decimal places Example: a Customer on a $95/month Membership is 10 days into a 30-day cycle (20 days remaining) and upgrades to a $179/month Membership. Credit: (20 ÷ 30) × $95 = $63.33. Prorated charge: $179 − $63.33 = $115.67, plus applicable taxes and fees. The prorated amount only affects this one charge — future charges bill at the regular Membership price. The system 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 the plan's default price. A Custom Price higher than the Customer's current rate is treated as an upgrade with immediate proration, even if the new plan's default price is lower. Example: a Customer currently pays $150/month for "Boston+." An Admin moves them to "Homepod Astoria" (default $80/month) but sets a Custom Price of $200/month. Because $200 is more than the Customer's current $150, this is treated as an upgrade with immediate proration, not a downgrade.

**SUPADEMO showing the numbers and message of prorated changes.**

#### Changing a Membership from the App

When the client-facing flag is 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; 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 is organized into sections:

* Membership Details: the Minimum Commitment and Cancellation Notice (if applicable), and the Membership name and price — shown as "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 (if applicable): each tax and fee listed by name, percentage, and calculated amount
* Frequency Total: the total recurring charge per billing cycle, including base price, taxes, and fees
* Additional Charges (if applicable): an "Adjustment for current cycle" line showing the credit from the unused portion of the current cycle (upgrades only), and the initiation fee with any applicable taxes included If 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. For 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. For a downgrade or plan 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. Once a downgrade or plan switch is scheduled, the Customer's Membership Details page shows "Switching to \[New Membership Name] on \[Date]" under the Type row, and tapping it shows more detail.

#### Changing a Membership from the Dashboard

An Admin can upgrade, downgrade, or switch a Customer's Charge Type from the Customer's Profile:

1. Open the Customer's Profile from the Customer page
2. In the Membership section of the side panel, click the Edit Membership button (pencil icon)
3. Select Update Membership Plan and click Continue — the other options here are Pause Membership (for a set number of weeks, if eligible) and Cancel Membership (at the next billing cycle or immediately)
4. In the New Membership dropdown, select the plan to switch the Customer to, and select the Charge Type (Monthly, Six months, Yearly, etc.) The Price field auto-populates from the selected Membership, and the initiation fee is automatically waived for a switch (the original fee still shows as a reference note). For an upgrade (a more expensive plan, or a Custom Price higher than the Customer's current rate), 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. For a downgrade (a less expensive plan) or a Charge Type switch on the same Membership, the preview shows "User will be switched at their next billing date," the effective date, and the new Membership's price, taxes, fees, and total. 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 from one Membership to another, they're required to hold the new Membership until they meet its Minimum Commitment before they can cancel. Example: Customer A 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: "Update to \[New Membership Name] scheduled for \[Date]." On the Customer page's list view, a Customer with a scheduled change shows a clock icon next to their Membership name; hovering it shows the same message.

#### Group Memberships and upgrades

Upgrading a Customer who holds 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 no additional steps are needed from an Admin.

#### Email notifications

The system emails the Customer automatically whenever a Membership change is processed. An upgrade notification confirms the new Membership name, the new charge amount and billing frequency, and the prorated amount charged for the current cycle. A downgrade or plan-switch notification confirms the Membership they're switching to, the new charge amount and billing frequency, and the date the change takes effect. These emails require SendGrid templates configured for your Club — if Customers report not receiving them, contact your PodPlay CSM to verify the templates are set up.

#### Errors and troubleshooting

* "Cannot switch to a membership that is currently on pre-sale": the target Membership is in a pre-sale period. Wait until the pre-sale ends, or choose a different Membership.
* "You are already subscribed to this membership with the same payment plan": the Customer is trying to switch to the same Membership and Charge Type they already have. Choose a different Membership or Charge Type.
* Payment failed during an upgrade: verify the Customer's payment method is valid and not expired, try a different payment method, or contact support if it persists.
* Feature not available for Customers: `membership_upgrade_downgrade_client_facing` isn't enabled — contact your PodPlay CSM.
* Feature not available for Admins: `membership_upgrade_downgrade` isn't enabled — contact your PodPlay CSM.

#### Tips

* Check the Customer's current Membership and billing cycle before making a change, and confirm there's no conflicting scheduled change already in place
* Only override the calculated prorated charge when there's a clear business reason, and document any override
* If a Customer has Group Members, remember all of them are affected when the Customer upgrades
* 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 downgrade or switch takes effect
* Point Customers to the Membership Details page in the App to check on a pending change
* If a Customer cancels their Membership, any pending scheduled change cancels automatically

#### Related Articles

* Editing a Customer's Membership Price or Next Charge Date


---

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