Skip to content

Feature request: Full price proration option for subscription upgrades #10482

@HamdiBarkous

Description

@HamdiBarkous

Problem

Polar currently offers two proration behaviors for subscription upgrades:

  • invoice — charges the prorated difference based on remaining cycle time
  • next_period — applies the change at the next renewal

Neither works well for credit-based systems.

The gaming vector

With time-based proration (invoice), a user can:

  1. Subscribe to a lower plan and receive all credits immediately
  2. Consume all credits
  3. Upgrade late in the billing cycle
  4. Pay only a tiny prorated amount
  5. Receive the full credit allocation of the new plan

This lets users obtain credits from two plans for barely more than the cost of one.

Request

A third proration option — full_immediately or no_prorate — that charges the full price of the new plan on upgrade, regardless of remaining cycle time. The new billing cycle would reset from the upgrade date.

This is important for any SaaS where value is delivered as discrete units (credits, tokens, API calls) rather than continuous access. Value is consumed upfront, so time-based proration does not reflect actual usage.

Prior art

  • Paddle: proration_billing_mode: "full_immediately"
  • Stripe: proration_behavior: "none" combined with immediate invoice creation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions