Le texte de l'AEAT énumère les quatre figures admises : «El titular del certificado debe ser Obligado Emisión, Colaborador Social, Apoderado o Sucesor.» Traduit : le titulaire du certificat doit être l'Obligado Emisión (l'obligé à l'émission), un Colaborador Social (collaborateur social), un Apoderado (mandataire) ou un Sucesor (successeur). C'est un code de la première section de la liste, celle qui rejette l'envoi complet.
Trois erreurs de certificat, dans l'ordre
Avant le 4112, il existe deux obstacles plus élémentaires. Il est utile de les connaître, car ils se confondent avec lui :
| Ce qui se passe | Ce que répond l'AEAT | Ce que vous voyez dans Odoo |
|---|---|---|
| Aucun certificat n'est présenté | Redirection vers sa page d'erreur erro4033. | Une erreur de transport indiquant qu'aucun certificat n'a été reçu. |
| Le certificat n'est pas reconnu | Redirection vers la page erro4011. | Une erreur de transport indiquant que le certificat a été rejeté. |
| Le certificat est reconnu, mais son titulaire ne peut pas transmettre pour ce NIF | Une SoapFault avec le 4112. | Envoi en Failed avec le code 4112. |
Les deux premiers ne sont pas des codes de la liste : ce sont des redirections du site de l'AEAT. Le module ne les suit pas ; il les transforme en erreur et laisse l'envoi en nouvelle tentative, avec les mêmes délais qu'une panne réseau, jusqu'à le placer en Dead Letter au sixième essai.

Quel certificat Odoo présente
Le module se connecte avec le certificat actif de la société, dans Configuration › Certificats. Avant la connexion, il vérifie deux points et s'arrête avec son propre message en cas d'échec :
No active certificate for company …lorsqu'aucun certificat actif n'existe.The certificate … of company … has expired.lorsque le certificat actif est expiré.
Pour ne pas en arriver au second cas, Odoo affiche dans État de la chaîne le nombre de jours restants du certificat actif et, à partir de 30 jours avant l'échéance, le marque «Expiring soon» et l'inclut dans le récapitulatif quotidien de conformité si un destinataire est configuré.

Comment résoudre le 4112
Le certificat actif doit correspondre à l'une des quatre figures du message, au regard du NIF figurant dans l'en-tête :
- Si la société transmet elle-même, le certificat doit être le sien, celui de l'obligé à l'émission.
- Si c'est le cabinet comptable qui transmet, l'en-tête contient aussi le bloc Représentant avec son NIF, et le certificat doit l'autoriser à transmettre pour vous. Vérifiez Asesoría NIF et Asesoría Name sur la société.
- Si vous avez repris l'activité d'une autre société, le message parle de successeur : le certificat doit correspondre à cette figure.
Une fois le bon certificat chargé et activé, renvoyez les envois en Failed depuis Envoi à l'AEAT › Erreurs AEAT avec Réessayer la sélection. Le certificat est lu à chaque connexion, donc le renvoi utilise déjà le nouveau.
Puis-je charger plusieurs certificats ?
Oui, mais un seul actif par société. C'est celui présenté à chaque connexion, et celui à modifier si le 4112 apparaît.
Si le 4112 persiste avec le bon certificat, envoyez la réponse de l'envoi à comercial@flexigobe.com avec le type de certificat et la personne qui transmet. N'envoyez pas le certificat lui-même.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- sede.agenciatributaria.gob.es/Sede/errores/erro4033.html
- 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_certificado.py
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_crons.xml
