# RECURRING_END_MODE_CONFLICT

A recurrence ends in one way only: by date (end_date) or by number of invoices (max_invoices), never both at once. To switch modes send the new field with a value and the old one as null in the same call.

<Callout type="info">
**Category:** [Invoices](/errors/category/invoicing)
</Callout>

| | |
|---|---|
| HTTP status | `422` Unprocessable Content |
| Retry | After fixing the cause |

## When it happens

The recurring invoice would end up with both `end_date` and `max_invoices` set. It is judged on the result, not on the body: a `PATCH` that only sends `max_invoices` to a template that already has `end_date` fails too.

## How to fix it

Keep one of the two. To switch modes, send the new field with a value and the old one as `null` in the same call.

## Retry

Not as is: the same request fails the same way. Fix the cause described above, then send the request again, under a new `Idempotency-Key` if the body changed.

## Returned by

The operations where this code is most likely. The list is not exhaustive.

- [`POST /v1/companies/{company_id}/recurring-invoices`](/recurring-invoices/createCompanyRecurringInvoice)
- [`PATCH /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}`](/recurring-invoices/patchCompanyRecurringInvoice)

## Example response

When this error occurs, the API answers `422` Unprocessable Content with a JSON body of this shape:

```json
{
  "type": "https://docs.beel.es/errors/RECURRING_END_MODE_CONFLICT",
  "title": "RECURRING_END_MODE_CONFLICT",
  "detail": "A recurrence ends in one way only: by date (end_date) or by number of invoices (max_invoices), never both at once. To switch modes send the new field with a value and the old one as null in the same call.",
  "instance": "/v1/<resource>",
  "errors": [],
  "success": false,
  "error": {
    "code": "RECURRING_END_MODE_CONFLICT",
    "message": "A recurrence ends in one way only: by date (end_date) or by number of invoices (max_invoices), never both at once. To switch modes send the new field with a value and the old one as null in the same call.",
    "details": {}
  },
  "meta": {
    "timestamp": "2026-05-21T10:00:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
```

The `type` URI is stable and always resolves to this page.

## Message

<Tabs items={["English", "Spanish", "Catalan"]}>
  <Tab value="English">{"A recurrence ends in one way only: by date (end_date) or by number of invoices (max_invoices), never both at once. To switch modes send the new field with a value and the old one as null in the same call."}</Tab>
  <Tab value="Spanish">{"Una recurrencia termina de una sola manera: por fecha (end_date) o por número de facturas (max_invoices), nunca por las dos a la vez. Para cambiar de modo envía en la misma llamada el campo nuevo con valor y el viejo a null."}</Tab>
  <Tab value="Catalan">{"Una recurrència acaba d'una sola manera: per data (end_date) o per nombre de factures (max_invoices), mai per totes dues alhora. Per canviar de mode envia en la mateixa crida el camp nou amb valor i el vell a null."}</Tab>
</Tabs>

Send the request with `Accept-Language: <es|en|ca>` to receive the message in your preferred language.

## Other errors in this category

<div className="grid grid-cols-2 gap-3 not-prose">
  <Card title="ATTACH_SOURCE_INVOICE_UNAVAILABLE" description="A source invoice is not available (it does not exist or you no longer have access); uncheck the source invoices attachment to send without the folder" href="/errors/ATTACH_SOURCE_INVOICE_UNAVAILABLE" />
  <Card title="ATTACH_SOURCE_INVOICES_NO_SOURCES" description="The invoice has no consolidation disbursements: there are no source invoices to attach" href="/errors/ATTACH_SOURCE_INVOICES_NO_SOURCES" />
  <Card title="ATTACH_SOURCE_INVOICES_REQUIRES_PDF" description="Attaching the source invoices also requires attaching the invoice PDF" href="/errors/ATTACH_SOURCE_INVOICES_REQUIRES_PDF" />
  <Card title="ATTACH_SOURCE_PDF_MISSING" description="These source invoices have no generated PDF: ‹value›" href="/errors/ATTACH_SOURCE_PDF_MISSING" />
  <Card title="ATTACH_SOURCE_ZIP_TOO_LARGE" description="The source invoices ZIP (‹value› MB) exceeds the maximum sendable size (‹value› MB)" href="/errors/ATTACH_SOURCE_ZIP_TOO_LARGE" />
</div>

## Keep exploring

<div className="grid grid-cols-2 gap-3 not-prose">
  <Card title="All Invoices errors" description="Every code in this category in one table." href="/errors/category/invoicing" />
  <Card title="Error reference home" description="Browse every category or jump to the handling guide." href="/errors" />
</div>

---

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