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.

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:
- Der Parameter verifactu.max_envelope_records legt fest, wie viele Datensätze bei jedem Durchlauf hinausgehen; wenn niemand ihn ändert, beträgt er 1000.
- Was nicht hineinpasst, bleibt für den nächsten Durchlauf in der Warteschlange.
- 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.

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
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen
Quellen
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Quellcode des Moduls: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Quellcode des Moduls: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Quellcode des Moduls: flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_crons.xml
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
