Le texte complet de l'AEAT est le suivant : « 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. » Il appartient à la section qui rejette l'enregistrement : cette facture n'est pas acceptée, les autres de l'envoi le sont.
La règle exacte
Le document de validations de l'AEAT, à sa section 15.8, la détaille ainsi :
- Avec TipoFactura F2, la somme de BaseImponibleOimporteNoSujeto et de CuotaRepercutida de toutes les lignes ne peut pas dépasser 3 000,00 euros.
- Une marge d'erreur de 10,00 euros au-dessus est tolérée.
- Elle ne s'applique pas si la facture porte un numéro d'enregistrement d'accord de facturation, ni si FacturaSinIdentifDestinatarioArticulo61d vaut S.
Avec notre module, les deux exceptions n'entrent jamais en jeu : l'enregistrement envoyé ne comporte ni accord de facturation ni le champ de l'article 61 d.

La limite légale est plus basse
Le 1150 contrôle un plafond technique. Le règlement espagnol de facturation (Real Décret 1619/2012, article 4) n'autorise la facture simplifiée que lorsque le montant ne dépasse pas 400 euros, TVA comprise, ou lorsqu'il s'agit d'une facture rectificative. Jusqu'à 3 000 euros, TVA comprise, uniquement pour les opérations énumérées à sa section 2 : ventes au détail, ventes ou prestations itinérantes, ventes ou prestations au domicile du consommateur, transport de personnes et de leurs bagages, hôtellerie et restauration, et quelques autres. Ainsi, entre 400 et 3 000 euros, le fait que l'AEAT accepte une F2 ne signifie pas que la facture simplifiée était correcte pour votre activité.
Pourquoi Odoo l'a envoyée en F2
Le module détermine le type de facture au moment de la validation. Une facture client part en F2 dans trois cas :
| Cas | Ce qui le provoque dans Odoo |
|---|---|
| Elle vient du PDV | La facture est liée à une commande du point de vente. |
| Elle a été marquée comme simplifiée | La case « Factura simplificada (F2) » de la facture est cochée. |
| Le client n'a pas de NIF | Le contact n'a pas de NIF renseigné, donc il n'y a personne à désigner comme destinataire. |
Le troisième cas est le plus surprenant. Une F1 exige le bloc des destinataires, et sans NIF le module ne peut pas le remplir : il classe donc la facture en F2 plutôt que d'envoyer une F1 que l'AEAT rejetterait pour un autre motif. Avec de petits montants, personne ne s'en aperçoit. Au-delà de 3 000 euros, le 1150 apparaît, et entre 400 et 3 000 euros l'AEAT l'accepte alors que, hors des opérations de l'article 4.2, il aurait dû s'agir d'une facture complète.

Comment l'éviter
- Avant de valider une facture de plus de 400 euros, vérifiez que le client a un NIF sur sa fiche. Avec un NIF, le module l'envoie en F1 avec son destinataire, sauf si elle vient du PDV.
- Assurez-vous que la case « Factura simplificada (F2) » n'est pas cochée si vous ne vouliez pas une facture simplifiée.
- Si vous facturez de gros montants depuis le PDV, gardez à l'esprit que ces factures partent en F2.
Et la facture déjà rejetée
La file d'attente tente d'envoyer l'enregistrement jusqu'à six fois, avec des délais de 2 minutes à 12 heures, puis le place en Dead Letter. Les nouvelles tentatives ne le corrigent pas : le même enregistrement, créé à la validation de la facture, est renvoyé à chaque fois. Pour l'AEAT, une facture rejetée se corrige par un enregistrement après rejet (Subsanacion S et RechazoPrevio X), et le module publié ne le génère pas de lui-même. Si le bon type était F1, c'est peut-être une autre facture qui est nécessaire. Écrivez à comercial@flexigobe.com avec le numéro et nous l'examinerons avec vous.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cadena.py
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): models/account_move.py
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Code du module : 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
