Glosa-e

← Todas las entradas

La orden renumera los campos españoles del anexo, y la AEAT confirma sus erratas

Quien programó para la solución pública con el borrador de abril delante tiene que rehacer casi todo lo español, y no puede fiarse del texto publicado al pie de la letra. Esto es lo que cambió, dónde falla la orden, qué contestó la AEAT y qué mide Glosa-e desde que salió.

Lo que se anunció y lo que salió

El 10 de septiembre la AEAT anunció, en un seminario para desarrolladores, que el anexo I del borrador de abril iba a cambiar: las rectificativas, el NIF del vendedor, el indicador de copia, las claves de régimen, las categorías del IVA y un mensaje para anular facturas. La orden salió en el BOE el 5 de octubre, entró en vigor el 6, y trae eso y bastante más:

El anexo I, del borrador de abril a la orden
AbrilOrden
Filas de la factura174176
Identificadores distintos155149
Filas españolas (BT-ES y BG-ES)5233
Listas de códigosL1 a L8L1 a L10

Los campos españoles se renumeran casi todos. De los 33 números que tiene la orden, solo dos dicen lo mismo que en abril: BT-ES-1, si la factura es el original o una copia, y BG-ES-4, la retención aplicada. Los demás cambian de sentido sin cambiar de nombre. BG-ES-1 era la extensión de las rectificativas y ahora son los datos del tercero que expide la factura (está en la entrada del 28 de septiembre). BT-ES-10 era un centro administrativo del comprador, y ahora identifica un suplido. Un programa que lea por número leerá otra cosa sin dar ningún error.

Lo que cambia para quien programó con abril

  • El NIF tiene dos sitios. Como NIF-IVA, con el prefijo ES (BT-31 del vendedor, BT-48 del comprador), o como NIF, con LOC y el atributo FC (BT-32 y BT-47). Por la segunda vía, el del vendedor va dos veces, porque la orden pide también BT-30.
  • El indicador de copia deja de ser obligatorio: sin él, la factura es el original. En la copia fiel hay que escribirlo, porque el artículo 4.3 pide que se identifique ahí.
  • Las rectificativas salen de la extensión española y van en el grupo de documentos justificativos de la norma europea (BG-24), con RECT:TIPO, RECT:MODALIDAD y RECT:IMPORTES.
  • El recargo de equivalencia y el grupo de entidades dejan sus líneas propias y pasan al desglose del IVA, con la categoría N, nueva en la lista L4. La L4 gana también la D y la F, y sigue sin la K.
  • Los otros impuestos y tasas tienen grupo propio en los cargos del documento (BG-ES-2), y todo cargo de línea lleva ahora un código obligatorio de una lista nueva, la L9: los impuestos especiales uno por uno, y RESTO para lo que no es un impuesto.
  • Lo pagado por adelantado (BT-113) ya no tiene que ser cero: solo quedan fuera los anticipos que devengaron el IVA. Y hay campo para la fecha efectiva de pago (BT-ES-2): la factura que la trae cumple ya la comunicación del pago (artículo 7.4).
  • Las claves de régimen del IVA pierden la 18, la 19 y la 20, que eran el recargo de equivalencia, el régimen de agricultura, ganadería y pesca y el régimen simplificado.
  • Los centros administrativos del comprador desaparecen del anexo.
  • Y hay un anexo II entero: ocho mensajes de estado (el pago, el rechazo, el cobro y el impago, cada uno con su baja), además del mensaje de anulación que trae el anexo I.

Dónde falla el texto

La orden escribe el anexo en UBL, y da para cada campo la ruta del elemento donde va. Cada una de esas rutas se recorrió por los esquemas oficiales de UBL 2.5. De las 61 rutas distintas que traen los dos anexos, 13 no existen:

Las rutas de la orden que no existen en UBL 2.5
DóndeQué fallaRutas
El impuesto o tasa de un cargo del documento (BT-ES-6 a BT-ES-9)Empiezan por /in:Invoice/cac:Invoice, que no existe, y escriben cac:TaxSubTotal, que es cac:TaxSubtotal5
El mensaje de anulaciónCuelga la factura anulada de cac:Response, que no la admite. En UBL va en cac:DocumentResponse, que es donde la pone el propio anexo II6
La tipología del tercero (BT-ES-5)Cuelga cbc:ServiceTypeCode de cac:Party, y es hijo de cac:ServiceProviderParty1
La situación del inmueble y el impuesto (IVA, IGIC o IPSI) de la clave de régimen (BT-ES-23 y BT-ES-24)La raíz va en minúscula: /in:invoice1

Las siete de la factura tienen una sola corrección posible, y Glosa-e las lee corregidas. Las del mensaje de anulación, no. Tal como está publicado, ese mensaje no pasa el esquema de UBL. Y escribe el nombre del vendedor dentro de una cac:PartyLegalEntity colgada de cac:PartyTaxScheme, que no la admite: sobra uno de los dos, y el texto no dice cuál.

Hay fallos que no son de ruta. La descripción de BT-48, el NIF-IVA del comprador, lo llama NIF del vendedor. La fila BT-3 habla de hasta tres grupos de importes rectificados, y el grupo admite cinco. Los dos anexos tienen una lista L1, y son distintas: la de tipos de factura y la de motivos de rechazo. Y el identificador del proceso (BT-23) no es el que escribió la propia AEAT en el ejemplo que mandó por correo el 2 de octubre: el de la orden lleva ubl: y el del ejemplo no.

