VeriBaiDocs
Acceder

Rectificar y anular

Corrección de registros ya remitidos. Subsanación, anulación y facturas rectificativas.

Los registros de facturación son inmutables: una vez remitidos, no se editan. La normativa define en su lugar tres mecanismos, y la API expone cada uno.

Facturas rectificativas (R1–R5)

Para corregir una operación ya facturada (importes, conceptos, devoluciones) se emite una nueva factura de tipo rectificativo (R1 a R5 en tipoFactura), a través del mismo endpoint de alta:

POST /v1/verifactu/crear
POST /v1/ticketbai/crear

La rectificativa es una factura más: genera su propio registro, su QR y su posición en la cadena.

R3 tiene un plazo. Las rectificativas por créditos incobrables (art. 80.4 LIVA) solo se admiten cuando han pasado al menos seis meses desde cada factura que rectifican. La API compara la fechaExpedicion de la rectificativa con la de cada entrada de facturasRectificadas, en meses de calendario; con menos de seis, responde 400 R3_TIMING_ERROR con las dos fechas y los meses transcurridos en details. Rige igual en VeriFactu y en TicketBAI.

Subsanación

Cuando el error está en el registro (datos mal informados que no alteran la operación), se subsana el registro existente:

PUT /v1/verifactu/subsanar
PUT /v1/ticketbai/subsanar

La subsanación referencia la factura original por su serie y número, y remite la corrección a la administración. Conserva la identidad de la factura (serie, numero y fechaExpedicion), así que no sirve para corregir la fecha de expedición: la fecha forma parte de la identidad, y cambiarla equivale a declarar una factura distinta. Una fecha mal emitida se corrige anulando y emitiendo de nuevo.

Es también el camino de vuelta de un registro rechazado. Un rechazo llega por el webhook factura.rechazada, con el código y la descripción de la propia administración en motivoRechazo, o se lee en el registro como estadoEnvioFinal: "rechazada". Corrige lo que señala el motivo y reenvía.

Un registro rechazado no ha quedado presentado, y la obligación de presentarlo es del obligado tributario. VeriBai no reenvía por su cuenta: los mismos datos obtendrían el mismo rechazo y, en TicketBAI, cada intento avanza de forma permanente la cadena de huellas del emisor.

Anulación

Para dejar sin efecto un registro remitido:

POST /v1/verifactu/anular
POST /v1/ticketbai/anular

La anulación localiza la factura por serie + numero + fechaExpedicion: los tres deben coincidir exactamente con la factura original, o la anulación no la encuentra.

La anulación también genera un registro (encadenado, firmado y remitido) que documenta la baja. Nada desaparece de la cadena; ese es el punto.

Cuál usar

Situación Mecanismo
La operación cambia (descuento posterior, devolución, error de importe facturado) Factura rectificativa R1R5
El registro tiene datos mal informados, la operación es correcta Subsanación
La factura no debió emitirse Anulación
La fecha de expedición se envió mal Anulación + nueva factura. La fecha es identidad, no se subsana

Ante escenarios fiscales complejos (canje de simplificada a completa, rectificativas sobre rectificativas), escríbenos a soporte@veribai.com antes de emitir. Corregir después siempre es más costoso.