FluxBilling
Sales

Upgrades, Downgrades and Proration

How plan changes are offered and priced: the exact proration formula, why a reduction never refunds, when a change takes effect, add-on quantities, and what the customer sees.

Updated · 2026-09-03

What this article covers

A live service can be moved to a different plan, and add-ons can be attached to it or taken off it, without cancelling anything and without restarting the billing cycle. The platform calls every one of these changes an upgrade, whichever direction the price moves. This article explains where the change is offered, exactly how the money is worked out, what the resulting document says, when the change actually takes effect, and what your customer sees while it happens.

The screens themselves are described in Service Details (the operator side) and Managing Your Services (the customer side). The plan ladder is built on the product — see Products.

How an upgrade is offered in the first place

A service can only move to a plan you have deliberately connected to its current plan. Those connections are the Upgrade Paths section of the product editor, and each path carries:

  • Target Product — where the service can move to. Only products delivered the same way as the source are offered; a change that crosses two different delivery methods cannot be carried out and is refused.
  • Upgrade Fee — an optional flat charge on top of the prorated difference.
  • Execution ModeAutomated or Manual. Manual is for changes that need you to physically swap hardware.
  • Option Mapping — what happens to each add-on on the way across: kept as it is, removed, or replaced by an equivalent on the target plan.
  • An enable toggle and a position, which is the order the customer sees.

Note: the upgrade screen only lists targets priced at or above what the service pays today. A path you have configured downwards is not offered to the customer and does not appear on the Upgrade Paths tab; reductions are made by you, and are covered under Reducing a plan below.

Who can start one, and from where

The customer

On their service page an Upgrade Plan card appears, subtitled Scale with prorated pricing, with a View options link. It is shown only when the service is Active, is not suspended, and at least one upgrade path applies. Team members on a shared account can use it as well as the account owner. Clicking it opens the Upgrade Your Plan window.

You

Open the service and click Upgrade. The button appears only while the service is Active. The window has up to four tabs:

Upgrade Paths
The paths configured on the product. Each candidate shows the current price, the new price, the days left in the cycle and what the customer pays to make the change. This is the same list the customer sees.
Any Product
Move the service to any product in your catalogue, whether or not a path exists — including a cheaper one. Choosing a target loads a live preview. Colocation and IP transit services are restricted to products in their own category.
Options Only
Add or remove add-ons while staying on the same plan. Active add-ons are listed with a Remove button, and everything available on the product that is not already attached is listed with an Add button.
Resources
Colocation services only, and the tab the window opens on for them. Raise power, bandwidth, cross-connects, peering sessions or VLANs, set the recurring change and any one-time fee, and generate the order.

Note: only one change can be in progress per service at a time, from either side. While one is pending, both windows show a banner naming the target, the status, the amount and the date it was raised. The customer’s banner offers Cancel Pending; yours offers Force Execute and Cancel.

Exactly how proration is calculated

The whole calculation rests on one idea: the service keeps the renewal date it already has, so the customer is credited for the part of the current period they have not used and charged for the same part at the new rate.

The cycle length used

Cycle lengths are fixed, not calendar-accurate:

Days used per billing cycle
Billing cycleDays in cycle
Monthly30
Quarterly90
Semi-annually180
Annually365
Hourlynot prorated — see below

The days remaining

Days remaining is the whole number of days from today to the service’s next due date, rounded up. It is clamped: never below zero, and never above the cycle length. A service whose due date has already passed therefore has zero days remaining, which means no credit and no charge for the remaining period.

The four figures

  1. Credit = (what the service pays per cycle today ÷ days in cycle) × days remaining.
  2. Charge = (the target plan’s price for this cycle ÷ days in cycle) × days remaining.
  3. Upgrade fee, if the path carries one, is added in full — it is never prorated.
  4. Total due today = charge − credit + fee, and the result can never fall below zero.

This is the answer to the refund question. The total is floored at zero. If the credit for the unused days is larger than the charge for the new plan — which is exactly what happens on any move to a cheaper plan — the result is zero, never a negative amount. No document is raised, no credit note is issued, no money is returned and nothing is added to the customer’s credit balance. A reduction costs the customer the remainder of the period they have already paid for. If you want to give that money back, do it deliberately as a refund on the paid document or as a manual credit — see Invoice Details.

