Skip to main content
When price or seat quantity changes inside a paid period, part of the old term remains unused. Proration determines both the effective time of the new terms and how Ruba settles that unused value.

Proration behaviors

Invoice now: invoice

Ruba calculates the unused old value and the remaining-period value of the new plan, then invoices their difference immediately. An upgrade produces a charge; a downgrade produces a credit.

Carry the difference: prorate

Access changes now, while the adjustment waits for the normal renewal invoice. If the billing interval itself changes, Ruba promotes this behavior to invoice because the old cycle no longer has a compatible next invoice. For both immediate behaviors, a required immediate payment must succeed before Ruba commits the subscription change.

Keep this period unchanged: next_period

Ruba stores the requested values in pending_update. Current access and billing remain unchanged until renewal, when the pending update replaces the current terms. A later immediate update supersedes and removes the pending one.

Restart the cycle: reset

Ruba applies the new plan, charges its full price, and starts a fresh period at the change timestamp. No unused-value credit is created. reset is a preview behavior available on paid plans.

Setting the default behavior

Choose the organization default under Settings → Subscriptions or through Change Organization. Portal plan changes use this value when no operation-specific override is supplied.

Overriding per update

Send proration_behavior with a product or seat update to replace the default for that request.
Immediate settlement

How the prorated amount is calculated

Ruba measures the exact seconds remaining. With S seconds left in a period of T seconds:
For a 5to5 to 20 upgrade after one day of a 30-day period, 2,505,600 of 2,592,000 seconds remain. The old credit is 4.83,thenewremainderis4.83, the new remainder is 19.33, and the settlement is a 14.50charge.Reversingthosepricesproducesa14.50 charge. Reversing those prices produces a 14.50 credit. Because Ruba uses real seconds, the time of day and the actual 28-, 29-, 30-, or 31-day month affect the result.