Loading

Revenue - Salesforce Billing ( Managed Package ) : Best Practices to Implement Invoice Plans With Salesforce Billing

Fecha de publicación: Jun 30, 2026
Descripción

Invoice Plans in Salesforce Billing provide a flexible way to create customized billing schedules for customers. Invoice Plans can be created automatically, manually, or by using a combination of both methods.

Invoice Plans are useful when billing schedules do not follow standard billing frequencies. However, there are important setup requirements and limitations to consider to avoid incorrect invoices, downstream errors, or unsupported configuration changes.

The Billing Schedule object holds Billing Transactions, which are used to create Invoice Lines. Billing Schedules have a lookup relationship to the Order Product. Billing Transactions have a master-detail relationship to the Billing Schedule.

Solución

Incorrect or unsupported Invoice Plan configuration can cause invoicing issues when Billing Schedules, Billing Transactions, Billing Frequency, Charge Type, service period dates, or Order Product activation status are not aligned with Salesforce Billing requirements.

Common causes include:

  • Adding Billing Schedules or Billing Transactions to Order Products where Billing Frequency is not set to Invoice Plan.
  • Changing Billing Frequency after an Order Product has already been activated.
  • Leaving Service Period Start or Service Period End blank on Billing Transactions before invoicing.
  • Changing Billing Day of Month on activated Orders without resetting Next Billing Date for Invoice Plan Order Products.
  • Attempting unsupported changes, such as changing Charge Type between Usage, One-Time, and Invoice Plan, or amending Invoice Plan products to increase or decrease quantity.


Follow these best practices when implementing Invoice Plans in Salesforce Billing.

 

Invoice Plan Setup Requirements

Invoice Plan Order Products must use the following setup:

  • Charge Type: Recurring
  • Billing Frequency: Invoice Plan

Do not add Billing Schedules or Billing Transactions to an Order Product when Billing Frequency is set to a periodic value such as Monthly, Quarterly, Semiannual, or Annual. This configuration is not supported and can cause incorrect invoices or downstream errors.

Invoice Plan Order Products do not use the Pending Billing Amount field. Upon activation, this field is set to 0.

 

Service Period Dates

For automatic Billing Transaction creation, if Service Period Start or Service Period End on the Invoice Plan Line is set to null or Create without Date, the Billing Transaction is created with these fields set to null.

Best practice is to populate Service Period Start and Service Period End on the Billing Transaction before invoicing. If these values are left blank:

  • Invoice Line start and end dates are also blank.
  • The dates cannot be updated on the Invoice Line.
  • Revenue schedule creation can error.

 

Changing Billing Frequency

Changing Billing Frequency from Invoice Plan to a periodic value, or from a periodic value to Invoice Plan, is best performed before the Order Product is activated for the first time.

Although changing Billing Frequency after activation may not trigger a validation error, it is not supported and can lead to incorrect invoicing.

 

To change from Invoice Plan to Periodic:

  1. Deactivate the Order Product.
  2. Delete the Billing Schedule, or cancel all Billing Transactions by setting their Override Status to Cancelled.
  3. Change the Billing Frequency and add Billing Type if it is not set.
  4. Activate the Order Product.
  5. Confirm that Pending Billing Amount, Next Billing Date, and Next Charge Date are updated correctly.
  6. Use Override Next Billing Date if a different Next Billing Date is required.

 

To change from Periodic to Invoice Plan:

  1. Deactivate the Order Product.
  2. Change the Billing Frequency to Invoice Plan.
  3. Activate the Order Product.

If the Invoice Plan on the Billing Treatment is configured with Billing Schedule Creation = Order Product Activation, the Billing Schedule is created automatically.

If the Order Product cannot be deactivated because it has generated posted Invoice Lines, use one of the following options:

  • Cancel and Rebill all invoices generated from the Order Product, and then deactivate it.
  • Cancel the subscription and replace it with the same product using the desired new Billing Frequency.

To amend a subscription and change Billing Frequency to or from Invoice Plan, cancel the existing subscription and add the product again with the new Billing Frequency. An Invoice Plan product must have a Cancellation Invoice Plan to be canceled. The Cancellation Invoice Plan can be different from the New Order Invoice Plan.

 

Billing Transaction Updates

Use the following fields to manage Billing Transactions:

  • To override the Next Billing Date on the Order Product, use Override Billing Target Date on the current Billing Transaction.
  • To cancel a Billing Transaction, set Override Status to Cancelled.
  • To change the amount to be charged, use Override Amount.
  • To change the Billing Date, use Override Billing Target Date.

Changing Charge Type from Usage or One-Time to Invoice Plan, or from Invoice Plan to Usage or One-Time, is not supported. To change an Invoice Plan product to one-time billing, create a Billing Transaction for 100% of the amount to be charged.

Invoice Plan products do not support amendments to increase or decrease quantity. To increase or decrease quantity, cancel the existing subscription and create a new one for the updated amount.

 

Migrating Legacy Data or Creating Billing Schedules Manually

Invoice Plans are useful for migrating legacy data because they allow customization of invoice amounts and invoice dates from migrated Orders.

When migrating Billing Schedules or creating them manually, populate the key fields required for accurate invoice creation:

  • Status: Pending
  • Source: External
  • Billing Target Date or Override Billing Target Date
  • Amount
  • Quantity
  • Lookup to a Billing Schedule on an Order Product
  • Service Period Start
  • Service Period End

 

Additional Notes

  • Triggers must be enabled when Billing Transactions are created so that the Order Product updates with the correct Next Billing Date.
  • If triggers must be disabled because of a large Billing Transaction volume, update Override Billing Target Date afterward to sync the Billing Transaction to the Order Product.
  • Updating Billing Day of Month on an activated Order deletes the value in Next Billing Date on Invoice Plan Order Products. Unless Next Billing Date is reset, the Order Product does not invoice.
  • To reset Next Billing Date, either:
    • Deactivate and reactivate the Order.
    • Update the billing target date on a Billing Transaction.
Número del artículo de conocimiento

002473649

 
Cargando
Salesforce Help | Article