Guía de Usuario: VeriFactu para WooCommerce
Todo lo que necesitas para instalar, configurar y sacar el máximo partido a la integración de tu tienda con el sistema Veri*Factu.
¡Nota importante!
La configuración inicial de la API se realiza en modo de pruebas (sandbox). Puede instalar el plugin sin riesgo alguno en su tienda. Éste no modificará el funcionamiento habitual de su WooCommerce; simplemente enviará una copia del registro de facturación al entorno de pruebas de la AEAT y añadirá el código QR a los PDFs de sus facturas.
Tenga en cuenta que el entorno de pruebas es idéntico a todos los efectos al entorno real de la AEAT. Por lo tanto, configurando y operando su tienda en este modo se garantiza que el sistema funcionará exactamente igual en producción. En el momento en que desee realizar el paso a entorno real, bastará con solicitar el cambio de modo de la API y todo seguirá funcionando correctamente sin realizar más configuraciones en su tienda.
Fase 1: Entorno de Pruebas
GRATISRegistro
Crea tu cuenta en la plataforma.
Datos Fiscales
Completa tus datos y activa la API en modo pruebas.
Configuración
Introduce tu API Key en WooCommerce.
Fase 2: Pase a Entorno Real
Autorización
Firma el contrato y otorgamiento.
Suscripción
Contrata el plan adecuado.
Activación
Solicita el paso a real.
1. Introducción al Módulo
El módulo VeriFactu conecta tu tienda WooCommerce directamente con el sistema de facturación verificable Veri*Factu, automatizando el envío de los registros de cada factura y factura de abono que generes. Cumple con la normativa vigente de forma sencilla, sin necesidad de certificados digitales y con un control total desde el panel de tu tienda.
- Envío automático de facturas y abonos en el momento de su creación.
- Inclusión del código QR oficial en los documentos PDF para tus clientes.
- Panel de gestión para consultar el estado de cada envío.
- Herramientas para gestionar errores y reenviar registros.
- Compatible con multitienda.
2. Descarga del Módulo
Para empezar, necesitas descargar la última versión del módulo.
- Accede a nuestro repositorio oficial en GitHub para obtener siempre la versión más reciente y segura.
- Haz clic en el enlace para descargar el fichero
.zipdel módulo.
3. Instalación en WooCommerce
Instalar el módulo es un proceso estándar de WooCommerce:
- Accede al panel de administración de WordPress.
- Navega al menú Plugins > Añadir nuevo plugin.
- Haz clic en el botón "Subir plugin" en la parte superior.
- Selecciona el fichero
.zipque acabas de descargar y pulsa "Instalar ahora". - Una vez instalado, haz clic en "Activar plugin". Tras esto, verás un nuevo menú llamado VeriFactu en la barra lateral, justo debajo de WooCommerce.
4. Configuración Inicial
Una vez instalado, es fundamental configurar el módulo con tus datos para que pueda conectarse a la API. En el menú de la izquierda, verás una nueva sección llamada VeriFactu. Al hacer clic, accederás a la configuración.
La configuración se divide en varias secciones:
4.1. Credenciales de la API y Generador de PDF
- API Token: Introduce el token de la API de InFoAL para activar el servicio de comunicación con la AEAT. Puedes validarlo con el botón "Validar token". Si aún no tienes uno, solicítalo en nuestra plataforma.
- NIF Emisor: Introduce el NIF/CIF de tu empresa o autónomo, sin espacios ni guiones (Ej:
B12345678). - Motor de facturación (PDF): Selecciona el módulo generador de facturas del que tomaremos el número de factura y al que inyectaremos el Código QR (por ejemplo, PDF Invoices & Packing Slips for WooCommerce).
4.2. Modo Debug y Mantenimiento
Modo Debug: Activa esta opción solo si necesitas guardar logs detallados de las peticiones a la API para solucionar problemas. No se recomienda en producción.
Mantenimiento: Incluye un botón para "Verificar y Reparar Base de Datos", que comprueba que las tablas del plugin existan y tengan la estructura correcta.
5. Configuración Avanzada
Además de las credenciales básicas, el módulo te permite ajustar su comportamiento para adaptarse a regímenes fiscales específicos y personalizar la apariencia de tus facturas.
5.1. Operación desde Canarias, Ceuta o Melilla
Esta es una configuración crítica si tu NIF emisor está domiciliado en estos territorios especiales.
¿Su tienda opera desde Canarias, Ceuta o Melilla?: Al activar esta opción, el módulo adaptará su lógica fiscal. Desactivará el tratamiento de Ventanilla Única (OSS) y B2B Intracomunitario, y tratará las ventas a la Península, Baleares y resto de la UE como las exportaciones correspondientes.
5.2. Configuración de Impuestos Especiales
Si tu tienda opera desde Canarias, Ceuta o Melilla, debes especificar qué impuestos corresponden al IGIC o al IPSI.
- Impuestos de tipo IGIC: Selecciona de la lista todos los impuestos que hayas configurado en tu tienda como IGIC.
- Impuestos de tipo IPSI: Selecciona de la lista todos los impuestos correspondientes al IPSI.
Si no trabajas con estos regímenes especiales, puedes dejar estos campos en blanco.
5.3. Gestión de Ventanilla Única (OSS)
Esta opción es exclusivamente para empresas que estén dadas de alta en el régimen de Ventanilla Única (One-Stop Shop) para gestionar el IVA de ventas B2C a otros países de la Unión Europea.
- ¿Gestión de Ventanilla Única (OSS)?: Actívalo solo si estás registrado en este régimen. El módulo identificará estas ventas y las marcará adecuadamente para VeriFactu.
- Atención: Esta opción no debe activarse si tienes marcada la opción de "Canarias, Ceuta o Melilla", ya que son regímenes mutuamente excluyentes.
Guía Rápida de Reglas Fiscales
Nuestro módulo intenta clasificar cada operación de facturación (facturas y abonos) según la normativa fiscal, basándose en la dirección y los datos fiscales del cliente.
Venta de productos o servicios a clientes particulares (B2C) dentro de la UE, pero fuera de España.
Cómo lo detecta el módulo: La dirección del cliente es de un país de la UE y el campo vat_number de su dirección esté VACÍO.
Ventas a empresas (B2B) ubicadas en otro país de la Unión Europea.
Cómo lo detecta el módulo: La dirección del cliente es de un país de la UE y el campo vat_number NO está vacío.
Cualquier venta destinada a un país fuera de la Unión Europea se considera una exportación.
Cómo lo detecta el módulo: La dirección del cliente pertenece a un país no comunitario. No importa si vat_number está relleno o vacío.
Si su empresa está ubicada en Canarias, Ceuta o Melilla, su régimen fiscal es diferente.
Cómo lo detecta el módulo: Cuando el NIF emisor pertenece a estas zonas, clasifica como "Exportación" ventas fuera de su territorio.
vat_number) estén bien introducidos en WooCommerce.
5.4. Parámetros de Configuración del QR
Puedes controlar cómo y dónde aparece el QR en tus facturas PDF generadas automáticamente.
- Ancho y Alto del QR: Define el tamaño en píxeles. El valor por defecto es 60 (para 60x60 px).
- Texto junto al QR: Permite personalizar el texto (solo si se usa la posición por defecto). Valor predeterminado: "Factura verificable en la sede electrónica de la AEAT".
Posicionamiento Manual del QR en Plantillas Personalizadas
Si utilizas una plantilla personalizada en PDF Invoices & Packing Slips for WooCommerce y has activado la opción "Ocultar código QR de la factura" para posicionarlo tú mismo, puedes colocar el QR manualmente insertando el siguiente código PHP en la plantilla de tu PDF (ej. invoice.php):
<?php
if ( function_exists( 'verifactu_get_qr_html' ) ) {
echo verifactu_get_qr_html( $this->order );
}
?>
5.5. Compatibilidad Recargo de Equivalencia
El soporte para recargo de equivalencia no es nativo en WooCommerce y suele depender de plugins de terceros. Activando esta opción, el módulo calculará el recargo a partir de las tasas totales (IVA + RE) aplicadas en el pedido de WooCommerce.
6. Cómo Generar Facturas de Abono (Reembolsos)
El módulo VeriFactu no solo envía tus facturas (altas), sino que también gestiona automáticamente las facturas de abono (rectificativas). El proceso se inicia desde la gestión de pedidos de WooCommerce cuando realizas un reembolso.
- Navega al pedido del cliente que deseas reembolsar (en WooCommerce > Pedidos).
- Haz clic en el pedido para editarlo.
- En la caja inferior de "Artículos", haz clic en el botón "Reembolso".
- Especifica las cantidades a reembolsar de cada producto (se calculará el total automáticamente).
- Haz clic en el botón "Reembolsar manualmente" o mediante pasarela si está disponible.
¿Qué ocurre ahora?
Al confirmar el reembolso, WooCommerce genera el documento de abono (si utilizas PDF Invoices & Packing Slips). En ese mismo instante, el módulo VeriFactu detecta este reembolso, prepara el registro de "Factura Rectificativa" y lo envía automáticamente a la API de VeriFactu.
7. Funcionamiento del Módulo
Una vez configurado, el módulo trabaja de forma mayoritariamente automática.
7.1. Envío Automático de Registros
- Al generar una factura: Cuando un pedido cambia a un estado que genera una factura (por ejemplo, "Pago aceptado"), el módulo recopila los datos y envía el registro de alta a VeriFactu de forma automática.
- Al generar un abono: Cuando realizas una devolución y generas una factura de abono, el módulo envía automáticamente el registro de factura rectificativa.
7.2. Gestión desde la Ficha del Pedido
Dentro de la ficha de un pedido que ya tiene una factura, verás un nuevo panel lateral de VeriFactu. Desde aquí puedes:
Consultar estado
Verás si el registro fue enviado, si está pendiente o si ha sido aceptado.
Ver el QR
Si el registro fue aceptado, se mostrará el código QR asociado.
Reenviar registro
Si hubo un error, puedes reenviar el registro manualmente.
Comprobar DNI
Verificar DNI/NIF del cliente contra el censo de la AEAT en caso de error.
7.3. Integración en los PDF
Toda factura y factura de abono generada por WooCommerce incluirá automáticamente el código QR oficial de VeriFactu en la parte inferior, listo para ser escaneado por tus clientes o por la Agencia Tributaria.
8. Paneles de Gestión del Módulo
El módulo incluye tres listados para que tengas un control total sobre tus registros.
8.1. Facturas de Venta y Facturas de Abono
Estos dos listados te ofrecen una vista rápida del estado de sincronización de todas tus facturas y abonos.
- Estado Sinc.: Muestra el estado interno del envío (pendiente o sincronizado).
- Estado VeriFactu: Muestra la respuesta final de la AEAT.
- Acciones: Te permite ir al pedido o ver el QR si ya ha sido generado.
8.2. Registros de Facturación
Este es el listado más detallado. Contiene cada uno de los envíos realizados a la API de VeriFactu, incluyendo altas, anulaciones y rectificativas.
- Ver detalle : Información enviada y recibida de la API.
- Ir al pedido : Lleva a la ficha del pedido para corregir datos.
- Ver QR: Acceso directo al QR validado.
8.3. Entendiendo los Estados
A. Estado de Sincronización (Interno)
El módulo ha enviado el registro a la API y está esperando la respuesta final de la AEAT (suele tardar unos segundos).
El módulo ya ha recibido y guardado la respuesta final de la AEAT para este registro.
B. Estado del Registro en VeriFactu (Oficial AEAT)
- Correcto El registro ha sido aceptado sin ningún problema.
- AceptadoConErrores Registro válido y aceptado, pero con advertencias no críticas.
- Incorrecto Rechazado por error. La columna "Detalle" indicará la causa.
- Anulado Indica que este registro de alta ha sido anulado posteriormente.
9. Soporte y Ayuda
Si encuentras algún problema o tienes alguna duda, estamos aquí para ayudarte:
10. Solución de Errores Comunes
A continuación, se detallan los errores más frecuentes que pueden ocurrir durante el envío de registros a VeriFactu y cómo solucionarlos de forma sencilla.
Causa: El NIF/CIF introducido para el cliente no es válido o no coincide con el registrado en la AEAT.
Solución:
- Contacta con tu cliente para verificar y obtener su DNI/NIF correcto.
- Ve al pedido, edita la dirección de facturación y corrige el campo "DNI".
- Utiliza el botón "Comprobar DNI" en el panel de VeriFactu.
- Haz clic en "Reenviar registro de facturación".
Nota: Si el DNI es de otro país, asegúrate de que el país de la dirección esté correctamente asignado.
"El valor del campo TipoImpositivo no está incluido en la lista..."
Causa: Un impuesto aplicado en la factura no corresponde con los valores esperados por la AEAT (ej. porcentaje mal configurado o falta configuración de IGIC/IPSI).
Solución:
- Verificar los porcentajes de impuestos en el pedido.
- Revisar configuración en WooCommerce:
Internacional > Impuestos. - Si usas IGIC/IPSI, configurar la sección de "Impuestos Especiales" en el módulo.
- Reenviar el registro.
"Codigo[4102]... Falta informar campo obligatorio: NombreRazon"
Causa: Los datos de tu empresa (Razón Social o NIF) no están correctamente configurados en el sistema de VeriFactu central.
Solución:
Por motivos de seguridad, los datos fiscales del emisor no se pueden modificar desde el módulo. Ponte en contacto con el soporte de Infoal mediante ticket para proporcionar la Razón Social y NIF correctos para que actualicemos tu perfil de empresa.
"Codigo[4112]. El titular del certificado debe ser Obligado Emisión..."
Causa: Error temporal y conocido en el entorno de pruebas (Sandbox) de la AEAT por inestabilidad en la validación de certificados de Colaborador Social.
Solución:
El sistema de la AEAT lo suele aceptar tras unos intentos. Espera unos segundos/minutos y pulsa "Reenviar registro de facturación". Si el error persiste durante el fin de semana, inténtalo más tarde. Esto no ocurre en el entorno de producción.
Este mensaje no es un error. Indica que el registro ya fue enviado y aceptado previamente por la AEAT. No es necesario realizar ninguna acción.
11. Gestión de Incidencias y Caídas del Servicio
Una de las mayores preocupaciones es la estabilidad del servicio. Nuestro módulo y nuestra API están diseñados para gestionar cualquier interrupción de forma automática y transparente.
¿Caída en la AEAT?
Absolutamente nada. En caso de que los servidores de la Agencia Tributaria no estén disponibles, nuestra API gestiona automáticamente los reintentos de envío de forma regular hasta que el servicio se restablece.
¿Caída en la API Infoal?
Tampoco hay pérdida de datos. Si nuestra API estuviera temporalmente fuera de línea, su WooCommerce marcará los registros como "API Error" y los pondrá en espera para enviarlos automáticamente una vez el servicio vuelva.
Nota sobre el Entorno de Pruebas (Sandbox)
El entorno de pruebas de la AEAT es propenso a inestabilidad y caídas. Errores como el 4112 son síntomas de esta inestabilidad y no un problema de configuración. Le pedimos paciencia en este entorno no productivo.
12. Paso a Entorno Real
Una vez completadas las pruebas en el entorno "Sandbox", deberá formalizar su suscripción para enviar registros reales a la AEAT.
Seleccionar el Plan de Suscripción
Acceda a su panel de "Mi Empresa" y seleccione el plan (Mensual o Anual) que se adapte a su volumen.
Realizar el Pago
Recibirá por correo electrónico las instrucciones y el enlace para abonar la primera cuota en el panel de cliente.
Documentación Legal (Obligatorio)
Es imprescindible que nos otorgue representación ante la AEAT como Colaborador Social firmando digitalmente:
- Modelo de Otorgamiento de Representación de la AEAT.
- Contrato de Prestación de Servicios.
Suba ambos documentos firmados en los apartados habilitados en "Mi Empresa".
Activación Final
Cuando el pago y los documentos estén verificados, el botón "Pasar a Entorno Real" se activará. Al pulsarlo, su módulo WooCommerce comenzará a enviar registros válidos a la AEAT real.