Two adjustments to the target price

  • Location premium. If the target product carries a per-location surcharge for the location this service already sits in, that surcharge is added to the target’s cycle price before anything is prorated. A change of plan never quietly drops a location premium the customer has been paying since they ordered.
  • Reseller pricing. For a service owned by a reseller, the target is priced from their wholesale catalogue on the service’s own cycle — both in the quote and in what is charged. A target the reseller’s programme does not carry, or one with no price on that cycle, is not offered and is refused with Target product is not available to this reseller on the service’s billing cycle.

Add-ons inside a plan change

The path’s option mapping decides each add-on’s fate, and each is prorated over the same days remaining: an add-on that is dropped produces a credit, an add-on replaced by a different one produces a credit for the old and a charge for the new, and an add-on kept as it is produces neither. Those option credits are pooled and set against the option charges and then against the plan charge — so they reduce what is due, but again cannot push the total below zero.

Hourly services

An hourly service has no prepaid period to credit. The current hour was already taken at the old rate and the new rate applies from the next hourly charge, so proration is skipped entirely: the credit and the charge are both zero and only a flat upgrade fee, if the path has one, is due. The plan change itself is immediate.

Rounding

Figures are carried to four decimal places, so sub-cent hourly rates survive the arithmetic; ordinary cycles show two.

A worked example

A monthly service at 20.00 with 12 days left before renewal, moving to a plan priced 50.00 per month, on a path with no fee:

  • Credit = 20.00 ÷ 30 × 12 = 8.00
  • Charge = 50.00 ÷ 30 × 12 = 20.00
  • Total due today = 20.00 − 8.00 = 12.00, plus VAT if it applies
  • The renewal date does not move, and the next renewal document is for 50.00.

The same service moving to a 10.00 plan instead: credit 8.00, charge 4.00, total due today 0.00. Nothing is invoiced, nothing is refunded, the change applies at once and the next renewal is 10.00.

The document, and how the change is worded on it

When there is something to pay, a billing document is raised in whichever type your company issues — an invoice or a proforma, set by the billing document type on Billing Settings. An order is also created so the change is visible in Orders; it carries an Upgrade badge and an Upgrade Details banner naming the old and new products, the credit, the charge and any fee. See Order Details.

The lines are written to read as things bought, not as an adjustment:

How each line appears
LineWording
The plan changeService upgrade from "Old plan" to "New plan" (hostname) — prorated for 12 days. The hostname or address is included so a customer with several servers can see which one changed. The “prorated for N days” suffix is only added when part of a cycle is being charged.
The feeA separate line reading Upgrade fee.
An add-on gainedAdd: "Option name" (12 days).
An add-on replacedUpgrade: "Option name" (12 days).
A colocation resource changeYour own summary text, with (prorated, N days) appended, plus a separate — one-time fee line when you set one.

Note: there is never a negative “credit” line. The credit for the unused days is subtracted inside the lines above, so the plan line already shows the net amount due. A line fully absorbed by credit is dropped from the document rather than shown at zero. This is deliberate: a negative line on an invoice reads to customers as a refund they are owed.

VAT is calculated on the net figure using the customer’s own tax position, exactly as on any other document.

When the change takes effect

What happens after the change is created
CaseWhen it applies
Nothing to pay (total is zero)Immediately. No document is raised at all; the plan, the price and the add-ons change on the spot.
There is an amount to payWhen the document is paid. Until then the change is awaiting payment and nothing about the service has moved.
A path in Manual execution mode on hardware you ownPayment moves it to awaiting admin. You swap the hardware, then click Force Execute on the pending banner to finish it.
The delivery step failsThe change is marked failed with the reason. Fix the cause and click Force Execute to run it again — a failed change is retryable, not a dead end.

When it applies, four things happen at once: the service moves to the new product, its recurring amount becomes the new price, its name follows the new product, and the add-on changes are written and delivered onto the resource. The renewal date is not moved and the cycle is not restarted — which is the whole reason only the remaining days were charged.

Note: nothing in this flow schedules a plan change for a future date. Every change here is either immediate or waiting on a payment. If you want a lower price to start at the next renewal instead, see the second route under Reducing a plan.

Add-ons: quantity up and down

Add-ons behave differently from a plan change, and there are three separate routes to them with three different money outcomes. Getting these straight is the difference between a correct bill and an argument.

