In the quote to cash process that you have learned about so far, you have seen how the sales process progresses by creating opportunities and configuring products, prices, and quotes. Your business generates contracts, orders, amendments, and renewals as needed. Finally, an invoice needs to be sent to the customer for processing payments and recognizing revenue.
Traditional business models store invoicing, payment, and financial functionalities in a third-party system in Enterprise Resource Planning (ERP) systems. Extending these models for subscription and usage products requires a lot of customization and has its own challenges. When sales and finance are disconnected, invoices are often sent with errors. There will be a lot of manual complexities to integrate sales and finance and support new business models. Transforming the business process to subscription- and usage-based products therefore calls for a new revenue model.
Salesforce Billing is a part of Revenue Cloud, which is designed for recurring customer relationships. It helps with automating invoice creation and payment processing. Billing is just not a finance function; it is a customer touchpoint and impacts sales in a subscription model, unlike traditional one-time sales. Having Billing on the same platform where we maintain the rest of the customer relationship has many advantages. Sales reps can collect billing-related data early in the sales process and Billing can use this data seamlessly.
Salesforce Billing connects sales and finance in one unified system. Billing enhances CPQ capabilities with invoice generation, payment, and revenue recognition functionalities. Implementing Billing provides the ability to create quotes, orders, and invoices all in a single system without integration with an off-platform billing application.
In this chapter, we will be covering the following topics:
Salesforce Billing is an add-on package for CPQ. The order object acts as a bridge between Salesforce CPQ and Billing. Billing uses the order object to create invoices, payments, and revenue recognition.
Billing can help automate the invoicing process. Debit and credit memos can be generated for any change required to the invoices. The invoice contains all the products and services for which the customer has been billed. In the previous chapters, we saw that after a primary quote with the required products has been created and the opportunity is set to Closed Won, an order and a contract will be created.
Contracts serve as a source of truth for future customer transactions including amendments and renewals for subscription products. The order serves as the source of truth for all the billing transactions. It is recommended to create an order from the quote, and then create a contract from the activated order. In Chapter 7, Creating Contracts, Amendments, and Renewals, we learned how to create a contract from an order object.
Salesforce Billing assesses several fields and settings to determine when an order product is ready for invoicing. Invoices can be created for the different types of products that we learned about in Chapter 3, Configuring CPQ Products. These invoices include the following:
Salesforce Billing can also prevent an order product from being billed by setting the order product's Hold Billing field to Yes. Billing creates invoices for different groups of order products by matching their billing account fields. If the billing account has order products with different payment terms, then it groups order products by matching the payment terms. Admins can define more levels of groupings using the order product's Invoice Group field.
The standard product object that you have configured for Salesforce CPQ can be configured for Billing by updating several Billing-related fields. Let's navigate to a sample product, the Packt Pro 13" Laptop, in your Salesforce organization and view the billing data, as shown in the following screenshot:
Some of the important Billing fields on the product object include the following:
The billing fields defined under products will flow to the quote line and eventually, to the order product.
Using Salesforce Billing, you can create and automate invoices, payments, and revenue recognition. Sales reps can create accurate quotes with any revenue model. Here are some of the advantages of implementing Billing:
In the next section, let's learn how to install Salesforce Billing.
We need to install Salesforce CPQ before installing Salesforce Billing. It is recommended to install the same version of Billing as CPQ.
The following CPQ package settings need to be configured before installing Billing:
To install Salesforce Billing, navigate to https://install.steelbrick.com/, search for Salesforce Billing, and click on the Production or Sandbox instance based on where the package needs to be installed. Follow the similar installation steps you saw in Chapter 1, Getting Started with Salesforce CPQ Implementation, for installing Salesforce CPQ.
Once the installation is complete, the package can be configured by navigating to Setup Quick Find Installed Packages Salesforce Billing Configure.
For testing billing functionality in a test environment or creating a Proof of Concept (PoC) for business users, the admin can insert sample data that can be added by navigating to Setup Quick Find Installed Packages Salesforce Billing Configure Additional settings Insert Sampledata Save.
Important Note
Salesforce CPQ and Billing have separate proration settings in package configurations. Make sure that the proration settings in both packages are aligned to ensure accurate order product and invoice line totals.
Salesforce Billing also provides separate page layouts for account, order, order products, product, consumption schedule, and order product consumption schedule objects. These page layouts can be assigned to the required Salesforce profiles. The standard Billing page layouts can be cloned or customized as needed.
Salesforce Billing consists of a permission set that grants permissions for the package custom objects. Admins can customize permissions for standard objects as needed. Orders and order products are standard objects that contain standard fields, CPQ fields, and Billing fields. In the next section, let's learn how an invoice can be created in Billing.
An invoice is a legal document that denotes the customer's agreement to pay you for services. Invoices display the products or services sold, and the amount that the customer needs to pay. The invoice record contains important information such as the balance, due date, and payment status.
Salesforce CPQ Billing invoices support multiple revenue types, such as one-time, recurring, or usage-based models. Multiple invoices for multiple orders can be consolidated using billing configurations. To make sure customers are billed efficiently, invoices for a single order can be split as required.
Invoices can be created in two ways:
Let's see how we can create an invoice manually using the Bill Now checkbox on an order. We learned about creating orders from opportunities in the previous chapters. Let's take an example where we have a sample opportunity.
Imagine the sales process has progressed. We have a primary quote created for this opportunity and have added a sample product, Loss and Damage Warranty. This is a subscription product with recurring billing. Selecting the Ordered checkbox on the opportunity and saving the record will create an order. All the quote lines will be translated to order products. The order needs to be activated to generate an invoice.
Each order product will be converted to an invoice line. The invoice inherits the Service Start Date, Service End Date, Subscription Term, Payment Terms, and Order Products from its parent order. A few prerequisites to create an invoice include the following:
Selecting the Bill Now checkbox on an order and saving the record will create an invoice as shown in the following screenshot:
Let's look at a few of the important fields on an invoice:
An invoice can have the following Status values:
Invoices contain the tax information that Salesforce Billing provides, an internal tax engine, and an ability to integrate with external tax engines. Invoices also contain the payments and the balance information. Posting an invoice will lock it, preventing any changes from being made to it. A posted invoice is ready for payment and revenue recognition. Posting an invoice will initiate the following actions:
Once the invoice is posted, it cannot be changed as the transaction will be recorded in financial books. Changes to the posted invoice can be made by using credit notes and debit notes. This will be useful when we have errors in paid or partially paid invoices. Both the credit note and debit note objects have a lookup relationship to the account object.
Credit note lines and debit note lines track the actual amount to be allocated to one or more invoice lines. A credit note will decrease the invoice line balance and a debit note line will increase the invoice balance. A credit note can be created by clicking the Cancel and Rebill, Credit, or Convert Negative Lines buttons on the invoice. A credit note can be created with tax or without tax as needed. Credit notes and credit note lines can also be created manually.
Debit notes can be created from the Debit Note tab by clicking on the New Debit Note button or can be created from Related List on the account.
In the next section, let's learn how to automate invoice creation.
Using an Invoice Scheduler, Billing can automatically create invoices. An Invoice Scheduler uses an invoice run to evaluate when to invoice an order product. It considers all the unbilled order products and evaluates the user-determined criteria to generate invoices and invoice lines. Order products will be mapped to invoice lines. To create an Invoice Scheduler, navigate to Setup Quick Search Invoice Scheduler New. You'll see the following:
Let's look at some of the important fields in creating an Invoice Scheduler:
Important Note
Using invoice batches will result in separate invoices being generated for the same account if the orders have different batches, so you need to make sure the batches won't result in invoice splits. If needed, use Salesforce automation to set batch values to their defaults.
The invoice run object stores all the information related to invoice execution. This is a Related List on the Invoice Scheduler.
An invoice run is created when the Invoice Scheduler hits the target date. All the unbilled order products meeting the invoice run criteria will be selected for invoice generation. Salesforce Billing keeps invoice run criteria as a record in the Invoice Scheduler's invoice-run-Related List. Invoice runs are subject to Salesforce governor limits. If the invoice runs and processes many order products, you may encounter Apex errors.
Make sure the invoice runs are tested in a sandbox environment for scalability. Invoice Scheduler target dates can be used to generate invoices ahead of the actual invoice date. The invoice run's Clean Up Invoices button cancels any invoices that have a status of Error, Initiated, or Draft, and rolls back the order product status to Pending Billing. This will be useful for resetting when there are a lot of incorrect invoices.
Salesforce does not publish benchmarks for Invoice Scheduler performance because the overall performance is dependent on the specific implementation. Invoice creation can trigger the creation of records related to revenue recognition and payments.
Salesforce Billing provides several options to create invoice documents. If you have any third-party tools such as Conga or DocuSign for quote document generation, it is advisable to use the same application for invoice document generation as well. Salesforce Billing out of the box does not create and send invoice documents. Now that you have learned creating invoices in Billing, next let's learn how to create payments.
Salesforce Billing can be used to manually collect and allocate payments, or alternatively to automate the payment process. Payments can then be posted to keep the books up to date. Salesforce Billing allows multiple ways to create payments:
Once the payment is completed, Salesforce Billing creates a payment record in the payment object. Once Billing verifies the funds, the Payment Status field will be updated to Completed. Admins can also import payments using the data loader or by updating payments manually.
The following diagram shows a high-level billing data model:
Salesforce Billing tracks payments using several objects. Each product has an associated Billing Rule, Tax Rule, and Revenue Recognition Rule that defines how these transactions are scheduled for the product. Payments have an optional lookup relationship to the invoice record.
A payment object represents a payment event such as receiving a check or a credit card payment. A payment record stores information about the payment amount and payment-related details. Payments can be applied to any posted invoice with a balance. A payment has a master-detail relationship to an account. Payment allocation represents the payment amount applied to an invoice line's balance. When a payment is created for an invoice, it automatically creates allocations against the full balance of each invoice line. Let's learn about the revenue recognition process in Billing.
Billing offers support for ERP systems by converting the Salesforce CPQ quote to cash data into transactional data. This conversion helps ERP systems to inherit matching data that can be used for accounting functions for general ledger and financial reporting. Salesforce Billing uses several objects to manage the revenue recognition system. Revenue recognition is controlled by accounting standards and can be complex.
For example, revenue for a warranty subscription product of 120 dollars for a period of 12 months can be recognized as 10 dollars a month. Revenue can also be partially recognized. For example, 50% of the revenue can be recognized in full and the remaining 50% is based on the product subscription start date and end date. The revenue recognition process in billing can be automated by configuring the following:
Let's create a sample revenue distribution in Salesforce Billing by navigating to Setup Quick Find Revenue Distribution Methods New. This will open the screen shown in the following screenshot:
Let's look at a few important fields in the revenue distribution method creation process:
Additional revenue distribution methods can be defined as required for your company's financial requirements.
To create a Revenue Recognition Rule, navigate to Setup Quick Find Revenue Recognition Rules New. This opens the following window:
Provide a meaningful name and set Create Revenue Schedule? to Yes.
Admins can create additional Revenue Recognitions Rules as required by your company's finance team.
A Revenue Recognition Rule can have numerous treatments. To create a sample treatment, navigate to Setup Quick Find Revenue Recognition Treatments New. This will open the following window:
Let's look at a few important fields when creating a revenue treatment:
This will create a full revenue recognition transaction based on the invoice start date. We have seen how revenue recognition can be automated in Salesforce Billing. Next, let's learn how General Ledger (GL) accounts can be created.
Salesforce Billing can also be used to configure general ledger accounts for financial transactions. To summarize the financial transactions for invoices, tax, and revenue, we need an Account Receivable (AR) account, a revenue account, and a tax payable account. These are generic accounts chosen to demonstrate the account creation in Salesforce Billing. In a real-world implementation, the accounts required by your organization's finance department need to be created and configured as required.
GL accounts can be created by navigating to Setup Quick Find GL Accounts New. This will open the following window:
Let's learn about some of the important fields in GL account creation:
Saving this will create a GL account. Repeat the same process for different GL accounts that you need to create as per your organization's FMS requirements. After creating the GL accounts, let's learn how to create GL rules and GL treatments. GL rules define how Salesforce Billing records transactional data in your finance books. You can create a GL rule by navigating to Setup Quick Find GL Rule New. Next, you can create the GL treatment by navigating to Setup Quick Find GL Treatment New. This will open the following screen:
A few important fields in the GL treatment creation process include the following:
GL rules can be organized by GL treatment. Similarly, we can also create tax rules and tax treatments in Salesforce Billing to define how Billing processes taxes for the transactions.
Invoice lines contain lookups to revenue recognition rules, GL rules, and tax rules. These lookups help to establish the relationship between a transactional object and a GL account every time a transaction is performed. These relationships can be used for finance bookkeeping in external GL systems.
Salesforce Billing provides finance books, which are an out-of-the-box Billing object to store transactional data such as invoice lines, payment allocations, credit note lines, and revenue schedules. Finance books can be used to track this transactional data by organizing them into different groups based on the finance period for reporting and recordkeeping. Billing can help group a finance book's transaction records by date and legal entity into finance periods. Finance books can be used to ensure a seamless handoff to an ERP or accounting system.
In this chapter, we have learned how Salesforce Billing helps to unify the sales and finance teams in any business and helps to improve the customer experience. We also gained an understanding of the advantages that Salesforce Billing provides in the quote to cash process.
We have just scratched the surface here – a lot of finance-related features can be configured using Salesforce Billing. We have seen how to create invoices and invoice lines in Billing using the CPQ order object for different types of products. We have realized that Billing offers a lot of out-of-the-box configurations for setting up GL accounts. We have learned about revenue recognition rules, GL rules, tax rules, and the corresponding treatments. With this, the sales, finance, and service teams will be able to work from the same connected system. This helps reduce invoicing errors, creates an empowering customer experience, and allows us to close the books faster.
In the next chapter, we will learn about Salesforce Industries CPQ.
18.118.140.204