Understanding Price Changes and Stripe Integration
How BuildStability Works with Stripe:
BuildStability uses Stripe to securely process all payments for your services. When you create a service (membership, pack, or pass), we create a corresponding product and price in your Stripe account. This ensures all payments are processed securely and professionally.
Why Prices Can't Be Directly Changed:
Stripe maintains an audit trail for all invoices and payments. To preserve this integrity, certain price fields are "immutable" (cannot be changed) once created. This is similar to how you can't change a receipt after it's been issued - it maintains accuracy for accounting and tax purposes.
What Happens When You Change a Price:
When you update certain fields in BuildStability, our system automatically: 1. Creates a new price in Stripe with your updated values 2. Updates your database to use the new price 3. Archives the old price (so it can't be used for new clients) 4. Updates existing client subscriptions to use the new price (for future billing cycles) 5. Maintains a complete audit trail of all changes
Fields That Require a New Price:
The following fields cannot be changed on an existing Stripe price: • Price Amount - Changing from $150 to $152 requires a new price • Currency - Changing from USD to AUD requires a new price • Billing Interval - Changing from monthly to weekly requires a new price • Tax Behavior - Changing how tax is calculated requires a new price
Trainer Examples:
Example 1: Increasing Monthly Membership Price
Sarah runs a personal training studio and offers a "Monthly PT Membership" at $150/month. After 6 months, she wants to increase it to $165/month due to rising costs.
How to Change the Price in BuildStability:
1. Navigate to Business page in the main menu 2. Click on the Membership Plans tab 3. Find your "Monthly PT Membership" service in the list 4. Click the Edit button (pencil icon) next to the service 5. In the Edit Service modal, locate the Price field 6. Change the amount from $150.00 to $165.00 7. Click Save at the bottom of the modal 8. BuildStability will automatically handle the rest!
What Happens Behind the Scenes:
• BuildStability creates a new $165/month price in Stripe • The old $150/month price is archived (set to inactive) • Sarah's 12 existing clients on the $150/month plan are automatically updated • Their next billing cycle will charge $165 (with automatic proration if mid-cycle) • New clients signing up will automatically use the $165/month price
Why This Matters:
• Sarah doesn't need to manually update each client's subscription in Stripe • All existing clients are smoothly transitioned to the new price automatically • Historical invoices remain accurate (showing $150 for past months) • New clients automatically get the updated price when they sign up
Example 2: Changing Billing Frequency
Mike offers a "Weekly Training Package" at $200/week. He wants to offer a monthly option at $750/month (saving clients $50/month).
Two Methods - Which Should You Use?
Method 1: Create a New Service (RECOMMENDED)
Create a separate service for the monthly option:
1. Navigate to Business page in the main menu 2. Click on the Membership Plans tab 3. Click the + Add Service button at the top 4. Select Membership as the service type 5. Enter service name: "Monthly Training Package" (clear, distinct name) 6. Set the Price to $750.00 7. Select Currency (e.g., AUD, USD) 8. Set Billing Interval to Monthly 9. Set Sessions per Week/Month (Credits) or other membership settings 10. Click Create Service
Pros of Method 1:
✅ Better Reporting - Revenue from weekly vs monthly is clearly separated in reports ✅ Clear Traceability - Easy to see which clients are on weekly vs monthly plans ✅ Better Organization - Two distinct services in your service list ✅ No Confusion - Service name matches billing frequency ("Weekly" vs "Monthly") ✅ Easier Client Management - Quickly identify which clients have which plan ✅ Better Analytics - Can compare performance of weekly vs monthly pricing ✅ Safer - Zero risk of accidentally affecting existing weekly clients
Cons of Method 1:
❌ More services to manage (but this is actually better for organization) ❌ Need to remember which service to assign (but clear naming solves this)
Method 2: Edit Existing Service to Change Interval
Change the billing interval on your existing service:
1. Go to Business → Membership Plans tab 2. Click Edit on your existing "Weekly Training Package" service 3. Change the Billing Interval from "Weekly" to "Monthly" 4. Update the Price to reflect monthly pricing ($750) 5. Click Save 6. BuildStability creates a new monthly price (the weekly price remains for existing clients)
Pros of Method 2:
✅ Single service to manage ✅ Simpler - one place to update settings
Cons of Method 2:
❌ Poor Reporting - All revenue appears under one service name, harder to separate weekly vs monthly ❌ Less Traceability - Harder to see at a glance which clients are on which billing frequency ❌ Confusing - Service named "Weekly Training Package" but billing monthly for new clients ❌ Less Clear - Need to check Stripe Dashboard or audit logs to see which price each client uses ❌ Analytics Challenges - Can't easily compare weekly vs monthly performance
RECOMMENDATION: Use Method 1 (Create New Service)
For the best traceability, reporting, and client management, we recommend creating a separate service for the monthly option. This gives you: • Clear separation in your service list • Better revenue reporting (weekly vs monthly) • Easier client identification • Better analytics and insights • No confusion about which clients have which plan
What Happens Behind the Scenes (Both Methods):
• BuildStability creates a new monthly price ($750/month) in Stripe • The weekly price ($200/week) remains active for existing clients • Mike can now offer both options to new clients • Existing weekly clients continue on their current plan • New clients can choose between weekly or monthly when signing up
Why This Matters:
• Mike can test different pricing models without disrupting existing clients • Clients can choose the billing frequency that works for them • Both prices remain available in Stripe for future use • With Method 1: Clear reporting shows which pricing model performs better
Example 3: Currency Change for International Expansion
Emma's studio in Australia wants to accept payments in both AUD and USD for international clients.
Two Methods - Which Should You Use?
Method 1: Create a New Service (STRONGLY RECOMMENDED)
Create a separate service for each currency:
1. Navigate to Business page in the main menu 2. Click on the Membership Plans tab 3. Click the + Add Service button at the top 4. Select Membership (or Pack/Pass) as the service type 5. Enter service name: "Monthly PT Membership (USD)" - include currency in name for clarity 6. Set the Price to the USD equivalent (e.g., $100.00) 7. Select Currency dropdown and choose USD (instead of AUD) 8. Set all other settings (billing interval, sessions per week/month (Credits), etc.) to match your AUD service 9. Click Create Service 10. BuildStability creates a new USD price in Stripe
Pros of Method 1:
✅ Critical for Reporting - Revenue separated by currency, essential for accounting ✅ Clear Traceability - Instantly see which clients pay in AUD vs USD ✅ Better Accounting - No currency mixing in financial reports ✅ Tax Compliance - Easier to track tax obligations by currency ✅ Exchange Rate Clarity - No confusion about which exchange rate was used ✅ Better Analytics - Compare performance of AUD vs USD pricing ✅ Client Clarity - Service name clearly indicates currency ✅ No Reporting Headaches - Clean separation prevents accounting errors ✅ Stripe Dashboard Clarity - Easy to see revenue by currency in Stripe
Cons of Method 1:
❌ More services to manage (but this is essential for proper accounting) ❌ Need to remember which service to assign (but clear naming solves this)
Method 2: Edit Existing Service to Change Currency
Change the currency on your existing service:
1. Go to Business → Membership Plans tab 2. Click Edit on your existing service 3. Change the Currency dropdown from "AUD" to "USD" 4. Update the Price to the USD equivalent 5. Click Save 6. BuildStability creates a new USD price (the AUD price remains for existing clients)
Pros of Method 2:
✅ Single service to manage ✅ Simpler - one place to update
Cons of Method 2:
❌ MAJOR Reporting Headaches - Revenue from different currencies mixed together ❌ Accounting Nightmare - Can't easily separate AUD vs USD revenue ❌ Tax Compliance Issues - Harder to track tax obligations by currency ❌ Exchange Rate Confusion - Unclear which exchange rate applies to which payments ❌ Poor Traceability - Hard to see which clients pay in which currency ❌ Analytics Impossible - Can't compare AUD vs USD performance ❌ Client Confusion - Service name doesn't indicate currency ❌ Stripe Dashboard Messy - Revenue appears mixed, hard to analyze ❌ Financial Reporting Errors - Risk of incorrect currency conversion in reports
STRONG RECOMMENDATION: Use Method 1 (Create New Service)
For proper accounting, tax compliance, and accurate reporting, you MUST create separate services for each currency. Mixing currencies in one service creates serious reporting and accounting problems:
• Accounting Requirements - Most accounting systems need revenue separated by currency • Tax Compliance - Tax obligations may differ by currency and need separate tracking • Financial Reporting - Accurate financial statements require currency separation • Exchange Rate Tracking - Need to know which exchange rate applied to each payment • Audit Trail - Clear separation makes audits and financial reviews easier
What Happens Behind the Scenes (Both Methods):
• BuildStability creates a new USD price (e.g., $100 USD) in Stripe • The existing AUD price (e.g., $150 AUD) remains active • Emma can now offer services in both currencies • Clients are charged in their selected currency • Stripe handles currency conversion automatically
Why This Matters:
• Emma can expand her client base internationally • Clients pay in their preferred currency (no confusion about exchange rates) • No manual currency conversion needed - Stripe handles it • With Method 1: Clean financial reporting with proper currency separation • With Method 1: Easy tax compliance and accurate accounting records
FAQ: Price Changes
Q: If I increase my price, will existing clients be charged more immediately?
A: Yes, but with automatic proration. If you increase a monthly membership from $150 to $165 mid-cycle, Stripe automatically calculates the prorated amount. Your client's next invoice will show the new price, with a credit for the unused portion of the old price. This ensures fair billing.
Q: Can I keep existing clients on the old price?
A: Yes, but it requires manual management. When you create a new price, existing subscriptions are automatically updated. If you want to "grandfather" existing clients, you would need to: 1. Create the new price for new clients 2. Manually prevent existing subscriptions from updating (advanced) 3. Or create a separate service with the old price
Q: What happens to past invoices when I change a price?
A: Nothing - past invoices remain unchanged. This is why Stripe doesn't allow direct price changes - it maintains an accurate audit trail. Your old invoices will always show the price that was charged at that time.
Q: Can I change a price back to the original amount?
A: Yes, but it creates another new price. If you increase from $150 to $165, then want to go back to $150, BuildStability will create a new $150 price. The $165 price will be archived. This maintains a complete history of all price changes.
Q: What if I change multiple fields at once (price + currency)?
A: BuildStability creates one new price with all the updated values. For example, changing from $150 USD/month to $200 AUD/week creates a single new price with all new values. This is more efficient than creating multiple prices.
Q: How do I know which price a client is using?
A: You can see this in your Stripe Dashboard. Each subscription shows the price ID and amount. BuildStability also tracks this in the audit log, showing when prices were changed and which clients were affected.
Q: Will changing a price affect my accounting?
A: No - Stripe maintains separate records for each price. Your accounting software can track revenue by price ID, making it easy to see revenue from different price points over time.
Best Practices:
• Communicate Changes: Always notify clients before increasing prices • Grandfathering: Consider keeping existing clients on old prices for loyalty • Test Pricing: Use new prices for new clients to test market response • Audit Trail: Review the audit log to see all price changes and their impact • Stripe Dashboard: Check your Stripe Dashboard to see all active and archived prices