The three ways an add-on changes, and what each charges
RouteWhoWhat is charged
The Service Options card on the customer’s own service pageCustomerA full cycle at the add-on’s price, plus its setup fee, on a document raised immediately. This route is not prorated — the customer pays a whole period even a day before renewal. The add-on then renews on its own date.
The Options Only tab of the upgrade windowYouProrated over the days left in the cycle. Removals credit their unused days against whatever is being added in the same change; if you only remove, the total is zero, no document is raised and no money comes back.
Add Option on the Service Options card in the admin panelYouNothing at all. This attaches the add-on to the service with the price you type. No document is raised now; the add-on simply appears on the next renewal document.

Changing how many

An add-on carries a quantity as well as a price. In the admin panel, put the service into Edit and use the quantity dropdown on the add-on’s row to raise or lower it. Where the add-on defines a maximum per service, a quantity above it is refused and the message says how many are already held.

  • What is granted changes immediately. For an add-on that grants a resource, the quantity multiplies it — a “+1 GB RAM” add-on at four grants 4 GB — and the resource is re-applied to the service as soon as you save.
  • What is billed changes at the next renewal. The amount stored on the row is the price of one unit; the renewal document charges that price multiplied by the quantity. Raising the quantity therefore raises the recurring bill from the next renewal onward, and lowering it lowers it. Nothing is invoiced or credited at the moment you change it.
  • There is no proration on a quantity change in either direction, and no refund for lowering one mid-cycle.

Tip: that difference is what makes a quantity change the gentlest tool you have. To give a customer more capacity now and start charging for it at their next renewal, raise the quantity. To do it the other way — charge now and deliver now — use the Options Only tab so the extra days are billed properly.

An add-on that cannot be applied to the resource automatically is not lost: it appears in the Automations panel as a pending task saying a purchased option needs an operator to deliver it. See Provisioning: From Paid Order to Live Service and Product Options.

Reducing a plan

There is no customer-facing downgrade. When a customer asks to move down, you have two honest routes and they differ in when the lower price starts:

Route 1 — change the plan now

  1. Open the service and click Upgrade, then the Any Product tab.
  2. Choose the cheaper product. The preview shows the credit and the charge; on a reduction these net to zero.
  3. Click Create Upgrade. Because there is nothing to pay, the change applies at once.

The service is now on the cheaper plan at the cheaper price, and the next renewal is for the lower amount. The customer receives nothing back for the remainder of the period they had already paid for. Say so before you do it.

Route 2 — let the current period run out

If the customer should keep what they have until the end of the period they paid for, leave the plan alone and simply reduce the price the next renewal will charge: open the service, click Edit, change the Amount, and save. The service stays on its current plan and keeps its current resources; only the next renewal document is smaller. Change the plan itself at renewal time if the resources also need to come down.

Warning: reducing what a service is charged does not reduce what it is given. Route 2 leaves the customer on the larger plan at the smaller price until you also change the product. Set yourself a reminder, or use Route 1 at the renewal date.

For a colocation service, the Resources tab does the same job in one step: set the new resource figures and enter a negative Recurring change. Nothing is invoiced and the reduced amount takes effect from the next renewal.

A pending change meets a renewal

These two collide more often than you would expect, because a change the customer never paid for can sit around for weeks.

While the change is pending

Any unpaid renewal document that already exists for that service is put On Hold the moment the change is created, so the customer cannot pay the old amount while a plan change is in flight. When the change completes, the held document is rewritten to the new price — its main line is re-described and re-priced, its VAT recalculated, its add-on lines left alone — and released back to Unpaid. If the change is cancelled instead, the held document is released unchanged.

When the renewal date arrives first

If the service’s next renewal document is raised while a change is still pending or awaiting payment, the renewal wins. The pending change is cancelled, its unpaid document is cancelled with it, and a fresh renewal document is issued for the plan the service is actually on. The customer is not charged twice and is not moved to the new plan. If they still want the change, start it again after the renewal.

The exception is a company running continuous invoice generation, where each cycle’s document accumulates instead of replacing the previous one. There, nothing is cancelled and the pending change survives the renewal.

Can a change and a scheduled reduction coexist?

