You are here:
Invoice Schedulers for Automating Invoice Creation
Set up an invoice scheduler for your billable order products so invoices can be generated automatically. (Salesforce Billing Managed Package)
Required Editions
| Available in: Salesforce Billing Winter ’18 and later |
Invoice Schedulers
An invoice scheduler uses an invoice run to evaluate whether and when an order product gets invoiced. The invoice scheduler's Type field defines the time frame for your invoice run: Daily, Weekly, Monthly, or Once. After selecting the type, choose a date and time for the invoicing process to begin, such as the starting date of a subscription or service. Then set your target dates as follows:
- Target Date: Set a date for a one-time invoice run.
- Target Day of Week: Choose a number corresponding with a day of the week (1=Saturday) for weekly invoice runs.
- Target Day of Month: Choose the day of the month for monthly invoice runs.
Use your scheduler’s invoice date fields to define the start date of the invoices that your invoice run creates. These dates must also match the time frame you set with the Type field.
- Invoice Date: Use this field if your invoice run is a one-time event.
- Invoice Day of Week: Choose a number for the day of the week (1=Saturday) if your invoice runs every week.
- Invoice Day of Month: Use this field if your invoice run is a monthly event.
Select one or more invoice batches using the multi-select picklist to include those batches in the run. If this field is set to null, only those orders with null in the batch are picked up.
The invoice scheduler kicks off invoice runs when it hits the start time that you specify. For example, if you set up a monthly invoice scheduler to run on the 15th of every month, it runs on the next occurrence of the 15th of the month. You can’t start a monthly invoice scheduler on the same day of the month for a future month, unless the date in your current month has passed. For example, if today is August 15, you can't set up a monthly invoice schedule to start on September 20.
Invoice Runs
When your invoice scheduler hits its target, it creates an invoice run. An invoice run is like a net that trawls for eligible order products. When an unbilled order product matches the invoice run’s criteria, it’s included in the next invoice. Salesforce Billing stores Invoice Run criteria as a record in the Invoice Scheduler’s Invoice Run Related List.
The invoice run inherits its Target Date from one of these values.
- Invoice scheduler’s Target Date value
- A specific date based on your Target Day of Week field or Target Day of Month field values
The invoice run also inherits its Invoice Date from your scheduler’s Invoice Date, or a date based on the target day of week or month. All invoices generated from an invoice run inherit their start dates from the Invoice Run’s Invoice Date.
Invoice Run Criteria
All Order Products
- Activated checkbox is selected.
- The order’s invoice batch must match the invoice scheduler’s invoice batch.
- Next Billing Date or Override Next Billing Date must be before or on your invoice run’s Target Date.
- In multicurrency orgs, the currency matches your invoice run’s currency, or the invoice scheduler’s Include All Currencies field is selected.
- Hold Billing is set to No.
- Invoice Run Processing Status has a value of Pending Billing. If a billing rule’s Generate Invoice field has a value of Yes, all the rule’s order products are created with an invoice run processing status set to Pending Billing. Otherwise, order products are created with an invoice run process status of Will Not Invoice. We recommend using Generate Invoice to control invoice run processing status on your order products. If an invoice run ignores an uninvoiced order product with a Will Not Invoice status, and a user changes the status to Pending Billing, Salesforce Billing won’t invoice the order product until the next invoice run or Bill Now process.
Order Products with Usage Summaries
- All of the previously listed order product criteria, and the following:
- The invoice run’s parent invoice scheduler has the Bill Usage Charges field selected.
- Invoice Run Processing Status has a value of Pending Billing. When the charge type is Usage, this field’s value is also controlled by the same billing rule that controls the usage summary’s parent order product. Otherwise, it's controlled by the Billing Rule on the Consumption Schedule.
- The Next Billing Date of any usage summaries that you want to invoice must be before the invoice run's target date.
- Usage Summaries are picked up only for invoicing if both the invoice run’s Bill Usage Charges field is True and the Next Billing Date on the Usage Summary is before the invoice run’s Target Date value.
After your invoice run has evaluated its available order products, it generates an invoice based on the billing data of the invoiceable order products.
- Target Date: 08/01/2018
- Start Date Time: 08/01/2018 sometime before 11:59:59 PM
- Invoice Date: 08/01/2018
Product
- Standard Price: $1000
- Billing Frequency: Monthly
- Charge Type: Recurring
- Billing Type: Advance
- Active: True
Order Product
- Quantity: 20
- Start Date: 08/01/2018
- End Date: 07/31/2019
On August 1, your invoice schedule launches your invoice run, which creates the following invoice:
Invoice
- Invoice Date: 08/01/2018
- Subtotal: $200,000
Your order product also updates its billed amount to $200,000.
- Guidelines for Invoice Runs
When you make an invoice scheduler and define parameters for its invoice runs, consider key guidelines. (Salesforce Billing Managed Package) - Clean Up Invoice Runs
Clean-up invoice runs to correct any system errors, and reset order products and usage summaries. After an invoice run clean-up, another invoice run picks up eligible order products and usage summaries. (Salesforce Billing Managed Package) - Cancel Upcoming Invoice Runs
Cancel upcoming invoice runs by deleting the Scheduled Job record of the parent invoice scheduler. (Salesforce Billing Managed Package)

