Jak Odoo identyfikuje klienta zagranicznego
Moduł ustala rodzaj identyfikatora w chwili zatwierdzenia faktury, na podstawie dwóch pól kontaktu: kraju i numeru NIF.
- Klient z krajem Hiszpania lub bez kraju
- Wysyłany w polu NIF. Jeśli numer zaczyna się od X, Y lub Z, traktowany jest jako NIE.
- Klient z innego kraju UE
- Wysyłany w IDOtro z IDType 02 (NIF-IVA) i bez CodigoPais.
- Klient spoza UE
- Wysyłany w IDOtro z CodigoPais jego kraju i IDType 04, albo z IDType 03 (paszport), jeśli numer ma więcej niż 20 znaków lub żadnego znaku alfanumerycznego.
Numer przekazywany jest maksymalnie z 20 znakami. Mając to na uwadze, niemal każdy z poniższych kodów wyjaśnia się, patrząc na kraj i numer NIF kontaktu.

Kody, jeden po drugim
| Kod | Co mówi AEAT | Co sprawdzić |
|---|---|---|
| 1239 | Error en el bloque Destinatario. | Cały blok: kraj, numer NIF i nazwę kontaktu. |
| 1101 | El valor del campo CodigoPais es incorrecto. | Kraj kontaktu. |
| 1102 | El valor del campo IDType es incorrecto. | Rodzaj dokumentu, który został ustalony. |
| 1103 | El valor del campo ID es incorrecto. | Numer kontaktu. |
| 1111 | El campo CodigoPais es obligatorio cuando IDType es distinto de NIF-IVA (02). | Klient bez kraju w Odoo. |
| 1122 | El campo CodigoPais indicado no coincide con los dos primeros dígitos del identificador. | Numer z prefiksem innego kraju. |
| 1126 | El valor del CodigoPais solo puede ser ES cuando el IDType sea Pasaporte (03) o No Censado (07)… | Klient hiszpański wysłany przez 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). | Typ 07, którego moduł nie używa. |
| 1222 | El valor del campo ID del bloque IDOtro es incorrecto. | Numer klienta spoza Hiszpanii. |
| 1232, 1233 i 1234 | IDOtro z CodigoPais ES wymaga IDType 03, 07 lub jednego z tych dwóch. | Kraj Hiszpania przy kliencie z paszportem. |
| 1254 i 1255 | Numery NIF-IVA z Wielkiej Brytanii: XI nie jest przyjmowane przed 01/01/2021, a GB nie jest przyjmowane od 01/02/2021. | Data operacji i prefiks. |
Dla IDType 02 AEAT sprawdza dodatkowo, czy numer ma strukturę NIF-IVA państwa członkowskiego i czy jest pisany wielkimi literami. W praktyce NIF klienta europejskiego musi być zapisany w Odoo z prefiksem kraju, tak jak weryfikuje go VIES.
Co dzieje się w Odoo, gdy AEAT to odrzuci
Te kody odrzucają wpis, a nie wysyłkę: pozostałe faktury z tego samego żądania przechodzą. Kolejka oznacza odrzucony wpis jako Retrying i wysyła go ponownie z coraz dłuższymi przerwami, od 2 minut do 12 godzin; przy szóstej próbie przenosi go do Dead Letter, a wpis otrzymuje status „Error permanente”.

Ponowienie nic nie zmieni, jeśli dane są błędne, ponieważ wysyłka powstaje z wpisu utworzonego przy zatwierdzaniu faktury, a nie z kontaktu. Dlatego naprawa ma dwie części:
- Popraw kraj lub numer NIF kontaktu, aby kolejne faktury były poprawne.
- Dla faktury już odrzuconej AEAT przewiduje rejestrację po odrzuceniu, z Subsanacion S i RechazoPrevio X. Opublikowany moduł nie generuje tego wpisu sam z siebie: napisz na comercial@flexigobe.com z numerem faktury, a rozwiążemy to razem.
Kody z tej strony z tekstem AEAT
Każdy kod z dosłownym tekstem, tak jak podaje go lista błędów AEAT:
| Kod | Tekst 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 |
Jeśli kodu, który widzisz, nie ma w tej tabeli, pełny katalog znajduje się w Envío a AEAT › Catálogo de Errores AEAT, z dosłownym tekstem AEAT.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Kod modułu: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cadena.py
- Kod modułu: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Kod modułu: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Kod modułu: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_registro.py
- Kod modułu: 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
