Overview
A phase is a slice of a contract with its own dates and its own commercial terms. Phases run back to back, so a customer can move from one plan, price, or billing cadence to the next without a second order, a second signature, or a second checkout. Use phases when a deal has distinct stages, for example:- A free or discounted trial period that converts to a paid subscription.
- An implementation or services period followed by a recurring subscription.
- A ramp-up on a smaller plan before moving to the full plan.
- A multi-year contract where each year is billed on a different cadence or at a different price.
If you don’t see a Phases section in the order builder, multi-phase orders aren’t enabled for your
account yet. Reach out to us in your dedicated Slack channel.
Phases compared to ramping and upgrades
How phases work
Each phase owns its own schedule and selection. A few settings stay at the order level and are set on Phase 1.
Rules that always hold:
- Phases are contiguous. Each phase starts the day after the previous phase ends. There are no gaps and no overlaps, and you can’t reorder phases.
- The order ends when the last phase ends. The order’s contract period is the sum of its phases.
- Each phase is priced on its own length. A 6 month phase is priced at monthly rates even when it sits inside a 24 month contract, because the phase, not the order, decides whether annual pricing applies.
- Phase names are optional. Unnamed phases display as “Phase 1”, “Phase 2”, and so on. Names can be up to 50 characters.
Building a multi-phase order
1
Build Phase 1
Start a new order as usual. Under Phases, the first phase is the order you already know how to build: set its contract period, billing frequency, payment terms, product, plan, and bricks. See Building an Order for each field.The Add phase button only appears once the last phase has an end date, so set the contract period first.
2
Add a phase
Click Add phase. Salesbricks appends a blank phase that starts the day after the previous phase ends. It defaults to a 12 month contract period billed annually. Nothing else carries over, so the new phase starts with no product, plan, or bricks selected.
3
Configure the new phase
Expand the phase and fill it in the same way as Phase 1:
- Contract period: pick a number of months, or choose Custom end date to end the phase on a specific day. The start date is read-only and shows Continues from previous phase.
- Billing frequency: the options offered depend on the phase’s length. A 3 month phase can’t be billed annually.
- Payment terms: each phase has its own.
- Product, plan, and bricks: each phase can sell a different plan, or the same plan with different bricks and quantities.
- Discounts: click Add discount to apply sales, one-time, duration, or coupon discounts to this phase only.
4
Rename, duplicate, or remove phases
Open the menu on any phase’s header:
- Rename phase gives the phase a label your customer will see on the order form, for example “Pilot” or “Year 2”.
- Duplicate phase appends a copy at the end of the order with the same product, plan, bricks, discounts, and custom billing schedule, on a fresh 12 month span. Duration discounts and ramping windows aren’t copied, since they’re tied to the original phase’s dates.
- Remove phase deletes the phase. Phase 1 can’t be removed.
5
Review and save
The Phases heading shows a running summary, for example “2 phases · 18 months total”, and a callout confirms the phases are contiguous with no gaps or overlaps. Each phase header shows its date range, length, and phase total.Save the order and share it as you normally would.
What your customer sees
On a multi-phase order, the order form groups everything by phase. Under “Products and services”, a line explains that each phase is self-contained, and then each phase gets:- A header with the phase number and name, and the phase’s date range.
- Its own Contract period, Billing frequency, and Payment terms.
- Its own line items, usage commitments, and one-time charges.
- A Phase N summary box with the subtotal, any duration or contract discounts, and the Phase total.
Billing and invoicing
Each phase generates its own invoices from its own billing frequency and payment terms:- Billing periods never cross a phase boundary. The first invoice of a phase falls on that phase’s start date, whatever the previous phase’s cadence was.
- Payment terms are per invoice. Two invoices on the same order can carry different Net terms if their phases differ.
- A custom end date creates a partial period. If a phase ends partway through a billing period, the final period of that phase is billed as a partial period according to your team’s partial period setting.
Discounts and coupons
Every discount belongs to a phase:- Sales, one-time, and contract discounts apply to the phase they’re added to. If a phase’s discount expires or its minimum spend isn’t met, that phase loses its discounts while the other phases keep theirs.
- Duration discounts are measured from the phase’s start date.
- Coupons are redeemed per phase. Applying a coupon to two phases counts as two uses against the coupon’s usage limit.
- Apply on renewal is only offered on the last phase, since the renewal is based on the last phase.
Upgrades, renewals, and recasts
Upgrades
An upgrade inherits every phase from the current contract, so the customer’s timeline stays intact. In the upgrade builder:- Add phase and Remove phase aren’t available.
- Each phase’s end date and billing frequency are read-only. You can move a phase’s start date, but only within that phase’s original date range.
- Bricks and quantities can be added per phase. Quantities can’t be reduced.
- Contract-wide and one-time discounts from the base order are cleared on each phase of the upgrade, so re-add any that should carry over.
Renewals
You can add phases to a renewal while building it, so a renewal can itself become a multi-phase order.Recasts
A recast also starts from the last phase’s bricks. Rebuild the phases you need before sharing the recast.Reports, subscription management, and CRM
- Orders list: multi-phase orders carry an “N phases” badge, and each row expands to show one line per phase with its dates and contract value.
- MRR report and CSV export: a Phase column appears after Brick. A brick sold in more than one phase reports under its earliest phase.
- Subscription page: the entitlements card shows which phase is current. Usage bricks get one tab per phase they were sold in, and usage can only be recorded for dates inside a phase that includes that brick.
- Milestones: grouped by phase on the customer page.
- CRM field mapping: three phase fields become available for mapping when multi-phase orders are enabled. At the order level,
phase_countandphase_summary(one line per phase with its name, dates, and total). At the line item level,phase_index. HubSpot receives one line item per brick per phase, with the phase name and dates appended to the line item description.
Limitations
- Pausing isn’t supported. A multi-phase subscription can’t be paused. The Pause action is disabled with the message “Pausing multi-phase subscriptions is not yet supported. Please contact support for assistance.”
- Phases can’t be reordered. Remove and re-add a phase to change the sequence.
- Duration discounts are validated across the whole contract. See Discounts and coupons.
API
Subscriptions created through the REST API can include aphases array on the following endpoints:
Subscriptions
Subscription State
- List all subscription bricks
- Retrieve current subscription state
- Update details for a closed subscription
Subscription Recasts
Subscription Upgrades
Whenphases is present, the phases own the timeline, billing frequency, and bricks. The order-level starts_at, contract_length, billing_frequency, and bricks become optional and are derived from the phases when omitted.
Phase fields
Upgrades send only the phases being changed. Each
phase_position must match a phase on the current contract, and omitted positions are inherited unchanged.
Sending
phases when multi-phase orders aren’t enabled for your account returns 400 with the message
“Multi-phase orders are not enabled.”Example: estimate a two-phase subscription
A 6 month pilot on a Starter plan billed monthly, followed by 12 months on a Growth plan billed annually.cURL
JSON (truncated)
Reading phases back
Retrieve a subscription and Retrieve current subscription state include aphases array only when the order has more than one phase. Each entry carries phase_position, starts_at, ends_at, billing_frequency, payment_terms, sub_total, grand_total, line_items, and that phase’s billing_schedule. When phases is absent, the order has a single phase and the order-level fields describe it.
Phase input takes contract_length, while output reports ends_at. To edit a phase you read back, convert the end date to whole months from the phase’s start.
In the GraphQL API, every order exposes a phases list and each order brick carries a phasePosition. Briq and the Salesbricks MCP server also accept phases when drafting orders.