Cómo conviven VeriFactu y Facturae en el mismo sistema
Si tienes que cumplir las dos, el orden en que haces las cosas importa. Hacerlo al revés obliga a rehacer.
El orden correcto
- Se emite la factura en tu sistema (número, fecha, líneas, impuestos).
- Se genera el registro VeriFactu: huella encadenada y QR.
- Se compone el documento (PDF, Facturae o los dos) ya con el QR impreso.
- Se entrega al cliente por el canal que corresponda.
- Se remite el registro a la AEAT (en paralelo, no bloquea la entrega).
El QR no va dentro del XML de Facturae
Es una pregunta recurrente. El QR de VeriFactu es un elemento de la representación visual de la factura: va en el PDF, en el ticket, en lo que ve una persona.
El XML de Facturae es un formato estructurado para que lo procese una máquina. No lleva el QR como tal. Si adjuntas una representación gráfica dentro del envío, ahí sí aparecerá el código — pero como parte de la imagen, no como campo.
La numeración es una sola
No hay «número VeriFactu» y «número Facturae». Es el mismo número de factura, y tiene que ser idéntico en los tres sitios: en tu base de datos, en el registro remitido a la AEAT y en el documento entregado al cliente.
Suena obvio hasta que alguien mete un prefijo distinto en el módulo de Facturae.
Rectificar afecta a los dos mundos
Una rectificativa genera:
- Un nuevo registro VeriFactu con tipo R1…R5, encadenado como cualquier otro.
- Un nuevo documento Facturae que referencia a la factura original.
Y nunca una modificación de lo anterior. Ni en un sitio ni en el otro.
Qué pasa si la AEAT tarda
La entrega al cliente no debe depender de que la AEAT haya respondido. Si el servicio está lento o caído, tu cliente tiene derecho a su factura igual.
El diseño correcto: emites, registras localmente, entregas, y la remisión va por su cola con sus reintentos. El registro ya existe y está encadenado desde el momento en que se emitió — lo que queda pendiente es solo el acuse de Hacienda.
Un solo sitio para la verdad
Si acabas con la numeración en un módulo, la huella en otro y el XML de Facturae en un tercero, tarde o temprano se desincronizan. Merece la pena que un único componente sea el dueño del acto de emitir, y que los demás lean de ahí.