Can I Charge WooCommerce Subscription Prices by Role?
Why This Needs an Extension or Custom Code
A subscription product's recurring price is a fixed value on the product (or its variations), with no built-in concept of "this price for role A, that price for role B." Achieving role-based pricing means something else needs to adjust that price before it reaches the cart — either a wholesale/B2B pricing plugin built to hook into WooCommerce's price-display and cart-calculation filters, or custom code doing the same thing more narrowly.
Things That Need Testing Specifically for Subscriptions
- Whether the adjusted price actually carries through to the recurring total, not just the displayed price on the product page — some pricing plugins built primarily for one-time products only adjust the visible price and miss the subscription-specific recurring-amount calculation.
- Whether renewals continue charging the correct role-based price if a customer's role changes after they've already subscribed — deciding whether existing subscriptions should be affected by a later role change is a business decision, not something that resolves itself automatically.
- Sign-up fees and trial periods potentially needing their own role-based logic too, if the pricing plugin only touches the main recurring amount.
- Guest checkout implications, since role-based pricing inherently requires a logged-in, role-assigned customer — a store relying on this needs a clear policy for anonymous visitors.
How to Set It Up Correctly
- Choose a B2B/wholesale pricing plugin with explicit WooCommerce Subscriptions compatibility, rather than assuming general WooCommerce compatibility covers recurring pricing too.
- Test the full subscription checkout and at least one renewal for each relevant customer role, confirming the correct price applies at every stage, not just the product page.
- Decide and document what happens to an existing subscription if a customer's role changes later, then confirm the actual behavior matches that decision.
See custom WooCommerce development for role-based subscription pricing that needs to work correctly through checkout and every renewal.