***

title: Invoices
subtitle: List, retrieve, finalize, and void invoices
slug: endpoints/invoices
---------------------

For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://docs.prolifi.io/endpoints/llms.txt. For full documentation content, see https://docs.prolifi.io/endpoints/llms-full.txt.

Invoices are generated automatically by Prolifi's billing engine when a subscription billing cycle completes. You can also finalize or void invoices through the API.

## Endpoints

| Method | Path                      | Description                |
| ------ | ------------------------- | -------------------------- |
| `GET`  | `/invoices`               | List invoices (paginated)  |
| `GET`  | `/invoices/{id}`          | Get an invoice             |
| `POST` | `/invoices/{id}/finalize` | Finalize a pending invoice |
| `POST` | `/invoices/{id}/void`     | Void an invoice            |

## Key concepts

* **Invoice lifecycle**: Invoices progress through statuses — `pending` → `posted` → `paid` (or `void`).
* **Finalization**: Only `pending` invoices can be finalized. Finalizing transitions an invoice to `posted`, making it ready for payment collection.
* **Voiding**: Cancels an invoice. Already-voided invoices cannot be voided again.
* **Line items**: Each invoice contains line items that break down the charges (plan, add-ons, usage, etc.).
* **Filtering**: Use `customer_id`, `status`, or `subscription_id` query parameters to filter the list.