# dfproforma — Generación automática de facturas proforma

> Presentación dfproforma automatiza la generación de facturas proforma en PrestaShop 8. En cuanto un pedido alcanza un estado configurado, el módulo crea un PDF personalizado (logo, numeración, pie de página…

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

## Presentación

dfproforma automatiza la generación de facturas proforma en PrestaShop 8. En cuanto un pedido alcanza un estado configurado, el módulo crea un PDF personalizado (logo, numeración, pie de página multilingüe) y lo pone a disposición del cliente desde su cuenta. La generación manual desde la ficha de pedido siempre está disponible independientemente del estado del pedido.

**Caso de uso principal:** contextos B2B en los que el cliente necesita una proforma antes de confirmar el pago u obtener la aprobación interna de una compra.

## Instalación

1. En el back office de PrestaShop, ir a **Módulos > Gestor de módulos**.
2. Hacer clic en **Subir un módulo** y seleccionar el archivo `dfproforma.zip`.
3. Hacer clic en **Instalar**. Las tablas SQL se crean automáticamente.
4. El módulo aparece en la lista como _Proforma Invoice Generator_.

Compatibilidad: PrestaShop 8.0 a 8.x, PHP 7.4 a 8.3, multitienda.

## Configuración general

Accede a la configuración desde **Módulos > Gestor de módulos > dfproforma > Configurar**.

### Estados desencadenantes

Marca los estados de pedido que deben desencadenar la generación automática de la proforma. En cuanto un pedido pasa a uno de estos estados, el PDF se crea y almacena en el servidor.

Recomendación: desencadenar con el estado _Pago aceptado_ para flujos estándar, o con _En espera de pago_ para contextos B2B donde la proforma precede al pago.

### Logo del PDF

Sube un logo específico para las facturas proforma (formatos aceptados: PNG, JPG). Si este campo se deja vacío, se usa por defecto el logo de la tienda.

### Adjunto por correo

Activa la opción **Adjuntar la proforma a los correos de confirmación** para que el PDF se adjunte automáticamente a los correos de pedido (`order_conf`, `bankwire`, `cheque`, `payment`).

## Numeración de las proformas

La numeración es configurable por idioma instalado. Para cada idioma:

- **Prefijo**: texto añadido antes del número (ej. `PROFORMA`, `PRO`).
- **Número de inicio**: entero desde el que comienza el contador (ej. `1` o `1000`).
- **Número de dígitos**: longitud del contador con ceros de relleno (ej. `6` → `000001`).

Ejemplo: prefijo `PROFORMA`, inicio `1`, 6 dígitos → primera proforma numerada `PROFORMA-000001`.

En modo multitienda, la numeración está aislada por tienda: la clave compuesta `proforma_number + id_shop` garantiza la unicidad sin duplicados entre tiendas.

### Pie de página del PDF

Introduce el texto del pie de página para cada idioma activo. Este texto aparece al pie de cada proforma generada en el idioma correspondiente.

## Generación manual desde el back office

En cada ficha de pedido, aparece una tarjeta **Factura proforma** en el panel lateral:

- Si existe una proforma: enlace de descarga directa del PDF.
- Si no existe ninguna proforma: botón **Generar la proforma** para crearla inmediatamente, independientemente del estado del pedido.

## Descarga del cliente

Los clientes acceden a sus proformas desde su cuenta:

- **Página de detalle de pedido**: aparece un botón _Descargar la proforma_ directamente bajo la información del pedido.
- **Historial de pedidos**: los enlaces de proforma se integran mediante JavaScript sin solicitud AJAX adicional (añadido en v1.0.2).

El acceso está protegido por la clave segura del pedido (`secure_key`) — un cliente solo puede descargar sus propias proformas.

## Estructura del PDF

Cada proforma generada contiene:

- Número de proforma (según la numeración configurada)
- Fecha de generación
- Logo de la tienda (o logo personalizado)
- Datos de contacto de la tienda y del comprador
- Tabla de productos con cantidades y precios unitarios (sin y con IVA)
- Totales (sin IVA, IVA, con IVA, gastos de envío)
- Pie de página personalizado en el idioma del pedido

## Multitienda

dfproforma es compatible de forma nativa con el modo multitienda de PrestaShop 8:

- La configuración (estados, logo, numeración, pie de página) es independiente por tienda.
- Los archivos PDF se almacenan en una carpeta separada por tienda.
- La numeración es única por combinación número + tienda.

## Desinstalación

La desinstalación elimina la tabla SQL `df_proforma` y todas las claves de configuración con el prefijo `DFPROFORMA_`. Los archivos PDF ya generados se conservan en el servidor.

## Changelog

- **v1.0.2** — Integración en el historial de pedidos mediante el hook `actionFrontControllerSetMedia`; los enlaces se muestran sin solicitud AJAX adicional.
- **v1.0.1** — Correcciones menores de estabilidad.
- **v1.0.0** — Versión inicial: generación por estado, PDF personalizable, adjunto por correo, descarga del cliente.
