Saltar al contenido principal

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

EmisorTipoCoste
FNMT (Fabrica Nacional de Moneda y Timbre)Persona fisica o juridicaGratuito
CamCert (Camaras de Comercio)EmpresaVariable
ACCV (Comunitat Valenciana)RegionalGratuito

Subir el certificado

  1. Ve a Ajustes > Cumplimiento
  2. En la seccion Certificado Digital, haz clic en Subir certificado
  3. Selecciona tu archivo .pfx o .p12
  4. Introduce la contrasena del certificado
Cifrado de la contrasena

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.
tip

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

  1. Ve a Ajustes > Cumplimiento
  2. Activa el toggle Enviar automaticamente a AEAT

Con este toggle activo, cada factura emitida o anulada se envia automaticamente:

Flujo de alta (factura emitida)

  1. Se calcula el hash SHA-256 de la factura (cadena inmutable)
  2. Se genera el XML de alta conforme a la especificacion AEAT
  3. Se firma el XML con tu certificado digital
  4. Se envia via SOAP al endpoint de la AEAT
  5. Se almacena la respuesta (CSV asignado o error)

Flujo de anulacion (factura cancelada)

  1. Se calcula el hash de anulacion con los 5 campos requeridos
  2. Se genera el XML de anulacion
  3. Se firma y envia al endpoint de la AEAT
  4. 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:

  1. Abre la factura en cuestion
  2. Haz clic en el menu de acciones (tres puntos)
  3. Selecciona Enviar a AEAT
  4. Se muestra un dialogo de confirmacion con la preview del hash
  5. 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:

EstadoBadgeDescripcion
PendienteOutline (sin color)Hash calculado, envio no iniciado
EnviadoGrisMensaje SOAP enviado, esperando respuesta de la AEAT
AceptadoVerdeLa AEAT ha aceptado el registro y ha asignado un codigo CSV
RechazadoRojoLa AEAT ha rechazado el registro. Ver detalle del error
ErrorRojoError 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:

  1. Abre la factura
  2. En el badge de estado rojo, haz clic en Reintentar
  3. 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:

ColumnaDescripcion
Estado Envio AEATEstado del envio del registro de alta (Pendiente, Enviado, Aceptado, Rechazado, Error)
CSV AEATCodigo seguro de verificacion asignado por la AEAT al aceptar el registro
Estado Anulacion AEATEstado 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.
Certificado expirado

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.

La obligacion de envio a la AEAT tiene plazos escalonados segun el RDL 15/2025:

Tipo de contribuyenteFecha limite
Sociedades (S.L., S.A.)1 de enero de 2027
Autonomos (persona fisica)1 de julio de 2027
info

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