# Solicitud de Presupuesto B2B (Express Quote) — Guía completa

> Presentación El módulo Solicitud de Presupuesto B2B Multi-Producto (dfexpressquote) añade un botón « Solicitar presupuesto » en el pie de página del carrito. Con un clic, tu cliente profesional convierte…

- Página: <https://www.datafirefly.com/es/documentation/dfexpressquote/>
- Idioma: es
- Actualizado el: 2026-06-18
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfexpressquote/index.md), [en](https://www.datafirefly.com/en/documentation/dfexpressquote/index.md), [de](https://www.datafirefly.com/de/documentation/dfexpressquote/index.md), [it](https://www.datafirefly.com/it/documentation/dfexpressquote/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfexpressquote/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfexpressquote/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfexpressquote/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

El módulo **Solicitud de Presupuesto B2B Multi-Producto** (`dfexpressquote`) añade un botón **« Solicitar presupuesto »** en el pie de página del carrito. Con un clic, tu cliente profesional convierte su carrito en un **presupuesto PDF** limpio, recibido por correo, sin tener que crear una cuenta. Una copia se envía a tu tienda y cada presupuesto se sigue en el back-office con sus estados.

El PDF se genera con TCPDF, ya incluido en PrestaShop: sin biblioteca externa ni dependencia de Composer. El documento nunca se almacena en el servidor, se regenera bajo demanda desde una instantánea del carrito guardada en la base de datos.

## Compatibilidad

- PrestaShop 8.0 a 9.x
- PHP 7.4 a 8.3
- Tienda única y multitienda
- 5 idiomas: FR, EN, ES, DE, IT
- Tema Classic y temas personalizados (ventana modal en JavaScript nativo, independiente del tema)
- Sin dependencias (ni Composer ni framework)

## Instalación

1. En el back-office, abre **Módulos > Gestor de módulos**.
2. Haz clic en **Subir un módulo** y selecciona el archivo `dfexpressquote.zip`.
3. Una vez instalado, haz clic en **Configurar**.

Durante la instalación, el módulo crea su tabla de presupuestos, registra sus hooks (`actionFrontControllerSetMedia`, `displayShoppingCartFooter`, `displayExpressCheckout`), añade una pestaña **Express Quote** bajo el menú Pedidos e inicializa sus ajustes predeterminados.

## Configuración

### Visualización y botón

- **Texto del botón**: texto mostrado en el pie del carrito, personalizable.
- **Solicitar datos de contacto**: activa el modo formulario de contacto. Desactivado, el módulo cambia al modo 1 clic instantáneo (el presupuesto PDF se genera sin ningún formulario).

### Presupuesto

- **Prefijo de referencia**: prefijo de los números de presupuesto (por defecto `DEV`), seguido de la fecha y un contador.
- **Periodo de validez**: número de días de validez del presupuesto, usado para calcular la fecha de vencimiento.
- **Mostrar IVA**: muestra las columnas y totales de IVA en el PDF.
- **Mostrar dirección**: añade el bloque de dirección del destinatario al PDF.
- **Aviso legal de IVA** y **Condiciones**: textos libres añadidos al pie del presupuesto.

### Correos

- **Correo al cliente**: envía automáticamente el presupuesto PDF como adjunto al cliente.
- **Correo a la tienda**: envía una notificación a tu equipo.
- **Dirección de correo de notificación**: destinatario interno (por defecto el correo de la tienda).

## Funcionamiento

### Dos modos de solicitud

En **modo formulario**, un clic abre una ventana modal ligera donde el cliente indica su empresa, su nombre, su correo y, opcionalmente, su teléfono, su número de IVA intracomunitario y un mensaje. En **modo 1 clic instantáneo**, el presupuesto PDF se produce de inmediato, sin formulario. No se requiere crear una cuenta en ninguno de los dos casos.

### El presupuesto PDF

El PDF refleja la identidad de tu tienda: logotipo, datos de contacto, referencia única, fechas de emisión y validez, bloque de destinatario, tabla de productos (referencia, descripción, cantidad, precio unitario sin IVA, IVA, total sin IVA) y totales sin IVA, IVA y con IVA, seguidos de tus avisos y condiciones. Nunca se almacena en disco: se regenera bajo demanda desde la instantánea del carrito guardada en la base de datos, lo que evita la acumulación de archivos y garantiza un documento siempre coherente.

### Correos automáticos

Según tu configuración, el cliente recibe su presupuesto como adjunto y tu tienda recibe una notificación en la dirección que elijas. Las plantillas de correo se proporcionan en francés e inglés.

### Seguimiento en el back-office

La pestaña **Express Quote** lista todos los presupuestos con su referencia, destinatario, importe con IVA, estado y fecha. Abres un presupuesto para ver su detalle, cambias su estado (nuevo, enviado, aceptado, rechazado, convertido) y regeneras o descargas el PDF en cualquier momento.

### Seguridad

La descarga del PDF está protegida por un token determinista derivado de la clave de tu tienda. Cada solicitud está protegida por un señuelo anti-robots y un token vinculado al carrito actual, y solo actúa sobre el carrito de la sesión en curso.

## FAQ y resolución de problemas

### ¿El cliente necesita una cuenta?

No. La solicitud de presupuesto funciona en modo invitado. El modo 1 clic instantáneo genera incluso el PDF sin ningún formulario.

### ¿Hay que instalar una biblioteca PDF?

No. El presupuesto se genera con TCPDF, ya incluido en PrestaShop 8 y 9. Sin dependencia de Composer.

### El botón no aparece en la página del carrito

Vacía la caché de PrestaShop (Parámetros avanzados > Rendimiento) y, durante tus pruebas, desactiva la combinación/compresión (CCC). El botón solo aparece cuando el carrito contiene al menos un artículo. Si tu tema no activa el hook `displayShoppingCartFooter`, el botón se inserta mediante la carga de recursos en el front.

### ¿Se acumulan los archivos PDF en el servidor?

No. El presupuesto no se almacena en disco: se regenera bajo demanda a partir de la instantánea del carrito en la base de datos.

### ¿Es compatible con PrestaShop 9?

Sí. El módulo es compatible con PrestaShop 8 y 9, en multitienda y multilenguaje.
