Configure Pricing for Different Billing Periods
Billing periods decide how often customers get their bills. It is quite common to set different prices for various billing cycles, like monthly or yearly. This guide will show you how to do that in Nue in easy-to-follow steps without having to create different products for different price plans.
Scenario
EXAMPLE
Our fictional company Vroom, Inc. prices its flagship VROOM Pro Edition with $19.99 User/Month if the customer is billed monthly, and $14.99 User/Month if the customer is billed annually. |
VROOM Pro Edition is a bundle product that contains other products. So the RevOps manager doesn't want to replicate the bundle into another bundle just so that she can create another price plan for a different billing frequency. Instead, she can use the Multi-attribute Pricing feature in Nue to create 2 monthly prices, $19.99 and $14.99, for monthly billing and annual billing respectively.
Create 'Billing Period' Pricing Attribute
First, let's create a list of the prices for this product. We note that the UOM for both prices is the same - License/Month, and only the billing period is different. So this helps us to identify Billing Period as an additional, custom pricing attribute.
PRODUCT | UOM | BILLING PERIOD | PRICE |
VROOM Pro Edition | License/Month | Monthly | $19.99 |
VROOM Pro Edition | License/Month | Annually | $14.99 |
"Billing Period" is an attribute on the Customer object. It determines how often the customer is being billed. The available values are Month, Quarter, Semi-Annual and Annual. When a quote or order is created for a customer, the Billing Period field on the quote or order inherits the value on the customer.
Therefore, we can create a Billing Period pricing attribute that maps to the Billing Period attribute on the Customer object, which corresponds to Account object in Salesforce.
You can follow the steps below to create the Billing Period pricing attribute:
- Login to the Nue app and navigate to Settings → Pricing Attributes.
- In one of the 10 pricing attributes placeholders, select the first one that has not been used. Click 'Edit' icon.
- Set the name and description to be 'Billing Period'
- In the 'Mapping' field, search for 'Billing Period'. The system will auto-suggest the following: Quote.AccountId.Billing Period (Ruby__BillingPeriod__c). Select this value. This means the Billing Period attribute will be mapped to the Billing Period field on Account object.
- The system will load the available picklist values of Billing Period: Month, Quarter, Semi-Annual and Annual. Select 'Month' and 'Annual' and push them from Choices column to Chosen column.
- Click 'Save'. Now we have successfully created a pricing attribute named 'Billing Period' mapped to Billing Period of the customer (account).
Add Pricing Attribute to the Price Book
Now let's add the newly created Billing Period pricing attribute to the price book.
In this example, let's create and use a new price book 'VOOM Pricebook 2023'. You can also associate the pricing attribute to an existing price book.
Navigate to Price Books, and click New Price Book. Enter name Vroom Price Book 2023. In Pricing Attributes field, add Billing Period as a pricing attribute, in addition to UOM and Currency. Click Save and Next.
Now we have successfully created a price book that has Billing Period as an additional pricing attribute.
Create Price Book Entries
Now we can create the price book entries for the following prices:
PRODUCT | UOM | BILLING PERIOD | PRICE |
VROOM Pro Edition | License/Month | Monthly | $19.99 |
VROOM Pro Edition | License/Month | Annually | $14.99 |
- In the 'List Prices' page of the selected price book, click 'Edit List Prices' button
- Click 'New List Price', and search for VROOM Pro Edition.
- Please note that if VROOM Pro Edition is a bundle product, it must be created using this price book. Otherwise you will not be able to locate the bundle.
- Add the price $19.99 for UOM = License/Month, and Billing Period = Month. Click 'Save' icon to commit the entry.
- Add the price $14.99 for UOM = License/Month, and Billing Period = Annual. Click 'Save' icon to commit the entry.
- Review both price book entries. Click 'Save and Close'.
Test Your Configuration
Congratulations! Now with a few steps, we have successfully created different prices for customers on monthly billing vs. annual billing. Now we can test these prices.
- Login to Salesforce sandbox or production accounts where Nue on Salesforce is installed.
- Navigate to Nue on Salesforce app. Click 'Accounts' in the menu bar.
- Select an account for testing.
- In the Account Details page, change the Billing Period to 'Month'.
- Create an opportunity for testing purposes. Create a new quote or order.
- In the Line Editor, set the price book as 'VROOM Price Book 2023'.
- Click 'Search' button in the Select Products panel. You should be able to see one and only one price book entry for VROOM Pro Edition, which is $19.99 for monthly billing period. Nue automatically filters out the $14.99 entry which is only applicable for the customers with annual billing period.
- Now go back to the Account details page and change the billing period to 'Annual'.
- In the same quote or order, on the Line Editor page, click 'Search' button in the Select Products panel again. You should be able to see one and only one price book entry for VROOM Pro Edition, which is $14.99 for annual billing period. Nue automatically filters out the $19.99 entry which is only applicable for the customers with monthly billing period.
Putting It Altogether
To sum it up, if you want to set up varying prices for different billing periods (or billing frequencies) for a product with the same unit of measurement (UOM) and currency, you just need to follow a few straightforward steps:
- Create a price attribute called 'Billing Period' and link it to the Billing Period attribute in the Account/Customer object.
- Include this newly created price attribute in the price book(s) that include the product.
- Populate the price book with entries for the different billing periods of the product.
- Finally, don't forget to test your configuration to ensure everything is working as expected.