# dfproforma — Génération automatique de factures proforma

> Présentation dfproforma automatise la génération de factures proforma dans PrestaShop 8. Dès qu'une commande atteint un statut configuré, le module crée un PDF personnalisé (logo, numérotation, pied de page multilingue)…

- Page: <https://www.datafirefly.com/documentation/dfproforma/>
- Langue: fr
- Mis à jour le: 2026-07-02
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfproforma/index.md), [es](https://www.datafirefly.com/es/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)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

dfproforma automatise la génération de factures proforma dans PrestaShop 8. Dès qu'une commande atteint un statut configuré, le module crée un PDF personnalisé (logo, numérotation, pied de page multilingue) et le met à disposition du client depuis son espace compte. La génération manuelle depuis la fiche commande reste disponible à tout moment.

**Cas d'usage principal :** contextes B2B où le client doit obtenir une proforma avant de confirmer son paiement ou de faire valider une dépense en interne.

## Installation

1. Dans le back-office PrestaShop, aller dans **Modules > Gestionnaire de modules**.
2. Cliquer sur **Télécharger un module** et sélectionner le fichier `dfproforma.zip`.
3. Cliquer sur **Installer**. Les tables SQL sont créées automatiquement.
4. Le module apparaît dans la liste sous le nom _Proforma Invoice Generator_.

Compatibilité : PrestaShop 8.0 à 8.x, PHP 7.4 à 8.3, multiboutique.

## Configuration générale

Accédez à la configuration via **Modules > Gestionnaire de modules > dfproforma > Configurer**.

### Statuts déclencheurs

Cochez les statuts de commande qui doivent déclencher la génération automatique de la proforma. Dès qu'une commande passe dans l'un de ces statuts, le PDF est créé et stocké sur le serveur.

Recommandation : déclencher sur le statut _Paiement accepté_ pour les flux standards, ou sur _En attente de paiement_ pour les contextes B2B (la proforma précède le paiement).

### Logo PDF

Uploadez un logo dédié aux proformas (formats acceptés : PNG, JPG). Si ce champ est laissé vide, le logo de la boutique est utilisé par défaut.

### Pièce jointe e-mail

Activez l'option **Joindre la proforma aux e-mails de confirmation** pour que le PDF soit automatiquement attaché aux e-mails de commande (`order_conf`, `bankwire`, `cheque`, `payment`).

## Numérotation des proformas

La numérotation est configurable par langue installée. Pour chaque langue :

- **Préfixe** : texte ajouté avant le numéro (ex. `PROFORMA`, `PRO`).
- **Numéro de départ** : entier à partir duquel le compteur commence (ex. `1` ou `1000`).
- **Nombre de chiffres** : longueur du compteur avec zéros de remplissage (ex. `6` → `000001`).

Exemple : préfixe `PROFORMA`, départ `1`, 6 chiffres → première proforma numérotée `PROFORMA-000001`.

En multiboutique, la numérotation est isolée par boutique : la clé composite `proforma_number + id_shop` garantit l'unicité sans doublons entre boutiques.

### Pied de page PDF

Saisissez le texte de pied de page pour chaque langue active. Ce texte apparaît en bas de chaque proforma générée dans la langue correspondante.

## Génération manuelle depuis le back-office

Sur chaque fiche commande, une carte **Facture proforma** s'affiche dans le panneau latéral :

- Si une proforma existe : lien de téléchargement direct du PDF.
- Si aucune proforma n'existe : bouton **Générer la proforma** pour la créer immédiatement, quel que soit le statut de la commande.

## Téléchargement client

Le client accède à ses proformas depuis son espace compte :

- **Page de détail de commande** : un bouton _Télécharger la proforma_ apparaît directement sous les informations de commande.
- **Historique des commandes** : les liens proforma sont intégrés via JavaScript sans requête AJAX supplémentaire (ajout en v1.0.2).

L'accès est protégé par la clé sécurisée de la commande (`secure_key`) — un client ne peut télécharger que ses propres proformas.

## Structure du PDF

Chaque proforma générée contient :

- Numéro de proforma (selon la numérotation configurée)
- Date de génération
- Logo de la boutique (ou logo personnalisé)
- Coordonnées de la boutique et de l'acheteur
- Tableau des produits avec quantités et prix unitaires HT et TTC
- Totaux (HT, TVA, TTC, frais de port)
- Pied de page personnalisé dans la langue de la commande

## Multiboutique

dfproforma est nativement compatible avec le mode multiboutique PrestaShop 8 :

- La configuration (statuts, logo, numérotation, pied de page) est indépendante par boutique.
- Les fichiers PDF sont stockés dans un dossier séparé par boutique.
- La numérotation est unique par combinaison numéro + boutique.

## Désinstallation

La désinstallation supprime la table SQL `df_proforma` et toutes les clés de configuration préfixées `DFPROFORMA_`. Les fichiers PDF déjà générés sont conservés sur le serveur.

## Changelog

- **v1.0.2** — Intégration dans l'historique des commandes via le hook `actionFrontControllerSetMedia` ; affichage des liens sans AJAX supplémentaire.
- **v1.0.1** — Corrections mineures de stabilité.
- **v1.0.0** — Version initiale : génération par statut, PDF personnalisable, pièce jointe e-mail, téléchargement client.
