Billing
Solarize uses "bill runs" to generate invoices, though the API does not currently support creating, updating, or deleting bill runs. To access a bill run and its invoices via the API, the bill run must be initiated in the Solarize application.
Once initiated, a bill run progresses through a series of states:
- create_progress: Bill run creation is in progress.
- create_error: Bill run creation encountered an unexpected error.
- create_success: Bill run was successfully created.
- complete_progress: Bill run completion is in progress.
- complete_error: Bill run completion encountered an unexpected error.
- complete_success: Bill run was successfully completed.
For further details, please refer to the API Reference.
Model
The billing model in Solarize centers around four key entities: the bill run, the invoices within the bill run, line items associated with each invoice and line item groups. The diagram below illustrates these relationships. Other dependencies, such as customer or site are beyond the scope of this section. For more information on related dependencies, please refer to the API Reference.
- Bill Run: The primary container that holds multiple invoices. See Bill Runs API.
- Invoice: The invoice including comprehensive details about the transaction, customer and billing specifics. See Invoices API.
- Line Item Group: A collection of multiple line items grouped by a meter, containing additional details about the meter, its measurements and the associated metering point operator (MPO). See Line Item Groups API.
- Line Item: Represents an individual billable component within an invoice, detailing the item name, quantity, pricing and associated billing information. See Line Items API.
Cancellation Invoices
The API allows for the retrieval and viewing of cancellation details, initiating an invoice cancellation is only possible through the Solarize application.
Invoices include the following attributes related to cancellation scenarios:
- cancelledAt: The date when the invoice was cancelled.
- cancellationRefId: The ID of the cancelled invoice associated with the cancellation invoice.
- cancelledById: The ID of the cancellation invoice associated with the cancelled invoice.
The image below illustrates how these attribute values are set during the process of canceling an invoice and starting a new bill run to produce the cancellation invoice.