Lo que responde la AEAT
Cada envío lleva entre 1 y 1.000 registros. La respuesta trae un estado del envío completo (Correcto, ParcialmenteCorrecto o Incorrecto), un estado por registro (Correcto, AceptadoConErrores o Incorrecto) y el tiempo de espera hasta el siguiente envío.
La AEAT publica su catálogo oficial de errores, con 247 códigos, en tres familias:
| Familia | Qué significa | Qué hacer |
|---|---|---|
| 4xxx: rechazo del envío completo | No se ha registrado nada de ese envío. | Corregir la causa y volver a enviar el envío entero. |
| Rechazo del registro | Ese registro no entra; los demás del envío sí. | Corregir ese registro y reenviarlo solo a él. |
| 2xxx: aceptado con errores | El registro queda registrado, pero hay que subsanar algo. | No reenviar como nuevo: subsanar lo que indica el código. |
Dos casos concretos conviene reconocerlos a la primera. El código 3000 indica un registro duplicado: si ya consta como correcto o aceptado con errores, no hay que reenviarlo. Y la huella, un SHA-256 encadenado con el registro anterior, la recalcula la AEAT: si no casa, acepta el registro con un error que hay que subsanar.

Antes de llegar a la AEAT: el certificado
La AEAT identifica al emisor por el certificado que se presenta al conectar. Sin certificado, su servicio redirige a la página de error 4033, «no se detecta certificado». Con un certificado que no valida, a la 4011. En Odoo, estos casos se paran antes:
No active certificate for company …: la empresa no tiene un certificado activo. Súbelo en Configuration › Certificates.The certificate … of company … has expired.: está caducado. Hay un aviso diario de caducidad para que no llegues a esto.
Lo que bloquea tu sistema antes de enviar
| Mensaje | Qué falta | Arreglo |
|---|---|---|
Company … has no NIF for Veri*Factu. | La empresa no tiene NIF. | Rellénalo en los datos de la empresa. |
Invalid NIF length: "…" (must be 9 chars) | El NIF del cliente no tiene 9 caracteres. | Revisa el NIF en el contacto. |
Invalid NIF digits: "…" | El NIF tiene caracteres no válidos. | Corrígelo en el contacto. |
Cannot post invoice: invalid counterparty identifier. | El identificador del cliente no es válido. | Corrige el identificador antes de publicar. |
Record … has no tax breakdown (Desglose) to declare. | La factura no tiene desglose de impuestos. | Revisa los impuestos de las líneas. |
Record … is chained to a previous record that does not exist. | La cadena de registros está rota. | No lo toques a mano: revisa el estado de la cadena y escríbenos. |
The AEAT accepts at most 1000 records per request. | Un envío con más registros de los permitidos. | La cola los parte; si lo ves, avísanos. |

Dónde mirar en Odoo
La cola de envío se procesa cada minuto y está en AEAT Submission › Submission Queue. Los errores devueltos por la AEAT tienen su lista propia en AEAT Errors, y el catálogo completo de códigos en AEAT Error Catalogue. Con esas tres pantallas se resuelve la mayoría de los casos sin abrir el documento técnico de la AEAT, aunque está enlazado abajo por si lo necesitas.

El módulo está publicado para Odoo 17, 18, 19 y 20. Si un código no aparece en el catálogo, envíanos el texto exacto de la respuesta: lo localizamos en el documento oficial de validaciones.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- sede.agenciatributaria.gob.es/Sede/errores/erro4033.html
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/account_move.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_aeat_client.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_nif_validator.py
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): data/verifactu_crons.xml
- Código del módulo: flexigo_spain_verifactu 20.0 (4dc42be4): views/menu_views.xml
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
