Start tracking your progress
Trailhead Home
Trailhead Home
+9,000 points
Superbadge

Billing Specialist

Configure Salesforce Billing and CPQ to ensure accuracy, from quote to payment collection.

~10 hrs

Billing Specialist

What You'll Be Doing to Earn This Superbadge

  • Product Catalog Configuration for Salesforce Billing
  • Applying Estimated and Actual Tax for MVP Customer
  • Invoice Record Generation
  • Recording and Allocating Payments
  • Recording and Allocating Credit Notes and Debit Notes
  • Onboard Cloud Kicks as MVP Customer for Billing
  • Knowledge Check (quiz)

Concepts Tested in This Superbadge

  • Usage Based Pricing setup
  • Split quotes into multiple orders
  • Process Builder automation for provisioning
  • Usage consumption process
  • Automate invoice generation and posting using Invoice Schedulers
  • Collect payments manually and reduce invoice balances
  • Adjust invoice balances
  • Ensure order data integrity for billing through automation and validations
  • Practice the flow from Quote to Payment

Pre-work and Notes

  • Default currency is USD and default time zone is PST (necessary for dates and schedulers).
  • Some of the terminology used in this superbadge is descriptive and may not match the name as it appears in the UI. This is to test your knowledge of Salesforce features and to find the correct one to satisfy a business need.
  • An opportunity and quote (Q-00015) have been created ahead of time for the final challenge. Do NOT use these records ahead of time otherwise you will likely cause challenge failures.
  • Tip: Copy and paste values when they are provided for metadata and record data. This will reduce the chances of typos and misspellings that cause challenge failures.

Sign Up for a Developer Edition Org with Salesforce Billing and Salesforce CPQ

To complete this superbadge, you need a special Developer Edition org that contains Salesforce CPQ, Salesforce Billing and our sample data. Get the free Developer Edition and connect it to Trailhead now so you can complete the challenges in this superbadge.

Even if you've recently signed up for a special Billing-enabled Developer Edition org, sign up for new one now. We're always adding new data. Also note that the managed packages expire after 90 days, so you may need a new org anyway.

  1. Sign up for a free Developer Edition org with Salesforce Billing and Salesforce CPQ.
  2. Fill out the form. For Email, enter an active email address. For Username, enter a username that looks like an email address and is unique, but it doesn't need to be a valid email account (for example, yourname@billingcpq4ever.com).
  3. After you fill out the form, click Sign me up. A confirmation message appears.
  4. When you receive the activation email (this might take a few minutes), open it and click Verify Account.
  5. Complete your registration by setting your password and challenge question. Tip: Write down your username, password, and login URL for easy access later.
  6. You are logged in to your Developer Edition.

Now connect your new Developer Edition org to Trailhead.

  1. Make sure you're logged in to your Trailhead account.
  2. In the Challenge section at the bottom of this page, select Log into a Developer Edition from the picklist.
  3. On the login screen, enter the username and password for the Developer Edition you just set up.
  4. On the Allow Access? screen, click Allow.
  5. On the Want to connect this org for hands-on challenges? screen, click Yes! Save it. You are redirected back to the challenge page and ready to use your new Developer Edition to earn this superbadge.

Now that you have a Salesforce org with these managed packages installed and enabled, you’re good to go.

Use Case

Ursa Major Solar, Inc. (UMS) has gone through numerous acquisitions and business expansions, and continues to go through even more business transformations. Recently, UMS has decided to move to a subscription-based business model and is introducing new products rapidly to meet market needs. UMS needs the ability to quickly go to market with new products and have peace of mind that its customers will continue to enjoy their experience with UMS. UMS also wants to reduce product catalog complexities that were inherited after the acquisitions.

Because of all these changes, UMS needs a system that will allow the team to accurately quote, order, invoice, and collect payment, and has decided to do all of this within Salesforce using CPQ and Billing. You are a consultant and are now working with UMS to help implement its Salesforce Billing solution. You are responsible for configuring the system to meet its MVP business requirements and help onboard the first customer to use the new system, Cloud Kicks. By the end of the MVP portion of this implementation, UMS will be using Salesforce Billing for invoice generation and collections and sending all transactions downstream to its ERP for other processes, such as financial reporting.

Key Stakeholders

  • Weimar Williams (CFO)
  • Lincoln Ulrich (account executive)
  • Solange Pereira (billing operations specialist)
  • James August (controller)
  • Maria Jimenez (system administrator)

Standard Objects

  • Product
  • Consumption Schedule
  • Consumption Rate
  • Account
  • Opportunity
  • Opportunity Product
  • Order
  • Order Product
  • Contract

Custom Managed Package Objects

  • Quote
  • Quote Line
  • Subscription
  • Invoice
  • Invoice Line
  • Payment
  • Payment Allocation (Invoice Line)
  • Credit Note
  • Credit Note Line
  • Credit Note Line Allocation
  • Debit Note
  • Billing Rule
  • Revenue Recognition Rule
  • Tax Integration
  • Tax Rate
  • Tax Rule
  • Tax Treatment
  • Invoice Scheduler

Custom Objects

  • None required for this Superbadge (only custom objects from managed package)

Entity Diagram

The entity relationship diagram shows the following relationships:
The Account object has a master-detail relationship from the Opportunity, Quote, Order, Contract, Invoice and Payment objects. 
The Product object has a master-detail relationship from the Quote Line, Order Product, Subscription and  Invoice Line objects. 
The Quote object has a master-detail relationship from the Quote Line object. 
The Order object has a master-detail relationship from the Order Product object.
The Contract object has a master-detail relationship from the Subscription object. 
The Invoice object has a master-detail relationship from the Invoice Line object. 
The Quote object has a master-detail relationship from the Quote Line object. 
The Order object has a many-to-many relationship with the Invoice object. 
The Order Product object has a many-to-many relationship with the Invoice Line object. 
The Credit Note object has a lookup relationship to the Invoice Line Object. 
The Debit Note object has a lookup relationship to the Invoice Line Object.

The entity relationship diagram shows the following relationships:
The Consumption Schedule object has a master-detail relationship from the Consumption Rate object.
The Consumption Schedule object has a one-to-many relationship from the Quote Line Consumption Schedule and Order Product Consumption Schedule objects. 
The Quote Line Consumption Schedule object has a master-detail relationship from the Quote Line Consumption Rate object. 
The Order Product Consumption Schedule object has a master-detail relationship from the Order Product Consumption Rate object.

Business Requirements

Product Catalog Configuration for Salesforce Billing

UMS has historically sold one-time (panels for purchase) products with warranty and maintenance support that is charged as a flat fee every month. Weimar Williams, CFO, wants to move the business toward a subscription-based model (rentals) with consumption-based support. Today, UMS has four products that are primarily sold and will be implemented for MVP. These products will be sold a la carte and as monthly and annual subscriptions, consumption, and one-time.

SolarBots (usage) are a new product offering from the SolarBot Industries acquisition. UMS is planning to transition this product to consumption-based during the Billing MVP. This will help UMS charge customers based on what they are actually using.

SolarBots track two different types of usage:

  • Level of dust and debris removed from panels reported on a daily basis (measured in Microns ‘µm’; for example, a single-day report of dust and debris removed is 100,000 microns). Any usage reported for dust and debris removed will be invoiced to the customer on a monthly basis.
  • Unit of Measure and Matching Attribute are represented as the value Micron.
Consumption Schedule Name: SolarBot Dust and Debris Removal $ 0.01/micron (no limits) Invoiced Monthly

  • Panel maintenance requests (measured in requests; that is, a maintenance request is measured as 1 request). Any usage reported against panel maintenance requests will be invoiced to the customer on an annual basis.
  • Unit of Measure and Matching Attribute are represented as the value Request.
Consumption Schedule Name: Panel Maintenance Request $500 for up to 10 requests;

For more than 10 requests, the price changes to $35 per request.

Invoiced Annually
Picklist Values
Micron
Request

Update Page Layouts

Please update the Consumption Schedule object page layout assignment to Billing Consumption Schedule Layout to configure all necessary fields. Add your Unit of Measure picklist values to all objects involved in the auto-mapping process (Consumption Schedule, Quote Line Consumption Schedule, Order Product Consumption Schedule, and Subscription Consumption Schedule). Navigate to the picklist value set for Unit of Measure and add the same values.

Configure Usage Based Pricing

Configure Salesforce CPQ and Billing for Usage Based Pricing and create the rate schedule(s) for SolarBots that will allow UMS to invoice its customers based on what they are consuming. UMS should be able to rate and invoice based on the type of service the customer is using, determined by the business requirements.

Tip: Remember also to add your Unit of Measure picklist values to all objects involved in the auto-mapping process (Consumption Schedule, Quote Line Consumption Schedule, Order Product Consumption Schedule, and Subscription Consumption Schedule). Navigate to the picklist value set for Unit of Measure and add the same values.

Major Solar Panel Rental

UMS is looking for new ways to generate revenue from its famous Major Solar Panels by also providing this product as a subscription. This would allow UMS to reach a wider customer pool and cater to the B2C market. Customers can rent the panels for $200/month, and if a customer keeps renewing the panel longer than 2 years, the business will benefit from higher revenue over time.

Product Name Product Code Subscription Pricing Invoicing Behavior
Major Solar Panel Rental PANEL-RENT $200/month Monthly in Advance

Applying Estimated and Actual Tax for MVP Customers

Ursa Major Solar needs the ability to calculate tax on orders and invoices in Billing so that information can be communicated to customers in the total amount for payment collection. Solange Pereira, billing operations specialist, wants this process to be automated by the system, and the business needs the estimated and final tax calculations to be based on the shipping address of the account that owns the order.

For the MVP of Billing, UMS needs to be able to apply tax in California, where its customer Cloud Kicks is located. Its shipping address is the same as its billing address, and the California state tax must be set up in order to process orders for invoicing and tax application.

Treatment Name State Tax Rate Tax Code
CA State Tax Treatment CA 10% 12345

Order Provisioning Process Setup

James August, UMS controller, is concerned about the integrity of data moving from CPQ down to Billing. He wants quotes to be in an Approved status before any orders are generated.

Once quotes are approved, UMS requires orders to be automatically created from quotes, and quotes should split into orders based on the product’s provisioning method. SolarBots are provisioned via their subsidiary, Solar Bot Industries, which is responsible for sending the product(s) to the customer. Warranty and maintenance support and Major Solar Panels will be provisioned internally by the customer service team.

You’ve been tasked with enabling advanced order management and configuring the system to order by the provisioning method assigned to the product. Create Process Builder automation to auto-generate multiple orders when a user manually updates the quote status to 'Approved'.

Field Label Field API Name Field Type
Provisioning Method Provisioning_Method__c Picklist

Tip: Remember to add the new field API name as a picklist value to the Order By field on the Quote. Also remember to create your custom fields to all objects involved in the auto-mapping process (Product and Quote Line).

Product Provisioning Method
SolarBots SolarBot Provisioning
Major Solar Panel Internal
Major Solar Panel Rental Internal
Ursa Major Warranty and Maintenance Plan Internal
Process Name Create Order Once Quote Is Approved
Criteria Name Quote Equals Approved
Action Name Order Equals TRUE

Once an order is generated, the provisioning process has started. As part of the provisioning process orders should be automatically assigned an invoice batch based on the account’s customer priority.

Account Customer Priority Invoice Batch
High White Glove Batch
Low or Medium Auto-Post Batch

Once product provisioning is complete for an order, a user must manually capture the Provisioning Completion date, and the order should be automatically activated and a contract generated.

Create Process Builder automation to assign the invoice batch when an order is created. Orders must also be activated and contracted when a user manually populates the Provisioning Complete date.

Important: To follow best practices around having the least possible amount of operations in a process, the 3rd criteria should utilize the 'Is Null' operator to set the conditions correctly.

Field Label Field API Name Field Type
Provisioning Complete Provisioning_Complete__c Date
Process Name Order Invoice Preparation
1st Criteria Name White Glove Customer
1st Action Name Update Invoice Batch
2nd Criteria Name Regular Customer
2nd Action Name Update Invoice Batch
3rd Criteria Name Has Order Been Provisioned
3rd Action Name Activate Order
4th Action Name Contract Order

