---
schema_version: "1"
id: acbe42f85fb2fa39f8f1cceec2c1aa839a031ab2874e24ecb2c24480fc5b9062
title: Generate Invoices Automatically Based on Billing Schedules
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/billing_automate_invoice_run_schedules.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.billing_automate_invoice_run_schedules.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: d1cb80c37e6e25b8396ffb00d3ee28c5c3c7509f6d127ed9f59c5a2123737c88
description: Set up invoice schedulers to generate invoices on a schedule or on demand. Select billing schedules by target date, billing period count, or both. Generate invoice documents during the run, or use a catch-up bill run to advance migrated schedules without creating invoices.
products:
  - Revenue Cloud
release: "264"
---
# Generate Invoices Automatically Based on Billing Schedules

Set up invoice schedulers to generate invoices on a schedule or on demand. Select billing schedules by target date, billing period count, or both. Generate invoice documents during the run, or use a catch-up bill run to advance migrated schedules without creating invoices.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
        <colgroup>
          <col>
        </colgroup>
        <tbody>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong>
              Editions with <span>Revenue Management</span></td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>This feature is available with <a href="https://help.salesforce.com/s/articleView?id=ind.revenue_licenses_areas_and_features.htm&amp;release=264.0.0&amp;type=5">the <span>Revenue Management</span> Advanced license or the <span>Revenue Management</span> Billing
                  license</a>.</p>
              <p style="margin-bottom:0;">The Milestone Billing and Usage-Based Invoicing features are available only with
                <a href="https://help.salesforce.com/s/articleView?id=ind.revenue_licenses_areas_and_features.htm&amp;release=264.0.0&amp;type=5">the <span>Revenue Management</span> Billing license</a>. Contact your Salesforce
                account executive for more information.
              </p>
            </td>

          </tr>
        </tbody>
      </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d163766e98">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d163766e98 ">To create invoice schedulers:</td>


            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d163766e98 ">
              <p>Billing Admin permission set</p>
              <p>OR</p>
              <p style="margin-bottom:0;">Billing Operations User permission set</p>
            </td>


          </tr>

          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d163766e98 ">To generate invoice documents during a batch run:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d163766e98 ">
              <p>Billing Admin permission set OR Billing Operations User permission set</p>
              <p>AND</p>
              <p style="margin-bottom:0;">DocGen User permission set</p>
            </td>

          </tr>

        </tbody>
      </table>

1. From the App Launcher, find and select **Billing Batch Schedulers**.
2. Click **New Invoice Scheduler**.
3. Enter a scheduler name.
4. To advance migrated billing schedules without generating invoices, select **Catch-Up Bill Run**.
    
    Catch-up bill runs use the Once frequency and require a target date. Because catch-up doesn't generate invoices, the scheduler disables the invoice generation options, such as post invoices, create invoice documents, invoice date, and recurrence. For when to use a catch-up bill run, see [Catch-Up Bill Runs](https://help.salesforce.com/s/articleView?id=ind.billing_catch_up_bill_runs.htm&release=264.0.0&type=5 "Use a catch-up bill run to advance the next billing date, billed amount, and pending amount on billing schedules for transactions that a legacy system fully or partially billed. Catch-up doesn’t create invoices for those periods.").
5. To initiate a one-time invoice run, select **Start run now**.
    
    All other scheduling options for the invoice run are hidden when you immediately start the invoice run.
6. To activate the invoice scheduler, select **Active**.
    
    Invoices are generated only when the scheduler is active. You can also create invoice schedulers in a draft state and activate them when needed.
7. Select a start date, start time, and the time zone for the scheduler.
8. To generate invoices in a posted status, select **Post invoices**.
    
    If you deselect Post invoices, invoices are created in draft status.
