# Invoices API



<EndpointIndex
  names={[
  	'fetchInvoicesForQuote',
  	'fetchInvoicesForPolicy',
  	'fetchInvoicesForAccount',
  	'getInvoiceWithItems',
  	'fetchInvoiceDetails',
  	'fetchPaymentsForAnInvoice',
  	'fetchCreditsForAnInvoice',
  	'fetchInvoicesTargetedByAPayment',
  	'updateInvoice',
  	'settleNegativeOrZeroInvoice',
  	'fetchDebitsForAnInvoice',
  	'previewInvoicesForQuote',
  	'previewInvoicesForTransaction',
  	'previewInvoicesForStatelessQuote',
  	'fetchInvoiceWithNumber',
  	'setInvoiceNumber',
  	'generateInvoiceNumber',
  	'initiateEarlyInvoicing',
  ]}
  titles={{
  	fetchInvoicesForQuote: 'Fetch Invoices for a Quote',
  	fetchInvoicesForPolicy: 'Fetch Invoices for a Policy',
  	fetchInvoicesForAccount: 'Fetch Invoices for an Account',
  	getInvoiceWithItems: 'Fetch an Invoice with Its Items',
  }}
/>

Fetch [#fetch]

Fetch Invoices for a Quote [#fetch-invoices-for-a-quote]

<ApiEndpoint name="fetchInvoicesForQuote" title="Fetch Invoices for a Quote" />

Fetch Invoices for a Policy [#fetch-invoices-for-a-policy]

<ApiEndpoint name="fetchInvoicesForPolicy" title="Fetch Invoices for a Policy" />

Fetch Invoices for an Account [#fetch-invoices-for-an-account]

<ApiEndpoint name="fetchInvoicesForAccount" title="Fetch Invoices for an Account" />

Fetch an Invoice with Its Items [#fetch-an-invoice-with-its-items]

<ApiEndpoint name="getInvoiceWithItems" title="Fetch an Invoice with Its Items" />

<ApiSchema name="InvoiceResponse" />

<ApiSchema name="InvoiceItemResponse" />

Fetch Invoice Details [#fetch-invoice-details]

<ApiEndpoint name="fetchInvoiceDetails" />

<ApiSchema name="InvoiceDetailsResponse" />

Fetch Payments For An Invoice [#fetch-payments-for-an-invoice]

<ApiEndpoint name="fetchPaymentsForAnInvoice" />

<ApiSchema name="PaymentListResponse" />

Fetch Credits For An Invoice [#fetch-credits-for-an-invoice]

<ApiEndpoint name="fetchCreditsForAnInvoice" />

Fetch Invoices Targeted By APayment [#fetch-invoices-targeted-by-apayment]

<ApiEndpoint name="fetchInvoicesTargetedByAPayment" />

<ApiSchema name="InvoiceListResponse" />

<ApiSchema name="InvoiceSummary" />

Update [#update]

Update Invoice [#update-invoice]

<ApiEndpoint name="updateInvoice" />

<ApiSchema name="InvoiceUpdateRequest" />

Negative Invoice Handling [#negative-invoice-handling]

Settle Negative Or Zero Invoice [#settle-negative-or-zero-invoice]

<ApiEndpoint name="settleNegativeOrZeroInvoice" />

Fetch Debits For An Invoice [#fetch-debits-for-an-invoice]

<ApiEndpoint name="fetchDebitsForAnInvoice" />

<ApiSchema name="ListPageResponseDebitResponse" />

<ApiSchema name="DebitResponse" />

<ApiSchema name="ListPageResponseCreditDistributionResponse" />

Invoice Documents [#invoice-documents]

If you have configured invoicing to generate an invoice document, you can fetch it with the <ApiLink name="fetchInvoiceDocument" /> endpoint.

Invoice Preview [#invoice-preview]

Preview Invoices For Quote [#preview-invoices-for-quote]

<ApiEndpoint name="previewInvoicesForQuote" />

Preview Invoices For Transaction [#preview-invoices-for-transaction]

<ApiEndpoint name="previewInvoicesForTransaction" />

<ApiSchema name="InvoicePreviewResponse" />

<ApiSchema name="InvoiceItemPreview" />

Preview Invoices For Stateless Quote [#preview-invoices-for-stateless-quote]

<ApiEndpoint name="previewInvoicesForStatelessQuote" />

Numbering [#numbering]

Fetch Invoice With Number [#fetch-invoice-with-number]

<ApiEndpoint name="fetchInvoiceWithNumber" />

Set Invoice Number [#set-invoice-number]

<ApiEndpoint name="setInvoiceNumber" />

Generate Invoice Number [#generate-invoice-number]

<ApiEndpoint name="generateInvoiceNumber" />

Early Invoicing [#early-invoicing]

Initiate Early Invoicing [#initiate-early-invoicing]

<ApiEndpoint name="initiateEarlyInvoicing" />

<ApiSchema name="EarlyInvoicingRequest" />

<ApiSchema name="EarlyInvoicingResponse" />


## API Reference

GET /billing/{tenantLocator}/invoices/quotes/{quoteLocator}/list — fetchInvoicesForQuote
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  quoteLocator (ulid, path, required)
  includeZeroAmountInvoices (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 InvoiceListResponse — OK

GET /billing/{tenantLocator}/invoices/policies/{policyLocator}/list — fetchInvoicesForPolicy
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
  includeZeroAmountInvoices (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 InvoiceListResponse — OK

GET /billing/{tenantLocator}/invoices/accounts/{accountLocator}/list — fetchInvoicesForAccount
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  accountLocator (ulid, path, required)
  includeZeroAmountInvoices (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 InvoiceListResponse — OK

GET /billing/{tenantLocator}/invoices/{locator} — getInvoiceWithItems
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 InvoiceResponse — OK

GET /billing/{tenantLocator}/invoices/{locator}/details — fetchInvoiceDetails
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 InvoiceDetailsResponse — OK

GET /billing/{tenantLocator}/invoices/{locator}/payments/list — fetchPaymentsForAnInvoice
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  includeReversed (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 PaymentListResponse — OK

GET /billing/{tenantLocator}/invoices/{locator}/credits/list — fetchCreditsForAnInvoice
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  includeReversed (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 CreditListResponse — OK

GET /billing/{tenantLocator}/payments/{locator}/invoices/list — fetchInvoicesTargetedByAPayment
Tags: payments-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  includeReversed (boolean, query)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query)
Responses:
  200 InvoiceListResponse — OK

PATCH /billing/{tenantLocator}/invoices/{locator} — updateInvoice
Tags: invoices-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (InvoiceUpdateRequest):
Responses:
  200 InvoiceResponse — OK

POST /billing/{tenantLocator}/invoices/{locator}/settle — settleNegativeOrZeroInvoice
Tags: invoices-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  forced (boolean, query)
Responses:
  200 ListPageResponseCreditDistributionResponse — OK

GET /billing/{tenantLocator}/invoices/{invoiceLocator}/debits/list — fetchDebitsForAnInvoice
Tags: invoices-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  invoiceLocator (ulid, path, required)
  includeReversed (boolean, query)
  offset (integer, query)
  count (integer, query)
Responses:
  200 ListPageResponseDebitResponse — OK

GET /billing/{tenantLocator}/invoices/quotes/{locator}/previewInvoices — previewInvoicesForQuote
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  includeZeroAmountInvoices (boolean, query)
  count (integer, query)
Responses:
  200 InvoicePreviewResponse[] — OK

GET /billing/{tenantLocator}/invoices/transactions/{locator}/previewInvoices — previewInvoicesForTransaction
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  includeZeroAmountInvoices (boolean, query)
  count (integer, query)
Responses:
  200 InvoicePreviewResponse[] — OK

GET /billing/{tenantLocator}/invoices/quotes/statelessPreview — previewInvoicesForStatelessQuote
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  quotePreviewRequest (QuoteBillingPreviewRequest, query, required)
  includeZeroAmountInvoices (boolean, query)
  count (integer, query)
Responses:
  200 InvoicePreviewResponse[] — OK

GET /billing/{tenantLocator}/invoices/numbers/{invoiceNumber} — fetchInvoiceWithNumber
Tags: invoices-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  invoiceNumber (string, path, required)
Responses:
  200 InvoiceResponse[] — OK

POST /billing/{tenantLocator}/invoices/{locator}/number/set — setInvoiceNumber
Tags: invoices-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  invoiceNumber (string, query, required)
Responses:
  200 InvoiceResponse — OK

POST /billing/{tenantLocator}/invoices/{locator}/number/generate — generateInvoiceNumber
Tags: invoices-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 InvoiceResponse — OK

POST /billing/{tenantLocator}/invoices/earlyInvoicing — initiateEarlyInvoicing
Tags: invoices-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (EarlyInvoicingRequest):
Responses:
  200 EarlyInvoicingResponse — OK

InvoiceResponse
Properties:
  locator (ulid, required)
  accountLocator (ulid, required)
  invoiceState (Enum open | settled | discarded, required)
  invoiceItems (InvoiceItemResponse[]) — Not included when part of a list response
  generatedTime (datetime, required)
  dueTime (datetime, required)
  currency (string, required)
  startTime (datetime, required)
  endTime (datetime, required)
  unsettledTime (datetime)
  timezone (string, required)
  invoiceNumber (string)
  autopayTime (datetime)
  settledTime (datetime)
  aggregatedInvoiceLocator (ulid)
  invoiceType (Enum normal | aggregate, required)
  totalAmount (number)
  totalRemainingAmount (number)

InvoiceItemResponse
Properties:
  locator (ulid, required)
  chargeType (string, required)
  chargeCategory (string, required)
  amount (number, required)
  remainingAmount (number)
  settlementTime (datetime)
  invoiceLocator (ulid, required)
  installmentItemLocators (ulid[], required)
  timezone (string, required)
  quoteLocator (ulid)
  policyLocator (ulid)
  elementStaticLocator (ulid)
  elementType (string)
  transactionLocators (ulid[], required)
  unsettledTime (datetime)

InvoiceDetailsResponse
Properties:
  invoiceLocator (ulid, required)
  accountLocator (ulid, required)
  invoiceState (Enum open | settled | discarded, required)
  startTime (datetime, required)
  endTime (datetime, required)
  generatedTime (datetime, required)
  dueTime (datetime, required)
  currency (string, required)
  timezone (string, required)
  totalAmount (number, required)
  totalRemainingAmount (number, required)
  invoiceNumber (string)
  invoiceSummaries (InvoiceSummary[], required)
  autopayTime (datetime)
  unsettledTime (datetime)
  settledTime (datetime)
  aggregatedInvoiceLocator (ulid)
  invoiceType (Enum normal | aggregate, required)

PaymentListResponse
Properties:
  listCompleted (boolean, required)
  items (PaymentResponse[], required)

InvoiceListResponse
Properties:
  listCompleted (boolean, required)
  items (InvoiceSummary[], required)

InvoiceSummary
Properties:
  locator (ulid, required)
  accountLocator (ulid, required)
  invoiceState (Enum open | settled | discarded, required)
  generatedTime (datetime, required)
  autopayTime (datetime)
  dueTime (datetime, required)
  currency (string, required)
  startTime (datetime, required)
  endTime (datetime, required)
  settledTime (datetime)
  unsettledTime (datetime)
  timezone (string, required)
  invoiceNumber (string)
  totalAmount (number, required)
  totalRemainingAmount (number, required)

InvoiceUpdateRequest
Properties:
  autopayTime (datetime, required)
  suppressAutopay (boolean, required)

ListPageResponseDebitResponse
Properties:
  listCompleted (boolean, required)
  items (DebitResponse[], required)

DebitResponse
Properties:
  invoiceLocator (ulid, required)
  targetType (Enum invoice | account | subpayment | invoiceItem, required)
  targetLocator (ulid, required)
  amount (number, required)
  reversed (boolean)
  reversedAt (datetime)

ListPageResponseCreditDistributionResponse
Properties:
  listCompleted (boolean, required)
  items (CreditDistributionResponse[], required)

InvoicePreviewResponse
Properties:
  generateTime (datetime, required)
  dueTime (datetime, required)
  startTime (datetime, required)
  endTime (datetime, required)
  invoiceItems (InvoiceItemPreview[], required)
  totalAmount (number, required)
  autopayTime (datetime, required)
  installmentLocators (ulid[], required)

InvoiceItemPreview
Properties:
  chargeType (string, required)
  chargeCategory (string, required)
  amount (number, required)
  quoteLocator (ulid)
  policyLocator (ulid)
  elementType (string, required)
  elementStaticLocator (ulid, required)
  transactionLocators (ulid[], required)

EarlyInvoicingRequest
Properties:
  accountLocator (ulid)
  invoiceThroughTime (datetime)
  installmentLocators (ulid[], required)
  invoiceDueTime (datetime)
  timezone (string)
  ignoreHolds (boolean, required)

EarlyInvoicingResponse
Properties:
  jobLocator (ulid, required)
  candidateInstallmentsCount (integer, required)