Saltar al contenido principal
VeriFactu

Error 3000 de VeriFactu: la AEAT ya tiene esa factura registrada

El 3000 aparece cuando mandas a la AEAT un registro con el mismo identificador de factura que otro que ya tiene. Casi nunca es un error tuyo: lo normal es que un envío anterior llegara bien aunque su respuesta se perdiera por el camino. Lo que importa es el estado de ese registro anterior, y viene en la misma respuesta.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Módulo
VeriFactu
Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del módulo, versión 20.0 · en las fuentes enlazadas al final
Lectura
3 min

Qué significa

El texto de la AEAT es Registro de facturación duplicado. y está en el apartado de la lista oficial que rechaza la factura, no el envío entero. El identificador que se compara es el bloque IDFactura: el NIF del emisor, el número de la factura y su fecha de expedición. En Odoo, esos tres datos salen del NIF de la empresa, del número que Odoo dio a la factura y de su fecha.

Junto al 3000, la respuesta de la AEAT incluye un bloque RegistroDuplicado que cuenta qué pasó con el registro que ya existía: el identificador de la petición en que entró, su estado, y, si lo tuvo, su propio código de error.

Tarjeta del código 3000 de VeriFactu
La tarjeta del 3000: un rechazo de la factura que, si el registro anterior consta como correcto, el módulo da por aceptado.

Cuándo pasa trabajando con Odoo

La AEAT contesta cada envío con un estado por registro. Si esa respuesta no llega, por un corte de red o un tiempo de espera agotado, el módulo no puede saber si la AEAT lo guardó: deja el envío en Retrying y lo repite más tarde, con esperas que van de 2 minutos a 12 horas. Si la primera vez sí había entrado, la segunda vuelve con un 3000. Es la forma que tiene la AEAT de decirte que ya lo tenía.

Qué hace el módulo con la respuesta

Estado del registro anteriorQué queda en Odoo
CorrectaEl registro pasa a «Aceptado AEAT» y no se vuelve a enviar.
AceptadaConErroresQueda como «Aceptado con errores (subsanar)», con el código y la descripción del registro anterior.
Cualquier otroSe trata como un rechazo: Retrying y, al sexto intento, Dead Letter.

Esto coincide con lo que indica la AEAT: si el registro ya consta como correcto o aceptado con errores, no hay que reenviarlo. Volver a mandarlo solo produciría otro 3000.

Cola de envío a la AEAT en Odoo agrupada por estado
La cola de envío agrupada por estado: pendientes, en reintento, enviados, fallidos y en Dead Letter. Captura de Odoo 20 con datos de demostración; las respuestas de la AEAT son simuladas.

Qué tienes que hacer tú

  • Si el registro ha quedado como «Aceptado AEAT», nada. La factura está registrada una sola vez.
  • Si ha quedado como «Aceptado con errores (subsanar)», el problema no es el duplicado sino el error que ya tenía el registro anterior. Busca su código en esta misma serie de páginas.
  • Si el 3000 se repite con facturas distintas, revisa que dos sistemas no estén enviando las mismas facturas con el mismo NIF, por ejemplo una copia de Odoo de pruebas apuntando al entorno de producción.

¿El 3000 puede ser de otra factura con el mismo número?

Solo si coinciden NIF, número y fecha. Odoo no repite números dentro de un mismo diario, así que lo habitual es que sea la misma factura enviada dos veces.

¿Dónde veo el registro anterior?

En la respuesta guardada en el envío, el campo Raw Response de la cola, que trae el bloque RegistroDuplicado completo.

Los registros de anulación siguen la misma lógica de identificador. Lo que pasa cuando anulas una factura que la AEAT no tiene, o que ya estaba anulada, está en la página de las anulaciones.

Sigue leyendo

Error 4134 de VeriFactu: «Servicio no activo», qué pasa con tus facturas y cómo reenviarlasQué significa el error 4134 de la AEAT en VeriFactu, por qué rechaza el envío entero y cómo reenviar las facturas desde Odoo 17, 18, 19 y 20 sin perder ninguna.Errores 3001 y 3002 de VeriFactu: anular una factura que la AEAT no tiene o que ya anulóLos errores de VeriFactu al anular: 3001 (ya dada de baja), 3002 (no existe) y los del bloque Generador. Qué hace Odoo 17, 18, 19 y 20 al cancelar una factura enviada.Errores de VeriFactu en Odoo: cómo leer lo que dice la AEAT y lo que para antes tu sistemaCómo leer los errores de VeriFactu en Odoo 17, 18, 19 y 20: estados de envío, códigos de la AEAT, certificado, NIF y cadena de registros, con qué hacer en cada caso.
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas

Fuentes