Zum Hauptinhalt springen
VeriFactu

VeriFactu-Fehler 4113 und 4114: zu viele Datensätze in einer einzigen Übermittlung

Jede Anfrage an VERI*FACTU kann bis zu 1000 Abrechnungsdatensätze enthalten, und einige Blöcke darin haben eigene Obergrenzen. Werden sie überschritten, entspricht das XML nicht mehr dem Schema, und die AEAT, die spanische Steuerbehörde, lehnt die gesamte Anfrage mit 4113 oder 4114 ab. Odoo mit unserem Modul teilt die Übermittlungen so auf, dass es nie dorthin kommt.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 4. November 2026

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Moduls, Version 20.0 · in den Quellen am Ende
Lesezeit
2 Min.

Die beiden Codes

4113
«El XML no cumple con el esquema: se ha superado el límite permitido de registros para el bloque.» Ein Block des XML enthält mehr Wiederholungen, als er zulässt.
4114
«El XML no cumple con el esquema: se ha superado el límite máximo permitido de facturas a registrar.» Die Anfrage enthält mehr Rechnungen als erlaubt.

Beide gehören zu dem Abschnitt, der die gesamte Übermittlung ablehnt. Laut dem Validierungsdokument der AEAT wiederholt sich der Block RegistroFactura in jeder Anfrage 1- bis 1000-mal, und Erfassungen und Stornierungen können gemeinsam übermittelt werden, jede in ihrem eigenen RegistroFactura.

Karte der VeriFactu-Codes 4113 und 4114
4113 und 4114 in Rot: zu viele Datensätze bringen die gesamte Anfrage zum Scheitern.

So teilt Odoo die Übermittlungen auf

Die Warteschlange des Moduls läuft alle 1 Minute und fasst bei jedem Durchlauf die ausstehenden Datensätze jedes Unternehmens in einer einzigen Anfrage zusammen, in Kettenreihenfolge. Diese Anfrage überschreitet niemals 1000 Datensätze:

  1. Der Parameter verifactu.max_envelope_records legt fest, wie viele Datensätze bei jedem Durchlauf hinausgehen; wenn niemand ihn ändert, beträgt er 1000.
  2. Was nicht hineinpasst, bleibt für den nächsten Durchlauf in der Warteschlange.
  3. Sollten auf irgendeinem Weg mehr als 1000 gesendet werden, hält der Client des Moduls vor dem Senden an mit «The AEAT accepts at most 1000 records per request.».

Innerhalb jedes Datensatzes passt das Modul die Blöcke ebenfalls an ihre Obergrenzen an: die Steueraufschlüsselung wird ohne Hinweis auf 12 Zeilen gekürzt, und ein Austausch vereinfachter Rechnungen umfasst bis zu 1000 ersetzte Rechnungen.

Warteschlange für die Übermittlung an die AEAT nach Status gruppiert
Die Übermittlungswarteschlange nach Status gruppiert, mit den ausstehenden Datensätzen, die beim nächsten Durchlauf hinausgehen. Screenshot aus Odoo 20 mit Demodaten; die Antworten der AEAT sind simuliert.

Der Takt, den die AEAT vorgibt

Neben der Größe bestimmt die AEAT auch den Takt. Jede Antwort enthält einen TiempoEsperaEnvio, die Sekunden, die vor der nächsten Übermittlung zu warten sind, und das Modul hält sich daran. Es gibt eine Ausnahme: Sind bereits 1000 Datensätze ausstehend, wird nicht gewartet, weil die Anfrage voll ist. Antwortet die AEAT mit HTTP 429 wegen zu vieler Anfragen, wartet das Modul die Zeit, die ihr Header Retry-After angibt, und ohne Angabe 60 Sekunden.

Wenn Sie einen davon erhalten

Mit dem Parameter auf seinem Wert sollte ein 4113 oder 4114 nicht auftreten. Hat jemand verifactu.max_envelope_records über 1000 erhöht, setzen Sie ihn auf 1000 zurück oder lassen Sie ihn leer. Senden Sie danach die Übermittlungen im Status Failed über AEAT-Übermittlung › AEAT-Fehler mit Ausgewählte wiederholen erneut: Die Warteschlange teilt sie in Anfragen der richtigen Größe auf.

Gehen Erfassungen und Stornierungen in dieselbe Anfrage?

Ja. Die AEAT erlaubt das, solange jede in ihrem eigenen RegistroFactura steht, und die Warteschlange des Moduls sendet die ausstehenden Erfassungen und Stornierungen des Unternehmens gemeinsam, in Kettenreihenfolge.

Lohnt es sich, den Parameter zu senken?

Nicht nötig. Weniger Datensätze pro Anfrage bedeuten mehr Anfragen, und jede muss die von der AEAT vorgegebene TiempoEsperaEnvio abwarten.

Wenn Sie bei einem Parameter auf 1000 einen dieser Codes erhalten, schreiben Sie an comercial@flexigobe.com mit der Antwort der Übermittlung.

Weiterlesen

VeriFactu-Fehler beim Übermittlungsformat: nicht lesbares XML, UTF-8 und leere AnfragenVeriFactu-Fehler beim Übermittlungsformat (4103, 4119, 4135 bis 4138, 1100, 1251): nicht lesbares XML, UTF-8, GET oder leere Anfragen und wie Odoo sendet.VeriFactu-Fehler 4102: «El XML no cumple el esquema. Falta informar campo obligatorio»Der Fehler 4102 weist den gesamten Versand ab, weil ein Pflichtfeld fehlt. So fängt Odoo ihn vorab ab und das ist zu tun, wenn er dennoch von der AEAT kommt.VeriFactu-Fehler 4134: «Servicio no activo», was mit Ihren Rechnungen passiert und wie Sie sie erneut sendenWas der AEAT-Fehler 4134 bei VeriFactu bedeutet, warum er die gesamte Übermittlung ablehnt und wie Sie Ihre Rechnungen in Odoo 17 bis 20 erneut senden.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen