VeriFactu Fase 3: Envio a la AEAT
Que es la Fase 3
La Fase 3 de VeriFactu es el envio automatico de los registros de facturacion a la Agencia Tributaria (AEAT) mediante mensajes SOAP/XML. Complementa las fases anteriores (hash SHA-256 y QR) con la transmision efectiva de cada alta y anulacion de factura al sistema SII de la AEAT.
Con esta fase activa, Frihet genera el XML conforme a la Orden HAC/1177/2024, lo firma con tu certificado digital y lo envia directamente a los servidores de la AEAT. Todo ocurre en segundo plano, sin intervencion manual.
Certificado digital
Para enviar registros a la AEAT necesitas un certificado digital vigente. Frihet acepta certificados en formato .pfx o .p12.
Donde obtener un certificado
| Emisor | Tipo | Coste |
|---|---|---|
| FNMT (Fabrica Nacional de Moneda y Timbre) | Persona fisica o juridica | Gratuito |
| CamCert (Camaras de Comercio) | Empresa | Variable |
| ACCV (Comunitat Valenciana) | Regional | Gratuito |
Subir el certificado
- Ve a Ajustes > Cumplimiento
- En la seccion Certificado Digital, haz clic en Subir certificado
- Selecciona tu archivo
.pfxo.p12 - Introduce la contrasena del certificado
La contrasena de tu certificado se cifra con AES-256-GCM antes de almacenarla. En ningun momento se guarda en texto plano.
Sandbox vs Produccion
El toggle Modo sandbox en Ajustes > Cumplimiento permite enviar registros al entorno de pruebas de la AEAT antes de activar el envio real.
- Sandbox: los registros se envian al endpoint de pruebas. La AEAT los valida pero no los registra oficialmente. Util para verificar que el certificado y los datos son correctos.
- Produccion: los registros se envian al endpoint oficial. Las facturas quedan registradas en el sistema SII de la AEAT.
Activa el modo sandbox durante los primeros dias para confirmar que tu certificado funciona correctamente y que los datos se generan sin errores.
Envio automatico
Activacion
- Ve a Ajustes > Cumplimiento
- Activa el toggle Enviar automaticamente a AEAT
Con este toggle activo, cada factura emitida o anulada se envia automaticamente:
Flujo de alta (factura emitida)
- Se calcula el hash SHA-256 de la factura (cadena inmutable)
- Se genera el XML de alta conforme a la especificacion AEAT
- Se firma el XML con tu certificado digital
- Se envia via SOAP al endpoint de la AEAT
- Se almacena la respuesta (CSV asignado o error)
Flujo de anulacion (factura cancelada)
- Se calcula el hash de anulacion con los 5 campos requeridos
- Se genera el XML de anulacion
- Se firma y envia al endpoint de la AEAT
- Se almacena la respuesta y el estado de anulacion
Ambos flujos son fire-and-forget: el usuario puede seguir trabajando mientras el envio se procesa en segundo plano.
Envio manual
Si el envio automatico no esta activo, o si necesitas reenviar una factura especifica:
- Abre la factura en cuestion
- Haz clic en el menu de acciones (tres puntos)
- Selecciona Enviar a AEAT
- Se muestra un dialogo de confirmacion con la preview del hash
- Confirma para iniciar el envio
El envio manual sigue el mismo flujo tecnico que el automatico.
Estados de envio
Cada factura muestra un badge con su estado de envio a la AEAT:
| Estado | Badge | Descripcion |
|---|---|---|
| Pendiente | Outline (sin color) | Hash calculado, envio no iniciado |
| Enviado | Gris | Mensaje SOAP enviado, esperando respuesta de la AEAT |
| Aceptado | Verde | La AEAT ha aceptado el registro y ha asignado un codigo CSV |
| Rechazado | Rojo | La AEAT ha rechazado el registro. Ver detalle del error |
| Error | Rojo | Error tecnico en el envio (red, certificado, timeout) |
Consultar el estado
El estado de envio es visible en:
- La vista de detalle de cada factura (badge junto al numero)
- El listado general de facturas (columna de estado)
- El libro registro ampliado (columnas adicionales)
Reintentos automaticos
Cuando un envio falla por error tecnico (timeout, error de red, servicio AEAT no disponible), Frihet reintenta automaticamente:
- Frecuencia: cada 15 minutos
- Maximo de intentos: 3
- Tras 3 fallos: el estado queda como Error y requiere intervencion manual
Para reintentar manualmente una factura con estado Error:
- Abre la factura
- En el badge de estado rojo, haz clic en Reintentar
- Se ejecuta un nuevo intento de envio
Indicadores en PDF
Las facturas aceptadas por la AEAT incluyen informacion adicional en el PDF generado:
- Badge "Registrada en AEAT" en la cabecera del documento
- Codigo CSV asignado por la AEAT, junto al QR de verificacion
Estos indicadores solo aparecen cuando el estado de envio es Aceptado.
Libro registro ampliado
Con la Fase 3 activa, el libro registro de facturas emitidas incluye 3 columnas adicionales:
| Columna | Descripcion |
|---|---|
| Estado Envio AEAT | Estado del envio del registro de alta (Pendiente, Enviado, Aceptado, Rechazado, Error) |
| CSV AEAT | Codigo seguro de verificacion asignado por la AEAT al aceptar el registro |
| Estado Anulacion AEAT | Estado del envio del registro de anulacion (si aplica) |
Estas columnas se anaden al final del CSV exportado, despues de las 12 columnas estandar.
Solucion de problemas
"Certificado no configurado"
No se ha subido un certificado digital. Ve a Ajustes > Cumplimiento y sube tu archivo .pfx o .p12.
"NIF no configurado"
El perfil fiscal no tiene NIF. Ve a Ajustes > Perfil Fiscal y completa tu identificador fiscal.
Error SOAP / Error de conexion
Posibles causas:
- Certificado expirado: verifica la fecha de validez de tu certificado. Los certificados FNMT tienen una validez de 4 anos.
- Contrasena incorrecta: vuelve a subir el certificado con la contrasena correcta.
- Servicio AEAT no disponible: la AEAT tiene ventanas de mantenimiento. El sistema reintentara automaticamente.
- Datos fiscales incompletos: verifica que tu NIF, direccion fiscal y datos de empresa estan completos.
Un certificado expirado bloquea todos los envios. Renueva tu certificado en la FNMT o CamCert antes de la fecha de vencimiento.
Factura rechazada por la AEAT
La AEAT puede rechazar un registro por:
- NIF del emisor no coincide con el certificado
- Formato de fecha incorrecto
- Tipo de factura no valido para la operacion
Revisa el mensaje de error en el detalle de la factura. Corrige los datos y usa Reintentar para volver a enviar.
Calendario legal
La obligacion de envio a la AEAT tiene plazos escalonados segun el RDL 15/2025:
| Tipo de contribuyente | Fecha limite |
|---|---|
| Sociedades (S.L., S.A.) | 1 de enero de 2027 |
| Autonomos (persona fisica) | 1 de julio de 2027 |
Frihet ya soporta el envio a la AEAT. Se recomienda activar el modo sandbox con antelacion para validar la configuracion antes de que la obligacion entre en vigor.
Relacion con otras fases
- Fase 1 (Hash SHA-256): se calcula automaticamente en cada factura. Es la base del registro. Ver VeriFactu.
- Fase 2 (QR AEAT): el codigo QR en el PDF enlaza a la sede electronica de la AEAT para verificacion.
- Fase 3 (Envio AEAT): esta pagina. Transmision efectiva del registro a la AEAT via SOAP/XML.
Anterior: VeriFactu | Siguiente: Inmutabilidad y registro