Site web pour fournisseur B2B

RÉF · CONTRAT C-2024-0341 · v2026.05

Contrats-cadres,
encours, sous-comptes —
votre site les tient.

Vous fournissez des PME, des grands comptes, des collectivités. Vos clients ont un acheteur, un valideur, un comptable — et un contrat-cadre signé trois ans plus tôt, avec des conditions négociées, un encours, des seuils de validation.

Le site web doit refléter ce contrat, pas l'ignorer. Tarifs visibles uniquement après login, encours affiché à chaque ligne, validation hiérarchique câblée au seuil négocié, sous-comptes qui distinguent qui commande, qui valide, qui paie.

Encours temps réel Sous-comptes ACL Validation hiérarchique
DOC · MET-08-FB2B NIVEAU · CONTRAT-CADRE UNITÉ · € RÉV · 05

État des lieux · 2026

Quatre angles morts qui coûtent une commande sur trois.

Vos clients sont fidèles depuis dix ans. Votre contrat-cadre est solide. Et pourtant, le site ne parle pas la langue de la relation. On répertorie quatre angles morts récurrents.

01

Tarif

Tarif négocié affiché sans login

Le tarif catalogue s'affiche, le client confond avec son tarif négocié, ouvre un ticket commercial pour comprendre la différence. Trois jours plus tard, l'acheteur a commandé ailleurs. Le tarif ne se montre qu'après authentification — c'est la règle.

02

Encours

Encours invisible à l'acheteur

L'acheteur passe commande, dépasse le plafond négocié, la commande est bloquée le lendemain matin par le service crédit. Appel furieux du comptable, blocage de la chaîne. Un compteur visible à chaque ligne évite la moitié de ces incidents.

03

Validation

Validation hiérarchique faite par mail

L'acheteur compose un devis à 6 800 €, l'envoie à son responsable par mail, qui le perd. Trois relances plus tard, le devis est validé — mais le tarif a bougé entre temps. Le workflow doit vivre dans le site, pas dans un thread Outlook.

04

Sous-comptes

Un seul login pour toute l'entreprise

Le compte client est partagé entre l'acheteur, le valideur et le comptable. L'historique des commandes est commun, les factures aussi, les permissions sont inexistantes. Chacun devrait avoir son accès et voir uniquement ce qui le concerne.

Univers signature · Espace client

Le tableau de bord d'un acheteur qui revient.

Trois zones, une lecture en six secondes — encours restant, devis en attente de validation, historique commandes prêt à être réassorti. Pas de carrousel, pas de promo cliquante. Un outil de travail.

A

Encours · Temps réel

Live

Plafond négocié

12 500,00 €

Consommé 62 %
Engagé
7 752,40 €
Disponible
4 747,60 €
Échéance
60 j FdM · 31.07
B

Devis · Validation

2 en attente
  • DEV-2026-0847

    3 280,00 € · > seuil

    Réassort matériel atelier — 18 lignes

    Valideur · M. Lefranc

  • DEV-2026-0852

    5 940,00 € · > seuil

    Ligne production · semestre 2

    Valideur · M. Lefranc

C

Historique · Réassort 1-clic

142 commandes
  • CMD-9742 · 24 réfs

    18.05 · livrée

    Réassort
  • CMD-9711 · 11 réfs

    02.05 · livrée

    Réassort
  • CMD-9683 · 8 réfs

    21.04 · livrée

    Réassort
  • CMD-9651 · 32 réfs

    12.04 · livrée

    Réassort
  • CMD-9602 · 14 réfs

    28.03 · livrée

    Réassort
VUE · ESPACE CLIENT RÔLE · ACHETEUR SYNC ERP · 5 MIN DÉMO · STRUCTURE RÉELLE

Bénéfices · Quatre axes

Quatre transformations qu'on mesure dès le premier mois.

01

Tarif négocié · Login

Le bon prix au bon acheteur, jamais avant.

Avant login, le site n'affiche rien — ou un message neutre « prix réservé aux clients sous contrat ». Après authentification, l'acheteur voit son tarif net, ses paliers de remise, sa condition de paiement spécifique. Pas d'ambiguïté, pas de comparaison hasardeuse avec le tarif catalogue.

02

Encours · Temps réel

L'encours visible à chaque ligne, jusqu'au panier.

Un compteur synchronisé avec l'ERP affiche en permanence le plafond, l'engagé, le disponible. Quand l'acheteur dépasse, le panier signale immédiatement le franchissement. La commande n'est jamais bloquée le lendemain — elle est cadrée dès la composition.

03

Validation · Workflow

Au-dessus du seuil, le devis remonte tout seul.

