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.
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:
- 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.
- Creating Custom Milestone Plans: For specific order products, create custom milestone plans that override the standard billing treatment.
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.
- From the App Launcher, find and select
Billing Policies
- Click
New
to create a new billing policy - Enter a meaningful name (e.g., “Milestone 50-50”)
- Set Status to
Draft
- Set Billing Treatment Selection Method to
Legal Entity
- Save the billing policy
- From the App Launcher, find and select
Billing Treatments
- Click
New
to create a new billing treatment - Enter a meaningful name (e.g., “Milestone 50-50”)
- Set Status to
Draft
- Select the Billing Policy you created earlier
- Choose the appropriate Legal Entity
- Set Exclude to Billing to
No
- Check the
Enable Milestone Billing
checkbox - Save the billing treatment
For each milestone in your billing scenario, create a billing treatment item:
First Milestone (Date-based example):
- From your Billing Treatment record, go to the Related tab
- In the Billing Treatment Items section, click
New
- Enter a name (e.g., “30 days after activation”)
- Set Status to
Draft
- Set Zero Amount Behavior to
None
- Set Processing Order to a numeric value (e.g., 10)
- Set Type to
Percentage
- Enter the percentage (e.g., 50%)
- Set Billing Type to
None
- Set Sequencing to
None
- Set Controller to
None
- Set Milestone Type to
Date
- Set Milestone Commencement Trigger to
Order Product Activation Date
- Set Milestone Commencement Offset to the desired number (e.g., 30)
- Set Milestone Commencement Offset Unit to
Days
- Save the billing treatment item
Second Milestone (Event-based example):
- From your Billing Treatment record, go to the Related tab
- In the Billing Treatment Items section, click
New
- Enter a name (e.g., “Go Live”)
- Set Status to
Draft
- Set Zero Amount Behavior to
None
- Set Processing Order to a numeric value higher than the first (e.g., 20)
- Set Type to
Percentage
- Enter the remaining percentage (e.g., 50%)
- Set Billing Type to
None
- Set Sequencing to
None
- Set Controller to
None
- Set Milestone Type to
Event
- Save the billing treatment item
- Go back to your Billing Treatment record
- Change the Status to
Active
and save - Go to your Billing Policy record
- Set the Default Billing Treatment to the one you just created
- 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.
- From the App Launcher, find and select
Billing Milestone Plans
- Click
New
to create a new billing milestone plan - Enter a name for the milestone plan
- Set Status to
Draft
- Add a description if needed
- Select the order product reference item for which you’re creating the milestone plan
- Save your changes
For each milestone in your custom billing scenario:
- From your Billing Milestone Plan record, go to the Related tab
- In the Billing Milestone Plan Items section, click
New
- Enter a name for the milestone plan item
- Select the distribution method:
- Percentage: A percentage of the total order product amount
- Flat Amount: A specific dollar amount, regardless of the total
- Enter the percentage or flat amount
- Add a description if needed
- Select the milestone type:
- Event: Manually triggered when a specific event occurs
- Date: Automatically triggered based on a specified date after activation
- 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)
- Set Milestone Commencement Trigger to
- Set Status to
Active
- Save your changes
- Return to the Billing Milestone Plan record
- Change the Status to
Draft
- 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:
- For products using standard billing treatments with milestone billing enabled, the system automatically creates the corresponding billing milestone plans and items
- For products with custom milestone plans, these plans are already associated with the order product
- 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:
- Date-based milestones: Are automatically ready for invoicing when the specified date is reached
- Event-based milestones: Require manual intervention to mark them as accomplished:
- Navigate to the Billing Milestone Plan Item record
- Check the
Milestone Accomplished
checkbox - Save the record
- 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:
- Navigate to the related order
- Use the
Generate Invoice
action - An invoice will be created for the milestone amount
- The milestone plan item status will change to
Invoiced
Best Practices and Considerations
When to Use Each Method
Standard Billing Treatments | Custom Milestone Plans |
---|---|
|
|
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.