# next_generation is null when there is no next invoice

`next_generation` now carries only the date the system will honour, and `null` otherwise: a completed template, or a paused one whose date has passed.

Sep 10, 2026 · Breaking

`next_generation` used to show dates the system was never going to honour. The rule is now one line and does not enumerate statuses: **it carries the date the system will honour, and `null` when there is none**. It travels `null` — present in the JSON, never omitted.

It affects the three responses that publish the resource — detail, create and list — on the canonical route and on the flat alias.

## What else changed

- **`null` in exactly two cases:** a `COMPLETED` template, whose stored date is the one that ran past its end and triggered the closure; and a `PAUSED` template whose date is strictly in the past, because resuming reschedules from today and that date will never be invoiced.
- **An `ACTIVE` template always carries its date, including one already in the past.** That is the occurrence the next run will generate, and it is your only notice that an invoice is on its way. The field's description no longer promises "never in the past", which was not true.
- **A `PAUSED` template whose date is still ahead** — today counts as ahead — carries it too: it is exactly the date resuming would keep.
- **The stored schedule is untouched.** `next_generation` is what gets published, not what gets kept: resuming, rescheduling and skipping are anchored where they always were. `sort_by=next_generation` still sorts by the stored date, so a row that now travels `null` sorts where it always did.
- **What to do.** Treat the field as optional. `null` does not mean "unknown": it means that template has no generation ahead of it — it is closed, or paused with its date behind it.

## Endpoints

- `GET /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}` — next_generation is null when there is no generation ahead
- `GET /v1/companies/{company_id}/recurring-invoices` — Same rule on every row

## Where to go next

- [Retrieve a recurring invoice](/recurring-invoices/getCompanyRecurringInvoice)
- [List recurring invoices](/recurring-invoices/listCompanyRecurringInvoices)

---

Full OpenAPI spec: https://docs.beel.es/api/openapi