Co oznacza
Tekst AEAT to Registro de facturación duplicado. i należy do części oficjalnej listy, która odrzuca fakturę, a nie całe wysłanie. Porównywanym identyfikatorem jest blok IDFactura: NIF wystawcy, numer faktury i data jej wystawienia. W Odoo te trzy dane pochodzą z NIF firmy, z numeru, jaki Odoo nadało fakturze, i z jej daty.
Razem z kodem 3000 odpowiedź AEAT zawiera blok RegistroDuplicado, który informuje, co stało się z rekordem już znajdującym się w systemie: identyfikator żądania, z którym wszedł, jego status oraz, jeśli go miał, własny kod błędu.

Kiedy się pojawia przy pracy z Odoo
AEAT odpowiada na każde wysłanie statusem dla każdego rekordu. Jeśli ta odpowiedź nie dotrze, z powodu przerwy w sieci lub przekroczenia czasu oczekiwania, moduł nie może wiedzieć, czy AEAT zapisała rekord: umieszcza wysłanie w stanie Retrying i ponawia je później, z przerwami od 2 minut do 12 godzin. Jeśli pierwsza próba weszła, druga wraca z kodem 3000. To sposób, w jaki AEAT mówi, że już go ma.
Co moduł robi z odpowiedzią
| Status wcześniejszego rekordu | Co zobaczysz w Odoo |
|---|---|
| Correcta (poprawny) | Rekord przechodzi na «Aceptado AEAT» (zaakceptowany) i nie jest wysyłany ponownie. |
| AceptadaConErrores (zaakceptowany z błędami) | Pozostaje jako «Aceptado con errores (subsanar)» (zaakceptowany z błędami, do poprawy), z kodem i opisem wcześniejszego rekordu. |
| Każdy inny | Traktowany jako odrzucenie: Retrying, a przy szóstej próbie Dead Letter. |
To zgadza się z tym, co wskazuje AEAT: jeśli rekord już widnieje jako poprawny lub zaakceptowany z błędami, nie wolno go wysyłać ponownie. Ponowne wysłanie dałoby tylko kolejny błąd 3000.

Co musisz zrobić Ty
- Jeśli rekord ma status «Aceptado AEAT», nic nie rób. Faktura jest zarejestrowana dokładnie raz.
- Jeśli ma status «Aceptado con errores (subsanar)», problemem nie jest duplikat, lecz błąd, który wcześniejszy rekord już miał. Znajdź jego kod w tej serii stron.
- Jeśli błąd 3000 powtarza się przy różnych fakturach, sprawdź, czy dwa systemy nie wysyłają tych samych faktur z tym samym NIF, na przykład testowa kopia Odoo wskazująca na środowisko produkcyjne.
Czy 3000 może dotyczyć innej faktury o tym samym numerze?
Tylko wtedy, gdy zgadzają się NIF, numer i data. Odoo nie powtarza numerów w obrębie jednego dziennika, więc zwykle chodzi o tę samą fakturę wysłaną dwukrotnie.
Gdzie zobaczę wcześniejszy rekord?
W odpowiedzi zapisanej przy wysyłce, w polu Raw Response kolejki, które zawiera pełny blok RegistroDuplicado.
Rekordy anulowania działają według tej samej logiki identyfikatora. Co się dzieje, gdy anulujesz fakturę, której AEAT nie posiada lub która była już anulowana, opisano na stronie o anulowaniach.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- 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_cadena.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
