Skip to content

Instantly share code, notes, and snippets.

@utsavsomaiya
Last active February 6, 2026 12:57
Show Gist options
  • Select an option

  • Save utsavsomaiya/4a6ab291de4e38f4d1d77a183f0224c1 to your computer and use it in GitHub Desktop.

Select an option

Save utsavsomaiya/4a6ab291de4e38f4d1d77a183f0224c1 to your computer and use it in GitHub Desktop.
Membership Plan Management - Upgrade, Downgrade, and Proration Guide

Membership Plan Management

Available Plans

The platform offers four membership tiers with both monthly and yearly billing options:

Monthly Plans:

  • Silver: $19.99/month - 50 accounts, 10% transaction fee
  • Gold: $59.99/month - 300 accounts, 8% transaction fee
  • Platinum: $149.99/month - 1,000 accounts, 6% transaction fee
  • Enterprise: $399.99/month - 5,000 accounts, 4% transaction fee

Yearly Plans (20% savings):

  • Silver Yearly: $191.90/year - 50 accounts, 10% transaction fee
  • Gold Yearly: $575.90/year - 300 accounts, 8% transaction fee
  • Platinum Yearly: $1,439.90/year - 1,000 accounts, 6% transaction fee

How Plan Upgrades Work

When you upgrade to a higher-tier plan, the change takes effect immediately:

  1. The system calculates how many days are left in your current billing cycle
  2. You receive credit for the unused portion of your current plan
  3. A prorated charge is calculated for the new plan covering the remaining days
  4. You are charged the difference between the credit and the new plan cost
  5. Your new plan limits and features become active right away
  6. At your next renewal date, you'll be charged the full price of the new plan

Example: If you're on the Silver plan ($19.99/month) with 15 days remaining and upgrade to Gold ($59.99/month):

  • Credit from Silver: 15 days × $0.67/day = $10.05
  • New charge for Gold: 15 days × $2.00/day = $30.00
  • You pay the difference: $19.95 today
  • Next month, you'll pay the full $59.99

How Plan Downgrades Work

When you switch to a lower-tier plan, the change is scheduled for your next renewal date:

  1. You continue using your current plan with all its features and limits
  2. The system marks your account to switch plans at renewal
  3. No immediate charges are applied
  4. On your next billing date, you'll be charged for the lower-tier plan
  5. The new limits and features take effect at that time

Important: Even if you exceed the new plan's account limit before the downgrade takes effect, the change will still proceed. You'll need to reduce your account count to stay within the new limit.

How Auto-Renewal Works

Your membership automatically renews at the end of each billing cycle:

  1. The system checks for renewal 12 hours before your plan expires
  2. If you have a scheduled plan change (downgrade), that plan is used for renewal
  3. The full price of the plan is charged to your payment method
  4. Your billing cycle extends by one period (weekly, monthly, or yearly)
  5. If payment fails, you'll receive a notification email
  6. The system will retry the payment until your billing period deadline
  7. Your account remains accessible during retry attempts

Proration Calculations

Proration ensures you only pay for what you use when upgrading:

Daily Rate Calculation:

  • Monthly plans: Plan price divided by 30 days
  • Yearly plans: Plan price divided by 365 days
  • Weekly plans: Plan price divided by 7 days

Upgrade Formula:

  1. Calculate remaining days in current billing cycle
  2. Calculate credit: Remaining days × Current plan daily rate
  3. Calculate new cost: Remaining days × New plan daily rate
  4. Charge difference: New cost minus Credit

The system handles frequency changes intelligently (for example, switching from monthly to yearly billing) by adjusting the calculations to ensure fair pricing.

Plan Cancellation

When you cancel your membership:

  1. Your cancellation is recorded with the current timestamp
  2. You can choose to remove your payment method from the system
  3. Your plan remains active until the end of your current billing period
  4. No future renewals will be processed
  5. You can optionally provide feedback about why you're cancelling

Over-Limit Feature

The over-limit feature allows you to exceed your membership plan's account limit by paying an additional monthly fee per extra account.

How It Works:

When you enable the over-limit feature:

  1. You can upload accounts beyond your plan's limit
  2. Each month, the system counts how many accounts exceed your limit
  3. You are charged a per-account fee for each account over the limit
  4. This charge is separate from your regular membership fee

Calculation:

The system calculates your overage using this formula:

  • Accounts Over Limit = Total Active Accounts - Plan Limit
  • Monthly Charge = Accounts Over Limit × Price Per Account

Only active accounts count toward your limit. Deactivated accounts are excluded from the calculation.

Example: If you have a Gold plan (300 account limit) and you have 350 active accounts with a $5 per-account overlimit fee:

  • Accounts over limit: 350 - 300 = 50 accounts
  • Monthly overlimit charge: 50 × $5 = $250
  • You pay $59.99 for Gold membership + $250 overlimit = $309.99 total

Billing Schedule:

Overlimit charges are processed monthly on the 1st of each month:

  • The system counts your active accounts on the last day of the previous month
  • If you exceed your limit, you're charged for that month's overage
  • The charge covers the entire previous month's billing period
  • Payment is automatically charged to your payment method on file

Enabling/Disabling:

