# Solicitud de Presupuesto B2B — Guía completa

> Presentación El módulo Solicitud de Presupuesto B2B (dfb2bquote) añade un verdadero circuito de venta por presupuesto a su tienda PrestaShop. Un botón «Presupuesto» reemplaza o complementa el añadir al carrito:…

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

## Presentación

El módulo **Solicitud de Presupuesto B2B** (`dfb2bquote`) añade un verdadero circuito de venta por presupuesto a su tienda PrestaShop. Un botón **«Presupuesto»** reemplaza o complementa el añadir al carrito: sus clientes profesionales crean su solicitud en un **carrito de presupuesto dedicado**, la envían, y usted retoma el control en el back-office para **negociar los precios línea por línea**, aplicar un descuento, fijar una validez y generar un **PDF** con el estilo de su tienda. Una vez que el cliente acepta el presupuesto, un clic lo **convierte en un pedido real** con los precios negociados congelados.

Pensado para el B2B y la venta a medida: mayoristas, suministros profesionales, grandes volúmenes, productos configurables. El recorrido de compra clásico de sus clientes particulares permanece intacto: el botón Presupuesto puede reemplazar la compra o simplemente situarse al lado.

## Compatibilidad

- PrestaShop 8.0 a 9.x
- PHP 7.4 a 8.3
- Monotienda y multitienda
- Multilingüe (estados traducidos, emails incluidos en FR y EN)
- Tema Classic y temas personalizados (el botón se inyecta incluso si el tema no llama al hook)
- Sin dependencias (ni Composer ni framework)

## Instalación

1. En el back-office, abra **Módulos > Gestor de módulos**.
2. Haga clic en **Subir un módulo** y seleccione el archivo `dfb2bquote.zip`.
3. Una vez instalado, haga clic en **Configurar**.

Al instalarse, el módulo crea sus tablas (presupuestos, líneas, estados, carrito de presupuesto, historial), inicializa los **siete estados** por defecto, registra sus hooks (ficha de producto, encabezado, área de cliente, autenticación) y añade la pestaña **Presupuestos** bajo _Pedidos_ en el menú de administración. Un enlace **Mis presupuestos** aparece en el área de cliente.

## Configuración

### Botón y visualización

- **Activar el módulo**: activa o desactiva todo el circuito de presupuesto en el front.
- **Modo del botón**: _Reemplazo_ (el botón Presupuesto ocupa el lugar del añadir al carrito, para una tienda 100 % por presupuesto) o _Complemento_ (el botón se sitúa junto a la compra habitual, para servir tanto B2C como B2B).
- **Etiqueta del botón**: texto mostrado en el botón («Presupuesto», «Solicitar precio»…).
- **Ocultar los precios**: oculta los precios de catálogo en el front, para una lógica totalmente por presupuesto.
- **Grupos de clientes**: deje vacío para mostrar el botón a todos, o seleccione los grupos (por ejemplo sus grupos profesionales) para reservarlo al B2B.

### Solicitud y reglas

- **Permitir invitados**: permite a un visitante no conectado enviar una solicitud indicando sus datos (nombre, email, empresa, teléfono). Desactive para aceptar solo clientes conectados.
- **Importe mínimo**: umbral sin impuestos requerido para enviar una solicitud.
- **Validez (días)**: periodo de validez aplicado por defecto a los presupuestos.
- **Mostrar el enlace «Mis presupuestos»**: muestra el indicador de presupuesto y el enlace de acceso en el encabezado.

### Conversión y documentos

- **Email del administrador**: dirección que recibe la notificación en cada nueva solicitud.
- **Estado del pedido en la conversión**: estado aplicado al pedido generado al convertir un presupuesto aceptado.
- **Condiciones (CGV)**: texto mostrado al pie del PDF del presupuesto.

## Uso — lado del cliente

### Solicitar un presupuesto

En la ficha de producto y los listados, el cliente hace clic en el botón **Presupuesto**. El producto (y su variante) se añade a su **carrito de presupuesto**, independiente del carrito de compra. Un indicador «Mi presupuesto» se actualiza en el encabezado.

### El carrito de presupuesto

En la página del carrito de presupuesto, el cliente ajusta las cantidades, retira líneas, añade un mensaje y envía su solicitud. Si no está conectado y el modo invitado está permitido, indica sus datos. Al enviar, el presupuesto se crea con el estado **Nueva solicitud** y se envía una notificación a su equipo.

