> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nozle.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoices

> Understand invoice generation, payment state, and customer delivery

Nozle generates invoices from recurring charges, metered usage, one-off purchases, and subscription transitions.

## Read invoices

Fetch invoices from your authenticated backend with `GET /api/v1/invoices?customer_id={id}`. Derive the customer from the logged-in user or workspace rather than browser input.

Typical states include `draft`, `open`, `paid`, `void`, and `uncollectible`.

## Lifecycle

1. Nozle calculates recurring and usage charges.
2. The invoice is created according to the plan's billing timing.
3. Stripe collects payment when configured.
4. Verified payment events update invoice and subscription state.
5. The invoice PDF becomes available for customer delivery.

## React applications

The current React SDK does not fetch customer invoices. Expose a narrow merchant endpoint and render the returned fields in your application.

```ts theme={null}
const response = await fetch('/api/billing/invoices', {
  credentials: 'include',
})

const invoices = await response.json()
```

## Email delivery

Nozle Cloud manages transactional invoice delivery and sender infrastructure.

## Further reading

* [Payments](/guides/billing/payments)
* [Subscriptions](/guides/billing/subscriptions)
* [API authentication](/api/authentication)
