La fase 1 y la fase 2 son problemas distintos
La fase 1 (Generación) pedía una factura electrónica estructurada con un código QR y un conjunto fijo de campos. Bastaba con que el sistema de facturación pudiera producir un documento conforme, y nada salía de su empresa. La fase 2 (Integración) es un trabajo de otra naturaleza: ahora su sistema se comunica con la plataforma de ZATCA por cada factura que emite, y la administración tributaria responde.
Ese único cambio es el que pilla desprevenidos a los equipos. Una implantación de la fase 1 es un formato de documento. Una implantación de la fase 2 es una integración en la que la disponibilidad resulta crítica, con claves criptográficas, certificados que caducan y una dependencia externa que se interpone entre su cajero y la factura impresa.
La autorización previa y la comunicación no son el mismo circuito
Las facturas fiscales estándar, es decir, los documentos entre empresas, pasan por autorización previa (clearance). Usted envía la factura a ZATCA antes de entregarla al comprador, y solo es una factura fiscal jurídicamente válida una vez que ZATCA la ha autorizado y le ha devuelto una copia firmada. Si la autorización falla, todavía no tiene usted una factura.
Las facturas fiscales simplificadas, normalmente los tiques del punto de venta dirigidos al consumidor, pasan por comunicación (reporting). Usted emite y entrega el tique en el acto y después lo comunica a ZATCA, dentro del plazo publicado. El cliente nunca espera a la red.
La consecuencia práctica es que su punto de venta y su facturación B2B necesitan comportamientos distintos ante un fallo. La caja de una tienda debe seguir vendiendo cuando se cae la conexión y conciliar más tarde. Una factura B2B no debe darse por emitida hasta que haya sido autorizada.
Las piezas criptográficas, por orden
La integración es, sobre todo, una secuencia de credenciales. Cada paso depende del anterior, y en cada uno puede atascarse una implantación:
- Un par de claves y una solicitud de firma de certificado (CSR) generados por dispositivo o por unidad de facturación, con los datos de su registro de IVA en los campos exactos que ZATCA espera.
- Un certificado de conformidad, que se obtiene enviando esa CSR junto con una contraseña de un solo uso del portal de ZATCA; es el paso que más falla, porque la OTP caduca enseguida.
- Las pruebas de conformidad: facturas, notas de crédito y notas de débito de muestra de cada tipo que usted prevé emitir, todas aceptadas antes de que se le permita avanzar.
- Un certificado de producción, que es el que firma de verdad los documentos reales, y cuya fecha de caducidad debe tener un responsable mucho antes de que llegue.
Lo que debe contener la propia factura
El documento que usted envía es XML en UBL 2.1, no un PDF. Dentro van las piezas que hacen verificable la factura: un hash criptográfico de la factura anterior, que encadena sus documentos de modo que una factura eliminada o insertada pueda detectarse; una firma digital; y un código QR con el nombre del vendedor, el número de IVA, la marca de tiempo, el total, el importe del IVA y los datos de la firma en una codificación binaria definida.
La salida legible por personas sigue importando, porque los compradores quieren un documento que puedan archivar; por eso la mayoría de las implantaciones generan un PDF/A-3 con el XML firmado incrustado, es decir, un único archivo legible y a la vez verificable por máquina.
Los fallos para los que conviene diseñar
Todo sistema que haya funcionado con esto en producción se ha encontrado con la misma lista corta, y cada punto es una decisión de diseño, no un error que corregir más adelante:
- ZATCA no responde o va lenta. Las facturas simplificadas deberían quedar en cola y comunicarse después; las facturas estándar, de todos modos, no pueden emitirse sin más. Decida de antemano qué ve el cajero.
- Caduca un certificado. La renovación es una tarea operativa programada, no una incidencia: un certificado de producción caducado detiene por completo la facturación.
- Se rechaza una factura por un campo que su ERP admite y ZATCA no: unidades de medida poco habituales, o descuentos y líneas de envío modelados de una forma que la correspondencia con el XML no sabe expresar.
- La cadena de hashes se rompe tras restaurar una copia de seguridad o editar a mano la base de datos, y todas las facturas posteriores heredan el problema.
Qué preguntar a un proveedor
Afirmar el cumplimiento sale barato. Las preguntas útiles son concretas: ¿qué tipos de documento ha conseguido usted que se autoricen y se comuniquen en producción, no en el entorno de pruebas? ¿Qué le ocurre a una venta cuando ZATCA no responde a tiempo? ¿Quién renueva el certificado y qué le avisa? ¿Puedo exportar mi XML firmado y la cadena de hashes si me marcho? Un proveedor que haya operado de verdad la fase 2 tendrá respuestas concretas, porque cada una de estas cuestiones le ha costado un día en algún momento.
Preguntas frecuentes
¿Qué diferencia hay entre la fase 1 y la fase 2 de ZATCA?
La fase 1 (Generación) pedía una factura electrónica estructurada con un código QR y un conjunto fijo de campos, y nada salía de su empresa. La fase 2 (Integración) es un trabajo de otra naturaleza: su sistema se comunica con la plataforma de ZATCA por cada factura que emite, y la administración tributaria responde. La fase 1 es un formato de documento; la fase 2 es una integración en la que la disponibilidad resulta crítica, con claves criptográficas, certificados que caducan y una dependencia externa entre su cajero y la factura impresa.
¿Qué diferencia hay entre la autorización previa y la comunicación en la fase 2?
Las facturas fiscales estándar, los documentos entre empresas, pasan por autorización previa: usted envía la factura a ZATCA antes de entregarla al comprador, y solo es una factura fiscal jurídicamente válida cuando ZATCA la ha autorizado y le ha devuelto una copia firmada. Las facturas fiscales simplificadas, normalmente los tiques del punto de venta, pasan por comunicación: usted emite y entrega el tique en el acto y después lo comunica a ZATCA dentro del plazo publicado. El cliente nunca espera a la red.
¿Qué ocurre en la caja cuando ZATCA no responde o va lenta?
Los dos circuitos necesitan comportamientos distintos ante un fallo, y eso es una decisión de diseño, no un error que corregir más adelante. Las facturas simplificadas deberían quedar en cola y comunicarse después, de modo que la caja de una tienda siga vendiendo cuando se cae la conexión y concilie más tarde. Una factura estándar, de todos modos, no puede emitirse sin más, así que decida de antemano qué ve el cajero.
¿Qué debe contener realmente una factura de la fase 2?
El documento que usted envía es XML en UBL 2.1, no un PDF. Dentro van un hash criptográfico de la factura anterior, que encadena sus documentos para que una factura eliminada o insertada pueda detectarse, una firma digital y un código QR con el nombre del vendedor, el número de IVA, la marca de tiempo, el total, el importe del IVA y los datos de la firma en una codificación binaria definida. Como los compradores siguen queriendo un documento que puedan archivar, la mayoría de las implantaciones generan un PDF/A-3 con el XML firmado incrustado.
¿Qué deberíamos preguntar a un proveedor sobre la integración de la fase 2?
Afirmar el cumplimiento sale barato, así que haga preguntas concretas. ¿Qué tipos de documento ha conseguido que se autoricen y se comuniquen en producción y no en el entorno de pruebas? ¿Qué le ocurre a una venta cuando ZATCA no responde a tiempo? ¿Quién renueva el certificado de producción y qué le avisa antes de que caduque? ¿Puedo exportar mi XML firmado y la cadena de hashes si me marcho?
Esta guía es información general, no asesoramiento fiscal, contable ni jurídico. Las normas varían de un país a otro y cambian con el tiempo; confirme la situación vigente con su autoridad tributaria o con un asesor cualificado antes de actuar.
¿Listo para gestionar su empresa desde un único espacio de trabajo?