📤 Cómo Enviar una Factura a VeriFactu
🎯 Objetivo
Aprender a enviar facturas al sistema VeriFactu de la AEAT desde HolaGest, tanto de forma manual como automática, y comprender el proceso de firma, encadenamiento y envío.
📋 Requisitos Previos
Antes de enviar facturas a VeriFactu, asegúrate de tener:
- ✅ VeriFactu configurado correctamente
- ✅ Empresa configurada con certificado digital y contraseña
- ✅ Ejercicio configurado con modo VeriFactu o NO-VeriFactu
- ✅ Factura creada en HolaGest
Guías relacionadas:
🚀 Método 1: Envío Manual de Facturas
Acceso
Ruta: Menú Ventas → Facturas → Abrir factura → Pestaña VeriFactu
Procedimiento Paso a Paso
Paso 1: Abrir la Factura
- Haz clic en el menú Ventas
- Selecciona Facturas
- Busca la factura que deseas enviar
- Haz clic en la factura para abrirla
Paso 2: Acceder a la Pestaña VeriFactu
- En la parte superior de la factura, verás varias pestañas
- Haz clic en la pestaña "VeriFactu" (icono 🔲)
- Se mostrará la interfaz de VeriFactu
Si NO aparece la pestaña VeriFactu:
- Verifica que la empresa cumple todas las validaciones
- Verifica que el ejercicio está configurado
- Recarga la página
Paso 3: Enviar Alta de la Factura
En la pestaña VeriFactu verás dos opciones principales:
Opción A: Enviar Alta
Botón: "Enviar alta"
Descripción: Envía la factura a VeriFactu por primera vez.
Procedimiento:
- Haz clic en el botón "Enviar alta"
- El sistema procesará la factura:
- Genera el hash de la factura
- Firma digitalmente con el certificado
- Encadena con la factura anterior
- Crea el código QR
- Envía a la AEAT (si modo VeriFactu) o almacena localmente (si modo NO-VeriFactu)
- Espera a que el proceso termine (puede tardar unos segundos)
- Verás un mensaje de confirmación
Resultado:
✅ Factura enviada correctamente a VeriFactuOpción B: Marcar como Enviada desde un Tercero
Botón: "Marcar como enviada desde un tercero"
Descripción: Marca la factura como que ya fue enviada a VeriFactu desde otro programa.
Cuándo usar esta opción:
- ✅ Cuando la factura fue importada desde otro programa
- ✅ Cuando la factura ya fue enviada a VeriFactu desde otro sistema
- ✅ Cuando estás migrando desde otro software
Procedimiento:
- Haz clic en el botón "Marcar como enviada desde un tercero"
- El sistema marcará la factura como enviada
- NO se enviará a la AEAT
- NO se generará código QR
- Solo se registra que ya fue enviada
⚠️ IMPORTANTE: Esta opción solo tiene sentido para facturas importadas. No la uses para facturas creadas en HolaGest.
📊 Visualización de Factura Enviada
Una vez enviada la factura, la pestaña VeriFactu mostrará:
Información Visible
1. Código QR
Ubicación: Parte superior de la pestaña VeriFactu
Descripción: Código QR que permite al cliente verificar la factura en la web de la AEAT.
Cómo usar el QR:
- El cliente escanea el QR con su móvil
- Se abre la web de la AEAT
- Se muestra la información de la factura
- El cliente puede verificar que la factura es legítima
Ejemplo de QR:
┌─────────────────┐
│ ▄▄▄▄▄ ▄ ▄▄▄▄▄ │
│ █ █ █ █ █ │
│ █▄▄▄█ █ █▄▄▄█ │
│ ▄▄▄▄▄▄▄▄▄▄▄▄▄ │
│ ▄ ▄▄▄ ▄ ▄▄▄ ▄ │
└─────────────────┘
Código QR de VeriFactu2. Opciones Adicionales
Una vez enviada, aparecen nuevas opciones:
- "Enviar subsanación": Para corregir datos del cliente
- "Enviar anulación": Para anular la factura
- "Marcar como subsanada desde un tercero": Para facturas importadas
- "Marcar como anulada desde un tercero": Para facturas importadas
Guías relacionadas:
3. Registros de la Factura
Ubicación: Parte inferior de la pestaña VeriFactu
Descripción: Lista de todos los registros asociados a la factura.
Tipos de registros:
- Alta: Registro inicial de la factura
- Subsanación: Correcciones de datos del cliente
- Anulación: Anulación de la factura
Información mostrada:
| Campo | Descripción |
|---|---|
| Tipo | Alta, Subsanación o Anulación |
| Fecha | Fecha y hora del registro |
| Estado | Pendiente, Aceptado, AceptadoConErrores, Rechazado |
| Hash | Hash criptográfico del registro |
| Firma | Firma digital del registro |
Ejemplo:
Registros de la Factura:
1. Alta - 15/03/2025 10:30 - Estado: Aceptado
Hash: 3a5f8b2c...
Firma: MIIGfQYJKoZI...
2. Subsanación - 16/03/2025 14:20 - Estado: Aceptado
Hash: 7d9e1a4f...
Firma: MIIGfQYJKoZI...🔄 Método 2: Envío Automático de Facturas
HolaGest permite configurar el envío automático de facturas cuando alcanzan un determinado estado.
Configuración del Envío Automático
Acceso
Ruta: Menú Administrador → Panel de Control → Pestaña Estados
Procedimiento
- Haz clic en el menú Administrador
- Selecciona Panel de Control
- Haz clic en la pestaña "Estados"
- Filtra por tipo "Factura de Cliente"
- Abre el estado que deseas configurar (por ejemplo, "Aprobada")
- Busca la opción "Enviar a VeriFactu"
- Marca el checkbox "Enviar a VeriFactu"
- Haz clic en "Guardar"
Comportamiento del Envío Automático
Una vez configurado:
En Modo VeriFactu (Envío Online)
- Cuando la factura se pone en el estado configurado (por ejemplo, "Aprobada")
- El sistema automáticamente:
- Genera el hash
- Firma digitalmente
- Encadena con la factura anterior
- Crea el código QR
- Envía a la AEAT
En Modo NO-VeriFactu (Firma Local)
- Cuando la factura se pone en el estado configurado
- El sistema automáticamente:
- Genera el hash
- Firma digitalmente
- Encadena con la factura anterior
- Crea el código QR
- Almacena localmente (NO envía a la AEAT)
Ejemplo de Configuración
Escenario: Enviar automáticamente cuando la factura está "Aprobada"
Estado: Aprobada
☑ Enviar a VeriFactu
Resultado:
- Factura creada → Estado: Borrador → NO se envía
- Factura aprobada → Estado: Aprobada → SE ENVÍA automáticamente📋 Filtrado de Facturas Enviadas
Desde el listado de facturas puedes filtrar por estado de envío a VeriFactu.
Acceso
Ruta: Menú Ventas → Facturas
Uso del Filtro
- En el listado de facturas, busca el filtro "Enviada a VeriFactu"
- Selecciona una opción:
- "Sí": Muestra solo facturas enviadas
- "No": Muestra solo facturas NO enviadas
- "Todas": Muestra todas las facturas
Ejemplo:
Filtro: Enviada a VeriFactu = Sí
Resultado:
✅ Factura 2025-001 - Enviada - Estado: Aceptado
✅ Factura 2025-002 - Enviada - Estado: Aceptado
✅ Factura 2025-003 - Enviada - Estado: AceptadoConErrores🔍 Estados de los Registros
Los registros de facturas pueden tener diferentes estados:
Estado: (vacío) - Pendiente de Envío
Significado: El registro está en la cola de envío, esperando a ser procesado por el sistema.
Qué hacer: Esperar a que el sistema procese el registro automáticamente (normalmente unos minutos).
Cómo verificar el procesamiento:
- Menú Administrador → Logs → Pestaña Historial
- Filtrar por canal "verifactu-invoice-send"
Estado: Aceptado
Significado: La AEAT ha aceptado el registro correctamente.
Qué hacer: Nada, todo está correcto. ✅
Estado: AceptadoConErrores
Significado: La AEAT ha aceptado el registro, pero hay advertencias.
Qué hacer:
- Revisar los logs del sistema para ver las advertencias
- Corregir los problemas si es posible
- Enviar una subsanación si es necesario
Ejemplo de advertencia:
Advertencia: El código postal del cliente no coincide con la provinciaEstado: Rechazado
Significado: La AEAT ha rechazado el registro.
Qué hacer:
- Revisar los logs del sistema para ver el motivo del rechazo
- Corregir el problema en la factura
- Volver a enviar el registro
Ejemplo de rechazo:
Error: El NIF del cliente no es válido🔄 Proceso Técnico de Envío
Paso 1: Generación del Hash
El sistema genera un hash criptográfico de la factura:
Hash = SHA-256(Datos de la factura)Datos incluidos en el hash:
- Número de factura
- Fecha de factura
- NIF del cliente
- Importe total
- Líneas de la factura
- Impuestos
Paso 2: Encadenamiento
El hash de la factura actual se encadena con el hash de la factura anterior:
Factura 1: Hash1 = SHA-256(Factura 1)
Factura 2: Hash2 = SHA-256(Factura 2 + Hash1)
Factura 3: Hash3 = SHA-256(Factura 3 + Hash2)Ventaja: Imposible modificar facturas anteriores sin romper la cadena.
Paso 3: Firma Digital
El hash se firma con el certificado digital de la empresa:
Firma = RSA(Hash, Certificado Digital)Ventaja: Garantiza la autenticidad y no repudio.
Paso 4: Generación del Código QR
Se genera un código QR que contiene:
- URL de verificación de la AEAT
- Identificador único de la factura
- Hash de la factura
Ejemplo de URL:
https://www2.agenciatributaria.gob.es/verifactu/verificar?id=ABC123...Paso 5: Envío a la AEAT (Modo VeriFactu)
Si el ejercicio está en modo VeriFactu:
- El sistema envía el registro a la AEAT mediante API REST
- La AEAT valida el registro
- La AEAT devuelve un estado (Aceptado, AceptadoConErrores, Rechazado)
- HolaGest almacena el estado en la base de datos
Paso 5 Alternativo: Almacenamiento Local (Modo NO-VeriFactu)
Si el ejercicio está en modo NO-VeriFactu:
- El sistema NO envía el registro a la AEAT
- El registro se almacena localmente en HolaGest
- Se mantiene disponible para requerimientos de la AEAT
🤖 Envío Automático
El sistema de HolaGest se encarga de enviar automáticamente los registros pendientes.
Funcionamiento del Procesamiento Automático
- El sistema se ejecuta periódicamente de forma automática
- Busca registros con estado "Pendiente" (vacío)
- Procesa los registros en orden:
- Genera hash
- Firma digitalmente
- Encadena con el anterior
- Envía a la AEAT (si modo VeriFactu)
- Actualiza el estado del registro
Verificar el Procesamiento
Ruta: Menú Administrador → Logs → Pestaña Historial
Filtros:
- Canal: "verifactu-invoice-send"
- Canal: "verifactu-invoice-hash-signature"
Información en los logs:
[2025-03-15 10:30:15] verifactu-invoice-hash-signature
Procesando registro de factura 2025-001...
Hash generado: 3a5f8b2c...
Firma generada: MIIGfQYJKoZI...
Registro procesado correctamente.
[2025-03-15 10:30:20] verifactu-invoice-send
Enviando registro de factura 2025-001 a la AEAT...
Respuesta de la AEAT: Aceptado
Registro enviado correctamente.Guía relacionada: Procesamiento Automático de VeriFactu
❓ Solución de Problemas
Problema 1: No aparece la pestaña VeriFactu
Causa: La empresa o el ejercicio no cumplen las validaciones
Solución:
- Verificar las validaciones del sistema
- Corregir los problemas detectados
- Recargar la página de la factura
Problema 2: Error al enviar la factura
Causa: Datos de la factura incorrectos o certificado no válido
Solución:
- Revisar los logs en Menú Administrador → Logs
- Verificar el mensaje de error
- Corregir el problema (por ejemplo, NIF del cliente incorrecto)
- Volver a enviar la factura
Problema 3: La factura queda en estado "Pendiente"
Causa: El procesamiento automático no está funcionando
Solución:
- Verificar que el procesamiento automático está funcionando
- Revisar los logs del sistema en Menú Administrador → Logs
- Verificar que el procesamiento automático funciona correctamente
- Consultar la guía Procesamiento Automático de VeriFactu
Problema 4: Estado "AceptadoConErrores"
Causa: La AEAT ha detectado advertencias en la factura
Solución:
- Revisar los logs del sistema para ver las advertencias
- Corregir los datos del cliente si es necesario
- Enviar una subsanación si es necesario
- Consultar la guía Cómo Subsanar una Factura
Problema 5: Estado "Rechazado"
Causa: La AEAT ha rechazado la factura por errores graves
Solución:
- Revisar los logs del sistema para ver el motivo del rechazo
- Corregir el problema en la factura (por ejemplo, NIF inválido)
- Anular la factura rechazada
- Crear una nueva factura con los datos correctos
- Enviar la nueva factura
📊 Mejores Prácticas
✅ Recomendaciones
- Usar modo depuración inicialmente para hacer pruebas
- Configurar envío automático para agilizar el proceso
- Revisar logs regularmente para detectar problemas
- Verificar el procesamiento del sistema regularmente
- Mantener el certificado actualizado (renovar antes de caducar)
- Informar a los clientes sobre el código QR en las facturas
❌ Errores a Evitar
- ❌ Enviar facturas sin verificar los datos del cliente
- ❌ No verificar que el sistema automático funciona correctamente
- ❌ Ignorar los estados "AceptadoConErrores" o "Rechazado"
- ❌ Modificar facturas después de enviarlas (usar subsanación o anulación)
- ❌ No revisar los logs del sistema
📚 Guías Relacionadas
- Cómo Configurar VeriFactu - Configuración inicial
- Cómo Subsanar una Factura - Corrección de datos
- Cómo Anular una Factura - Anulación de facturas
- Procesamiento Automático de VeriFactu - Funcionamiento del sistema automático
- Cómo Ver Informe de Registros - Consultas y reportes
🎯 Próximos Pasos
Una vez que hayas enviado tus primeras facturas:
- Verificar el estado de los registros en la pestaña VeriFactu
- Revisar los logs del sistema para asegurarte de que todo funciona
- Aprender a subsanar facturas si es necesario
- Verificar el procesamiento automático regularmente
¡Ya sabes cómo enviar facturas a VeriFactu! Ahora puedes cumplir con las obligaciones normativas de forma automática. 🎉