Nue Knowledge Center

Nue Docs navigation

search
clear
/

Manage Service Milestones and Milestone-based Billing

Service Milestones and Milestone-based Billing

Service Milestones and milestone-based billing are pivotal components in project-based services and professional services, where payment is intricately linked to specific project milestones or achievements, rather than relying solely on time or material-based billing methods.

 

Within Nue, products under the One Time revenue model are typically billed as one-time charges. However, Nue allows users to define two or more Service Milestones for these One Time products and services. These Service Milestones serve a dual purpose, functioning both as billing schedules and as milestones for fulfillment and provisioning.

 

This tutorial will guide you through the process of creating Service Milestones within a quote or an order for one-time services or products. We will also provide practical examples to illustrate how these Service Milestones play a vital role in the billing process, offering a comprehensive understanding of their significance.

 

Let's get started! 

 

The products and pricing used in this tutorial are fictional.  They are for demo purposes only.

 


Overview

In the context of Nue products with a One Time revenue model, we're introducing the concept of 'Milestones' to support milestone-based billing. Typically, a quote line item or order product with a One Time revenue model is billed based on a single Start Date, be it in advance or in arrears. With service milestones, a One Time revenue-model item can now be divided into multiple milestones, each carrying its own unique Start Date.

 

These milestones are defined by key attributes such as the Milestone Date (essentially the Start Date), Quantity, Percentage of Total, and Price. As a result, each split line item will contain these milestone attributes, allowing for more precise and flexible billing, aligning with the specific characteristics of your products or services. 

 

We also call these split line items Milestone Lines. A Milestone Line is a split child line of a quote line item or an order product. It's essentially a quote line item or an order product on its own, but it goes by the line type 'Ramp' (RampItem). Just like the original line item with a One Time revenue model, a Milestone Line doesn't have an End Date, and its Start Date is the milestone date. This Start Date does double duty, handling fulfillment or provisioning and the billing schedule. One thing to note is that the Total Price and Quantity for all milestone lines must add up to match the Total Price and Quantity of the original line item.

Data Model

A new field 'Milestone' is introduced on both Quote Line Item and Order Product to store the milestone information.  This field is only available in Salesforce, not in Nue.

 

NAMEDATA TYPEAPI NAMEDESCRIPTION
MilestonesLong Text Area(32000)Ruby__Milestones__c

If the LIne Type is Summary Line, this field contains a JSON representation of the definition of all service milestones.  

 

If the Line Type is Ramp, this field contains the name of the milestone.  

 

The following is an example of the JSON representation of all service milestones for a Summary Line (i.e., the original line item containing the milestones): 

[
  {
    "id": "0QL8G0000007BrsWAE",
    "name": "Installment # 1",
    "quantity": 10,
    "actualQuantity": 10,
    "price": 1440,
    "startDate": "2023-12-04",
    "subscriptionStartDate": "2023-12-04",
    "percentage": 10,
    "isMilestoneNameModifiedByUser": false,
    "parentId": "0QL8G0000007BrrWAE",
    "rootId": "0QL8G0000007BrrWAE",
    "totalPrice": 1440
  },
  {
    "id": "0QL8G0000007BrtWAE",
    "name": "Installment # 2",
    "quantity": 20,
    "actualQuantity": 20,
    "price": 2880,
    "startDate": "2024-01-04",
    "subscriptionStartDate": "2024-01-04",
    "percentage": 20,
    "isMilestoneNameModifiedByUser": false,
    "parentId": "0QL8G0000007BrrWAE",
    "rootId": "0QL8G0000007BrrWAE",
    "totalPrice": 2880
  },
  {
    "id": "0QL8G0000007BruWAE",
    "name": "Installment # 3",
    "quantity": 70,
    "actualQuantity": 70,
    "price": 10080,
    "startDate": "2024-02-04",
    "subscriptionStartDate": "2024-02-04",
    "percentage": 70,
    "isMilestoneNameModifiedByUser": false,
    "parentId": "0QL8G0000007BrrWAE",
    "rootId": "0QL8G0000007BrrWAE",
    "totalPrice": 10080
  }
]

Scenarios

Now let's look at some scenarios.

 

SCENARIO

 

In our fictitious scenario, Smart Revenue Inc. is interested in purchasing 10 user licenses of a 2-year subscription to the Quote Builder product, alongside an additional 50 hours of Implementation Services. Their unique requirement involves breaking down these 100 hours of Implementation Services into three phases: Requirement Collection, Implementation, and UAT (User Acceptance Testing) with Service Acceptance.  Each phase has a different commitment date.

 

They wish to establish a payment schedule that aligns with each phase's commencement. Specifically, they propose paying 20% at the beginning of Requirement Collection, 30% at the start of Implementation, and the remaining 50% at the initiation of UAT and Service Acceptance. It's important to note that the percentages for each phase's payment don't necessarily mirror the actual distribution of service hours among these phases.

 

To implement this scenario, the Sales Rep has added Quote Builder as well as the add-on product Implementation Services into the Line Editor.  She sets the subscription term to be 24 months (or 2 years).  She also sets the quantity of Quote Builder to 10, and the quantity of Implementation Services to 50.

 

The Sales Rep then clicks on the 'Milestone' icon in the Action column of the Implementation Services line, as shown in the below image: 

 

 

Create Milestones

Upon clicking on the icon, the Milestone popup launches.  She can click 'New Milestone' button 3 times to quickly add 3 milestones, each representing an individual phase. 

 

 

Within the milestones popup, users have the flexibility to make several adjustments, including:

  1. Adding or deleting milestones.
  2. Customizing milestone names, which by default are set as 'Milestone #{milestoneNumber}'. For instance, 'Milestone #1', 'Milestone #2', and so forth.
  3. Fine-tuning the Milestone Date, Percentage, Quantity and Total Price for each milestone.

Notably, when changes are made to the percentage of a milestone, the total price and quantity will be automatically recalculated based on the adjusted percentage, and the reverse holds true as well. In addition, users have the ability to modify the quantity allocation to differ from the system's automatic allocation, providing further control over the billing and allocation process.

Allocate Milestones Evenly

Users are provided with the choice to evenly distribute all milestones, including quantities and total prices.

 

When the user clicks 'Allocate Evenly' button, the following actions take place for each existing milestone displayed in the user interface:

  • The Milestone Date is automatically populated, starting from the parent line's Start Date and progressing in monthly intervals.
  • The Quantity is evenly divided from the parent line's quantity, with precision to two decimal places. For instance, if the parent quantity is 1, and there are three milestone items, it will be distributed as 0.33, 0.33, 0.34.
  • Similarly, the percentage is evenly divided, also with two decimal places. With three milestone items, the percentage allocation will be 33.33%, 33.33%, and 33.34%.
  • The price is calculated based on the Total Price multiplied by the evenly distributed percentage.

These automatically generated values will override any user-entered values, if applicable.

Add Milestones to Quote or Order

After you've set up the milestones and you're satisfied with their allocation, a simple click on 'Confirm' will add these milestone lines to your quote or order, as illustrated in the image below.

 

It's worth noting that each Implementation Service contains three milestone lines, each with their own configured quantity and total price. Keep in mind that the Net Sales Price and Discount % for each milestone line may vary because of the different quantity allocations, which could differ from the total price allocation.

 

Additionally, the image showcases that Quote Builder is billed on an annual basis, while the Implementation Service is billed monthly. The milestone billing schedule aligns with factors such as the billing cycle day, billing period, and billing timing, as configured for the account and the product. For instance, if the billing cycle day falls on the 1st of each month, and the milestone dates are set at 12/05/2023, 01/05/2024, and 02/05/2024, considering a Monthly billing period and In Advance billing timing, the milestone amounts will be billed on 12/01/2023, 01/01/2024, and 02/01/2024, respectively.

 

After all the details of the quote or the order are finalized, the user can either close-won the opportunity, which automatically finalizes and activates the primary quote of the order, or manually activate the order.  After the order is activated, the line item Implementation Services will be provisioned into an Entitlement.  Users can view the entitlement with quantity 50 hours in the Lifecycle Manager. 

 

Please note users can create milestones for any line item with a One Time revenue model, including products of physical assets, customer support, or any custom product categories.

Add Milestones to Change Quote or Order

SCENARIO

 

As we near the end of the implementation cycle, Smart Revenue finds that they can cut back on 10 hours of Implementation Service due to the project needing fewer hours than originally anticipated.

 

The Sales Rep is on board with this adjustment, but they also engage in a negotiation regarding a refund plan. The agreement is to provide a 50% refund on 01/01/2024 and the remaining 50% on 02/01/2024 for the 10 hours of services that were reduced.

 

To implement this scenario, as usual, the Sales Rep navigates to the Lifecycle Manager, and clicks on the Entitlements tab.  She clicks on 'Update Quantity' and reduces 10 hours starting 01/01/2024. She clicks 'Confirm' to add the change request to the Change Cart, and then checks out the change requests in the Change Cart to a quote or an order.

 

 

In the change order, the sales rep can view the original milestones, and can create new milestones for the reduced quantities.  In the image below, the user creates 2 additional milestones for the reduced 10 service hours, named Refund #1 and Refund #2.  

The sales rep then activates the order.  In the Lifecycle Manager's Entitlements tab, the total quantity for Implementation Services is reduced to 40.

 

Generate Invoices for Milestones

Once milestones have been established for a One Time line item, Nue Billing Accelerator will generate invoices based on the Start Date of the milestone lines. This process also takes into account the inherited Billing Timing and Billing Period from the parent line, ensuring seamless coordination with the milestone lines.

 

For the above example, the following invoices will be generated over time: 

BILLING PERIODAMOUNTLINE ITEMS
11/05/2023 - 11/04/2024$4000

Quote Builder - $2000 Annual Charge for the 1st Year

Implementation Service: Requirement Collection - $2000 Charge

12/05/2023 - 12/05/2023$3000Implementation Service: Implementation - $3000 Charge
01/05/2023 - 01/05/2023$5000Implementation Service: UAT and Service Acceptance: $5000 Charge
11/05/2024 - 11/04/2025$2000Quote Builder - $2000 Annual Charge for the 2nd Year

 

Invoice Milestones Independently

Often times, companies prefer to create invoices for milestone services separately from their recurring invoices.

 

SCENARIO

 

VROOM provides Smart Revenue with 100 hours of professional services for the installation of video conferencing, in addition to their existing VROOM video conference subscriptions.

 

VROOM prepares a quote which includes:

  • VROOM Professional Edition, 100 Seats, priced at $10,00 per month, effective from 03/22/2024, for a subscription term of one year.
  • Installation Services with two separate milestones:
    • $14,400 due on 04/01/2024
    • $28,800 due on 05/01/2024

VROOM would like to starts monthly invoicing to Smart Revenue from 03/22/2024 onwards. Additionally, they plan to issue separate invoices for each milestone upon reaching the respective milestone dates.

 

 

By default, Nue generates one invoice per billing period for each customer.  To implement scenario above, admin users need to enable the following billing group attribute: Service Milestone

 

Please be aware that enabling this billing group attribute will produce a distinct invoice for milestone services alongside the recurring invoices generated for each billing period. Consequently, there might be more than one draft invoice per billing period. Therefore, it's essential to ensure there are no existing draft invoices in the system before activating this option, ensuring a clean starting point. 

 

Please follow the steps below to enable this option: 

  • Login to Nue App, and navigate to Settings
  • In the setting's search box, search for "milestones", and select the option "Generate Invoices for service milestones independently".  
  • Activate the toggle to enable this billing group attribute.
    • If there are draft invoices in the system, you will receive a notification stating that you must not have any draft invoices before enabling this option. In such a scenario, please proceed to the Invoices menu and either activate or cancel the draft invoices as required.
    • Otherwise, you will receive a confirmation message that this option is successfully enabled.

Once this billing group attribute is successfully enabled, the milestone services will be invoiced separately from the recurring invoices.  This also applies to Invoice Preview for quotes, orders, and accounts.  

 

In the given scenario, assuming Smart Revenue has a monthly billing schedule with the Billing Cycle Day set as the 22nd of each month:

  • If the billing group attribute "Service Milestone" is not enabled, Smart Revenue will receive the initial invoice on 03/22/2024. This invoice will include items for VROOM Professional Edition and the first milestone, which is due on 04/01/2024.
  • However, if the billing group "Service Milestone" is enabled, Smart Revenue will only receive the first invoice on 03/22/2024, containing the item for VROOM Professional Edition. Subsequently, they will receive a separate invoice on 04/01/2024, exclusively containing the first milestone payment due on that date.

For more details about how Nue billing groups work, please refer to Billing Groups.

 

Manage Milestones

In service milestones, it is not uncommon for changes to occur after customers have committed to these milestones but before the invoices are generated and paid. Various scenarios may necessitate updates to service milestones. Instances such as exceeding initially estimated service hours or alterations to the service plan are common triggers for adjustments. This dynamic nature of service-related engagements underscores the importance of a flexible and responsive system that allows for seamless modifications to service milestones, ensuring that the invoicing process accurately reflects the evolving nature of the services provided. Whether it involves accommodating changes in project scope or adapting to shifts in customer requirements, the ability to update service milestones plays a crucial role in maintaining transparency and alignment between service delivery and billing processes.

 

In Nue, users can make the following adjustments to service milestones: 

  • Change milestone dates;
  • Merge multiple milestones into one, or create more milestones. 

After milestones are created, users can view and manage milestones by following the steps below: 

 

  • In Nue on Salesforce, find and open the account, and click 'Manage Customer Lifecycle' button to launch the Customer Lifecycle Manager. 
  • Navigate to Entitlements, and search to find the entitlement.
  • In the Entitlement Card, you can see 'Update Quantity', 'Manage Milestones', and 'More...' button.  In the 'More' button, you can further access the following actions: 
    • View Change Logs

      This initiates the Change Log modal popup.

    • View Order History

      Much like the Subscription card, this function retrieves all orders associated with the given entitlement or asset and directs to the Order tab.

    • View Invoices

      Similar to the Invoice card, this function retrieves all invoices linked to the specified entitlement or asset and directs to the Invoices tab.

  • Click 'Manage Milestones'.  The milestone popup will launch.  

 

In the Milestones popup, all milestones created for the entitlement are displayed. They are grouped into Invoiced and Scheduled.  

 

Invoiced: These milestones have already been invoiced. Cancel the invoices before making any changes to the milestones.

In the Invoiced milestone list, users view a list of milestones along with their corresponding invoices for the associated Order Products linked to the entitlement or asset. The default display includes the following read-only columns:

  • Milestone
  • Total Amount
  • Quantity
  • Milestone Date
  • Invoice

As these are one-time milestones, only one invoice is available. The Invoice column displays the invoice with a hyperlink leading to the Invoice page in the LIfecycle Manager.  You can click on the invoice link to view and optionally, cancel the invoice, if you would like to change the milestone date.  

 

Scheduled: These milestones are scheduled but not yet invoiced. You can modify the milestone dates, amounts, or split the milestones.

In the Scheduled milestone list, users observe the following columns for the associated Order Products linked to the entitlement or asset:

  • Milestone
  • Total Amount
  • Quantity
  • Milestone Date

Change Milestone Date

The Milestone Date is editable directly within the inline editor. Upon clicking on the Milestone Date, a date picker is presented.  You can pick a different milestone date, and click 'Confirm'.  You will receive the following alert message asking if you would like to proceed.  Click 'Yes' to change the milestone date.  The milestone date will be changed immediately.  

 

 

Merge and Create New Milestones

Users can also merge multiple milestones into one, and create more milestones before the milestones are invoiced. 

 

SCENARIO

 

Our fictional company VROOM Inc. has committed 4 service milestones for customer Smart Revenue Inc.  They are: 

  • Requirement Collection: 02/01/2024
  • Implementation: 03/01/2024
  • UAT: 04/01/2024
  • Customer Acceptance: 05/01/2024

