Quatre sources de données, un seul outil
Facturation, tournées de livraison, CRM et e-mails clients : tout vivait dans des outils séparés. Nous avons construit la plateforme qui les réunit — et le moteur d’envoi qui refuse d’écrire au client quand il n’est pas sûr de lui.
- Secteur
- Petfood premium · livraison à domicile
- Périmètre
- Plateforme de pilotage sur mesure
- Livré en
- 1 mois · 9 versions
E-mails en attente
Bloqués volontairement
L’e-mail de prise en charge n’est pas parti pour ces commandes — une information manque. Corrigez-la pour l’envoyer.
- F2026-0712Commune inconnue
- F2026-0715Pas d’adresse e-mail
- F2026-0718Adresse en échec
Livraison confirmée
Tournée du jour · 19 créneaux
Une journée passée à recoller des outils
Husse Dijon-Dole livre de l’alimentation animale premium à domicile. Une activité simple en apparence, dont la charge réelle est ailleurs : savoir qui commande quoi, quand repasser, et à qui parler.
Cette information existait déjà — dispersée dans quatre outils qui ne se parlaient pas :
- La facturation dans un outil comptable
- Les tournées dans un optimiseur de livraison
- Les e-mails clients dans une plateforme d’automatisation louée au mois
- Le suivi commercial dans un tableur
Les relances partaient à l’aveugle depuis la plateforme d’automatisation : sans connaître le rythme d’achat réel, elles arrivaient trop tôt ou trop tard. Les textes n’étaient pas modifiables sans passer par un prestataire. Et personne ne savait si un e-mail avait été reçu.
L’enjeu n’était pas d’ajouter un cinquième outil. C’était de réunir les quatre, puis de rapatrier les automatisations dans du code que le franchisé contrôle.
De la facture à l’avis client, sans intervention
Cinq étapes, cinq e-mails, zéro saisie. Chaque envoi est verrouillé par une contrainte d’unicité en base : webhooks, tâches planifiées et rattrapages peuvent tous tirer sur le même flux sans jamais produire un doublon chez le client.
- 01Étape
La facture déclenche tout
Dès qu’une facture est émise dans l’outil de facturation, un webhook réveille la plateforme. Aucune saisie, aucun export, aucun copier-coller.
Un identifiant n’est considéré comme fiable que dans un contexte de facture explicite. Les charges utiles ambigües retombent sur le rattrapage périodique plutôt que de produire un envoi douteux.
webhookFacture émise
F2026-0724 · 12 kg Dog Original
- 02Étape
Le client reçoit ses dates possibles
L’e-mail de prise en charge propose jusqu’à six dates réelles, déduites du code postal du client et des jours de passage effectivement observés sur les tournées.
La résolution commune → jours de passage tolère les variantes d’écriture : « SAINT-APOLLINAIRE » et « St Apollinaire » désignent bien la même commune.
Dates proposéesMar. 28Jeu. 30Mar. 4Jeu. 6Déduites de la commune du client · J+2 minimum
- 03Étape
Il choisit, sans créer de compte
Une page publique, un lien signé, deux clics. Le client peut aussi envoyer une photo de son animal — avec consentement explicite horodaté.
Les liens qui modifient une donnée sont en POST, jamais en GET : les antivirus de messagerie préchargent les liens, et un GET aurait validé la date à la place du client.
Jeudi 30 juillet
Choisi par le client · notification au franchisé
- 04Étape
Un rappel part la veille
Déclenché par le temps et non par un événement, le rappel est recalculé à chaque synchronisation. Si le client change de date, un nouveau rappel repart pour la bonne.
La tâche planifiée tourne en UTC, mais « demain » est calculé en heure de Paris. Sans cette conversion, les rappels partaient un jour trop tôt une partie de l’année.
Rappel envoyé
La veille · une seule fois par date
- 05Étape
La livraison se confirme seule
L’outil de tournées signale le passage effectué. La confirmation part, accompagnée d’une invitation à déposer un avis — et le statut de délivrabilité remonte dans la fiche commande.
Rapprochement en cascade : numéro de commande, puis e-mail normalisé, puis nom et date. Un filet de rattrapage repasse sur les livraisons des trois derniers jours.
OuvertLivraison confirmée
+ invitation à laisser un avis
Saisie des factures, calcul des tournées, appels de suivi, positionnement des livraisons : automatisés. Des heures rendues à l’équipe chaque semaine, et zéro doublon envoyé à un client.
Ne pas envoyer vaut mieux qu’envoyer faux
Le réflexe habituel d’un outil d’automatisation, c’est d’envoyer quand même : une date approximative, un prénom vide, une adresse au hasard. Nous avons codé l’inverse.
Quand une information manque, le flux existe mais aucun e-mail ne part. Le franchisé reçoit une notification, corrige depuis une file dédiée, et l’envoi reprend. La correction est mémorisée : les commandes suivantes de ce client ne bloqueront plus.
0
doublon reçu par un client depuis la mise en service. Chaque envoi est verrouillé en base par une contrainte d’unicité — c’est structurel, pas déclaratif.
Commune inconnue
Le code postal n’est rattaché à aucun jour de passage. Les dates proposées seraient devinées — donc rien ne part.
Pas d’adresse e-mail
Le client existe en facturation mais aucun contact ne porte d’adresse exploitable.
Adresse en échec
Un envoi précédent a été rejeté durablement. Le flux se remet en attente au lieu de s’acharner.
Classée sans suite
Le franchisé a écarté la commande. Elle ne sera plus jamais retentée.
Quatre motifs de mise en attente, chacun avec son chemin de résolution. Un flux bloqué n’est jamais retenté en boucle.
Quatre sources, une base, des pages instantanées
La première version interrogeait les API à chaque chargement de page. C’était juste, et inutilisable : reconstituer le détail complet demandait près de 24 700 appels. Nous avons inversé le sens de lecture.
Facturation
synchroniséClients, factures, produits, marges
Tournées
lu en directPassages, états, coordonnées GPS
CRM
synchroniséHistorique de contact, segments
Avis Google
synchroniséNotes et retours clients
PostgreSQL
Base de référence de la plateforme
12 modules
Rendus côté serveur, sous la seconde
Une exception assumée : les tournées du jour sont lues en direct. Une journée entière tient en un seul appel — la synchroniser n’apporterait rien. La règle vaut pour ce qu’elle résout, pas par principe.
Les outils d’origine ne sont jamais modifiés
La plateforme lit ses sources, elle n’y écrit pas. Quand le franchisé doit corriger une donnée — reclasser un client en professionnel, fusionner deux fiches, rattacher un animal, ajuster une zone de livraison — la correction vit dans une table dédiée côté plateforme. Elle est réversible, traçable, et n’altère rien en amont. Si la source se met à jour, elle reprend la main.
Savoir quand le sac va être vide
Un client qui commande 12 kg de croquettes tous les quarante jours n’a pas besoin d’une newsletter. Il a besoin qu’on le relance quelques jours avant d’être à court.
La plateforme calcule l’intervalle médian entre les commandes de chaque client, en déduit la prochaine échéance probable, et programme la relance en amont. Le délai est réglable par le franchisé.
Si le client commande, la prédiction avance et le cycle se réarme tout seul. Aucune liste à tenir, aucune date à saisir.

Une seule relance par échéance prédite : le verrou d’unicité s’applique ici aussi.
5 commandes observées
sur les huit derniers mois
Relance envoyée
cinq jours avant l’échéance calculée
Rupture probable
déduite de l’intervalle médian de 41 jours
5
commandes observées
41 j
intervalle médian
1
relance programmée
Le pilotage, en mouvement
Tout l’atelier Husse, sur un seul écran
Le produit, en vrai
Du back-office à la poche du client


« Avant, je passais mes soirées à traiter des emails et à préparer mes tournées à la main. Maintenant, le système anticipe les commandes, relance les clients inactifs et me libère 1h30 par jour. Je peux enfin me concentrer sur ce que moi seul peux faire — aller chez mes clients. »
Franck Tuvache
Franchisé Husse — Dijon / Dole
Vos outils ne se parlent pas ?
On construit la plateforme qui les réunit — et les automatisations qui vont avec.
Prendre rendez-vous
Florent
Fondateur FED