You can turn the over-limit feature on or off at any time from your membership settings:

  • When enabled, you can exceed your plan limits and will be charged accordingly
  • When disabled, you cannot upload accounts beyond your plan limit
  • The toggle is available only if the feature is enabled for your platform

Payment Failures:

If an overlimit payment fails:

  1. You receive an email notification about the failed payment
  2. Your ability to upload new accounts is blocked
  3. The over-limit feature is automatically disabled
  4. You must update your payment method to restore access
  5. You can retry the payment from your membership settings

Account Blocking:

When an overlimit payment fails, your account enters a blocked state where you cannot upload new accounts:

  • You are prevented from uploading any new accounts
  • All existing accounts continue to work normally, including the over-limit accounts
  • Existing accounts can still receive payments and process transactions
  • All platform features remain accessible for your current accounts
  • Only the ability to ADD more accounts is restricted

To restore your ability to upload new accounts:

  • Update your payment method in your account settings
  • Retry the failed overlimit payment
  • Once payment succeeds, the block is removed and you can upload accounts again

Pricing:

The per-account overlimit fee is configured by the platform administrator. You can view the current rate in your membership settings before enabling the feature.

Estimated Charges:

Your membership settings display:

  • Current number of accounts over your limit
  • The per-account fee rate
  • Your estimated monthly overlimit charge

This helps you understand what you'll be charged before the next billing cycle.

Transaction History

Every payment is recorded with:

  • Amount charged
  • Payment status (successful or failed)
  • Next billing date
  • Payment processor reference
  • Any revenue sharing details (if applicable to your account type)

Your billing history includes three types of transactions:

  • Regular membership renewals
  • Over-limit charges (if applicable)
  • Other platform fees

You can view your complete billing history in your account settings to track all past transactions. Over-limit transaction invoices can be downloaded as PDFs for your records.

@utsavsomaiya
Copy link
Author

Questions and Recommendations for Review

Current Behavior Analysis:

When an overlimit payment fails, the system currently:

  • Blocks uploading new accounts
  • Keeps all existing accounts active and functional, including the over-limit accounts
  • Allows those accounts to continue receiving payments and processing transactions
  • Only restricts adding MORE accounts

Business Questions to Consider:

  1. Should over-limit accounts remain fully functional when payment fails?

    • Currently, companies get free service for over-limit accounts until they pay
    • Is this the intended business model or a potential revenue leak?
  2. Should there be a grace period before blocking uploads?

    • Currently blocks immediately on first payment failure
    • Consider allowing 3-5 days for payment method updates before restricting access
  3. What happens with accumulated unpaid charges?

    • If payment fails in January and February, do they owe for both months?
    • Current system attempts to charge each month independently
    • Should unpaid balances accumulate and be collected together?
  4. Should there be escalating consequences for repeated failures?

    • First failure: Block new uploads (current behavior)
    • Second failure: Warning email about potential account restrictions
    • Third failure: Consider stronger actions?
  5. Is there a maximum retry period?

    • How long can someone remain blocked before requiring manual intervention?
    • Should the overlimit feature be permanently disabled after X failures?

Recommendations:

  1. Add Account Functionality Restrictions:

    • Consider restricting over-limit accounts after payment failure
    • Option A: After grace period, deactivate newest accounts to bring count within plan limit
    • Option B: After X failed payment attempts, restrict all account functionality until payment succeeds
    • This ensures you're not providing free service indefinitely
  2. Implement Grace Period:

    • Give 3-5 days after first payment failure before blocking uploads
    • Send reminder emails at 1 day, 3 days, and final warning
    • This reduces friction for legitimate payment method issues
  3. Track Cumulative Debt:

    • If overlimit charges fail for multiple months, track total amount owed
    • Require full payment of all outstanding overlimit charges before unblocking
    • Prevents gaming the system by ignoring charges
  4. Automatic Account Adjustment:

    • After payment failure, automatically deactivate the most recently added accounts
    • Bring account count back within their paid plan limit
    • Notify user which accounts were deactivated and why
    • Accounts can be reactivated once payment succeeds
  5. Maximum Retry Limit:

    • After 3 consecutive overlimit payment failures, permanently disable the overlimit feature
    • Require manual review or plan upgrade to re-enable
    • Prevents indefinite free service abuse
  6. Proactive Notifications:

    • Send warning email when approaching plan limit
    • Remind about overlimit charges BEFORE billing date
    • Show running total of estimated charges in dashboard
    • Reduces surprise failed payments
  7. Payment Method Validation:

    • Before enabling overlimit feature, verify payment method with small authorization
    • Reduce likelihood of payment failures
    • Ensure valid payment method is on file

Risk Assessment:

Without additional restrictions, the current system allows:

  • Companies to upload unlimited accounts
  • Keep those accounts active indefinitely even without paying overlimit fees
  • Only consequence is inability to add even more accounts
  • Potential for significant revenue loss if companies exploit this

Suggested Priority:

High Priority:

  • Implement automatic account deactivation when payment fails (brings them back to plan limit)
  • Track cumulative unpaid overlimit charges

Medium Priority:

  • Add grace period with reminder emails
  • Set maximum retry limit before requiring manual intervention

Low Priority:

  • Enhanced notification system
  • Payment method pre-validation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment