Mastering Milestone Billing in Salesforce Revenue Cloud: A Step-by-Step Tutorial

Photo of author
Written By Jean-Michel Tremblay
Salesforce Consultant

Introduction to Milestone Billing

Milestone billing is a powerful feature in Salesforce Revenue Cloud’s Billing module that allows organizations to bill customers based on specific project milestones or timeline checkpoints, rather than billing the entire amount at once.

This approach is especially valuable for project-based businesses, professional services, consulting firms, and organizations with complex delivery models.

Note: Milestone billing is only available if you have the Revenue Cloud Billing add-on to Revenue Cloud. It is not available in the standard Revenue Cloud Advanced package.

Understanding Milestone Billing Concepts

Before diving into the implementation, let’s clarify some key concepts:

What are Billing Milestones?

Billing milestones allow you to bill based on specific checkpoints. These milestones can be:

  • Date-based: Triggered automatically on a specified date relative to the order activation date (e.g., 30 days after activation)
  • Event-based: Triggered manually when a specific event or deliverable is completed

Key Components

  • Billing Treatment: A pre-configured set of billing rules that can be applied to products
  • Billing Treatment Items: Individual components of a billing treatment that define specific milestone billing scenarios
  • Billing Milestone Plan: A plan that outlines how an order product will be billed based on milestones
  • Billing Milestone Plan Items: Individual milestones within a plan, each with its own percentage/amount and trigger

Implementation Methods

There are two primary ways to implement milestone billing in Revenue Cloud:

  1. Using Pre-built Billing Treatments: Create standard billing treatments with milestone billing enabled and apply them to products. When orders are activated, milestone plans are automatically created based on these treatments.
  2. Creating Custom Milestone Plans: For specific order products, create custom milestone plans that override the standard billing treatment.
Important: Only one-time products are supported for milestone billing. Subscription products or evergreen products are not supported.

Method 1: Creating Standard Billing Treatments for Milestone Billing

This method allows you to create pre-built milestone billing scenarios that can be applied to multiple products.

1 Create a Billing Policy
  1. From the App Launcher, find and select Billing Policies
  2. Click New to create a new billing policy
  3. Enter a meaningful name (e.g., “Milestone 50-50”)
  4. Set Status to Draft
  5. Set Billing Treatment Selection Method to Legal Entity
  6. Save the billing policy
2 Create a Billing Treatment with Milestone Billing Enabled
  1. From the App Launcher, find and select Billing Treatments
  2. Click New to create a new billing treatment
  3. Enter a meaningful name (e.g., “Milestone 50-50”)
  4. Set Status to Draft
  5. Select the Billing Policy you created earlier
  6. Choose the appropriate Legal Entity
  7. Set Exclude to Billing to No
  8. Check the Enable Milestone Billing checkbox
  9. Save the billing treatment
3 Create Billing Treatment Items for Each Milestone

For each milestone in your billing scenario, create a billing treatment item:

First Milestone (Date-based example):

  1. From your Billing Treatment record, go to the Related tab
  2. In the Billing Treatment Items section, click New
  3. Enter a name (e.g., “30 days after activation”)
  4. Set Status to Draft
  5. Set Zero Amount Behavior to None
  6. Set Processing Order to a numeric value (e.g., 10)
  7. Set Type to Percentage
  8. Enter the percentage (e.g., 50%)
  9. Set Billing Type to None
  10. Set Sequencing to None
  11. Set Controller to None
  12. Set Milestone Type to Date
  13. Set Milestone Commencement Trigger to Order Product Activation Date
  14. Set Milestone Commencement Offset to the desired number (e.g., 30)
  15. Set Milestone Commencement Offset Unit to Days
  16. Save the billing treatment item

Second Milestone (Event-based example):

  1. From your Billing Treatment record, go to the Related tab
  2. In the Billing Treatment Items section, click New
  3. Enter a name (e.g., “Go Live”)
  4. Set Status to Draft
  5. Set Zero Amount Behavior to None
  6. Set Processing Order to a numeric value higher than the first (e.g., 20)
  7. Set Type to Percentage
  8. Enter the remaining percentage (e.g., 50%)
  9. Set Billing Type to None
  10. Set Sequencing to None
  11. Set Controller to None
  12. Set Milestone Type to Event
  13. Save the billing treatment item
4 Activate the Billing Treatment and Billing Policy
  1. Go back to your Billing Treatment record
  2. Change the Status to Active and save
  3. Go to your Billing Policy record
  4. Set the Default Billing Treatment to the one you just created
  5. Change the Status to Active and save

Example Scenario: Project Implementation Billing

For a consulting project with a 50-50 billing structure:

  • First milestone: 50% billed 30 days after project kickoff (order activation)
  • Second milestone: 50% billed upon project completion/go-live (event-based)

This approach creates a standardized billing template that can be applied to all implementation projects without requiring custom configuration for each order.

Method 2: Creating Custom Milestone Plans for Specific Order Products

This method allows you to create custom milestone billing plans for specific order products, overriding the standard billing treatment.

1 Create a New Billing Milestone Plan
  1. From the App Launcher, find and select Billing Milestone Plans
  2. Click New to create a new billing milestone plan
  3. Enter a name for the milestone plan
  4. Set Status to Draft
  5. Add a description if needed
  6. Select the order product reference item for which you’re creating the milestone plan
  7. Save your changes
2 Create Billing Milestone Plan Items

For each milestone in your custom billing scenario:

  1. From your Billing Milestone Plan record, go to the Related tab
  2. In the Billing Milestone Plan Items section, click New
  3. Enter a name for the milestone plan item
  4. Select the distribution method:
    • Percentage: A percentage of the total order product amount
    • Flat Amount: A specific dollar amount, regardless of the total
  5. Enter the percentage or flat amount
  6. Add a description if needed
  7. Select the milestone type:
    • Event: Manually triggered when a specific event occurs
    • Date: Automatically triggered based on a specified date after activation
  8. If choosing Date as the milestone type:
    • Set Milestone Commencement Trigger to Order Product Activation Date
    • Set Milestone Commencement Offset to the desired number
    • Set Milestone Commencement Offset Unit to the appropriate unit (Days, Months, Years)
  9. Set Status to Active
  10. Save your changes
3 Activate the Billing Milestone Plan
  1. Return to the Billing Milestone Plan record
  2. Change the Status to Draft
  3. Save your changes

Example Scenario: Custom Project Implementation with Multiple Phases

For a complex implementation project with custom billing requirements:

  • First milestone: 25% upfront payment at project kickoff (event-based)
  • Second milestone: 75% upon project completion/go-live (event-based)

This approach allows for flexibility with individual orders while maintaining standardized billing treatments for most cases.

Managing Billing Milestone Plans

Order Activation and Milestone Creation

When an order with milestone billing is activated:

  1. For products using standard billing treatments with milestone billing enabled, the system automatically creates the corresponding billing milestone plans and items
  2. For products with custom milestone plans, these plans are already associated with the order product
  3. The status of all milestone plan items is set to Waiting for Milestone Accomplishment

Triggering Milestone Billing

Milestones can be triggered in two ways, depending on their type:

  1. Date-based milestones: Are automatically ready for invoicing when the specified date is reached
  2. Event-based milestones: Require manual intervention to mark them as accomplished:
    1. Navigate to the Billing Milestone Plan Item record
    2. Check the Milestone Accomplished checkbox
    3. Save the record
    4. The status will change to Ready for Invoicing

The Milestone Accomplished checkbox can also be set programmatically via a flow or integration, allowing for automation based on external systems or events.

Invoice Generation

Once a milestone is marked as ready for invoicing:

  1. Navigate to the related order
  2. Use the Generate Invoice action
  3. An invoice will be created for the milestone amount
  4. The milestone plan item status will change to Invoiced

Best Practices and Considerations

When to Use Each Method

Standard Billing TreatmentsCustom Milestone Plans
  • When you have standardized project phases across multiple customers
  • When you want to apply consistent billing patterns to specific products
  • When you need to scale your billing approach across many orders
  • When a specific customer requires a unique billing arrangement
  • When you need a one-off milestone structure for a particular deal
  • When you want to override the standard treatment for a specific order

Limitations

  • Milestone billing is only supported for one-time products. Subscription products or evergreen products cannot use milestone billing.
  • Milestone billing requires the Revenue Cloud Billing add-on.
  • You cannot mix milestone billing with other billing types (like usage-based billing) for the same product.

Tips for Successful Implementation

  • Always set billing milestone plans and items to Draft status initially to allow for adjustments before activation.
  • Create clear naming conventions for milestone plans and items to ensure they’re easily identifiable.
  • Consider using “remainder” percentages for the final milestone to avoid rounding issues.
  • Document your milestone billing patterns for organizational knowledge sharing.
  • For programmatic milestone completion, use process automation or integration to mark milestones as accomplished.

Conclusion

Milestone billing in Salesforce Revenue Cloud provides organizations with the flexibility to align billing with project delivery, improving cash flow management and customer satisfaction. By understanding the two primary methods of implementing milestone billing—standard billing treatments and custom milestone plans—you can choose the approach that best fits your business needs.

Whether you’re handling standardized project implementations or custom-tailored engagements, milestone billing offers a powerful tool to ensure your billing processes match your delivery methodology and business relationships.

Leave a Comment