In the middle of Feburary, in the Requirement Collection phase, Smart Revenue wants to shorten the implemention time (but not necessarily reduce the implementation hours).  So they would like to merge the remaining 3 milestones: Implementation, UAT and Customer Acceptance into 2 with new milestone dates: 

  • Implementation and UAT: 03/05/2024, 40%
  • Final Acceptance: 04/15/2024, 60%

 

To implement this scenario, users can click "Manage Milestones" to launch the milestones popup.  

 

As you can see in the following screenshot, the "Requirement Collection" milestone has been invoiced, so it cannot be changed.   "Implementation", "UAT", and "Customer Acceptance" are not invoiced yet.  You can click "Update Milestone" of each milestone, to add an update milestone request to the Change Cart.

 

After you add all Update Milestone change requests to the change cart, you can review these request in the change cart: 

 

Now you can click "Checkout" to checkout the changes into a quote or an order.

 

 

If you expand the line item "Implementation Service", you will find the following changes have taken place: 

  • All 3 selected milestones for updates are deleted.  
  • They are merged into one new milestone with default milestone name "New Milestone #1".  
  • The new milestone has the Milestone Date defaulted to Today, or the earliest Milestone Date among all milestones requested for updates, whichever is earlier.  
    • For example, if today is 03/01/2024, and the earliest date of milestones request for updates is 02/15/2024, then the Milestone Date will be set to 02/15/2024.  If today is 01/25/2024, and the earliest date of milestones requested for updates is 03/01/2024, then the Milestone Date will be set to 01/25/2024.

 

Now you can click the "Milestone" icon and adjust the milestones further: 

  • Update the default milestone name to "Implementation and UAT", and adjust its date to 03/05/2024.
  • Create a new milestone named "Final Acceptance", and set its date to 04/15/2024.
  • Allocate the percentage for both milestones to: 40% and 60% respectively.
  • Click 'Confirm' to commit the changes.

 

After you finish adjusting all newly added milestones, you can click 'Save and Exit' on the Line Editor to save the quote or order.

 

When the quote is finalized into an active order, you can navigate to the Lifecycle Manager → Entitlements, and click "Manage Milestones" to view the adjusted milestones.  

 

Putting It Altogether

In the realm of service milestones and milestone-based billing, Nue empowers users with an easy-to-use tool for creating billing structures that align with specific project milestones directly in the Line Editor. We've delved into how this works, starting with a comprehensive overview of the concept.

 

As we've seen, the products under the One Time revenue model in Nue can now be seamlessly divided into multiple milestones, each carrying its own unique Start Date, Quantity, Percentage of Total, and Price. We refer to these split lines as "Milestone Lines," and they offer a dynamic approach to billing.

 

Now, let's explore how these concepts come to life with a practical scenario. Imagine Smart Revenue Inc., a fictitious company, wants to purchase a 2-year subscription to Quote Builder and 100 hours of Implementation Services, divided into three phases: Requirement Collection, Implementation, and UAT with Service Acceptance. Their payment schedule reflects the schedule of each phase, with payments of 20%, 30%, and 50% respectively. While these percentages don't mirror the service hours, the flexibility of milestone-based billing makes it all possible.

 

Users can create and manage milestones directly in the Line Editor of a quote or an order. Users can add or remove milestones, customize their names, adjust percentages, quantities, and total prices. Additionally, for those wanting a balanced allocation of milestones, a 'Allocate Evenly' feature evens out milestone dates, quantities, percentages, and prices.

 

Once the milestones are set up and validated, users can click 'Confirm' to add them to the quote or order, ensuring the billing structure mirrors the unique project requirements. It's important to note that each milestone line may carry distinct Net Sales Prices and Discount Percentages due to varying quantity and total price allocations.

 

Service milestones frequently require adjustments post-customer commitment, often due to changes in service hours or plan modifications. Users can make updates to milestone dates, merge milestones or replace existing milestones with new ones.  

 

Finally, Nue's Billing Accelerator generates invoices based on the milestone lines' Start Dates, syncing seamlessly with the inherited Billing Timing and Billing Period from the parent line. This orchestration results in a finely-tuned billing schedule. In our example, we outlined the invoices that would be generated, showcasing the adaptability and precision of milestone-based billing.