Le module est publié sur Odoo Apps pour 17.0, 18.0, 19.0 et 20.0.
Ce qu'il ajoute à la facture
Le module étend la facture de l'application standard de facturation d'Odoo (Invoicing). Il ajoute des cases que vous cochez vous-même et des champs en lecture seule qui s'affichent lorsque la facture a déjà son enregistrement. Voici la liste, avec l'endroit où chacun apparaît.

| Champ | Où il se trouve | Quand il s'affiche |
|---|---|---|
Verifactu Registro | Fiche, groupe Verifactu / SIF, lecture seule | Uniquement quand la facture a déjà un enregistrement |
Verifactu Estado | Fiche, groupe Verifactu / SIF, lecture seule | Uniquement quand la facture a déjà un enregistrement |
Cotejo URL | Fiche, groupe Verifactu / SIF, lecture seule | Uniquement quand la facture a déjà un enregistrement |
SIF Record | Fiche | Masqué quand il vaut zéro |
SIF Cancel | Fiche | Masqué quand il vaut zéro |
Factura simplificada (F2) | Fiche | Uniquement sur les factures clients ; masqué si l'échange est coché |
Canje de simplificadas (F3) | Fiche | Uniquement sur les factures clients ; masqué si la simplifiée est cochée |
Simplificadas sustituidas | Fiche | Uniquement sur les factures clients avec l'échange coché |
Tickets externos sustituidos | Fiche | Uniquement sur les factures clients avec l'échange coché |
Le champ Verifactu Registro n'est pas à remplir par vous : c'est le module qui le renseigne à la validation de la facture. Le champ Verifactu Estado est calculé : si la facture a un enregistrement d'annulation, il affiche l'état de cet enregistrement ; sinon, celui de l'enregistrement d'alta ; et il reste vide s'il n'y en a aucun. SIF Record et SIF Cancel valent un lorsque l'enregistrement correspondant existe et zéro dans le cas contraire.
Pas à pas : de la case à l'enregistrement
- Créez la facture client comme d'habitude. Si vous avez besoin de l'une des deux variantes, cochez
Factura simplificada (F2)ouCanje de simplificadas (F3)dans la fiche ; chaque case se masque quand vous cochez l'autre. - S'il s'agit d'une simplifiée, l'aide du champ indique :
Emitir como factura simplificada (clave AEAT F2, sin bloque Destinatarios). Límite AEAT: 3.000 € por factura (validación 1150). - S'il s'agit d'un échange, en cochant la case apparaissent
Simplificadas sustituidasetTickets externos sustituidos. L'aide deCanje de simplificadas (F3)indique :Factura emitida en sustitución de facturas simplificadas ya facturadas y declaradas (clave AEAT F3). No rectifica ni anula las simplificadas: sus importes no vuelven a computar (FAQ AEAT).Celle deSimplificadas sustituidas:Facturas simplificadas (F2) o rectificativas de simplificadas (R5) que este canje sustituye.Et celle deTickets externos sustituidos:Referencias de simplificadas emitidas fuera de Odoo, una por línea con el formato: NUMERO-SERIE | DD-MM-AAAA. - Validez la facture. Le module intervient juste après qu'Odoo l'a validée, uniquement sur les factures qui sont bien passées à l'état validé.
- Ouvrez la fiche et cherchez le groupe
Verifactu / SIF. Si la facture a un enregistrement, vous y verrezVerifactu Registro,Verifactu EstadoetCotejo URL. - Regardez
SIF RecordetSIF Cancel: le premier indique qu'il existe un enregistrement d'alta ; le second, qu'il existe un enregistrement d'annulation. S'ils valent zéro, ils ne s'affichent pas.

Quand le module intervient et dans quel ordre
Le module se branche sur la validation d'Odoo : quand Odoo valide des factures, il examine chacune de celles qui sont passées à l'état validé et, si c'est son tour, lui crée l'enregistrement. Il le fait avec des droits système. L'ordre, d'après le code, est le suivant :
- D'abord il vérifie s'il doit intervenir. Le module n'agit que si l'entreprise a VeriFactu actif avec le périmètre VeriFactu et sans régime foral. Il ne poursuit pas non plus si le document n'est ni une facture client ni un avoir rectificatif client.
- Il existe aussi une garde de coexistence : si elle se déclenche, le module sort sans rien faire.
- Si la facture est un échange, avant de chaîner quoi que ce soit, le module lance la validation de l'échange.
- Ensuite il lance la validation du NIF et celle de la rectificative, elles aussi avant d'ajouter quoi que ce soit à la chaîne.
- Puis il ajoute l'enregistrement d'alta à la chaîne de l'entreprise et l'écrit dans
Verifactu Registro. - Enfin il tente de générer le QR. S'il échoue, il se contente de laisser un avertissement dans le log : l'enregistrement est déjà relié et n'est pas annulé.
Si le groupe Verifactu / SIF n'apparaît pas
Le groupe et ses champs sont masqués tant que Verifactu Registro est vide ; son absence signifie donc que la facture n'a pas d'enregistrement. Avant de créer l'enregistrement, le code du module vérifie ceci :
- La facture est bien validée et n'est pas restée en brouillon.
- C'est une facture client ou un avoir rectificatif client.
- L'entreprise a VeriFactu actif, avec le périmètre VeriFactu et sans régime foral.
- La garde de coexistence ne se déclenche pas.
Ensuite, le module lance la validation de l'échange (s'il y en a un), celle du NIF et celle de la rectificative, puis ajoute l'enregistrement.
Comment FlexigoTech peut vous aider
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Si vous êtes en train de déployer Odoo et que vous souhaitez revoir la façon dont vos factures clients sont émises avant d'activer quoi que ce soit, nous pouvons le faire avec vous.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_spain_verifactu 20.0 (1fdc980f): models/account_move.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
