Why proration mistakes cost more than the difference
A proration error is rarely large, but it lands on the customer’s desk at the worst moment: right after they agreed to pay you more. A mid-cycle upgrade invoice that does not match what the customer expected is one of the most common reasons subscription invoices get disputed or paid late.
The fix is to calculate it the same way every time, show the credit and the new charge as separate lines on the invoice, and state the proration method in your terms. Use the summary below as the explanation line on the invoice.
Worked example: by month vs. by day on an annual plan
An annual plan at $1,200 starts January 1, 2026. On March 15 the customer upgrades to the $2,400 plan.
By month: January and February are fully used, and 14 of March’s 31 days are used, so 2.45 months are gone and 9.55 of 12 months are left. The credit is $954.84, the new charge is $1,909.68, and the customer owes $954.84 now.
By day: 73 of the year’s 365 days are used and 292 are left, exactly 80% of the year. The credit is $960.00, the new charge is $1,920.00, and the customer owes $960.00.
Both are correct. The $5.16 gap comes from February being short: by day it counts as 28 days of value, by month it counts as a full twelfth of the year. Pick one method, write it into the contract, and use it every time.
Frequently asked questions
How do you calculate proration?
Divide the plan price by the number of days in the billing period to get a daily rate, then multiply by the days left after the change. The customer gets a credit for the unused days on the old plan and is charged for the same days on the new plan. The difference is the prorated amount.
What happens when a customer downgrades mid-cycle?
The credit for the unused time on the more expensive plan is larger than the charge for the cheaper plan, so the net result is a credit. Most billing systems carry it forward against the next invoice rather than refunding it.
Should proration use days or months?
Both are common. By month treats every month of the period as equal: an annual plan changed after one month has 11 of 12 months left, and a partial month is split by the days in that month. By day spreads the price over every day of the period, so 31-day months count slightly more; it is the default in Stripe. For monthly plans the two give the same answer. Whatever you choose, state it in the contract so the invoice is never a surprise.
Does the change day count as used on the old plan?
In this calculator the change takes effect at the start of the change date, so the old plan covers the days before it and the new plan covers the change date onward. Billing systems differ slightly, so small differences of one day are normal.
Can I prorate seat or license quantity changes?
Yes. Enter the per-seat price and the old and new quantities. The calculator prorates the difference in total plan value the same way as a plan change.
Should I refund a downgrade credit or carry it forward?
Carrying it forward is the norm for subscriptions: the credit reduces the next invoice and no money moves. Refund it when the customer cancels outright or the contract says so. Either way, show the credit as its own line so the customer can see where it came from.
Do I need to prorate at all?
No. Some businesses apply plan changes at the next renewal instead and skip proration entirely. That is simpler to bill and explain, but it delays upgrade revenue and frustrates customers who want a downgrade now. Many teams prorate upgrades immediately and apply downgrades at renewal.