El carrito de presupuesto está asociado a la sesión del visitante y **persiste entre páginas**. Al iniciar sesión, un carrito creado como invitado se **transfiere** automáticamente a la cuenta del cliente.

### El área «Mis presupuestos»

Desde su cuenta, el cliente encuentra la lista de sus presupuestos con su estado. En el detalle de un presupuesto, consulta las líneas y los totales, **descarga el PDF**, y una vez que el presupuesto le ha sido enviado, puede **aceptarlo** o **rechazarlo**. Un invitado accede a su presupuesto mediante un enlace protegido por una clave única.

## Uso — back-office

### Lista de presupuestos

La pestaña **Presupuestos** (bajo _Pedidos_) lista todas las solicitudes con su referencia, el cliente, una insignia de estado de color, el total sin impuestos y la fecha. Un clic abre la pantalla de gestión.

### Negociar el presupuesto

En la pantalla de detalle, para cada línea, se recuerda el **precio de catálogo** y usted introduce el **precio negociado sin impuestos**. También puede:

- aplicar un **descuento global** como importe sin impuestos o porcentaje;
- añadir **gastos de envío indicativos**;
- introducir un **mensaje para el cliente**;
- fijar o ajustar la **fecha de validez**.

### Estado y notificación

Usted cambia el **estado** del presupuesto y, marcando **Notificar al cliente**, activa el envío de un email. Pase el presupuesto a **Presupuesto enviado** para que el cliente pueda aceptarlo desde su área. Se conserva todo el historial de estados, con marca de tiempo.

### Convertir en pedido

Cuando el presupuesto está **Aceptado**, aparece el botón **Convertir en pedido**. La conversión crea un carrito, aplica cada precio negociado mediante un `SpecificPrice` asociado a ese carrito, añade el descuento global eventual mediante una regla de carrito (`CartRule`), y crea el pedido mediante `validateOrder` con el estado configurado.

Los precios específicos y las reglas temporales se **limpian automáticamente** tras la creación del pedido: su catálogo nunca se modifica, y el pedido lleva exactamente los importes negociados.

## Los estados del presupuesto

- **Nueva solicitud**: presupuesto recibido, por tratar.
- **En curso**: en preparación en el lado de la tienda.
- **Presupuesto enviado**: transmitido al cliente, que puede aceptarlo o rechazarlo.
- **Aceptado**: validado por el cliente, listo para convertir en pedido.
- **Rechazado**: declinado por el cliente.
- **Caducado**: fecha de validez superada.
- **Convertido en pedido**: transformado en un pedido real.

## FAQ y resolución de problemas

### El botón «Presupuesto» no se muestra

Compruebe que el módulo está activado, que el visitante pertenece a un grupo autorizado (si ha restringido la visualización), y vacíe la caché de PrestaShop. El módulo sabe inyectar el botón incluso si su tema no llama al hook de la ficha de producto; en caso de tema muy personalizado, compruebe la presencia del contenedor de compra.

### Página en blanco o error «JSON no válido» al añadir

Vacíe la caché (Parámetros avanzados > Rendimiento) y, durante sus pruebas, desactive la combinación/compresión de archivos (CCC). Las respuestas AJAX del módulo son JSON estricto, devuelto directamente para mantener la compatibilidad con PrestaShop 9.

### Los precios no se ocultan

Active la opción **Ocultar los precios**. Según su tema, algunas ubicaciones de precio muy específicas pueden requerir un ajuste; el módulo oculta las ubicaciones estándar de PrestaShop.

### El cliente no puede aceptar su presupuesto

La aceptación y el rechazo solo son posibles cuando el presupuesto está en el estado **Presupuesto enviado**. Pase el presupuesto a ese estado desde el back-office.

### No se reciben los emails

Compruebe la dirección indicada en **Email del administrador** y la configuración de email de PrestaShop (Parámetros avanzados > E-mail). Las plantillas se proporcionan en francés e inglés y siguen siendo personalizables.

### ¿Es compatible con PrestaShop 9 y multitienda?

Sí. El módulo es compatible con PrestaShop 8 y 9, tanto en monotienda como en multitienda. Los presupuestos se asocian a la tienda y al idioma del cliente.
