Caso real: VeriFactu en un SaaS de alquiler de vehículos
Facturación con IGIC en Canarias, rectificativas frecuentes y picos de concurrencia. Es el producto donde se descubrieron dos de los tres fallos que no se pueden deshacer.
¿Qué falla al integrar VeriFactu en un software de alquiler de vehículos?
Los tres fallos que costaron más caro fueron el formato de los importes (recortar los ceros finales produce una huella que la AEAT recalcula distinta), ignorar el control de flujo bajo carga y permitir que dos facturas simultáneas del mismo emisor se encadenen al mismo registro anterior.
Los dos primeros se detectan tarde porque no dan un error claro: el registro queda «aceptado con errores» factura a factura. Y la huella es irreversible.
| Producto | SaaS de gestión para empresas de alquiler de vehículos. |
| Territorio | Canarias, con IGIC. |
| Volumen | Facturación diaria, con picos en entrega y devolución de vehículos. |
| Reto | Contratos que se convierten en facturas, con rectificativas frecuentes por cargos posteriores (combustible, daños, demoras). |
El flujo real: contrato → factura en car-rent.es → registro en verifactu.co → remisión a la AEAT → QR y CSV de vuelta a la factura del cliente.
El formato de los importes
El código recortaba los ceros finales: un importe de 12,00 € viajaba en la huella como «12» y en el XML como «12.00». La AEAT recalcula la huella desde el XML, no le cuadraba y marcaba el registro como «aceptado con errores». Factura a factura, sin ninguna alarma. Cuando se detectó, el histórico ya estaba remitido: la huella es irreversible.
El control de flujo bajo carga
En hora punta, con varias entregas simultáneas, los envíos ignoraban el TiempoEsperaEnvio que devuelve la AEAT. El resultado no fue un error claro: fue quedarse sin servicio justo cuando más facturas había.
Y la concurrencia sobre la misma cadena
Dos facturas simultáneas del mismo emisor podían leer el mismo registro anterior y encadenarse las dos a él. La AEAT las acepta sin protestar. Es el fallo que obligó a serializar por emisor y la razón de que la remisión sea asíncrona.
Un solo motor, con sus tests
El formato de importes, la fecha y la marca de tiempo viven en un núcleo único, contrastado contra los tres ejemplos oficiales de la AEAT y con tests de regresión para cada uno de los fallos anteriores.
IGIC de primera clase
No como parche: los tipos, el desglose y la casuística del tipo cero están soportados desde el diseño. Cómo funciona el IGIC.
Rectificativas encadenadas
Los cargos posteriores generan R1 que entran en la misma cadena, con su referencia a la factura rectificada.
Y un verificador de divergencia
El núcleo se copia en cada producto. Si alguien edita una copia «solo un momento», CI lo detecta en el acto. Es literalmente cómo empezó la divergencia que costó los dos bugs irreversibles.
Última revisión normativa: Especificaciones de huella AEAT v0.1.2 Revisado por el equipo técnico de verifactu.co