La regla, en una tabla
| Tipo de factura | Destinatario | Código si no se cumple |
|---|---|---|
| F1, F3, R1, R2, R3, R4 | Obligatorio, al menos uno. | 1189 |
| F2, R5 | Prohibido. | 1190 |
| R3 | Solo NIF o IDType 07 (No censado). | 1191 |
| R2 | Solo NIF, IDType 07 o IDType 02 (NIF-IVA). | 1192 |
| Cualquiera con IDOtro de tipo 02 | Solo F1, F3, R1, R2, R3 o R4. | 1156 |
Y un código más general: el 1106, «El valor del campo TipoFactura no está incluido en la lista de valores permitidos.» Todos rechazan el registro, no el envío entero.

Cómo decide Odoo el tipo y el destinatario
Al publicar, el módulo clasifica la factura y, con esa clase, decide si pone destinatario:
- Un abono sale como R1, o como R5 si rectifica una factura que se registró como F2. Hoy el módulo no distingue el motivo de la rectificación, así que R2, R3 y R4 no salen nunca.
- Una factura marcada como canje de simplificadas sale como F3.
- Una factura del TPV, marcada como «Factura simplificada (F2)» o cuyo cliente no tiene NIF sale como F2.
- Todas las demás salen como F1.
Después, el bloque Destinatarios solo se incluye si el cliente tiene identificador y el tipo no es F2 ni R5. Así se evitan de raíz el 1189, porque una factura sin NIF del cliente nunca sale como F1, y el 1190, porque una F2 o una R5 nunca llevan destinatario. El 1106 tampoco tendría que verse: el módulo solo usa tipos que admite la AEAT (F1, F2, F3, R1 y R5).

El 1191 y el 1192, con el módulo de hoy
Los dos dependen del tipo de abono y del país del cliente. Un cliente de fuera de España viaja en IDOtro con tipo 02 si es de la UE, y con tipo 03 o 04 si no lo es. Cruzado con la tabla, un R3 a un cliente extranjero chocaría con el 1191, que solo admite NIF o el tipo 07, y un R2 a un cliente de fuera de la UE, con el 1192.
Con el módulo de hoy, ninguno de los dos llega por esta vía, porque no emite ni R2 ni R3. La otra cara es que un abono que según la norma tendría que ser R2, R3 o R4 se declara como R1. Si emites abonos de ese tipo, escríbenos a comercial@flexigobe.com antes de publicarlos.
Cuando ya se ha rechazado
La cola reintenta el registro rechazado hasta llevarlo a Dead Letter, pero el registro es el que se creó al publicar y no cambia aunque corrijas el contacto. El módulo publicado no envía la subsanación por sí solo. Escríbenos a comercial@flexigobe.com con el número de la factura y te ayudamos a cerrarla.
Los códigos de esta página, con el texto de la AEAT
Cada código con su texto literal, tal como lo da la lista de errores de la AEAT:
| Código | Texto de la AEAT |
|---|---|
| 1189 | Si TipoFactura es F1 o F3 o R1 o R2 o R3 o R4 el bloque Destinatarios tiene que estar cumplimentado. |
| 1190 | Si TipoFactura es F2 o R5 el bloque Destinatarios no puede estar cumplimentado. |
| 1191 | Si TipoFactura es R3 sólo se admitirá NIF o IDType = No Censado (07). |
| 1192 | Si TipoFactura es R2 sólo se admitirá NIF o IDType = No Censado (07) o NIF-IVA (02). |
| 1106 | El valor del campo TipoFactura no está incluido en la lista de valores permitidos. |
| 1156 | Para el bloque IDOtro y IDType NIF-IVA (02), el valor de TipoFactura es incorrecto. |
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
- Código del módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cadena.py
- Código del módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Código del módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Código del módulo: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_registro.py
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