No. Exactly one change may be in progress on a service at any moment, and every route — plan change, options-only change, colocation resources — refuses with An upgrade is already in progress for this service while one is outstanding. The colocation Resources tab additionally shows a warning telling you to complete or cancel the existing one first. Since no plan change here is ever scheduled for a future date, there is no such thing as a queued reduction sitting behind a pending upgrade.

Cancelling, forcing and tidying up

  • The customer can cancel their own pending change from the banner in their upgrade window. Its unpaid document and its order are cancelled with it, and any held renewal document is released.
  • You can cancel a pending, awaiting-payment or awaiting-admin change from the banner in the upgrade window, with the same effects.
  • Force Execute applies a change without waiting for payment. Use it when you have taken money another way, when a manual hardware swap is done, or to re-run one that failed. It refuses on a change that has already completed or been cancelled.
  • Housekeeping runs daily: a change that has been mid-execution for more than 24 hours is marked failed and its held renewal document released; a change left unpaid for more than 30 days is cancelled along with its document; and a document held by a change that is no longer live is released automatically.

What the customer sees, step by step

  1. On their service: an Upgrade Plan card reading Scale with prorated pricing, with View options.
  2. Choosing: a window titled Upgrade Your Plan showing their current service and price, then a Plan Upgrades list. Each candidate shows the new price per cycle and what is due today. If nothing applies, it reads You’re on the best plan.
  3. Reviewing: Review Upgrade opens a confirmation showing the current plan and the new plan side by side, then the breakdown: Credit for N unused days as a green negative figure, New plan (N days), Upgrade fee where one applies, VAT, and Total due today. Underneath, an Option Changes list marks each add-on Kept, price updated or Removed. A blue note states the recurring price from the next cycle.
  4. Confirming: the button reads Confirm & Pay with the amount on it. They are then taken straight to the invoice or proforma to pay, with a confirmation message; if there was nothing to pay they see Upgrade completed successfully! instead.
  5. Waiting: until they pay, the window shows a Pending banner with the amount and a Cancel Pending button, and the service is unchanged.
  6. Afterwards: the service shows the new plan and price, and the upgrade order appears in their order history. There is no separate confirmation email for an upgrade — the document they paid is the record.

Tip: because there is no upgrade confirmation email, a change you make on a customer’s behalf is silent from their side. Tell them, and use Resend Welcome on the service if the change produced new credentials or a new address.

Messages you may see

Common refusals and what they mean
MessageWhat to do
Service must be active to upgradeThe service is pending, suspended, cancelled or failed. Bring it to Active first — unsuspend it, or finish its delivery.
An upgrade is already in progress for this serviceComplete, force or cancel the existing change from the banner at the top of the upgrade window.
Upgrade path not availableThe path was disabled or removed, or the target product was deactivated, between the list loading and the confirmation. Reload the window.
Service is already on this productOn the Any Product tab, the current product is not offered; you have picked one the service has already been moved to.
Option … is already activeThat add-on is attached. Change its quantity or its configured choice on the service instead of adding it again.
Option … is not available for this productThe add-on is not assigned to the service’s current product. Assign it on the product first — see Products.
This option allows at most N per serviceThe add-on has a per-service ceiling and the quantity you asked for exceeds it. The message says how many are already held.
Target product is not available to this reseller…The reseller’s programme does not carry that product, or carries no price for it on this service’s billing cycle. Add it to their programme or price that cycle.
Change at least one resource value or set a priceOn the colocation Resources tab, nothing was actually changed.

Tips and gotchas

Warning: nothing in this flow ever produces a negative amount, a credit note or a refund. If a customer is entitled to money back, that is a separate, deliberate action on the document they paid.

Tip: the closer a change is made to the renewal date, the less it costs — there are fewer days to charge for. A customer asking to move up on the last day of their cycle pays almost nothing today and the full new price at renewal. That is correct, not a mistake in the quote.

Tip: a service whose due date has already passed has zero days remaining, so a plan change costs nothing today and the new price appears in full on the next renewal document. Check the due date before you tell a customer what a change will cost.

Note: an upgrade acts on an existing service — it never creates a second one. On the resulting order, the line items link back to the service that was changed.

Related articles

Service Details · Services · Products · Product Options · Orders · Order Details · Invoices · Invoice Details · Proforma Details · Billing Settings · Managing Your Services · Provisioning: From Paid Order to Live Service