Przejdź do głównej treści
VeriFactu

Błędy 4113 i 4114 VeriFactu: za dużo rekordów w jednej wysyłce

Każde żądanie do VERI*FACTU może zawierać do 1000 rekordów fakturowania, a niektóre bloki w środku mają własne limity. Po ich przekroczeniu XML przestaje być zgodny ze schematem i AEAT, hiszpańska administracja podatkowa, odrzuca całe żądanie z kodem 4113 lub 4114. Odoo z naszym modułem dzieli wysyłki tak, by nigdy do tego nie doszło.

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
2 min

Dwa kody

4113
„El XML no cumple con el esquema: se ha superado el límite permitido de registros para el bloque.” Blok XML zawiera więcej powtórzeń, niż dopuszcza.
4114
„El XML no cumple con el esquema: se ha superado el límite máximo permitido de facturas a registrar.” Żądanie zawiera więcej faktur, niż jest dozwolone.

Oba należą do części, która odrzuca całą wysyłkę. Według dokumentu walidacji AEAT blok RegistroFactura powtarza się od 1 do 1000 razy w każdym żądaniu, a rejestracje i anulowania mogą iść razem, każde we własnym RegistroFactura.

Karta kodów 4113 i 4114 VeriFactu
Kody 4113 i 4114 na czerwono: zbyt wiele rekordów powoduje odrzucenie całego żądania.

Jak Odoo dzieli wysyłki

Kolejka modułu uruchamia się co 1 minutę i przy każdym przebiegu łączy oczekujące rekordy każdej firmy w jedno żądanie, w kolejności łańcucha. Żądanie nigdy nie przekracza 1000 rekordów:

  1. Parametr verifactu.max_envelope_records określa, ile rekordów wychodzi w każdym przebiegu; jeśli nikt go nie zmienia, wynosi 1000.
  2. To, co się nie mieści, zostaje w kolejce na następny przebieg.
  3. Gdyby jakąś drogą miano wysłać więcej niż 1000, klient modułu zatrzyma się przed wysyłką komunikatem „The AEAT accepts at most 1000 records per request.”.

Wewnątrz każdego rekordu moduł także dopasowuje bloki do ich limitów: rozbicie podatku przycinane jest do 12 wierszy, bez ostrzeżenia, a wymiana faktur uproszczonych obejmuje do 1000 zastępowanych faktur.

Kolejka wysyłek do AEAT pogrupowana według statusu
Kolejka wysyłek pogrupowana według statusu, z oczekującymi rekordami, które wyjdą w następnym przebiegu. Zrzut ekranu Odoo 20 z danymi demonstracyjnymi; odpowiedzi AEAT są symulowane.

Tempo narzucone przez AEAT

Oprócz rozmiaru AEAT narzuca tempo. Każda odpowiedź zawiera TiempoEsperaEnvio, czyli liczbę sekund oczekiwania przed kolejną wysyłką, i moduł to respektuje. Jest jeden wyjątek: jeśli oczekuje już 1000 rekordów, nie czeka, bo żądanie jest pełne. Jeśli AEAT odpowie HTTP 429 z powodu zbyt wielu żądań, moduł czeka tyle, ile wskazuje nagłówek Retry-After, a jeśli nic nie wskazuje, 60 sekund.

Jeśli pojawi się jeden z nich

Przy wartości parametru ustawionej tak, jak trzeba, błąd 4113 lub 4114 nie powinien wystąpić. Jeśli ktoś podniósł verifactu.max_envelope_records powyżej 1000, przywróć 1000 lub pozostaw pole puste. Następnie wyślij ponownie wysyłki w statusie Failed z menu Envío a AEAT › Errores AEAT, używając Reintentar Selección: kolejka rozłoży je na żądania o właściwym rozmiarze.

Czy rejestracje i anulowania idą w tym samym żądaniu?

Tak. AEAT na to pozwala, o ile każde idzie we własnym RegistroFactura, a kolejka modułu wysyła razem oczekujące rejestracje i anulowania firmy, w kolejności łańcucha.

Czy warto obniżyć parametr?

Nie ma takiej potrzeby. Mniej rekordów na żądanie oznacza więcej żądań, a każde musi czekać na TiempoEsperaEnvio ustalone przez AEAT.

Jeśli przy parametrze ustawionym na 1000 pojawi się jeden z tych kodów, napisz na comercial@flexigobe.com, podając odpowiedź z wysyłki.

Czytaj dalej

Błędy VeriFactu z formatem wysyłki: nieczytelny XML, UTF-8 i puste żądaniaBłędy VeriFactu formatu wysyłki (4103, 4119, 4135 do 4138, 1100, 1251): nieczytelny XML, UTF-8, GET lub puste żądania i sposób wysyłki Odoo.Błąd 4102 VeriFactu: «El XML no cumple el esquema. Falta informar campo obligatorio»Błąd 4102 VeriFactu odrzuca całe wysłanie, bo brakuje pola obowiązkowego. Jak Odoo 17, 18, 19 i 20 wychwytuje go wcześniej i co zrobić, gdy mimo to przyjdzie z AEAT.Błąd 4134 VeriFactu: „Servicio no activo”, co dzieje się z Twoimi fakturami i jak je ponownie wysłaćCo oznacza błąd 4134 AEAT w VeriFactu, dlaczego odrzuca całe wysłanie i jak ponownie przesłać faktury z Odoo 17, 18, 19 i 20 bez utraty żadnej.
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach

Źródła