How Salesforce Billing Combines and Splits Invoices

How Salesforce Billing Combines and Splits Invoices

Business Case

When you work as a waitress or waiter at a restaurant, you can typically expect that you'll be providing 1 bill per table. That is your default expectation. Sometimes though you need to be able to accommodate requests from customers such as providing bills to each individual customer or allowing someone else to pay the bill over the phone, such as when Uncle Joe calls the restaurant and wants to pay for his nephew's meal. 

Salesforce Billing Technical Solution 

Closeup image of a man giving credit card to waiter in cafe

Similar to the default experience the waitress or waiter can expect, Salesforce Billing also has default processes when generating an invoice.  The default functionality for Salesforce Billing will typically generate a single invoice per account for a billing period, generally regardless of how many opportunities, quotes, and orders are under that account.  However, sometimes other scenarios need to be accounted for and this is where Salesforce Billing order product fields come in handy.  

There are a few fields that dictate how invoices are combined or separated:

  • Order Product Billing Account
  • Order Billing Account
  • Order Account
  • Order Payment Term
  • Order Product Invoice Grouping

 Let's review each set of functionalities:

  • Billing Accounts
    • By default, Salesforce Billing generates Orders and Order Products with a Billing Account that is blank, so it will generate an invoice based on the Order's Account unless a Billing Account is to be specified. For the scenario where someone else should receive the Invoice, the Billing Account can be populated automatically or manually on the Order or Order Product. The Billing Account will be the respected responsible party before the standard Account on the Order is respected. Billing Accounts on the Order and Order Product records are intended to be filled in as needed.  
  • Payment Term
    • While Payment Terms could seem like a small detail as invoices are generated, it is important to understand that differing Payment Terms on Orders can cause multiple invoices to be generated under an account. Payment Term on the Order will dictate the Invoice Due Date which would warrant separate invoices to respect their individual due dates.  
  • Invoice Grouping
    • While Invoice Grouping will not change the overall Account responsible for the Invoice, it will affect how invoices are grouped together. Similar to the Billing Account, Invoice Grouping on Order Products are blank by default and intended to be automatically or manually populated. 
    • Setting a value in the Invoice Grouping field on the Order Products will produce a different outcome, let's review the options: 
      • "Contract Number" will split invoices up by a matching Contract Number. Contract Numbers are generated as a part of the Contracting process in Salesforce CPQ.  
      • "Order" will ensure a single invoice per order is generated rather than a single invoice for the entire account, regardless of how many orders that account has.  
      • "Order PO Number" will combine Orders onto one invoice with only if their PO Number is matching.  
      • "Legal Entity" will group order products on the same invoice if they have a matching Legal Entity.
      • "Separate Invoice" will separate each order product onto its own invoice.  
      • "Invoice Group ID" will generate invoices for order products that have a matching Invoice Group Id, which is a field that must be populated automatically or manually with a unique value.  


Billing Accounts and Invoice Grouping are key features of Salesforce Billing that allows flexibility with combining or separating invoices. 

  • To recap the order of operations for invoice splitting in Salesforce Billing, the Order Product Billing Account will first decide if an Order Product belongs on a separate invoice and billed to a different Account. The Order Billing Account comes in line after that and would be respected as there is no Order Product Billing Account. By default, these fields are blank and intended to be populated as needed. If both Billing Accounts remain blank, Salesforce Billing generates a single invoice for the standard Order Account.  
  • Once that logic is complete, Salesforce Billing then checks that the Order Payment Terms are matching and will split invoices for the matching Billing Account or Account if there are multiple Payment Terms. After the Accounts and Payment Terms are considered, Salesforce Billing then looks for the Invoice Grouping on Order Products. 


To learn more about Kavaliro's Salesforce Billing practice, and how you can optimize your billing processes, contact us today at

Written by Corrie Wanchena, Salesforce Billing Practice Lead at Kavaliro