Przejdź do głównej treści
VeriFactu

Błąd 2004 VeriFactu: czas Twojego rekordu wyprzedza zegar AEAT

Każdy rekord fakturowania zawiera dokładny moment, w którym został wygenerowany, wraz ze strefą czasową. AEAT porównuje go z czasem we własnych systemach i, jeśli Twój pochodzi z przyszłości poza dopuszczalnym marginesem, odpowiada kodem 2004. To jeden z nielicznych błędów, który AEAT akceptuje bez żądania korekty, ale mówi coś o Twoim serwerze.

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

Pole i to, co sprawdza AEAT

Pole nazywa się FechaHoraHusoGenRegistro i przechowuje datę, godzinę oraz strefę czasową chwili, w której system wygenerował rekord, w formacie RRRR-MM-DDThh:mm:ss plus przesunięcie względem UTC. Dokument walidacji AEAT stanowi, że musi być ono mniejsze lub równe dacie w systemie AEAT, z uwzględnieniem marginesu błędu. Jeśli go przekracza, AEAT zwraca ostrzeżenie bez odrzucenia.

Tekst błędu 2004 na liście AEAT brzmi: „El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:” i na tym się kończy: lista nie podaje, ile sekund lub minut wynosi ten margines.

Karta kodu 2004 oraz kodów 1243, 1244 i 1268
Kod 2004, na niebiesko, bo AEAT akceptuje rekord, oraz trzy kody dotyczące tego samego pola, które go odrzucają, na bursztynowo.

Cztery kody dla tego pola

KodTekst AEATSkutek
2004El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de:Zaakceptowany; AEAT nie żąda korekty.
1243Error técnico al obtener el cálculo de la fecha del huso horario.Odrzuca rekord z powodu błędu technicznego po stronie AEAT.
1244El campo FechaHoraHusoGenRegistro tiene un formato incorrecto.Odrzuca rekord.
1268La longitud del campo FechaHoraHusoGenRegistro no cumple con las especificaciones.Odrzuca rekord.

Na swojej liście dopuszczalnych błędów AEAT oznacza ten przypadek jako jeden z dwóch, które nie wymagają korekty. Drugim jest puste pole ClaveRegimen przy podatku IPSI.

Skąd Odoo bierze godzinę

Moduł pobiera moment wygenerowania rekordu fakturowania, czyli chwilę zatwierdzenia faktury, wraz z jej przesunięciem względem UTC. Ten moment jest zapisywany i nie da się go później zmienić, podobnie jak skrót, ponieważ wchodzi w skład łańcucha. Format moduł buduje zawsze tak samo, więc błąd 1244 lub 1268 przy wysyłce z naszego modułu nie powinien się pojawić: jeśli się pojawi, prosimy o przesłanie go do nas.

W przypadku 2004 pytanie brzmi, czy zegar serwera Odoo spieszył się w chwili zatwierdzenia faktury. Moduł ma zadanie cron, Verifactu: Clock Drift Check, które co 1 godzinę porównuje czas Odoo z czasem bazy danych PostgreSQL, oraz przycisk do wykonania tego w dowolnym momencie. Nie porównuje z żadnym zegarem zewnętrznym: jeśli Odoo i baza danych działają na tej samej maszynie albo oba się spieszą, nie wyświetli ostrzeżenia. Rzeczywisty czas sprawdza się względem serwera NTP.

Stan łańcucha w Odoo z przyciskami Verificar Integridad i Check Clock Drift
W Estado de la Cadena są oba przyciski: Verificar Integridad oraz Check Clock Drift, który porównuje czas Odoo z czasem bazy danych. Zrzut ekranu Odoo 20 z danymi demonstracyjnymi.

Co zrobić w każdym przypadku

  • Przy 2004 nic nie trzeba robić z fakturą: jest zarejestrowana. Poproś osobę zarządzającą serwerem, by porównała jego czas z serwerem NTP i zsynchronizowała go, jeśli się spieszy. Check Clock Drift tu nie pomoże: porównuje tylko Odoo z jego bazą danych.
  • Przy 1243 poczekaj: to techniczny błąd po stronie AEAT, a kolejka sama ponawia próby, z przerwami od 2 minut do 12 godzin, aż do szóstej próby.
  • Przy 1244 lub 1268 napisz na comercial@flexigobe.com z odpowiedzią z wysyłki.

W Odoo błąd 2004 pozostawia rekord ze statusem „Aceptado con errores (subsanar)”, tą samą etykietą co wszystkie kody 2xxx. Dla tego konkretnego kodu AEAT stwierdza, że korekta nie jest potrzebna: możesz zostawić go bez zmian.

Czy zegar spóźniający się powoduje błąd?

Reguła AEAT sprawdza jedynie, czy Twój czas jest większy niż jej czas powiększony o margines. Rekord z czasem opóźnionym nie uruchamia tej kontroli.

Czytaj dalej

Błąd 2000 w VeriFactu: AEAT przelicza Twój odcisk i nie zgadza się z nimBłąd 2000 w VeriFactu: AEAT ponownie oblicza odcisk SHA-256 i nie otrzymuje Twojego. Dlaczego faktura zostaje zarejestrowana i co zrobić w Odoo 17, 18, 19 i 20.Błąd 2007 VeriFactu: AEAT miała już Twoje faktury i dostaje kolejny „pierwszy rekord”Błąd 2007 VeriFactu: AEAT ma już faktury Twojego NIF z tym samym systemem i dostaje kolejny pierwszy rekord. Skąd się bierze w Odoo 17, 18, 19 i 20 oraz co zrobić.Błędy techniczne VeriFactu: gdy problem leży w systemach AEATBłędy techniczne VeriFactu po stronie AEAT (4108, 4110, 4111, 4118, 4128, 3500, 3501, 1129, 1256, 1288): które Odoo ponawia samo, a które wysyłasz ponownie Ty.
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach

Źródła