Przejdź do głównej treści
VeriFactu

Błędy 3001 i 3002 w VeriFactu: anulowanie faktury, której AEAT nie ma lub którą już anulowała

Anulowanie faktury w Odoo, gdy ma już swój rekord VERI*FACTU, tworzy rekord anulowania, który również trafia do AEAT, hiszpańskiej agencji podatkowej. AEAT szuka faktury, którą chcesz anulować, i odpowiada kodem, jeśli jej nie znajdzie albo jeśli była już anulowana. Ponadto rekord anulowania ma własny blok, Generador, z kilkunastoma innymi kodami.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 4 listopada 2026

Najważniejsze

Moduł
VeriFactu
Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym modułu, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
3 min

Dwa kody statusu

KodTekst AEATCo oznacza
3001El registro de facturación ya ha sido dado de baja.Ta faktura była już anulowana w AEAT.
3002No existe el registro de facturación.AEAT nie ma faktury o tym identyfikatorze.

Oba znajdują się w sekcji listy, która odrzuca rekord: anulowanie nie wchodzi, reszta wysyłki tak.

Karta kodów anulowania VeriFactu
3001, 3002 i kody bloku Generador, wszystkie z grupy odrzucającej rekord.

Co robi Odoo przy anulowaniu faktury

Gdy anulujesz fakturę, która ma rekord rejestracji, moduł tworzy rekord anulowania i łączy go łańcuchowo jak każdy inny. Rekord zawiera identyfikator anulowanej faktury z Twoim NIF, jej numer i datę wystawienia, a także łańcuch, dane systemu, znacznik czasu i hash. Kolejka wysyła go jak każdy inny rekord.

Zwróć uwagę na warunek: moduł tworzy anulowanie, gdy faktura ma rekord rejestracji, niezależnie od jego statusu. Stąd wynika najczęstszy 3002.

Kiedy pojawia się każdy z nich

3002 po odrzuceniu. Jeśli rejestracja faktury została odrzucona i trafiła do Dead Letter, AEAT nigdy jej nie zarejestrowała. Jeśli potem anulujesz tę fakturę w Odoo, anulowanie szuka rekordu, którego nie ma, i odpowiedzią jest 3002.

3001 przy podwójnym anulowaniu. Jeśli faktura jest już w AEAT zapisana jako anulowana i przychodzi kolejne anulowanie z tym samym identyfikatorem, odpowiedzią jest 3001. Może tak być, jeśli faktura została anulowana innym sposobem przed anulowaniem w Odoo.

W obu przypadkach odrzucone anulowanie ponawiane jest z tymi samymi danymi, z przerwami od 2 minut do 12 godzin, i trafia do Dead Letter przy szóstej próbie.

Kolejka wysyłki do AEAT pogrupowana według statusu
Kolejka pogrupowana według statusu: rekordy anulowania przechodzą przez te same statusy co rejestracje. Zrzut ekranu Odoo 20 z danymi demonstracyjnymi; odpowiedzi AEAT są symulowane.

Blok Generador

Według dokumentu walidacji AEAT anulowanie może wskazywać, kto je wygenerował, polem GeneradoPor i blokiem Generador, które zawsze występują razem. Jeśli generator jest identyfikowany NIF, musi być zarejestrowany i różny od zobowiązanego do wystawienia. Stąd biorą się 1224, 1225, 1227, 1228, 1229, 1230, 1231, 1258, 1259 i 1273, a także 1214, które wymaga, by pole NumeroOTAlta było dodatnią liczbą czterocyfrową.

Rekord anulowania modułu nie zawiera GeneradoPor ani Generador, więc żaden z tych kodów nie może pochodzić z jego wysyłki.

Co zrobić

  • Przed anulowaniem faktury, której rejestracja jest w Dead Letter, napisz do nas: anulowanie tego nie naprawi i zostawi anulowanie bez czego anulować.
  • Przy 3001 sprawdź, czy faktura nie została wcześniej anulowana innymi środkami.
  • W każdym razie wyślij numer faktury na comercial@flexigobe.com, a przejrzymy to razem z Tobą.

Kody z tej strony z tekstem AEAT

Każdy kod z dosłownym tekstem, po hiszpańsku, tak jak podaje lista błędów AEAT:

KodTekst AEAT (hiszpański)
3001El registro de facturación ya ha sido dado de baja.
3002No existe el registro de facturación.
1214El campo NumeroOTAlta debe ser númerico positivo de 4 posiciones.
1224Si se informa el campo GeneradoPor deberá existir la agrupación Generador y viceversa.
1225El valor del campo GeneradoPor es incorrecto.
1227Si el campo GeneradoPor es igual a E debe estar relleno el campo NIF del bloque Generador.
1228En el bloque Generador si se cumplimenta NIF, no deberá existir la agrupación IDOtro y viceversa, pero es obligatorio que se cumplimente uno de los dos.
1229Si el valor de GeneradoPor es igual a T el valor del campo IDType del bloque Generador no debe ser No Censado (07).
1230Si el valor de GeneradoPor es igual a D y el CodigoPais tiene valor ES (España), el valor del campo IDType del bloque Generador debe ser Pasaporte (03) o No Censado (07).
1231El valor del campo IDType del bloque Generador es incorrecto.
1258El valor de campo NIF del bloque Generador es incorrecto.
1259En el bloque Generador si se identifica mediante NIF, el NIF debe estar identificado y ser distinto del NIF ObligadoEmision.
1273Error en el bloque de Generador.

Czytaj dalej

Błąd 3000 VeriFactu: AEAT ma już tę fakturę zarejestrowanąBłąd 3000 w VeriFactu oznacza, że AEAT ma już tę fakturę. Sprawdź status wcześniejszego rekordu w odpowiedzi i dlaczego Odoo 17, 18, 19 i 20 nie wysyła jej ponownie.Błędy VeriFactu przy fakturach korygujących: TipoRectificativa, korygowane i zastępowaneBłędy VeriFactu faktur korygujących i zastępczych (1107, 1114–1119): kiedy występują TipoRectificativa i ImporteRectificacion oraz jak Odoo wysyła notę kredytową.Korekta w VeriFactu: jak poprawić rekord i błędy Subsanacion oraz RechazoPrevioJak w VeriFactu poprawia się rekord odrzucony lub przyjęty z błędami: korekta, RechazoPrevio, kody 1153 do 1276, 3003 i 3004 oraz stan w Odoo.
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach

Źródła