Zum Hauptinhalt springen
VeriFactu

VeriFactu-Fehler beim Übermittlungsformat: nicht lesbares XML, UTF-8 und leere Anfragen

Bevor die AEAT eine Rechnung prüft, muss sie lesen können, was bei ihr ankommt: wohlgeformtes XML, in UTF-8, über die richtige Methode und mit den Knoten, die sie erwartet. Schlägt davon etwas fehl, zählt keine Rechnung. Diese Codes gehören zu dieser ersten Hürde, und fast alle lehnen die gesamte Anfrage ab.

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
3 Min.

Was die AEAT nicht lesen kann

CódigoTexto de la AEAT
4103Se ha producido un error inesperado al parsear el XML.
4119Error al informar caracteres cuya codificación no es UTF-8.
4135Esta URL no puede ser utilizada mediante GET.
4136No se ha enviado el nodo RegistroAlta o el anterior al nodo RegistroAlta no es correcto.
4137No se ha enviado el nodo RegistroAnulacion o el anterior al nodo RegistroAnulacion no es correcto.
4138Petición vacía en el XML o encoding incorrecto.

Alle sechs stehen im Abschnitt der Liste, der die gesamte Übermittlung ablehnt. Die beiden anderen Codes dieser Seite lehnen nur einen Datensatz ab: 1100, Valor o tipo incorrecto del campo., der allgemeinste der Liste, und 1251, für eine falsche IDVersion.

Übersichtskarte der VeriFactu-Codes zum Übermittlungsformat
In Rot die sechs, die die gesamte Anfrage ablehnen; in Bernstein der 1100 und der 1251, die einen Datensatz ablehnen.

Wie Odoo jede Übermittlung sendet

Das Modul sendet jede Übermittlung als SOAP-1.1-POST über gegenseitiges TLS mit dem Zertifikat des Unternehmens. Der Rumpf ist XML in UTF-8 mit seiner Kodierungsdeklaration, und der HTTP-Header kündigt es als text/xml in UTF-8 an. Texte werden in die NFC-Form normalisiert, sodass derselbe akzentuierte Buchstabe immer mit denselben Bytes ankommt. Jeder Datensatz trägt IDVersion 1.0, und vor dem Versand durchläuft er die Validierung gegen das offizielle Schema, das das Modul mitbringt.

So gesendet dürften die Fehler dieser Seite nicht auftreten: Es gibt kein GET, keine leeren Anfragen, und die Kodierung ist immer dieselbe.

Der Fall GET

4135 ist der einzige Code dieser Seite, der häufig auftaucht, und er hat eine sehr einfache Erklärung: Jemand hat die Adresse des AEAT-Dienstes im Browser geöffnet. Ein Browser ruft Seiten mit GET ab, der Dienst akzeptiert aber nur POST. Wenn Sie ihn beim manuellen Aufrufen der Adresse sehen, sagt das nichts über Ihre Übermittlungen aus: Die Odoo-Warteschlange verwendet nie GET.

Warteschlange der AEAT-Übermittlung nach Status gruppiert
Die Übermittlungswarteschlange in Odoo nach Status gruppiert: vollständige Ablehnungen der Anfrage bleiben in Failed. Screenshot aus Odoo 20 mit Demodaten; die Antworten der AEAT sind simuliert.

Was zu tun ist

  • Bei einem 4103, 4119 oder 4138 in einer Übermittlung des Moduls speichern Sie die Antwort aus dem Feld Raw Response und schreiben Sie an comercial@flexigobe.com: Wir möchten sehen, welche Rechnung in dieser Übermittlung enthalten war.
  • Bei einem 4136 oder 4137 ebenso. Das Modul erstellt diese Knoten für jede Registrierung und jede Stornierung.
  • Bei einem 1100 nennt die Meldung nicht das Feld: Die vollständige Antwort zeigt meist, welcher Datensatz betroffen ist.

Sobald die Ursache bekannt ist, werden die Übermittlungen in Failed über Envío a AEAT › Errores AEAT mit Reintentar Selección erneut gesendet. Die mit 1100 und 1251 wiederholt die Warteschlange bereits selbst, allerdings mit denselben Daten.

Die Codes dieser Seite mit dem Text der AEAT

Jeder Code mit seinem wörtlichen Text, so wie die Fehlerliste der AEAT ihn angibt:

CódigoTexto de la AEAT
4103Se ha producido un error inesperado al parsear el XML.
4119Error al informar caracteres cuya codificación no es UTF-8.
4135Esta URL no puede ser utilizada mediante GET.
4136No se ha enviado el nodo RegistroAlta o el anterior al nodo RegistroAlta no es correcto.
4137No se ha enviado el nodo RegistroAnulacion o el anterior al nodo RegistroAnulacion no es correcto.
4138Petición vacía en el XML o encoding incorrecto.
1100Valor o tipo incorrecto del campo.
1251El valor del campo IdVersion tiene un valor incorrecto

Schemafehler, wenn ein Pflichtfeld fehlt, haben eine eigene Seite: Fehler 4102.

Weiterlesen

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 4113 und 4114: zu viele Datensätze in einer einzigen ÜbermittlungVeriFactu-Fehler 4113 und 4114: zu viele Datensätze in einer Übermittlung. Das Limit von 1000 pro Anfrage, die Grenzen je Block und wie Odoo sie einhält.Technische VeriFactu-Fehler: wenn das Problem bei den Systemen der AEAT liegtTechnische VeriFactu-Fehler auf Seiten der AEAT (4108, 4110, 4111, 4118, 4128, 3500, 3501, 1129, 1256, 1288): welche Odoo selbst wiederholt und welche Sie erneut senden.
Geprüft im Quellcode des Moduls (Version 20.0) und in den verlinkten Quellen

Quellen