Le seuil de validation est négocié dans le contrat-cadre, porté par l'application. Au-dessus, le devis bascule en attente, le valideur reçoit une notification, signe en ligne ou refuse avec motif. L'historique est tracé, horodaté, opposable. Plus de devis perdu dans un mail.

04

Sous-comptes · ACL

Trois rôles, trois vues, un seul contrat.

L'acheteur commande, le valideur libère les devis au-dessus du seuil, le comptable accède aux factures et au plan d'encours. Chaque sous-compte a ses permissions au niveau objet via django-guardian. Création, désactivation, journalisation — tout se pilote depuis le compte maître.

Anatomie · 6 modules

Le site, démonté module par module.

Six briques fonctionnelles qui composent un espace fournisseur B2B complet. À cocher selon le périmètre, à connecter selon votre ERP.

M · 01

Catalogue avec tarifs négociés au login

Modèle Contract + NegotiatedPrice. Le tarif applicable est résolu au runtime selon le compte authentifié — tarif catalogue, palier client, remise contractuelle.

Catalogue · Tarif
M · 02

Encours temps réel + alerte plafond

Modèle CreditLine synchronisé avec l'ERP. Affichage à chaque ligne du panier, blocage doux au franchissement avec demande d'extension exceptionnelle si configuré.

Encours · Solde
M · 03

Sous-comptes acheteur / valideur / comptable

Modèles CustomerAccount (maître) + SubAccount (rôles). Permissions au niveau objet via django-guardian. Création et révocation depuis le compte maître.

Comptes · ACL
M · 04

Workflow de validation hiérarchique

Modèle ApprovalWorkflow : seuil de basculement, valideur désigné, notifications email à chaque étape, journal d'audit horodaté et opposable.

Devis · Workflow
M · 05

Historique commandes + réassort en un clic

Modèles Order + OrderLine. Une commande passée peut être dupliquée en panier en un clic, ajustée, soumise à validation si le seuil le requiert. Recherche par référence, par date, par chantier.

Historique · Réassort
M · 06

Espace documents légaux à jour

Modèle LegalDocument (Kbis, attestation URSSAF, RC pro, certificats ISO) avec date de validité. Téléchargement par le client, relance automatique à l'approche de l'expiration.

Conformité · Docs

Côté technique · Stack

Sous le capot, une stack Django carrée.

Six briques techniques qui tiennent l'ensemble. Pas de boîte noire, pas de SaaS subi — du Django explicite, versionné, opérable par votre équipe ou la nôtre.

T · 01

Modèles contrats & comptes

Contract, NegotiatedPrice, CreditLine, CustomerAccount, SubAccount. PostgreSQL en prod, contraintes d'intégrité, migrations versionnées.

T · 02

Permissions objet · django-guardian

Permissions au niveau objet pour les sous-comptes — l'acheteur ne voit que ses commandes, le comptable que les factures, le valideur que les devis au-dessus du seuil. Le tout testable et auditable.

T · 03

Workflow validation hiérarchique

Modèle ApprovalWorkflow avec états machine (draft, pending, approved, refused). Signals Django sur transition pour notifications. Journal d'audit immuable horodaté.

T · 04

Connecteur ERP · Sage / SAP / Cegid

API REST pour Sage X3, SAP Business One, Cegid XRP. Sync stock, tarifs, encours, commandes en bidirectionnel. File de tâches Celery, fallback en mode lecture seule en cas d'incident ERP.

T · 05

Paiement · Stripe + virement

Stripe pour CB et SEPA, virement bancaire pour les comptes sous contrat à 30/60/90 jours. Réconciliation automatique côté ERP, relances d'impayés paramétrables, lettres de change si nécessaire.

T · 06

Notifications & traçabilité

App mailing_system Sendgrid : commande passée, devis en attente de validation, libération, livraison, échéance d'encours, document légal expirant.

Parole d'atelier

« Un acheteur qui passe commande sans voir son encours en temps réel, c'est un dépassement de plafond et un appel furieux du comptable. Votre site, c'est l'inverse — encours visible à chaque ligne, validation hiérarchique au-dessus du seuil négocié, sous-comptes qui distinguent qui commande, qui valide, qui paie. »
Dylan Saint-Jalmes

Fondateur de l'atelier · Agence Codemaster

Méthode · 4 phases

De l'audit visio à la première commande passée en ligne.

01

Phase · 01

Sem. 0

Audit visio + accès contrat

60 min en visio. On lit ensemble votre contrat-cadre type, on regarde votre ERP, on cartographie les rôles côté client (acheteur, valideur, comptable) et les seuils de validation pratiqués.

02

Phase · 02

Sem. 1–2

Cadrage modèle contrat

Spécification des modèles Django (Contract, NegotiatedPrice, CreditLine, SubAccount, ApprovalWorkflow), mapping ERP, parcours acheteur / valideur / comptable. Document validé contractuellement.