Tip: As a best practice, only create one Process Builder per object. Combine the Process Builder requirements in this section into a single Process Builder for the Order object.

Invoice Record Generation

One of Solange’s biggest complaints about the previous billing system was the number of invoices that would potentially be created for a single customer in a single month. This would confuse the customer and cause an increase in customer support cases. Solange and everyone at UMS are excited to start using Salesforce Billing for its ability to consolidate what the customer owes into a single invoice.

UMS has a requirement to generate invoices on a daily basis to avoid delays. However, they also want to allow their customers to choose which day of the month to receive their invoices. James wants to make sure invoices owned by accounts marked as high priority need to be reviewed prior to posting and collecting payment. All other invoices should be automatically posted to reduce any delays in delivery to the customer.

Create two invoice schedulers to meet the UMS business requirement of creating invoices daily based on two different customer scenarios.

1st Invoice Schedule Name High Priority Customers
2nd Invoice Schedule Name Regular Customers

Recording and Allocating Payments

UMS allows customers to pay with a variety of payment types, and all payments collected must be recorded manually in SFDC to be used to pay off invoice line balances. UMS allows customers to partially pay invoices and choose which products they want to pay off first. Solange needs the ability to choose which lines a payment will be allocated against.

Recording and Allocating Credit Notes and Debit Notes

UMS has a business requirement where an invoice balance needs to be adjusted after it has been posted. Most commonly, UMS provides incentives (a decrease in balance) for paying off an invoice early, and applies a fee (an increase in balance) for payments received late. For the MVP, Solange needs the ability to address these two most common scenarios and assign a reason code for reporting purposes.

Create a global picklist to capture the reason code for credit notes and debit notes generated in the system.

Objects Field Label Field API Name Field Type
Credit Note Reason Code Reason_Code__c Picklist
Debit Note
Global Picklist Value Set
Early Payment Late Payment

Tip: Create the same field on both Credit Note and Debit Note objects.

Onboard Cloud Kicks as MVP Customer for Billing

Now that you’ve configured Salesforce Billing for your MVP go-live, you must onboard the first customer and ensure the solution works as expected per UMS business requirements. Navigate to the Cloud Kicks account and ensure the account record meets the tax requirements stated earlier in this challenge.

Your primary contact from Cloud Kicks, Jack Rogers, is ready to complete an existing quote (Q-00015) and UMS has agreed to provision all products immediately on the same date as the start date of services. Salesforce CPQ has been live for a couple months so the existing quote you will use is (Q-00015). Update the existing quote so orders generated by the quote are split by Provisioning Method and have a start date of today (the day you are completing this challenge).

Important: Remember to review your two orders for accuracy before moving forward with Provisioning Complete to reduce the hassle of needing to delete records later on. It is important to use Q-00015 to pass the final challenge. If needed, you can delete records such as orders to retry the challenge again. You can turn off Triggers in the managed package if you run into validation messages that prevent you from deleting records.

$1,000 credit for panel rentals

Weimar, the CFO, wants to show his appreciation to Cloud Kicks for its business, and would like to provide a $1,000 credit against the first month’s invoice for the panel rentals. In this case, the $1,000 credit is tax exempt and should not be applied.

Jack would like to purchase one SolarBot, ten panels to rent and another ten as assets, and one Ursa Major Warranty and Maintenance Plan on Q-00015.

Cloud Kicks has requested all invoices show the order start date as the billing anniversary day to help align with its Accounts Payable process.

Jack lets Solange know he would like a consolidated invoice for services due today, excluding SolarBots (they’re planning to use more). He’s ready to immediately pay the balance with the included credit, which brings Jack’s payment total to $56,750.

Cloud Kicks uses their SolarBots on day one, which is a huge success for UMS! Cloud Kicks's SolarBot Dust and Debris Removal and Panel Maintenance Request usage:

Matching ID Matching Attribute Unit of Measure Start Date/Time End Date/Time Quantity
1 Micron Micron Today Today 100,000
1 Request Request Today Today 12

Ready to Tackle This Superbadge?

Please first complete the prerequisites and the challenge for Billing Specialist will be unlocked.

~10 hrs