Saltar al contenido

PrelanzamientoWeb en prelanzamiento. Altas disponibles próximamente; contacto comercial abierto.

Integraciones eCommerce

·5 min de lectura

Módulo Verifactu para PrestaShop: instalación y facturas

Cómo instalar y configurar un módulo Verifactu para PrestaShop, elegir el estado que genera la factura y gestionar devoluciones sin duplicados.

prestashopverifactupedidosdevoluciones
Contenido de la guía
  1. Respuesta rápida
  2. Instalación prevista desde el back office
  3. PrestaShop tiene varios estados relacionados
  4. Antes de crear el registro
  5. Idempotencia por pedido y estado
  6. Devoluciones y Order slips
  7. Factura PDF y registro fiscal
  8. Pruebas de aceptación
  9. Estado de la integración

Respuesta rápida

En PrestaShop, el estado de un pedido es un dato de workflow; no es automáticamente el momento fiscal en que debe expedirse una factura. La integración debe elegir un estado o evento, comprobar que el pedido reúne los datos fiscales, crear una sola factura y conservar la relación con el pedido. Para una devolución, el recurso oficial de Order slip expone el pedido, importes de productos y transporte y detalles asociados; el adaptador debe convertir esos datos en la rectificativa que corresponda según la operación. La documentación oficial del Webservice de PrestaShop 9 es la fuente del contrato de plataforma.

VeriFactu Fácil está en prelanzamiento. Esta es una arquitectura prevista, no un módulo público ni una compatibilidad publicada para una versión concreta de PrestaShop.

Instalación prevista desde el back office

El recorrido comercial debe ser sencillo y reconocible para quien administra una tienda PrestaShop:

  1. descargar el módulo de VeriFactu Fácil en formato .zip;
  2. subirlo desde Módulos → Gestor de módulos;
  3. activarlo e introducir la clave de conexión;
  4. completar NIF, razón social, serie, entorno y estado de pedido que genera la factura;
  5. ejecutar una venta de prueba antes de habilitar producción.

La activación del módulo puede resolverse en pocos pasos, pero la emisión debe permanecer bloqueada hasta validar la configuración fiscal, el certificado y la conexión con el servicio. La compatibilidad exacta por versión se publicará cuando el módulo haya superado la validación de marketplace y el E2E real.

PrestaShop tiene varios estados relacionados

El recurso Orders incluye, entre otros, current_state, invoice_number e invoice_date. El recurso Order states describe propiedades como paid, invoice, pdf_invoice, shipped y send_email. No son intercambiables:

Señal Pregunta que debe responder el adaptador
paid ¿El estado representa pago confirmado para este método?
invoice ¿PrestaShop ya ha creado su documento de factura?
pdf_invoice ¿Solo se genera una representación PDF?
current_state ¿Qué transición concreta activó el cambio?
shipped ¿La empresa expide al entregar, pagar o en otro momento?

Un módulo no debe asumir que “Pago aceptado” es siempre la regla correcta. Configura el evento según la política del obligado y conserva la versión de esa configuración.

Antes de crear el registro

Recoge del pedido y de su dirección de facturación únicamente los datos necesarios:

  • obligado que expide y su serie;
  • cliente y datos identificativos requeridos;
  • líneas, cantidades, descuentos y transporte;
  • tipos y cuotas de IVA;
  • fecha de expedición y, si es distinta, fecha de operación;
  • pedido, carrito y factura interna de PrestaShop;
  • entorno y clave idempotente.

La AEAT detalla el registro de alta. PrestaShop conserva más información de catálogo, stock y logística de la que necesariamente se incorpora al registro. No envíes todo el objeto de pedido por comodidad ni confundas el PDF de la tienda con el registro fiscal.

Idempotencia por pedido y estado

Un estado puede cambiar varias veces o ser reintentado por un módulo. Usa una clave estable que incluya, como mínimo, el identificador de tienda, pedido, tipo de operación y versión de la transición. Guarda la decisión antes de remitir:

  1. pedido 418 cambia al estado configurado;
  2. se valida que no existe factura fiscal para ese evento;
  3. se reserva serie y número;
  4. se crea el documento y el registro de alta;
  5. se guarda la clave externa;
  6. se remite y se reconcilia la respuesta.

Si el webhook o tarea vuelve a ejecutarse, devuelve el documento ya creado. No aumentes la numeración porque PrestaShop haya repetido una notificación.

Devoluciones y Order slips

El recurso Order slip de PrestaShop 9 relaciona id_order y id_customer, expone importes con y sin impuestos, gastos de transporte, si la devolución es parcial y sus detalles por línea. Es una entrada útil para reconstruir el importe rectificado, no una factura rectificativa terminada.

El adaptador debe comprobar:

  • qué líneas se devuelven y en qué cantidad;
  • si incluye transporte;
  • cómo se distribuye el descuento;
  • qué tipo impositivo corresponde a cada importe;
  • si ya existe una rectificativa para ese order slip;
  • qué referencia a la factura original debe aparecer.

El Reglamento de obligaciones de facturación y la FAQ de procedimientos de la AEAT determinan el documento y la clave que correspondan. Un order slip no decide por sí solo si es anulación o rectificación.

Factura PDF y registro fiscal

PrestaShop puede generar facturas PDF mediante sus plantillas. Ese PDF es la representación que recibe el cliente; el SIF debe generar además el registro estructurado y el QR conforme a la modalidad. No describas el PDF como “lo que se envía a la AEAT”.

La integración debe guardar el vínculo:

PrestaShop order ├─ factura PDF/documento ├─ registro de alta └─ refund/order slip -> rectificativa -> registro relacionado

La guía de anulaciones y rectificativas explica por qué no se debe borrar el alta original cuando un pedido se corrige.

Pruebas de aceptación

  • estados personalizados con paid e invoice diferentes;
  • pedido pagado dos veces o transición repetida;
  • dirección de empresa con NIF y dirección de consumidor;
  • varios tipos de IVA y gastos de envío;
  • order slip parcial con devolución de una línea;
  • reembolso superior al saldo por error de configuración;
  • error de conexión después de reservar número;
  • actualización de PrestaShop sin cambiar el contrato fiscal;
  • dos tiendas en el mismo sistema, con obligados separados.

Registra el estado de cada operación según la respuesta de la AEAT, como explicamos en errores y respuestas, no solo según el estado visual del back office.

Estado de la integración

La página pública de PrestaShop está marcada como prelanzamiento. No hay descarga pública ni declaración de compatibilidad oficial del módulo en este artículo. La disponibilidad, versiones soportadas, hooks concretos y calendario quedan pendientes de validación antes de cualquier anuncio comercial.

Siguiente paso

Cuéntanos qué sistema necesitas conectar

El servicio está en prelanzamiento. Revisamos el canal, el volumen y los datos fiscales antes de abrir una integración.

Ver la integración con PrestaShop →