El texto completo de la AEAT es este: «Cuando TipoFactura sea F2 y no este informado NumRegistroAcuerdoFacturacion o FacturaSinIdentifDestinatarioArt61d no sea S el sumatorio de BaseImponibleOimporteNoSujeto y CuotaRepercutida de todas las líneas de detalle no podrá ser superior a 3.000.» Pertenece al apartado que rechaza el registro: esa factura no entra, las demás del envío sí.
La regla exacta
El documento de validaciones de la AEAT, en su apartado 15.8, la detalla así:
- Con TipoFactura F2, la suma de BaseImponibleOimporteNoSujeto y CuotaRepercutida de todas las líneas no puede superar 3.000,00 euros.
- Se admite un error de hasta 10,00 euros por encima.
- No se aplica si la factura lleva un número de registro de acuerdo de facturación ni si FacturaSinIdentifDestinatarioArticulo61d vale S.
Con nuestro módulo, las dos excepciones no entran en juego: el registro que envía no lleva acuerdo de facturación ni el campo del artículo 61d.

El límite legal es más bajo
El 1150 controla un tope técnico. El Reglamento de facturación (Real Decreto 1619/2012, artículo 4) solo admite la factura simplificada cuando el importe no pasa de 400 euros, IVA incluido, o cuando es una rectificativa. Hasta 3.000 euros, IVA incluido, solo en las operaciones que enumera su apartado 2: ventas al por menor, ventas o servicios en ambulancia o a domicilio del consumidor, transporte de personas y sus equipajes, hostelería y restauración, y algunas más. Por eso, entre 400 y 3.000 euros, que la AEAT acepte una F2 no quiere decir que la simplificada fuera correcta para tu actividad.
Por qué Odoo la envió como F2
El módulo decide el tipo de factura al publicarla. Una factura de cliente sale como F2 en tres casos:
| Caso | Qué lo provoca en Odoo |
|---|---|
| Viene del TPV | La factura está ligada a un pedido del punto de venta. |
| Se marcó como simplificada | La casilla «Factura simplificada (F2)» de la factura está activada. |
| El cliente no tiene NIF | El contacto no tiene el NIF relleno, así que no hay a quién poner como destinatario. |
El tercero es el que más sorprende. Una F1 necesita el bloque Destinatarios, y sin NIF el módulo no puede rellenarlo, así que la clasifica como F2 para no mandar una F1 que la AEAT rechazaría por otro motivo. Con importes pequeños nadie lo nota. Al pasar de 3.000 euros aparece el 1150, y entre 400 y 3.000 la AEAT la acepta aunque, fuera de las operaciones del artículo 4.2, tendría que haber sido una factura completa.

Cómo evitarlo
- Antes de publicar una factura de más de 400 euros, comprueba que el cliente tiene el NIF en su ficha. Con NIF, el módulo la envía como F1 con su destinatario, salvo que venga del TPV.
- Revisa que la casilla «Factura simplificada (F2)» no esté marcada si no querías una simplificada.
- Si facturas importes altos desde el TPV, ten en cuenta que esas facturas salen como F2.
Y la factura que ya se rechazó
La cola intenta enviar el registro hasta seis veces, con esperas de 2 minutos a 12 horas, y lo deja en Dead Letter. Los reintentos no lo arreglan: se envía el mismo registro, creado al publicar la factura. Para la AEAT, una factura rechazada se corrige con un alta por rechazo (Subsanacion S y RechazoPrevio X), y el módulo publicado no la genera por sí solo. Si además el tipo correcto era F1, puede que lo que proceda sea otra factura. Escríbenos a comercial@flexigobe.com con el número y lo vemos contigo.
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/account_move.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
- www.boe.es/buscar/act.php?id=BOE-A-2012-14696
