Guía

Cómo implementar VeriFactu en PrestaShop, paso a paso

Implementar VeriFactu en PrestaShop no consiste en subir un módulo y esperar que todo cuadre: consiste en decidir tres cosas antes de tocar el back-office y dejar que después el sistema trabaje solo. Esta guía recorre el proceso completo, desde los requisitos previos hasta qué pasa el día que tu servidor se queda sin conexión.

Recuerda el marco temporal: VeriFactu es obligatorio desde el 01/01/2027 para los contribuyentes del Impuesto sobre Sociedades y desde el 01/07/2027 para el resto de obligados, según la información oficial de la Agencia Tributaria. Si aún no tienes claro el marco general —qué registro genera cada evento, qué límites tiene la factura simplificada o qué cambia en tu día a día—, empieza por la guía de VeriFactu para tiendas online y vuelve aquí.

Qué necesitas antes de empezar

Tres cosas, y ninguna exige conocimientos técnicos avanzados.

Una tienda PrestaShop con acceso de administrador al back-office. Necesitas poder instalar un módulo desde el gestor de módulos y guardar su configuración. El módulo funciona a partir de PrestaShop 1.7 y está probado con las ramas 1.7, 8 y 9; el detalle está más abajo, en la pregunta de versiones.

Tus datos fiscales completos y correctos. Nombre o razón social, NIF y domicilio del emisor tal y como constan ante la Agencia Tributaria. Suena obvio, pero es la causa más frecuente de rechazos evitables en las primeras facturas.

El certificado electrónico o el apoderamiento correspondiente. Los registros se remiten a la Agencia Tributaria en nombre del obligado tributario, así que hace falta resolver esa parte antes de empezar a emitir. Es uno de los puntos que se revisan contigo en el alta, junto con la serie y la fecha desde la que empiezas a facturar.

También conviene tener una tarea cron en tu servidor. El módulo incluye un punto de sincronización periódica protegido por un token propio, que puedes consultar y regenerar desde su pantalla de configuración: es lo que mantiene al día los envíos pendientes aunque nadie entre en el back-office.

Qué tienes que decidir antes de instalar nada

Tres decisiones. Tomarlas antes evita rehacer trabajo después, porque afectan a la numeración y la numeración no se reescribe.

La serie de facturación. Si ya facturas con otro programa —un TPV en tienda física, tu gestoría, un ERP—, tu tienda online necesita una serie propia y distinta. No es una recomendación estética: si dos sistemas emiten la misma combinación de serie y número bajo el mismo NIF, la Agencia Tributaria lo rechaza como duplicado. Reparte las series de una vez, por ejemplo TPV para la tienda física y PRE para la tienda PrestaShop, y acuerda quién crea las series nuevas en el futuro.

Qué estado de pedido genera factura. En PrestaShop los pedidos pasan por estados —pago aceptado, preparación en curso, enviado, entregado— y puedes facturar en el que tú decidas, incluidos los estados personalizados que hayas creado. No hay una respuesta universal: depende de cuándo consideras cerrada la operación. Lo importante es que lo decidas tú y que también decidas qué estados cancelan y cuáles generan abono.

Factura completa o simplificada. Si tu tienda vende a consumidores finales, es tentador emitirlo todo como simplificada, y por importe casi siempre cabe. El artículo 4.1 del Real Decreto 1619/2012 fija el límite general en 400 euros, pero el 4.2.a) lo sube a 3.000 para las ventas al por menor a consumidor final, que es donde encaja una tienda B2C. Lo que suele dejar fuera a la simplificada no es el importe: es que el comprador sea empresa, autónomo, persona jurídica no empresaria o Administración, o que la venta salga de España. Si vendes a otros países de la UE, ese es el caso que hay que mirar con tu asesoría.

Cómo se instala el módulo, paso a paso

