Documentación del módulo de Preventa PrestaShop (dfpreorder)
Instala y configura dfpreorder: reglas de preventa, visualización en la ficha, asignación del stock recibido, gestión de retrasos y tarea cron.
El módulo DataFirefly Pre-Orders (dfpreorder) permite vender productos antes de que lleguen al almacén en PrestaShop 8 y 9. Esta página cubre la instalación, la configuración, las reglas, los arribos de stock y la resolución de problemas.
Instalación
- Descarga el ZIP desde tu cuenta de cliente DataFirefly.
- En el back office, ve a Módulos > Gestor de módulos > Subir un módulo y envía el ZIP.
- Al instalarse, el módulo crea sus tablas, sus tres estados de pedido y dos pestañas de menú: Catálogo > Preventas para las reglas y Pedidos > Preventas para el seguimiento.
- Abre la configuración del módulo para revisar los ajustes generales y copiar la URL del cron.
El módulo funciona de PrestaShop 8.0 a 9.x con el mismo ZIP, en multitienda y multiidioma. Las cadenas se entregan en español, inglés, francés, alemán, italiano, neerlandés, polaco y portugués.
Ajustes generales
- Texto del botón por defecto y texto de la etiqueta, por idioma. Cada regla puede sustituirlos.
- Carritos que mezclan preventa y artículos en stock: permitir sin mensaje, permitir con un aviso que indica que el pedido se enviará de una sola vez, o prohibir la mezcla.
- Casilla de consentimiento en el pago: añade una casilla obligatoria cuando el carrito contiene una reserva. El texto acepta el token
%date%, sustituido por la fecha de envío estimada más tardía del carrito. La fecha del consentimiento se guarda en cada línea de preventa. - Correos de confirmación y de disponibilidad, activables por separado.
- Asignación automática del stock recibido y estado de pedido a aplicar cuando todas las líneas estén asignadas.
- Formulario Avisarme en los productos que no se pueden pedir o cuyas reservas están completas.
- Envío de los pedidos mixtos: un solo envío cuando todo esté disponible, envío parcial (primero los artículos en stock, un pedido y una factura) o división en dos pedidos con la misma referencia al pagar. En la división eliges si decide el cliente en el carrito o si se dividen todos los carritos mixtos.
- Correo de envío parcial, con la lista de artículos enviados y el enlace de seguimiento.
- Datos estructurados PreOrder, desactivados por defecto: actívalos solo si tu tema o tu módulo SEO no genera ya el JSON-LD del producto.
Crear una regla de preventa
Ve a Catálogo > Preventas y luego a Añadir una regla. Una regla apunta a un producto o a una combinación concreta. El modo se elige con tres tarjetas, y una columna a la derecha muestra una vista previa del bloque de la tienda mientras escribes, con las reservas pendientes de la regla y el historial de sus fechas.
Los tres modos
- Sin stock: la preventa empieza cuando el stock llega a cero y se detiene al reponer. Es el modo para las roturas de stock del proveedor.
- Forzada: el producto sigue en preventa mientras la regla esté activa, incluso con stock. Es el modo de un lanzamiento.
- Ventana de fechas: la preventa se abre y se cierra en las fechas indicadas. El cierre lo aplica la tarea cron y, como refuerzo, cada visita a la ficha de producto.
Los demás campos
- Fecha de envío estimada: se muestra en la ficha, el carrito, la cuenta del cliente, la factura y los correos.
- Cantidad máxima y máximo por cliente: 0 significa ilimitado. Los límites se comprueban en el servidor en cada guardado del carrito.
- Descuento de preventa en porcentaje o importe: disponible en los modos forzada y ventana de fechas, donde el periodo se conoce de antemano. Crea un precio específico que se elimina al terminar la regla.
- Texto del botón y mensaje por idioma, propios de la regla.
- Cuenta atrás (hasta el cierre o hasta el lanzamiento) y barra de unidades reservadas, que necesita una cantidad máxima.
Crear muchas reglas a la vez
El botón Asignación masiva e importación CSV abre dos formularios. El primero afecta a todos los productos de una categoría, una marca o un proveedor (los criterios se combinan). Para los productos que ya tienen reglas, elige Actualizar solo la fecha de envío estimada (por defecto), Sustituir todos los ajustes o No modificar, y si los productos sin regla reciben una.
El segundo importa un CSV con las columnas product (ID o referencia), combination (opcional), mode, release_date, max_qty, max_per_customer, date_start, date_end. En las reglas existentes solo se cambian las columnas presentes y rellenadas.
Mover la fecha de reposición de un proveedor
En la asignación masiva elige el proveedor, introduce la nueva fecha de envío estimada, deja Actualizar solo la fecha de envío estimada y Avisar a los clientes si cambia la fecha, y aplica. Todas las reglas de los productos del proveedor se mueven, incluidas las de combinaciones; modos, límites y ventanas no cambian. Las reservas pendientes toman la nueva fecha, los clientes reciben el correo de retraso con un enlace de cancelación y el cambio queda en el historial de cada regla. Un CSV con solo product y release_date hace lo mismo producto a producto.
Lo que ve el cliente
En un producto en preventa, el botón de añadir al carrito toma el texto elegido, aparece una etiqueta en las imágenes de listado y de ficha, y un recuadro muestra la fecha estimada, tu mensaje, la cuenta atrás y la barra de unidades reservadas. El bloque se actualiza al cambiar de combinación.
En el carrito, cada línea afectada se señala con la fecha estimada. En el pago, la casilla de consentimiento recuerda la fecha. Tras el pedido, el cliente sigue sus reservas en Mi cuenta > Mis reservas y puede solicitar la cancelación de las líneas aún pendientes.
Envío de los pedidos mixtos
El ajuste Envío de los pedidos mixtos decide qué ocurre cuando un pedido contiene artículos en stock y artículos en preventa.
- Un solo envío (por defecto): todo el pedido espera en Preventa: pendiente de stock y sale cuando todo está disponible.
- Envío parcial: la página del pedido muestra los artículos en stock con un campo de número de seguimiento y el botón Marcar como enviado parcialmente. El pedido pasa a Preventa: enviado parcialmente, que permite el albarán, y el cliente recibe la lista de artículos enviados, el enlace de seguimiento del transportista y los artículos pendientes con sus fechas. El panel lista los pedidos cuya parte en stock puede salir ya. Un pedido, una factura; el segundo paquete usa el número de seguimiento nativo de PrestaShop.
- División en dos pedidos: PrestaShop crea al pagar un pedido para los artículos en stock y otro para las reservas, con la misma referencia, mediante su mecanismo nativo de paquetes (sin override). Una línea parcialmente en stock se corta en dos. Los gastos de envío se aplican a cada paquete. Con la opción de elección del cliente, una casilla en el carrito le permite pedir la división; si no, se dividen todos los carritos mixtos.
Prueba la división con tus módulos de pago en una tienda de pruebas antes de activarla. Un producto en modo forzado que aún tiene stock se considera en stock para PrestaShop y no se separa.
Columna Preventa en el listado de pedidos
El listado nativo de Pedidos gana una columna Preventa con filtro: cualquier preventa, pendiente de stock, lista para enviar, cancelación solicitada. Aísla en un clic los pedidos que esperan stock.
Seguimiento y asignación del stock
Pedidos > Preventas reúne el seguimiento.
Panel
Los indicadores muestran las unidades pendientes, el número de pedidos implicados, los ingresos reservados con IVA, las unidades ya asignadas y las solicitudes de cancelación. La tabla por producto indica, para cada producto o combinación, las unidades pendientes, el stock de PrestaShop, las unidades asignables ahora mismo y la cantidad que hay que pedir al proveedor. El botón de exportación CSV usa las mismas columnas.
Asignar una entrega
Una reserva descuenta el stock al realizarse el pedido, lo que lo deja en negativo. Las unidades físicamente disponibles para las reservas son, por tanto: unidades pendientes + stock actual. Tras una reposición, el botón Asignar (las más antiguas primero) sirve los pedidos por antigüedad, o Elegir pedidos abre la pantalla de asignación, donde las líneas propuestas están marcadas y se pueden modificar. El total de la selección se actualiza en directo, con un aviso si supera las unidades físicamente disponibles.
Cuando todas las líneas en preventa de un pedido están asignadas, el pedido pasa al estado configurado (por defecto Preventa: lista para enviar) y el cliente recibe un correo. Después preparas el pedido con normalidad.
La asignación automática sirve las reservas sin validación manual, pero nunca antes de la fecha anunciada en una regla forzada o de ventana de fechas.
Gestionar un retraso
Abre la regla, cambia la fecha de envío estimada y deja activada la opción Avisar a los clientes si cambia la fecha. Las reservas pendientes se actualizan y cada cliente afectado recibe un correo con la nueva fecha y un enlace para solicitar la cancelación. El número de clientes avisados aparece tras guardar, y el historial de fechas anunciadas se muestra bajo el formulario.
Las solicitudes de cancelación llegan al panel. Confirmar la cancelación libera las unidades reservadas; el reembolso se hace desde la página del pedido con tu método de pago. Mantener la reserva devuelve las líneas a pendiente.
Tarea cron
La configuración del módulo muestra una URL con token. Prográmala cada 15 minutos en tu alojamiento. Abre y cierra las ventanas de fechas a la hora prevista y, si la asignación automática está activa, sirve las reservas cuyo stock ha llegado.
Preguntas frecuentes
¿El cliente paga el importe completo?
Sí. El cliente paga el importe completo al hacer el pedido con tus medios de pago habituales.
¿Se pueden enviar los artículos en stock antes que las reservas?
Sí, con el envío parcial o la división descritos en Envío de los pedidos mixtos. En el modo de un solo envío, el pedido espera a que todo esté disponible.
¿Por qué un pedido pasa a Preventa: pendiente de stock?
El módulo lleva el pedido a ese estado en cuanto está pagado y contiene al menos una línea en preventa. El estado está pagado y no es enviable, lo que evita que un pedido incompleto entre en preparación.
¿Una regla sobre una combinación afecta a las demás?
PrestaShop solo gestiona el ajuste de permitir pedidos sin stock a nivel de producto. El módulo lo aplica en el producto y luego bloquea en el front y en el carrito las combinaciones agotadas que no tienen regla, para conservar el comportamiento original de la tienda.
La cuenta atrás no aparece
Solo se muestra si la fecha de cierre (modo ventana) o la fecha de envío estimada está en el futuro, y si la opción está activada en la regla.
El botón mantiene su texto original
El módulo sustituye el texto del botón de añadir al carrito en los temas estándar. En un tema muy personalizado, contacta con el soporte indicando la URL de la ficha: se puede adaptar el selector del botón.