Guía de Usuario: VeriFactu para PrestaShop
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 módulo sin riesgo alguno en su tienda. Éste no modificará el funcionamiento habitual de su PrestaShop; 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 PrestaShop.
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 PrestaShop 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 PrestaShop
Instalar el módulo es un proceso estándar de PrestaShop:
- Accede al Back Office de tu tienda.
- Navega al menú Módulos > Catálogo de Módulos.
- Haz clic en el botón "Subir un módulo" en la esquina superior derecha.
- Arrastra el fichero
.zipque acabas de descargar o selecciónalo desde tu ordenador. - El módulo se instalará automáticamente. Una vez finalizado, haz clic en el botón "Configurar" para empezar.
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
- InFoAL Veri*Factu API Token: Este es el campo más importante. Pega aquí tu clave de API. Si aún no la tienes, puedes solicitar una de forma gratuita realizando el registro en nuestra plataforma y accediendo al apartado de "Mis datos de empresa".
- NIF del emisor de las facturas: Introduce el NIF/CIF de tu empresa o autónomo, sin espacios ni guiones (Ej:
B12345678o12345678A). Este dato es obligatorio para la generación del código QR.
4.2. Modo Debug
Activar modo debug: Activa esta opción solo si necesitas un registro detallado de las comunicaciones con la API para solucionar problemas. Esta opción guardará mucha información en los logs de PrestaShop (Parámetros Avanzados > Registros (Logs)), por lo que se recomienda mantenerla desactivada en producción.
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 PrestaShop.
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 un tema que sobrescribe las facturas en PDF de Prestashop, puedes colocar el QR manualmente usando hooks:
Edita el fichero:
/themes/tu-tema/pdf/invoice.tpl
Añade el hook donde quieras que aparezca:
{hook h='displayVerifactuQR' id_order_invoice=$order_invoice->id}
Edita el fichero:
/themes/tu-tema/pdf/order-slip.tpl
Añade el hook donde quieras que aparezca:
{hook h='displayVerifactuCreditSlipQR' id_order_slip=$order_slip->id}
$order_invoice->id, mientras que el hook para abonos usa $order_slip->id. Usar el hook incorrecto no mostrará nada.5.5. Compatibilidad Recargo de Equivalencia
El problema con los recargos de equivalencia es que no existe una funcionalidad nativa de prestashop, dependen de módulos de terceros. Activando esta opción nuestro módulo será compatible con los módulos que guardan la suma de impuestos (IVA + RE) en el campo tax_rate de la tabla order_detail del núcleo de prestashop.
Actualmente solo testeado con el módulo equivalencesurcharge (de Dusnic).
6. Cómo Generar Facturas de Abono (Rectificativas)
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 PrestaShop cuando realizas una devolución.
- Navega al pedido del cliente que deseas abonar (en Pedidos > Pedidos).
- Asegúrate de que el pedido esté en un estado que permita la devolución (ej. "Entregado").
- En la parte superior de la ficha del pedido, haz clic en el botón "Devolver productos".
- En la página de devolución, selecciona los productos y cantidades que deseas abonar.
- ¡Este es el paso clave! Asegúrate de marcar la casilla "Generar una factura de abono".
- Haz clic en el botón "Devolver productos" en la parte inferior.
¿Qué ocurre ahora?
Al hacer clic, PrestaShop crea la factura de abono. En ese mismo instante, el módulo VeriFactu detecta esta creación, prepara el registro de "Factura Rectificativa" y lo envía automáticamente a la API de VeriFactu, incluyendo la firma y el QR correspondiente en el PDF del abono.
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 PrestaShop 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".
Alternativa: Reenviar como No Censado
Si verificas que el NIF del cliente es correcto pero la AEAT indica que no está identificado en el censo (por ejemplo, un NIF español no inscrito en el censo tributario), puedes usar el botón "Reenviar como No Censado".
Este botón reenvía el registro a VeriFactu usando el tipo de identificación 07 – No censado, lo que permite a la AEAT aceptar la factura aunque el identificador del cliente no esté en su base de datos. El número de documento del cliente se conserva en el registro.
Cuándo usarlo: persona física o jurídica española cuyo NIF no aparece en el censo de la AEAT, o cualquier caso en que el NIF sea correcto pero VeriFactu lo rechace por no estar registrado.
Cliente con documento de otro país: si el cliente tiene un DNI/documento extranjero, no uses este botón. Ve a la dirección de facturación del pedido y cambia el país al país de origen del cliente. VeriFactu gestionará su identificación correctamente.
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 PrestaShop:
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 PrestaShop 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 PrestaShop comenzará a enviar registros válidos a la AEAT real.