El que l'AEAT no pot llegir
| Codi | Text de l'AEAT |
|---|---|
| 4103 | Se ha producido un error inesperado al parsear el XML. |
| 4119 | Error al informar caracteres cuya codificación no es UTF-8. |
| 4135 | Esta URL no puede ser utilizada mediante GET. |
| 4136 | No se ha enviado el nodo RegistroAlta o el anterior al nodo RegistroAlta no es correcto. |
| 4137 | No se ha enviado el nodo RegistroAnulacion o el anterior al nodo RegistroAnulacion no es correcto. |
| 4138 | Petició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.

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.

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:
| Codi | Text de l'AEAT |
|---|---|
| 4103 | Se ha producido un error inesperado al parsear el XML. |
| 4119 | Error al informar caracteres cuya codificación no es UTF-8. |
| 4135 | Esta URL no puede ser utilizada mediante GET. |
| 4136 | No se ha enviado el nodo RegistroAlta o el anterior al nodo RegistroAlta no es correcto. |
| 4137 | No se ha enviado el nodo RegistroAnulacion o el anterior al nodo RegistroAnulacion no es correcto. |
| 4138 | Petición vacía en el XML o encoding incorrecto. |
| 1100 | Valor o tipo incorrecto del campo. |
| 1251 | El 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
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades
Fonts
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Validacione
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_aeat_client.py
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): models/verifactu_cola_envio.py
- Codi del mòdul: flexigo_spain_verifactu 20.0 (aa2ea3d2): data/verifactu_error_catalogue.xml
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/err