03

Phase · 03

Sem. 3–5

Maquette espace client

Maquette HTML interactive sur 8–10 écrans clés (dashboard, panier, devis, validation, historique, sous-comptes). Validation avec un acheteur cible et un valideur cible avant build.

04

Phase · 04

Sem. 6–14

Build + pilote + déploiement

Développement Django, sync ERP en bac à sable, recette avec un panel de 3–5 comptes pilotes, déploiement progressif sur l'ensemble du portefeuille. 8 à 14 semaines selon le périmètre.

Intégration ERP (Sage X3, SAP, Cegid) : périmètre cadré séparément après audit du connecteur disponible.

FAQ · Fournisseur B2B

Les questions qu'on nous pose en visio.

Q · 01 · Tarification

Tarifs négociés par client — comment ça se modélise en Django ?

+

Un modèle NegotiatedPrice relie un Contract, un CustomerAccount et une référence produit. Tant qu'un acheteur n'est pas authentifié, le site n'affiche pas de prix — ou un message neutre « prix réservé aux clients sous contrat ».

Après login, la vue interroge l'ERP via l'API contractuelle et présente trois informations : le prix négocié, les paliers de remise éventuels, la condition de paiement spécifique. Le tarif catalogue reste accessible en regard, à des fins de transparence.

Q · 02 · Encours

Encours temps réel, comment fait-on concrètement ?

+

Un modèle CreditLine stocke le plafond négocié par client. À chaque pas du parcours (ajout au panier, validation du devis, génération de la commande), le solde est interrogé côté ERP ou recalculé localement à partir des commandes en cours non encore réglées.

L'acheteur voit trois chiffres en permanence — plafond, engagé, disponible — et l'application bloque doucement le dépassement, avec possibilité de demander une extension exceptionnelle si le contrat le prévoit. La fréquence de sync ERP est paramétrable (temps réel, 5 min, 30 min) selon la charge.

Q · 03 · Sous-comptes

Sous-comptes acheteur / valideur / comptable, ACL comment ?

+

Un compte maître CustomerAccount héberge plusieurs SubAccount avec des rôles distincts (acheteur, valideur, comptable, admin compte). Les permissions sont portées par django-guardian au niveau objet.

L'acheteur passe commande et consulte son historique. Le valideur libère les devis au-dessus du seuil et accède aux indicateurs. Le comptable télécharge factures et plan d'encours mais ne peut pas commander. Chaque sous-compte est créé, désactivé, audité depuis le compte maître.

Q · 04 · Validation

Validation hiérarchique au-dessus de quoi, et comment ?

+

Le seuil est négocié contrat par contrat et porté par le modèle ApprovalWorkflow. En-dessous du seuil, l'acheteur valide en un clic et la commande descend dans l'ERP. Au-dessus, le devis bascule en attente, le valideur reçoit une notification et signe en ligne ou refuse avec motif.

Le workflow accepte plusieurs niveaux si nécessaire (acheteur → responsable atelier → direction). L'historique de chaque étape est tracé, horodaté et opposable. Aucun devis ne se perd dans un thread Outlook.

Q · 05 · ERP

Intégration Sage X3, SAP, Cegid — c'est possible ?

+

Oui — Sage 100, Sage X3, SAP Business One, SAP S/4HANA, Cegid XRP/PMI, EBP. Le périmètre exact (sens des flux, fréquence de sync, fallback en cas d'incident ERP) est cadré en phase 02 avec votre intégrateur historique.

La règle est simple — la donnée maître reste dans l'ERP, le site lit et écrit via une API contractuelle versionnée. Les tâches longues (export catalogue, recalcul d'encours) passent par Celery. En cas de panne ERP, l'espace client bascule en lecture seule sans casser l'expérience utilisateur.

Q · 06 · Délai

Quel délai de mise en ligne ?

+

Entre 8 et 14 semaines selon le périmètre — complexité du modèle contrat, nombre de rôles côté sous-comptes, étendue de l'intégration ERP. Une première version pilote, ouverte à un échantillon de 3 à 5 comptes clients réels, peut être en ligne en 8 semaines.

Le déploiement progressif sur l'ensemble du portefeuille s'étale ensuite sur 4 à 6 semaines, avec une formation des sous-comptes côté client et une bascule en douceur depuis l'ancien canal (mail, fax, téléphone).

Prochaine étape · Audit visio offert

Votre contrat-cadre,
opérationnel sur votre site.

Audit visio de 60 min, offert. On lit votre contrat-cadre type, votre ERP, vos rôles côté client. Vous repartez avec un plan d'attaque — encours, sous-comptes, workflow de validation — qu'on travaille ensemble ou non.