Comment Odoo identifie un client étranger
Le module détermine le type d'identifiant au moment de valider la facture, à partir de deux champs du contact : le pays et le NIF.
- Client dont le pays est l'Espagne ou sans pays
- Envoyé dans le champ NIF. Si le numéro commence par X, Y ou Z, il est traité comme un NIE, l'identifiant des résidents étrangers.
- Client d'un autre pays de l'UE
- Envoyé dans IDOtro avec IDType 02 (numéro de TVA intracommunautaire) et sans CodigoPais.
- Client hors UE
- Envoyé dans IDOtro avec le CodigoPais de son pays et IDType 04, ou avec IDType 03 (passeport) si le numéro compte plus de 20 caractères ou aucun caractère alphanumérique.
Le numéro est transmis avec 20 caractères au maximum. Dans ce contexte, presque tous les codes ci-dessous s'expliquent en regardant le pays et le NIF du contact.

Les codes un par un
| Code | Ce que dit l'AEAT | Ce qu'il faut vérifier |
|---|---|---|
| 1239 | Error en el bloque Destinatario. | Le bloc entier : pays, NIF et nom du contact. |
| 1101 | El valor del campo CodigoPais es incorrecto. | Le pays du contact. |
| 1102 | El valor del campo IDType es incorrecto. | Le type de document déduit. |
| 1103 | El valor del campo ID es incorrecto. | Le numéro du contact. |
| 1111 | El campo CodigoPais es obligatorio cuando IDType es distinto de NIF-IVA (02). | Un client sans pays dans Odoo. |
| 1122 | El campo CodigoPais indicado no coincide con los dos primeros dígitos del identificador. | Un numéro portant le préfixe d'un autre pays. |
| 1126 | El valor del CodigoPais solo puede ser ES cuando el IDType sea Pasaporte (03) o No Censado (07)… | Un client espagnol envoyé par IDOtro. |
| 1131 | El valor del campo ID ha de ser el NIF de una persona física cuando el campo IDType tiene valor No Censado (07). | Le type 07, que le module n'utilise pas. |
| 1222 | El valor del campo ID del bloque IDOtro es incorrecto. | Le numéro d'un client étranger. |
| 1232, 1233 et 1234 | IDOtro avec CodigoPais ES exige IDType 03, 07 ou l'un des deux. | Le pays Espagne pour un client titulaire d'un passeport. |
| 1254 et 1255 | NIF-IVA du Royaume-Uni : XI n'est pas admis avant le 01/01/2021 et GB n'est pas admis à partir du 01/02/2021. | La date de l'opération et le préfixe. |
Pour l'IDType 02, l'AEAT vérifie en outre que le numéro respecte la structure de TVA intracommunautaire de l'État membre et qu'il est en majuscules. En pratique, le numéro de TVA d'un client européen doit être saisi dans Odoo avec son préfixe pays, tel que le valide le VIES.
Ce qui se passe dans Odoo lorsque l'AEAT le rejette
Ces codes rejettent l'enregistrement, pas l'envoi : les autres factures de la même requête passent. La file place le rejet en Retrying et le renvoie avec des délais de plus en plus longs, de 2 minutes à 12 heures ; à la sixième tentative, il passe en Dead Letter et l'enregistrement affiche « Error permanente ».

Relancer ne change rien si la donnée est erronée, car l'envoi est généré à partir de l'enregistrement créé lors de la validation de la facture, et non à partir du contact. La correction comporte donc deux volets :
- Corrigez le pays ou le NIF du contact, afin que les factures suivantes partent correctement.
- Pour la facture déjà rejetée, l'AEAT prévoit un enregistrement après rejet, avec Subsanacion S et RechazoPrevio X. Le module publié ne génère pas cet enregistrement de lui-même : écrivez à comercial@flexigobe.com avec le numéro de la facture et nous le résoudrons avec vous.
Les codes de cette page, avec le texte de l'AEAT
Chaque code avec son texte littéral, tel que le donne la liste des erreurs de l'AEAT :
| Code | Texte de l'AEAT |
|---|---|
| 1239 | Error en el bloque Destinatario. |
| 1101 | El valor del campo CodigoPais es incorrecto. |
| 1102 | El valor del campo IDType es incorrecto. |
| 1103 | El valor del campo ID es incorrecto. |
| 1111 | El campo CodigoPais es obligatorio cuando IDType es distinto de NIF-IVA (02). |
| 1122 | El campo CodigoPais indicado no coincide con los dos primeros dígitos del identificador. |
| 1126 | El valor del CodigoPais solo puede ser ES cuando el IDType sea Pasaporte (03) o No Censado (07). Si IDType es No Censado (07) el CodigoPais debe ser ES (España). |
| 1131 | El valor del campo ID ha de ser el NIF de una persona física cuando el campo IDType tiene valor No Censado (07). |
| 1222 | El valor del campo ID del bloque IDOtro es incorrecto. |
| 1232 | Si se identifica a través de la agrupación IDOtro y CodigoPais tiene valor ES (España), el campo IDType debe valer Pasaporte (03). |
| 1233 | Si se identifica a través de la agrupación IDOtro y CodigoPais tiene valor ES (España), el campo IDType debe valer No Censado (07). |
| 1234 | Si se identifica a través de la agrupación IDOtro y CodigoPais tiene valor ES (España), el campo IDType debe valer Pasaporte (03) o No Censado (07). |
| 1254 | Si FechaOperacion (FechaExpedicionFactura si no se informa FechaOperacion) es anterior a 01/01/2021 no se permite el valor 'XI' para Identificaciones NIF-IVA |
| 1255 | Si FechaOperacion (FechaExpedicionFactura si no se informa FechaOperacion) es mayor o igual que 01/02/2021 no se permite el valor 'GB' para Identificaciones NIF-IVA |
Si le code que vous voyez ne figure pas dans ce tableau, le catalogue complet se trouve dans Envoi à l'AEAT › Catalogue des erreurs AEAT, avec le texte littéral de l'AEAT.
À 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/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
- Code du module : flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_error_catalogue.xml
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