Todo ocurre en el back-office de PrestaShop, sin tocar código ni ficheros por FTP.

  1. Descarga el módulo desde tu panel de Factulit. El módulo de PrestaShop se descarga desde el panel, en la ficha de tu conexión. Es un archivo ZIP.
  2. Instálalo desde el gestor de módulos. En el back-office, ve al gestor de módulos, sube el ZIP e instálalo como cualquier otro módulo. No sustituye a la gestión de pedidos de PrestaShop ni cambia tu proceso de compra: se limita a sincronizar.
  3. Pega tu clave de API. En la pantalla de configuración del módulo hay un campo para la clave de API que te facilitamos al dar de alta la conexión. Esa pantalla es deliberadamente corta: guarda la clave y gestiona la tarea cron, nada más. Toda la configuración fiscal vive en el panel de Factulit, para que el criterio no dependa de lo que cada tienda tenga guardado en local.
  4. Comprueba la conexión. El módulo valida las credenciales con una comprobación que no modifica nada en tu tienda ni en tu cuenta. Si la clave es incorrecta, te lo dice ahí mismo, antes de que empieces a emitir. El resultado y la fecha de la última comprobación quedan visibles para que sepas si la conexión está verificada.
  5. Lanza la primera sincronización. Con la sincronización manual se envía el catálogo de estados de tu tienda y los pedidos pendientes. A partir de ese momento, los hooks de PrestaShop y la tarea cron mantienen la sincronización al día por su cuenta.

Queda un paso que no ocurre en PrestaShop, sino en el panel de Factulit: clasificar los estados. Hasta que no digas qué estado factura, cuál cancela y cuál abona, no se emite nada. Es deliberado: preferimos que una tienda recién conectada no facture a que facture con el criterio equivocado.

Qué se sincroniza exactamente

Tres cosas viajan de tu tienda a Factulit, y ninguna incluye decisiones fiscales.

Pedidos, con desglose por línea y los descuentos bien repartidos. Fecha, referencia, moneda, idioma, totales e impuestos, y cada línea con su base, su tipo y su cuota. Los cupones y descuentos de carrito merecen mención aparte: PrestaShop los guarda como un importe global del pedido, y un importe global no dice a qué tipo de IVA afecta. El módulo los reparte entre las líneas en dos niveles —primero entre los grupos de líneas de cada tipo de IVA, en proporción a su base, y después entre las líneas de cada grupo—, de forma que cada línea viaja con su base ya neta de descuento y la suma cuadra exactamente con el total pagado. El pedido incluye además un total de comprobación para que el servidor valide ese cuadre. También viaja el recargo de equivalencia cuando la tienda lo configura como impuesto separado, distinguido del IVA, no mezclado con él.

Clientes, con validación local del identificador fiscal. El módulo comprueba el NIF, NIE o CIF que tu tienda ya recoge en la dirección de facturación, con el mismo algoritmo que usa el servidor, y clasifica la operación como B2B o B2C. Conviene decirlo con precisión: validamos el identificador que tu tienda recoge; no añadimos un campo nuevo a tu checkout ni cambiamos tu proceso de compra.

El catálogo de estados de pedido, en crudo. Se envía tal cual, sin interpretar. Los estados nuevos o renombrados llegan solos al panel y aparecen sin clasificar hasta que los clasificas tú.

La regla que gobierna todo lo anterior: el módulo envía hechos, la decisión fiscal la toma el servidor. El módulo no marca estados como finales, no decide si una venta es factura, anulación o abono, y no calcula claves fiscales de línea. Esa clasificación se hace en el panel y la decisión final es del núcleo. Es lo que evita que dos tiendas con la misma configuración acaben facturando cosas distintas.

Cómo se factura una devolución

Cuando registras una devolución en PrestaShop y la tienda genera su vale de abono —el documento que PrestaShop crea al reembolsar, total o parcialmente—, el módulo envía ese reembolso con su detalle completo: identificador, fecha, importe, impuestos, gastos de envío devueltos y las líneas concretas que se han devuelto, cada una con su producto, cantidad, base y cuota. Con esa información, Factulit genera la factura rectificativa correspondiente y la comunica a la Agencia Tributaria.

Dos precisiones que importan:

  • El detalle por línea no es un lujo. Una devolución enviada como importe suelto obliga a adivinar qué se ha devuelto y con qué tipo de IVA. Con las líneas del vale de abono, la rectificativa cuadra sola.
  • El tipo de rectificativa depende de la factura original. Si la original era una factura completa, se emite una R1; si era simplificada, una R5. Y un abono se rectifica por diferencias, no por sustitución: la rectificativa lleva solo la diferencia en negativo, no los valores finales.

Qué pasa si tu tienda pierde la conexión

Nada se pierde en silencio. El módulo guarda cada envío en una tabla local de su propia base de datos, con su estado, sus intentos y su último error. Si un envío falla —porque tu servidor se quedó sin red, porque hubo un pico de carga o porque la API no respondió—, queda pendiente y se reintenta más tarde.

Los reintentos se espacian de forma progresiva: cada fallo duplica la espera hasta un máximo de 24 horas entre intentos. Al octavo intento sin éxito, el registro deja de reintentarse automáticamente y queda marcado para revisión manual. Desde la pantalla del módulo puedes devolver esos registros a la cola con un botón, una vez resuelto el problema de fondo, y su contador de intentos empieza de cero.

Esa progresión existe por una razón: si el problema dura horas, no tiene sentido machacar tu servidor con reintentos cada minuto. Y el corte del octavo intento existe por otra: un envío que lleva días fallando tiene una causa que hay que mirar, no una que se arregle esperando más.

Del lado de la Agencia Tributaria, cuando un registro se reenvía después de una incidencia, el reenvío se marca como tal, como exige la Orden HAC/1177/2024. La facturación no se detiene por una caída.

¿Qué versiones de PrestaShop soporta?

El módulo se instala en PrestaShop a partir de la versión 1.7.0 y está probado con las tres ramas actuales: 1.7 (1.7.0.6 y 1.7.8.11), 8 (8.2.3) y 9 (hasta 9.1.3). No declara un techo artificial de versión, pero eso no equivale a dar por buena automáticamente cada versión futura: cada rama nueva se prueba antes de darla por soportada.

Un detalle que en PrestaShop importa más de lo que parece: el guardado de la configuración y las acciones del módulo usan una protección propia contra peticiones falsificadas que funciona igual en 1.7, 8 y 9, incluida la gestión de tokens que PrestaShop 9 cambió respecto a las ramas anteriores. Si tu tienda usa módulos de pago o un tema muy personalizados, coméntanoslo al pedir el alta: preferimos revisarlo con tu instalación delante antes que darte una respuesta genérica.

Preguntas frecuentes

Dudas habituales al conectar PrestaShop. Hay más en las preguntas frecuentes sobre VeriFactu.

Contactar
El propio módulo te lo dice. Su pantalla de configuración consulta periódicamente la versión publicada, compara con la instalada y, si hay una nueva, muestra un aviso con el enlace de descarga y las notas del cambio. Esa misma consulta registra en tu ficha de conexión qué versión tienes instalada, así que también lo vemos nosotros si nos pides ayuda.
Sí, y es justo el caso para el que existe el reparto en dos niveles: el descuento se distribuye primero entre los tipos de IVA en proporción a su base y después entre las líneas de cada tipo, absorbiendo los restos de redondeo para que la suma coincida exactamente con el total pagado. Además, el módulo comprueba localmente ese cuadre en cada pedido y deja registrado cualquier descuadre para poder auditarlo.
No. La pantalla del módulo en tu back-office solo gestiona la clave de API y la tarea cron. La clasificación de estados, la serie, el tipo de factura y el resto del criterio fiscal se configuran en el panel de Factulit, con confirmación explícita antes de activar la emisión. Así el criterio vive en un solo sitio y no depende de lo que cada tienda tenga guardado.
El módulo envía el identificador fiscal y los datos de facturación que tu tienda recoge, y detecta si el pedido cambió después de sincronizarse. La decisión de qué hacer con ese cambio —incluida la emisión de la factura que corresponda— la toma el servidor con el pedido completo delante, no el módulo por su cuenta. Si te ocurre a menudo, coméntalo en el alta y lo dejamos previsto en la clasificación de estados.

Conecta tu tienda PrestaShop

Cuéntanos qué versión de PrestaShop usas y cuántas facturas emites al mes. Te respondemos con los pasos concretos de tu tienda, el plan que te encaja por volumen y desde cuándo puedes empezar. Sin tarjeta.

Los flujos de alta de factura completa y simplificada, anulación, anulación sin registro previo, subsanación tras rechazo y rectificativa están probados en el entorno de pruebas de la AEAT (Preportal), con última ejecución el 27/07/2026.

¿Buscabas la ficha del conector en lugar de la guía? Está en módulo VeriFactu para PrestaShop. Y si vendes también en otra plataforma, míralo en todas las plataformas.

Última actualización: 14/08/2026. Esta guía es informativa y no constituye asesoramiento fiscal ni jurídico; para tu caso concreto, consulta con un profesional. Fuentes normativas: Real Decreto 1007/2023, Orden HAC/1177/2024 y Real Decreto 1619/2012.

¿Prefieres que preparemos el alta contigo?

Déjanos tu email y te acompañamos con la conexión, la serie, el certificado y, cuando abra Producción el 1 de enero de 2027, el paso seguro de Modo Pruebas a Producción.

Sin tarjeta · Primero configuramos en Modo Pruebas