9. To create invoice PDF documents automatically as invoices are streamed during the batch run, select **Generate Invoice Documents**.
10. Select a frequency, then specify the date and period fields that appear.
    
    For when to use each option, see [Understand Invoice Date, Target Date, and Billing Period Count](https://help.salesforce.com/s/articleView?id=ind.billing_understand_target_date_and_billing_period_count.htm&release=264.0.0&type=5 "Before you schedule invoice batch runs, learn how invoice dates are determined, how billing schedules are selected, and how many billing periods are processed for each schedule. You can also process a specific number of billing periods without relying on a target date.").
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><tbody><tr class=""><th style="vertical-align:top;" headers="d163766e257-option" id="d163766e261">Once</th><td style="vertical-align:top;" headers="d163766e257-desc d163766e261">Enter the target date and invoice date as calendar dates. If Catch-Up Bill Run is selected, frequency is Once and Invoice Date is disabled.</td></tr><tr class=""><th style="vertical-align:top;" headers="d163766e257-option" id="d163766e270">Daily, weekly, or monthly</th><td style="vertical-align:top;" headers="d163766e257-desc d163766e270">Billing calculates the target date and invoice date for each invoice batch run. <strong class="uicontrol">Base Target Date On</strong>, <strong class="uicontrol">Base Invoice Date On</strong>, and <strong class="uicontrol">Invoice Date Offset</strong> control those calculated dates. You can also select <strong class="uicontrol">Exclude holidays and weekends</strong>. Holidays are configured in the UTC time zone, and the scheduler must match the time zone. A weekly run also shows the day of the week.</td></tr></tbody></table>
    
    For every frequency, Select billing schedules based on determines whether Billing uses a target date, a billing period count, or a billing period count with an optional target date filter.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><tbody><tr class=""><th style="vertical-align:top;" headers="d163766e293-option" id="d163766e297">Target Date</th><td style="vertical-align:top;" headers="d163766e293-desc d163766e297">For a once run, enter <strong class="uicontrol">Target Date</strong>. For a daily, weekly, or monthly run, specify <strong class="uicontrol">Base Target Date On</strong>. Billing selects schedules whose next billing date is on or before the target date.</td></tr><tr class=""><th style="vertical-align:top;" headers="d163766e293-option" id="d163766e312">Billing Period Count</th><td style="vertical-align:top;" headers="d163766e293-desc d163766e312"><strong class="uicontrol">Billing Period Count</strong> appears. Each selected schedule is invoiced for that number of periods. Target date fields remain available to filter which schedules are selected for invoicing. For a once run, <strong class="uicontrol">Target Date</strong> is optional. For a daily, weekly, or monthly run, <strong class="uicontrol">Base Target Date On</strong> remains available; those target date fields are optional.</td></tr></tbody></table>
    
    For a daily, weekly, or monthly run, Base Target Date On controls how Billing calculates the target date.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><tbody><tr class=""><th style="vertical-align:top;" headers="d163766e332-option" id="d163766e336">Offset from Run Date</th><td style="vertical-align:top;" headers="d163766e332-desc d163766e336">Billing adds <strong class="uicontrol">Target Date Offset</strong> to the date the invoice batch run runs.</td></tr><tr class=""><th style="vertical-align:top;" headers="d163766e332-option" id="d163766e348">Day Of Month</th><td style="vertical-align:top;" headers="d163766e332-desc d163766e348">Billing uses <strong class="uicontrol">Target Day Of Month</strong> in the month of the invoice batch run, shifted by <strong class="uicontrol">Target Month Offset</strong>. Target day of month can be 1 through 28, or last, second-to-last, or third-to-last.</td></tr></tbody></table>
    
    For a daily, weekly, or monthly run, Base Invoice Date On controls how Billing calculates the invoice date. Invoice Date Offset appears with either option.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><tbody><tr class=""><th style="vertical-align:top;" headers="d163766e365-option" id="d163766e369">Offset from Target Date</th><td style="vertical-align:top;" headers="d163766e365-desc d163766e369">Billing adds <strong class="uicontrol">Invoice Date Offset</strong> to the target date.</td></tr><tr class=""><th style="vertical-align:top;" headers="d163766e365-option" id="d163766e381">Offset from Run Date</th><td style="vertical-align:top;" headers="d163766e365-desc d163766e381">Billing adds <strong class="uicontrol">Invoice Date Offset</strong> to the date the invoice batch run runs.</td></tr></tbody></table>
    
    For a monthly run, On controls whether the run uses a weekday cadence or a calendar date.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><tbody><tr class=""><th style="vertical-align:top;" headers="d163766e395-option" id="d163766e399">Every</th><td style="vertical-align:top;" headers="d163766e395-desc d163766e399"><strong class="uicontrol">Cadence</strong> (First, Second, Third, Fourth, or Last) and <strong class="uicontrol">Day</strong> (Sunday through Saturday).</td></tr><tr class=""><th style="vertical-align:top;" headers="d163766e395-option" id="d163766e413">Specific Date</th><td style="vertical-align:top;" headers="d163766e395-desc d163766e413"><strong class="uicontrol">Date</strong> (1 through 28, or last, second-to-last, or third-to-last).</td></tr></tbody></table>
11. If needed, for recurring invoice runs, stop the schedule recurrence after a date by selecting the end date.
12. Click **Next**.
13. Select the billing batch to generate invoices for, or filter billing schedules based on your criteria.
    
    The invoice run selects billing batches from the billing schedules based on the invoice run matching criteria. A billing batch includes several invoices that are processed simultaneously during an invoice run.
14. Select the billing charge type for the invoice.
    
    You can select one or a combination of the charge types. By default, all charge types are selected.
15. If needed, you can also filter the invoice based on legal entity and customer account.
16. Select the currency for the invoices. You can select multiple currencies to manage invoicing across different regions and locations.
    
    The billing schedules are filtered based on the selected currency.
17. Click **Schedule**.
    
    You can modify the scheduled invoice runs later, provided that the runs are in a draft or inactive state.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_important.png)

Important When generating invoices by using the Invoice Creation API or invoice batch runs, implement custom automation on generated invoices as asynchronous processes, such as asynchronous flow paths or asynchronous Apex triggers. Synchronous automation in this context can cause performance issues, timeouts, or failures.

To explore examples to understand how to schedule invoice batch runs based on your requirements, see [Examples: Invoice Batch Run Frequencies](https://help.salesforce.com/s/articleView?id=ind.billing_invoice_batch_run_example.htm&release=264.0.0&type=5 "Explore examples to understand how to schedule invoice batch runs based on your requirements.").

To understand the invoice generation process, see [Invoice Batch Run Process](https://help.salesforce.com/s/articleView?id=ind.billing_invoice_batch_run.htm&release=264.0.0&type=5 "Invoice batch runs stream invoices by processing billing schedules in parallel. Track each stage of the invoice batch run to monitor progress and status.").

#### See Also

- [_Knowledge Article_: Invoice Batch Run Fails When Billing Permission Sets Are Assigned via Permission Set Group](https://help.salesforce.com/s/articleView?id=005239210&type=1&language=en_US)