Salta al contingut principal
VeriFactu

Errors de VeriFactu amb el format de l'enviament: XML il·legible, UTF-8 i peticions buides

Abans de comprovar cap factura, l'AEAT ha de poder llegir el que li arriba: un XML ben format, en UTF-8, pel mètode correcte i amb els nodes que espera. Si alguna d'aquestes coses falla, no hi ha factura que valgui. Aquests vuit codis són els d'aquesta primera porta, i gairebé tots rebutgen la petició sencera.

FlexigoTech · Responsable: Víctor Gómez · Actualitzat el 4 de novembre de 2026

L'essencial

Mòdul
VeriFactu
Versions
Odoo 17, 18, 19 i 20
Comprovat
al codi del mòdul, versió 20.0 · a les fonts enllaçades al final
Lectura
3 min

El que l'AEAT no pot llegir

CodiText de l'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.

Tots sis són a l'apartat de la llista que rebutja l'enviament sencer. Els altres dos codis d'aquesta pàgina només rebutgen un registre: el 1100, Valor o tipo incorrecto del campo., el més genèric de la llista, i el 1251, per a un IDVersion incorrecte.

Targeta dels codis de format de l'enviament de VeriFactu
En vermell, els sis que rebutgen la petició sencera; en ambre, el 1100 i el 1251, que rebutgen un registre.

Com envia Odoo cada petició

El mòdul envia cada enviament com un POST SOAP 1.1 per TLS mutu, amb el certificat de l'empresa. El cos és XML en UTF-8, amb la seva declaració de codificació, i la capçalera HTTP l'anuncia com a text/xml en UTF-8. Els textos es normalitzen a la forma NFC, perquè una mateixa lletra amb accent arribi sempre amb els mateixos bytes. Cada registre porta IDVersion 1.0, i abans de sortir passa per la validació contra l'esquema oficial que porta el mòdul.

Amb aquesta manera d'enviar, les fallades d'aquesta pàgina no s'haurien de veure: no hi ha GET, no hi ha peticions buides i la codificació és sempre la mateixa.

El cas del GET

El 4135 és l'únic d'aquesta pàgina que es veu sovint, i té una explicació molt senzilla: algú ha obert l'adreça del servei de l'AEAT en un navegador. Un navegador demana les pàgines amb GET, i el servei només accepta POST. Si el veus en provar l'adreça a mà, no indica cap problema amb els teus enviaments: la cua d'Odoo no demana mai amb GET.

Cua d'enviament a l'AEAT agrupada per estat
La cua d'enviament a Odoo agrupada per estat: els rebuigs de la petició sencera queden en Failed. Captura d'Odoo 20 amb dades de demostració; les respostes de l'AEAT són simulades.

Què fer

  • Amb un 4103, 4119 o 4138 en un enviament del mòdul, desa la resposta del camp Raw Response i escriu-nos a comercial@flexigobe.com: volem veure quina factura anava en aquell enviament.
  • Amb un 4136 o 4137, igual. El mòdul construeix aquests nodes per a cada alta i cada anul·lació.
  • Amb un 1100, el missatge no diu quin camp: la resposta completa sí que sol deixar veure a quin registre afecta.

Quan sapiguem la causa, els enviaments en Failed es tornen a enviar des d'AEAT Submission › AEAT Errors amb Retry Selected. Els del 1100 i el 1251, la cua ja els torna a provar, però amb les mateixes dades.

Els codis d'aquesta pàgina, amb el text de l'AEAT

Cada codi amb el seu text literal, tal com el dona la llista d'errors de l'AEAT:

CodiText de l'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

Els errors d'esquema, quan falta un camp obligatori, tenen la seva pròpia pàgina: l'error 4102.

Continua llegint

Error 4102 de VeriFactu: «El XML no cumple el esquema. Falta informar campo obligatorio»L'error 4102 de VeriFactu rebutja l'enviament sencer perquè falta un camp obligatori. Com l'atura abans Odoo 17, 18, 19 i 20 i què fer si tot i així arriba de l'AEAT.Errors 4113 i 4114 de VeriFactu: massa registres en un mateix enviamentEls errors 4113 i 4114 de VeriFactu: massa registres en un enviament. El límit de 1000 per petició, el de cada bloc i com el respecta Odoo 17 a 20.Errors tècnics de VeriFactu: quan el problema és als sistemes de l'AEATErrors tècnics de VeriFactu de la banda de l'AEAT (4108, 4110, 4111, 4118, 4128, 3500, 3501, 1129, 1256, 1288): quins torna a provar Odoo i quins reenvies tu.
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades

Fonts