Lo que contestó la AEAT

Ocho preguntas, con las erratas menores, se mandaron al buzón técnico de la AEAT el 7 de octubre. Contestó el 13, punto por punto, y dijo que corrige el anexo y que lo publicará en su portal para desarrolladores. Mientras no esté publicado, Glosa-e mide el texto del BOE con lo que contestó por escrito, y donde las dos cosas no casan, lo que dice el BOE sale con un aviso y no con un error. Esto es lo que contestó de lo que toca al anexo:

Lo que se preguntó el 7 de octubre, y lo que contestó el 13
Se preguntóContestóEn Glosa-e
Dónde va la factura anulada en el mensaje de anulaciónSobra cac:Response: va en cac:DocumentResponse, como en el anexo IILa anulación escrita al pie de la letra sale con el error del esquema, que es lo que tiene. Los datos de la factura anulada se buscan en los dos sitios, y la nota de cada anulación dice lo que contestó
Dónde va el nombre del vendedor en la anulaciónEn cac:PartyLegalEntity, como en el anexo IISi va donde lo escribe la orden, se encuentra y sale un aviso
Qué esquema de impuesto lleva el NIF de los mensajes, que ninguna fila da, y si va con EScac:TaxScheme puede ir vacío, y el NIF va sin ESCon ES también se acepta, porque del código único contestó que, si viene, se trata igual
Qué identificador del proceso vale (BT-23)El del ejemplo, sin ubl:, como el resto de camposEl del ejemplo pasa limpio, y el de la orden sale con un aviso. Hasta el 13, el de la orden pasaba limpio y el del ejemplo salía en una nota
Si el calificador de las listas L7, L8 y L10 va delante del valor, porque las filas dan solo el valorSí: el calificador seguido del valor, como en su ejemploUn valor sin su calificador sale con un aviso, que es una regla nueva, SPFE-CALIFICADOR, y se sigue leyendo para medir lo demás
Cómo se forma el código único, que la orden remite a un anexo que no lo diceSon los tres datos por separado: el NIF sin ES, la serie seguida del número sin separador y la fecha en AAAA-MM-DDNada: ya se comparaban así
Qué cuota lleva BT-ES-8 cuando un cargo tiene dos impuestos, que la sintaxis no admiteLo están estudiando, y piden el caso concretoSigue saliendo una nota
Las siete rutas de la factura que tienen una sola correcciónCorregidasNada: ya se leían así
Los grupos de importes rectificados: cinco en la tabla y hasta tres en BT-3Corregido a 0..1. El ejemplo que mandó ese día lleva tres, uno por cada importe de la lista L2.C (base, cuota y cuota del recargo)Se lee como uno por cada importe, que es la lectura en la que casan la fila, la respuesta y el ejemplo: un importe repetido sale con un aviso
La descripción de BT-48, que llama al comprador vendedorCorregidaEl NIF-IVA del comprador sin el prefijo de España salía con un aviso, porque no se sabía si la fila era suya. Ahora sale con un error, como el del vendedor

De la cuota de BT-ES-8 se les mandará el caso que piden, y lo que contesten se dirá aquí.

Lo que mide Glosa-e desde que salió

Cuando salió la orden, Glosa-e medía el borrador de abril, y el 6 de octubre se midió lo que eso suponía: seis de sus reglas daban por mala una factura escrita como manda la orden (el identificador del proceso, el indicador de copia, el NIF, lo pagado por adelantado, las líneas de cobro y las retenciones), y la categoría N, nueva, la tumbaba además la capa europea. Se corrigió al día siguiente. Desde el 11 de octubre, lo que se mide sale de las tablas del XML del BOE y no del PDF del borrador, y desde el 13, con lo que contestó la AEAT. Hoy son tres cosas:

  • La factura de la solución pública, contra el anexo I: 30 reglas propias, las SPFE-, además de las de la norma europea.
  • Los mensajes de anulación y de estado: los nueve, con 6 reglas más.
  • La copia fiel: para una factura Facturae, qué le pasa a cada concepto al copiarlo a la solución pública, en una tabla de 107 filas que nombra los 33 campos españoles. Por qué hace falta, en la entrada del 21 de septiembre.

Y lo que no mide se dice en cada informe. La orden deja a la Sede electrónica de la AEAT las especificaciones técnicas, la volumetría y los servicios web, y eso aquí no se mide. Del código único, la AEAT contestó cómo se forma, pero no cuánto puede medir la serie y número: aquí se toma el tope de VeriFactu, 60 caracteres. Y hay tres campos que son términos de la edición de 2026 de la norma europea: el importe y la descripción de las líneas de cobro (BT-179 y BT-180), que es donde van los suplidos, los otros impuestos, las minoraciones y las retenciones, y el código del motivo de exención de la línea (BT-195). La orden no les da ruta: remite a la vinculación UBL de esa edición, la UNE-CEN/TS 16931-3-2:2026, que aquí no se ha podido leer. Que el informe no saque ninguna queja no quiere decir que la factura cumpla la orden, y lo dice la nota SPFE-ALCANCE en cada factura de la solución pública.