Tout ce que vous voudriez savoir avant d'installer.
Un regard détaillé sur le fonctionnement de DfProforma Shopware — Devis pro forma Shopware 6.7 avec acceptation client et conversion automatique, pourquoi nous l'avons conçu ainsi, et la réflexion derrière les fonctionnalités ci-dessus.
Le devis pro forma : la pièce manquante du B2B sur Shopware
Shopware 6.7 sait émettre des factures, des bons de livraison et des avoirs, mais pas de devis pro forma. Or dans la quasi-totalité des contextes B2B — équipement industriel, services aux entreprises, achats publics, ventes par appel d'offres — le client doit recevoir une pièce formelle qu'il accepte avant que la commande devienne ferme. DfProforma comble ce manque sans bricoler : un véritable type de document Shopware natif, sa propre plage de numérotation, son template PDF brandé, et un workflow d'acceptation client autonome avec URL publique sécurisée.
Comment ça marche, étape par étape
Votre commercial reçoit une commande, ouvre la fiche dans l'administration Shopware, clique sur Pro forma, génère le devis. Le module crée immédiatement un véritable document Shopware df_proforma avec son numéro PF, son PDF Twig brandé, et l'enregistre dans une entité DAL dédiée. Il envoie ensuite le devis par email — template transactionnel personnalisable, multilingue, signé du nom du commercial. L'email contient une URL publique chiffrée. Le client clique, arrive sur une page d'acceptation autonome (aucun compte Shopware requis), voit le récapitulatif de la commande, et choisit Accepter ce devis ou Décliner avec motif. La signature est horodatée et persistée. Vos workflows Flow Builder sont déclenchés automatiquement, votre équipe est notifiée, et tout est tracé pour audit.
Workflow de statuts complet et auditable
Six statuts métier couvrent l'intégralité du cycle de vie d'un devis : brouillon (créé mais non envoyé), envoyé (en attente de réponse client), accepté (client a cliqué Accepter), décliné (client a cliqué Décliner avec motif), expiré (validité de 30 jours dépassée sans réponse), converti (commande sous-jacente payée). Chaque transition est persistée avec date à la seconde, identifiant de l'acteur, type de déclencheur (commercial, client, système, paiement), et payload JSON pour les métadonnées libres. Vous pouvez à tout moment reconstituer l'historique exact d'un devis — utile en cas de litige client, d'audit interne ou de question commerciale.
URL publique d'acceptation client sans friction
C'est l'apport principal du module. Chaque devis envoyé porte une URL publique de la forme votre-boutique.com/proforma/accept/{token_signé}. Le token est chiffré et signé HMAC-SHA256 avec la clé secret de Shopware, ce qui rend impossible la falsification. Le client ouvre l'URL sans aucun compte Shopware (la page contourne l'auth standard du compte client), voit un récapitulatif soigné de la commande avec lignes, prix et conditions, et choisit explicitement Accepter ce devis ou Décliner. En cas de refus, un champ Motif obligatoire est demandé — utile pour vos commerciaux qui peuvent ensuite recontacter le client avec une contre-proposition. La signature est horodatée à la milliseconde, et l'adresse IP du client est persistée pour preuve.
Auto-conversion à l'encaissement, sans intervention humaine
Un piège classique des modules de devis pro forma : après que le client a accepté et payé, le statut du devis reste figé à accepté tant qu'un humain ne le passe pas manuellement à converti. Résultat : votre tableau de bord ment, vos rapports sont faux, vos commerciaux passent du temps à mettre à jour des statuts au lieu de vendre. DfProforma résout ça par un Subscriber sur l'événement order_transaction.state.paid de la machine à états Shopware. Dès que la transaction de la commande passe en payée, le module détecte qu'un devis pro forma accepté est rattaché à cette commande, et bascule automatiquement son statut en converti, avec l'historique de transition correctement marqué (type de déclencheur paiement). Aucun clic, aucun cron, aucune intervention.
Flow Builder ready : branchez vos workflows existants
Le module émet deux événements Business Event Shopware standard : ProformaGeneratedEvent (au moment de la génération) et ProformaAcceptedEvent (au moment de l'acceptation par le client). Les deux implémentent BusinessEventInterface et sont automatiquement visibles dans le déclencheur du Flow Builder. Vous pouvez ainsi brancher dessus tous vos workflows existants : notification Slack à l'équipe vente quand un devis est accepté, email récap interne, webhook vers votre CRM, mise à jour d'un champ custom sur le client, tag automatique sur l'ordre. Aucune intervention dans le code du module nécessaire — tout passe par l'admin Shopware.
Module Vite admin avec extension de la fiche commande
L'expérience commercial est intégrée directement dans l'administration Shopware native. Un nouvel onglet Pro forma apparaît sur la fiche commande (extension de sw-order-detail-base), avec la liste des devis rattachés à cette commande, leur statut, leurs dates et leur numéro PF. Trois actions principales par devis : Générer (création initiale), Envoyer (envoi du PDF par email avec template configurable), et les actions de transition manuelle (marquer envoyé, accepter, décliner) pour les cas exceptionnels où vous voulez forcer un statut. Le bundle JavaScript admin est en Vite (le module est livré avec sa configuration vite.config.mjs) ; après installation, lancez bin/build-administration.sh pour recompiler le bundle d'administration global, et l'onglet apparaît.
Template PDF Twig entièrement personnalisable
Le PDF du devis pro forma est rendu via le moteur Twig natif de Shopware, à partir du template src/Resources/views/documents/proforma.html.twig livré dans le module. Vous pouvez le surcharger depuis votre thème ou votre plugin custom en suivant la hiérarchie de templates Twig standard de Shopware. Le template livré inclut un en-tête avec votre logo et vos coordonnées de société, un bloc client, le récapitulatif des lignes de commande, les totaux HT et TTC avec ventilation TVA, un bandeau résumé en pied (numéro PF, date d'émission, date d'expiration), un filigrane discret, et un accent de marque configurable. Conformité à l'identité visuelle de votre boutique sans une ligne de code à écrire.
Cas d'usage typiques
Boutique B2B équipement industriel : devis pro forma obligatoire avant validation de commande pour les commandes au-dessus d'un seuil, acceptation client en ligne, conversion automatique au virement bancaire reçu. Services aux entreprises : devis envoyé après brief client, acceptation en ligne avec motif éventuel de refus pour itérer, conversion au paiement de l'acompte. Achats publics : pièce formelle exigée par le donneur d'ordre, historique de transitions auditable pour conformité, signature horodatée et IP persistée. Boutique mode B2B grossiste : devis envoyé aux clients revendeurs, acceptation en ligne sans qu'ils aient à se créer un compte, conversion automatique au paiement. Marketplace verticale : devis envoyés sur demande de produit non en stock, validité 30 jours, expiration automatique pour libérer le pipeline.
Il n’y a pas encore d’avis.