When you set up a plan
Plans are more than a price: five ways to use them
Most MSPs treat a service plan as one thing: a price line that shows up on an invoice. A plan is also a switch, a container for more than one pricing shape on the same client, and a boundary worth knowing before you go looking for it somewhere it does not reach. Built two throwaway plans on this tenant, a $0 pilot plan and a per-seat add-on, and pushed both through real subscriptions to see exactly where a plan's reach starts and where it stops.
What you will have
- Turn a portal-wide function on for every client on a plan, the same Included Functions panel Managed Desktop already uses for Security awareness training.
- Give an internal or pilot client a $0 plan and see that it creates a real subscription, not a placeholder, and that a computed zero refuses to bill on its own.
- Put a per-seat add-on beside a per-tenant Core plan on the same client, override its quantity basis by hand for that one client, and roll it into the same invoice.
- Recognize the other pricing shapes a plan's Quantity Basis and Pricing Tiers make available besides one flat number.
- Know where a plan's reach stops: CyberSentry Response Rules and the RMM Patch Catalog target a client, a tag, or a policy, never a plan.
Why it works this way
A $0.00 plan still creates a real subscription record, with its own Contract Terms, SLA overrides and History, not a placeholder that skips the billing machinery entirely.
Included Functions gate a portal-wide capability per client through the client's ACTIVE subscription, not through a setting on the client record itself - two clients on two different plans can have two different functions turned on.
A computed $0.00 period still counts as unbilled and still shows the same banner as any other unbilled period; Backfill has nothing in it to actually charge, so nothing is ever generated for it.
A subscription's own quantity basis can be overridden away from the plan's default for one client only, and the override recalculates the count only after Save, not the moment the basis changes.
Rolling a plan into the Core invoice is a per-subscription switch, not a plan-wide setting - the same plan could be rolled up for one client and left standalone for another.
Steps
Open a plan and look at its Included Functions.
Managed Desktop's Included Functions panel lists four switches: CyberSentry security monitoring, Security awareness training, Scheduled meetings & agendas, and Client health scoring. Only Security awareness training is on. Turning one on here is what puts every client with an ACTIVE subscription on this plan in scope for it, wherever that function runs in the portal, not a setting anywhere on the client itself.
Open a plan and look at its Included Functions. Check who that switch actually reaches.
Managed Desktop's Subscribed Clients panel names exactly one client: Bluebird Dental, Active. Security awareness training reaches Bluebird Dental because its subscription to this plan is active, not because anyone flipped a setting on Bluebird Dental's own record. End that subscription and the client drops out of the function with it.
Check who that switch actually reaches. Build a second plan priced at zero.
Northwind Pilot's own recurring item, Northwind Pilot Coverage, has a $0 base price, a Manual - No Audit quantity basis, and a default quantity of 1. A plan does not need a real price to be a real plan: the Base rate line reads $0.00/unit and the plan still saves, still carries its own Included Functions, and still takes subscriptions.
Build a second plan priced at zero. Give the zero-price plan its own switch, then subscribe a client to it.
Northwind Pilot's Included Functions panel has Client health scoring on instead of Security awareness training: a different plan can gate a different function, independently of what any other plan includes. Its Subscribed Clients panel now names Harbor Freight Logistics, Active - subscribing a client to a $0 plan is the same click as subscribing to a $150 one.
Give the zero-price plan its own switch, then subscribe a client to it. Open Harbor Freight Logistics's new subscription and read what it actually bills.
The Plan Items table carries one real line, Northwind Pilot Coverage, at a $0.00 unit price and a $0.00 amount, and the Recurring Total for the whole subscription reads $0.00. This is a full subscription record with its own Contract Terms, SLA overrides and History, not a stub - it just prices to zero.
Open Harbor Freight Logistics's new subscription and read what it actually bills. Notice what a computed zero does not do.
No Commit is on, and the subscription's own banner reads: 1 unbilled period on this subscription: 2026-09. Billing will not charge it on its own. Click to review and charge it with Backfill. A $0.00 period still shows up as unbilled - it just has nothing in it for Backfill to ever actually charge - so a pilot client never gets an accidental invoice off this plan.
Notice what a computed zero does not do. On a paying client, look at the Core plan already doing the per-tenant billing.
Bluebird Dental's Core section carries Managed Desktop: one line, Managed Desktop Support, Base Rate $150.00, quantity 1, for a $150.00 Monthly Total. One flat number for the whole client regardless of headcount - a per-tenant line.
On a paying client, look at the Core plan already doing the per-tenant billing. Add a per-seat plan on top of it as an Add-On, not a replacement.
The same client's Add-On section now carries Northwind Seat Add-on: one line, Per-Seat Security Coverage, Base Rate $6.00, quantity 12, for a $72.00 Monthly Total, sitting right alongside the $150.00 Core total. A per-tenant line and a per-seat line on one client, from two different plans, at the same time.
Add a per-seat plan on top of it as an Add-On, not a replacement. Override that add-on's count for this one client, and roll it into the Core invoice.
The Plan Items table shows Per-Seat Security Coverage counted by Manual - No Audit with a note underneath: Counting by Manual - No Audit for this client (override) - Bluebird Dental has no Microsoft licenses synced, so its quantity was typed by hand instead of left on the plan's own default basis, at 12 for $72.00. Below it, Roll up to Core invoice is on, so this add-on will not send its own invoice - it merges onto whichever Core invoice window covers the same period.
Override that add-on's count for this one client, and roll it into the Core invoice. Look for a plan as a scope on the automation side.
A CyberSentry Response Rule's Settings & Safety panel offers exactly two Applies to choices, All clients or Manual, and Manual opens a Clients list - here it names one, Bluebird Dental. There is no plan option anywhere on this panel: a rule scopes to every client or a hand-picked list of clients, never to who happens to be on a particular plan.
Look for a plan as a scope on the automation side. Check the same question on the RMM side.
The Patch Catalog's Install on many devices dialog offers a Target of Client, Tag, or Policy - switching Target to Policy relabels the second field to Policy too, ready to pick one of the instance's own RMM policies. Same boundary as Response Rules: a push reaches a client, a tag, or a policy's devices, never a plan.
Check the same question on the RMM side.
The pages behind each click
Other ways to do this
Pricing Bands and Pricing Tiers
A Recurring Item's Quantity Basis can be set to Band (flat price by client size) instead of a per-unit count, and a Pricing Tiers card lets one line carry a second rate for whatever the client's Exemptions page assigns to it.
Duplicate plan
Duplicate plan clones a plan's name, pricing, item list and pricing bands into a new plan with no clients subscribed yet; discounts and existing subscriptions are not copied.
Prorate first bill immediately
This plan-level switch decides whether a subscription that starts mid-cycle bills a prorated first invoice on its start date, or waits unbilled until the plan's normal cycle date.
If it did not work
- If an Included Function does not seem to reach a client, check whether that client's subscription to the carrying plan is ACTIVE - a cancelled or paused subscription drops the client out of the function with it.
- If a $0 plan's subscription shows an unbilled-period banner and that looks wrong, it is not: a computed zero still counts as a period, it just never has anything for Backfill to charge.
- If a line's quantity will not move after switching its basis, click Save - the basis change is recorded immediately but the quantity itself only recalculates once the subscription saves.
- If a plan is expected to show up as a scope choice on a Response Rule or an RMM push and does not, that is not a bug - clients, tags and policies are the only scopes either surface offers.
Questions this page answers
What is the Pricing Bands card for?
It prices the WHOLE plan by a count rather than per unit: "from this many technicians, the plan costs this much a month". Add a band for each price point and give it a starting count; the band claims every count from there up to the next band's start. A plan only actually bills by band once one of its price items uses the Band basis - the bands are the price list, that item is what puts them on an invoice.
What happens above my highest band?
That depends on whether you give the top band an ending count. Leave it blank and the top band is open-ended: every count above its start is billed at that price. Fill it in and the band table CLOSES there - a client above that count has no price at all, and every surface refuses out loud rather than quietly billing them the top band's rate: assignment, the monthly evaluation, invoice generation, and the client's own billing card. That is deliberate, and it is how you make large sizes quoted instead of listed. The client's existing band keeps billing correctly meanwhile; what you owe them is a quote, not a fix.
Why was my band table rejected?
Bands have to cover every count with exactly one band, so the card refuses three shapes: a GAP (a band ends at 4 and the next starts at 8, leaving 5-7 unbilled), an OVERLAP (two bands claiming the same count, so which one prices it is ambiguous), and a table that does not start at the first count (a lowest band starting at 3 leaves clients with 1 or 2 unpriced). It also refuses a band with no price, or a zero or negative one - that is not a price. Each of these is a money bug, so it is refused when you save rather than discovered on the 1st of the month.
Can I change a band that clients are already on?
Not while they are on it. A client follows the bands of the plan they hold, so changing a band's price reprices every client sitting in it from their next invoice, and deleting a band leaves them pointing at a price that no longer exists. The card refuses both and names which clients are affected. To raise prices, publish a NEW plan with the new bands and move clients onto it as you agree the change with them - that keeps existing customers on what they signed up for, which is the whole point of a fixed price list. Adding a band, widening one, or editing a band nobody is on are all fine.
When does a client actually move between bands?
A client is billed at a stored band, not at their live count, and only one thing moves it: a monthly evaluation on the 1st that looks at the month just closed. The band for that month is the HIGHEST count reached during it, so someone hired on the 15th does not silently reprice an invoice that already went out. If the closed month peaked into a higher band, the difference is billed as a separate prorated catch-up covering the crossing day to month end, and the client moves up before that morning's regular invoice. Moving DOWN takes effect for future billing only - a month already billed at the higher band is not credited back.
What does "Duplicate plan" do?
It clones this plan - name, pricing, its full item/tier list, and its pricing bands - into a brand-new plan named "<Plan name> (Copy)" with no clients subscribed yet, so you can adjust the copy without touching clients already on the original. Discounts and client subscriptions are not copied - those belong to a client, not to the plan template. Find it in the ⋯ menu next to Save. It is not available on Pax8-managed plans, since those follow the distributor subscription rather than being hand-authored templates.
What does "Prorate first bill immediately" do?
It controls whether a plan that starts partway through a billing cycle bills a prorated first invoice, and when that first charge lands. It affects the amount, not only the timing. With it OFF (the default), the plan does not bill a prorated first period: regular billing simply begins on the plan's normal cycle date, and the partial stretch between the start date and that first cycle date is not billed. With it ON, the first invoice fires on the trial-end / start date and bills only the prorated amount for the remaining days of that first period; full periods then bill on the normal cycle thereafter. So the real difference is that partial first stretch: ON charges for it (prorated), OFF leaves it unbilled. Turn it on when a client starts mid-cycle (e.g. a trial converting to paid) and you want to charge them for their partial first period up front instead of starting them on the next full cycle for free.
What is invoice rollup?
Rollup merges lines from other plans onto one target invoice, so a client gets ONE bill instead of one per add-on. The target is the plan type flagged as the rollup target, which is Core on a fresh install. A Core invoice covers a date window on the Core plan's own cycle, not a single calendar month. Each merged line names its own period. So a Core line may read one month while an add-on line right below it reads the next. That is expected. See the answer on how a rolled up plan finds the right Core invoice for why. Rollup happens when invoices are made, not when you approve them. By the time an invoice reaches the queue, the merge is already done.
How do I turn rollup on for one plan?
Every non Core plan on a client has a Roll up to Core invoice switch. You find it under Client > Billing > Plans. On, and the nightly run merges that plan's lines onto whichever Core invoice window covers its period. Off, and the plan makes its own invoice. The switch is per plan, so a client can have some add-ons merged and others on their own. It is greyed out and forced off when the plan's category has Single invoice turned on. You set that on the plan categories table at Settings > Billing & Pricing > Plans & Pricing. A category rollup and a Core rollup cannot both apply. One plan cannot ride two combined invoices at once.
What does overriding a line's quantity basis do?
Each subscription line normally counts by its plan's quantity basis. The override picker on a line lets THIS client count it differently - switch an automated line to Manual to type a fixed number yourself, or point it at a different automated source instead, including a specific Microsoft 365 license (a SKU picker appears once you choose that option). It works both directions: an automated line can go Manual, and a Manual or plan-default line can be pointed at a different automated source. A line married to a distributor subscription (Pax8) can't be overridden - its quantity stays locked to what the distributor reports. Whichever basis you land on, the quantity itself only recalculates after you Save; the row shows "-" until then.
Was this helpful?