Outils métier E-commerce

Système de devis B2B

Rôle
Développeur Full Stack
Durée
~1 mois
Année
2021–25
Schéma du projet
01

Contexte

La plateforme e-commerce B2B disposait d'un système de devis permettant aux commerciaux de créer des devis depuis un back-office dédié et d'envoyer le lien au client pour paiement. Ce système, développé en PHP legacy maison, remplissait la fonction de base mais n'avait pas évolué depuis plusieurs années. Avec la migration des sites sur Laravel et la montée en complexité des besoins commerciaux, une refonte complète du système s'imposait.

02

Problème

L'ancien système de devis était fonctionnellement limité : un seul type de produit par devis, pas de versioning (chaque modification écrasait le devis existant), aucune possibilité de proposer des montées en gamme ou des produits en option. L'interface BO était datée et peu ergonomique pour les commerciaux. Côté client, la page de devis était basique, sans interaction possible sur les produits ou les quantités. Enfin, le système n'était pas compatible avec les instances Laravel : un client rattaché à un site migré ne pouvait pas payer son devis sur la nouvelle plateforme.

03

Solution

Le nouveau système a été développé en PHP (procédural et orienté objet) dans un dossier dédié, avec une nouvelle structure de base de données comprenant plusieurs tables (quotes, products…). La colonne quote.Commande_ID assure le lien entre un devis payé et la commande générée, quel que soit le site de paiement.

Interface BO

Le nouveau back-office permet de construire des devis enrichis avec trois types de produits : produits normaux, montées en gamme (le client choisit entre le produit original et la montée en gamme) et produits en option (le client peut les inclure ou non). La recherche de produits se fait par autocomplétion (nom ou référence). Le commercial peut saisir un commentaire à destination du client, verrouiller la quantité d'un produit (le client ne pourra pas la modifier lors du paiement), définir un prix de vente personnalisé qui surcharge le prix officiel, et choisir les moyens de paiement disponibles pour ce devis (parmi ceux du site associé). Les totaux, marges et TVA se recalculent automatiquement à chaque modification via du JavaScript vanilla.

Un système de versioning a été mis en place : chaque devis dispose d'une référence unique avec un suffixe de version (ex. 202006120191-v01, 202006120191-v02). Le commercial peut créer autant de versions qu'il souhaite, et choisir quelle version envoyer au client. Il est également possible de créer un nouveau devis à partir de n'importe quelle version d'un devis existant. L'ordre des produits dans le devis est modifiable.

Chaque devis passe par plusieurs statuts : brouillon, verrouillé (en attente de paiement), payé, annulé, remboursé. Les devis d'un client sont listés dans un onglet dédié sur sa fiche BO. Une durée de validité est renseignée par le commercial : passé cette date, le client voit un message d'expiration et ne peut plus procéder au paiement. Un aperçu du devis tel que le client le verra est disponible depuis le BO. Le lien du devis ou le texte complet à envoyer au client sont copiables en un clic.

Une alerte email est envoyée au commercial lorsqu'un client consulte son devis, avec des mécanismes pour éviter le spam : filtrage des accès internes (adresses IP Eptimum exclues) et système de fichiers pour éviter les envois redondants.

Interface client (front)

Le client accède au devis via un lien sécurisé, après authentification. Il peut sélectionner les produits qu'il souhaite conserver, choisir entre un produit normal et sa montée en gamme si proposée, inclure ou exclure les options, et ajuster les quantités non verrouillées. Les totaux se mettent à jour dynamiquement à chaque interaction.

Intégration Laravel

Pour les clients rattachés à un site Laravel, le lien du devis redirige vers l'instance Laravel. Le système vérifie que le devis appartient bien au client connecté. Depuis la page du devis en front Laravel, le client finalise sa sélection et est redirigé vers la caisse Laravel pour le paiement.

04

Résultat

Le nouveau système de devis couvre l'intégralité du flux commercial B2B : création, versioning, envoi, consultation client, paiement et suivi du statut jusqu'à la commande. Les commerciaux disposent d'un outil moderne et flexible, compatible avec les sites legacy et l'instance Laravel. Le lien entre un devis et la commande générée est systématiquement tracé en base de données via quote.Commande_ID.

Un projet Laravel en tête ?

Réponse sous 24 h. Missions en régie ou au forfait.

  • Île-de-France Sur site ou hybride
  • Partout en France Présentiel ponctuel à négocier — ex. Lyon, 2 jours par mois
  • International Full remote

Les données saisies servent uniquement à vous répondre. Politique de confidentialité.