Use Case: Create an Invoice Run Request
Business Context
Invoice Run is a batch job that generates invoices in bulk for accounts based on their billing schedules. You can run it immediately or schedule it for the future, and you can filter which accounts, products, or locations to include, making it highly flexible for different business needs.
Invoice runs are central to revenue recognition. By automating the generation of invoices for all pending billing schedules, companies ensure timely billing, which directly impacts cash flow and financial reporting. The process supports compliance and audit requirements by ensuring invoices are created based on approved billing schedules and payment terms.
Overview
This use case describes how to generate an invoice run.
Flow
1. Call the Invoice Configuration API,(https://<URL_of_the_Instance>/api/billing/v1/configure-requests) to create an invoice run request.
- Name: Name of the invoice run, e.g., GE Avaition-Longterm.
- RunType: Immediate.
- AutoApproveInvoices: Specify if you want to auto approve the invoices, e.g., true.
- InvoiceDateType: Ready for Invoice Date.
- ProcessFrom: The date from when you want to process the invoice run, e.g., 2013-02-03T00:00:00.000Z.
- ProcessTo: The date from when you want to process the invoice run, e.g., 2013-03-02T00:00:00.000Z
{
"Summary": "1 record processed successfully.",
"Results": [
{
"InvoiceRequestResultId": "675652dc-758f-4a03-a31c-9d4c2573b057",
"Id": "ac1f1403-caae-4504-ab03-7f8b82e932ef",
"RecordIndex": 0,
"IsSuccess": true,
"Errors": [],
"ErrorMessage": null
}
]
}4. To view the invoices in this invoice run, call the Get invoices API, (https://<URL_of_the_Instance>/api/billing/v1/request-results/{{InvoiceRequestResultId}}/invoices), and enter the InvoiceRequestResultId from the above response.
[
{
"InvoiceRequestResult": {
"Id": "675652dc-758f-4a03-a31c-9d4c2573b057",
"Name": "GE Avaition-Longterm3 1/22/2026 3:06:59 PM"
},
"BillTo": {
"Id": "32d9460e-25ad-4b02-9754-e98accf3d9c7",
"Name": "Account_Billing_1769000533576_6548"
},
"BillToLocation": null,
"ShipTo": {
"Id": "32d9460e-25ad-4b02-9754-e98accf3d9c7",
"Name": "Account_Billing_1769000533576_6548"
},
"ShipToLocation": null,
"PaymentTerm": {
"Id": "7e6df04c-60a0-4974-9b12-f535bf38b1ef",
"Name": "PaymentTerm_Default_QA_automation_Org"
},
"ApprovedStatus": "Approved",
"InvoiceDate": "2013-02-03T00:00:00",
"DueDate": "2013-02-28T00:00:00",
"DueIn": null,
"DuePastBy": 4711,
"Currency": "USD",
"TotalOneTimeFee": {
"Value": 0.0000000000,
"DisplayValue": 0.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalRecurringFee": {
"Value": 100.0000000000,
"DisplayValue": 100.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalEvergreenFee": {
"Value": 0.0000000000,
"DisplayValue": 0.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalUsageFee": {
"Value": 0.0000000000,
"DisplayValue": 0.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalFee": {
"Value": 100.0000000000,
"DisplayValue": 100.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalAdjustments": {
"Value": 0.0000000000,
"DisplayValue": 0.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"SubTotal": {
"Value": 100.0000000000,
"DisplayValue": 100.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"Tax": {
"Value": 0.0000000000,
"DisplayValue": 0.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"TotalAmount": {
"Value": 100.0000000000,
"DisplayValue": 100.0000000000,
"CurrencyCode": "USD",
"CurrencySymbol": "$"
},
"InvoiceAutoNumber": "INV-000000309",
"Id": "499e7807-c596-43a2-8771-1d4eed3d5b52",
"Name": "INV-000000309",
"CreatedBy": {
"Id": "acb80fc7-febc-3efc-122e-9953eac3211d",
"Name": "Palak Tak"
},
"CreatedDate": "2026-01-22T20:37:24.019",
"ModifiedBy": {
"Id": "11111111-1111-1111-1111-111111111111",
"Name": "System Admin"
},
"ModifiedDate": "2026-01-22T20:37:40.393",
"ExternalId": null,
"ETag": "bf96f2b5-e261-4648-ba52-ad85c438d3b6",
"RequestResultId": null
}
]Business Values
- Operational Efficiency: Instead of manually creating invoices one by one, invoice runs allow finance teams to process hundreds or thousands of invoices in a single operation, saving time and reducing errors.
- Enhanced Customer Experience and Relationship: Timely and accurate invoicing helps maintain trust with customers. Invoice runs ensure customers receive invoices that reflect their actual usage, discounts, and payment terms, reducing disputes and improving satisfaction.
- Scalability and Compliance: Invoice runs are designed to handle high volumes, supporting business growth without sacrificing accuracy or compliance. They can be configured to suppress $0 invoices, auto-approve invoices, and split/combine invoices based on business rules.
- Integration with Financial Systems: After invoices are generated, they can be integrated with ERP systems for accounting and revenue recognition, and payment status can be tracked for collections and aging analysis.
