Factuarea APIDevelopers
Añadido

Edita series de numeración

Actualiza una serie con PUT /v1/series/{series} y la tool MCP update_series, bajo las mismas guardas fiscales que la aplicación web.

4 de octubre de 2026

Una serie de numeración ya se puede editar por la API y por MCP. La operación nueva es PUT /v1/series/{series} (scope series:write) y la tool MCP es update_series, con el mismo contrato.

Es una actualización parcial: solo cambian los campos que envías.

CampoSignificado
nameNombre de la serie (1–100 caracteres).
codePrefijo de la serie (1–10 caracteres: letras, números, - y _).
counter_resetnever, annual o monthly. monthly exige el token {MM} en la máscara. El cambio es prospectivo.
year_resetAlias booleano deprecado de counter_reset; manda counter_reset si llegan los dos.
number_formatMáscara de numeración, por ejemplo {code}-{YYYY}-{000}.
initial_numberNúmero desde el que empieza el contador (1 o más).
invoice_kindPropósito de una serie de facturas: complete, simplified, corrective o simplified_corrective.

document_type no se puede enviar. La llamada responde 200 con el recurso Series actualizado, 404 series_not_found cuando la serie no es tuya y 422 cuando una guarda rechaza el cambio. En ese caso no se modifica nada.

Guardas fiscales

Cada guarda es un 422 business_rule_violation con su propio subcode:

subcodeRegla
series_code_immutable_with_documentscode solo cambia mientras la serie no tiene documentos.
series_format_immutable_with_documentsnumber_format solo cambia hasta que se emite el primer documento.
series_locked_by_verifactuCuando la AEAT ha aceptado un registro de alguna de sus facturas, code, number_format y initial_number quedan bloqueados.
series_initial_number_creates_gapinitial_number no puede abrir un hueco tras documentos del año en curso.
series_invoice_kind_lockedinvoice_kind queda fijo con la primera factura de la serie.
series_default_kind_changeLa serie predeterminada de un propósito no puede cambiar de propósito.

Un code ya usado por otra serie del mismo tipo de documento devuelve 422 con param: code. Un número inicial inválido (invalid_series_number) o un propósito inválido (series_invoice_kind_invalid) responden parameter_invalid_value, y counter_reset: monthly con una máscara sin el token {MM} responde monthly_requires_month_segmented_format. El código series_format_immutable_with_documents es nuevo en el catálogo de errores.

  • Cambiar solo counter_reset también emite el webhook series.updated.
  • PATCH y DELETE sobre /v1/series/{series} siguen respondiendo 405 series_immutable; la respuesta ahora lleva Allow: GET, PUT. Una serie nunca se elimina: archívala con POST /v1/series/{series}/archive.
  • La descripción de la operación de archivado indica sus rechazos como 422 business_rule_violation: cannot_archive_last_default_series y series_already_archived.
  • Las descripciones del recurso de serie y de la operación de creación indican qué campos se pueden editar después y hasta cuándo.

Nuevos endpoints1

EndpointDescripción
PUT/v1/series/{series}Actualizar una serie

Endpoints actualizados3

EndpointDescripción
POST/v1/seriesCrea una serie
GET/v1/series/{series}Obtener una serie
POST/v1/series/{series}/archiveArchivar una serie

En esta página

¿Te echamos una mano?Contactar con soporte