---
title: "Flux de validation"
description: "Mettez en place des chaînes de validation côté marchand et côté acheteur pour qu'un devis soit approuvé avant l'envoi d'une proposition ou son acceptation."
url: "https://www.quotway.com/fr/docs/approvals/approval-workflows"
type: "documentation"
category: "approvals"
updated: "2026-10-14"
locale: "fr"
source: "QuotWay - B2B Quote & Negotiation App for Shopify"
---

# Flux de validation

**Temps de lecture :** 7 minutes.
**Pour qui :** les marchands qui ont besoin d'une approbation interne avant qu'une proposition parte chez l'acheteur, ou dont les acheteurs doivent faire valider le devis par leur service achats avant de pouvoir l'accepter.

> ⚠️ Les flux de validation nécessitent le forfait **Professional** ou supérieur. Sur Lite et Starter, l'éditeur de règles est visible mais aucune règle ne peut être créée. Professional comprend les chaînes linéaires à plusieurs étapes ; **les étapes parallèles et conditionnelles, l'escalade après expiration et la délégation sont des fonctionnalités Enterprise.** Voir [Forfaits, essai et facturation](../billing/plans-trial-and-billing.md).

QuotWay gère **deux côtés** de la validation :

- **Côté marchand** - le commercial propose ; le responsable des ventes approuve avant que la proposition parte chez l'acheteur.
- **Côté acheteur** - l'acheteur soumet ; le responsable achats approuve ; puis la finance approuve ; et le devis est officiellement accepté (boutiques compatibles B2B).

Les deux côtés partagent la même structure de règle : des étapes, des acteurs par étape, des groupes parallèles facultatifs et des règles conditionnelles facultatives.

---

> À voir : créer votre première règle de validation pour les devis B2B.

## Anatomie d'une règle

Une règle comporte :

- **Un domaine** - `MERCHANT` ou `BUYER`.
- **Une condition de déclenchement** - dans quels cas cette règle s'applique-t-elle ? Par exemple :
  - total du devis supérieur à 50 000 $ ;
  - le devis contient des produits de la collection X ;
  - « Remise (%) » ou « Remise de ligne la plus forte (%) » au-dessus d'un seuil - chaque ligne est jugée au prix que l'acheteur paie réellement : sa part de toute remise sur le devis entier (sur la commande) compte donc aussi ;
  - le tag client de l'acheteur contient `enterprise` ;
  - (aucune condition) - s'applique à tous les devis du domaine.
- **Des étapes** - une chaîne ordonnée d'étapes de validation. Chaque étape comporte :
  - **des acteurs** - qui peut approuver (un ou plusieurs membres de l'équipe, ou un ou plusieurs rôles) ;
  - **un mode** - `ALL` (chaque acteur doit approuver) ou `ANY` (une seule approbation suffit) ;
  - une **règle conditionnelle** facultative - passer cette étape si X.

Une règle est **active** quand elle comporte au moins une étape et que son interrupteur **Activée** est enclenché.

## Exemple A - Validation marchand en une étape

Cas : tout devis au-delà de 10 000 $ doit être approuvé par un responsable des ventes avant que la proposition ne parte.

**Règle :**

- Domaine : MERCHANT
- Déclencheur : `quote.totalEstimate > 10000`
- Étapes :
  1. **Examen du responsable des ventes** - acteur : `staff:sales-manager-1` - mode : ANY.

C'est tout. Quand un commercial clique sur **Envoyer la proposition** sur un devis à 12 000 $, le statut de la proposition passe à `AWAITING_MERCHANT_APPROVAL`. Le responsable des ventes reçoit un e-mail et une notification dans l'application. Il examine, approuve, et la proposition part.

S'il refuse, le commercial reçoit une notification avec le motif du refus, et peut modifier puis soumettre à nouveau.

## Exemple B - Côté acheteur, plusieurs étapes, en parallèle

Cas : le service achats de votre acheteur grand compte exige 3 approbations :

1. le responsable achats ;
2. la finance OU le juridique (en parallèle - le premier qui signe) ;
3. le directeur financier.

**Règle :**

- Domaine : BUYER
- Déclencheur : `quote.total > 100000`
- Étapes :
  1. **Examen du responsable achats** - acteur : attribué par devis (par défaut, le rôle achats de l'entreprise de l'acheteur) - mode : ANY.
  2. **Examen finance OU juridique** - `parallelGroup: 1` - acteurs : finance et juridique - mode : ANY (le premier à approuver libère l'étape).
  3. **Validation finale du directeur financier** - acteur : attribué par devis - mode : ANY.

Quand l'acheteur clique sur **Accepter** sur la proposition, le statut du devis passe à `AWAITING_BUYER_APPROVAL`. QuotWay affiche la chaîne dans le portail acheteur : « Étape 1 sur 3 - examen du responsable achats ».

## Exemple C - Saut conditionnel

Cas : les devis ordinaires passent par une validation ; les devis d'un client prioritaire précis sautent entièrement la validation.

**Règle :**

- Domaine : MERCHANT
- Déclencheur : (aucune condition - s'applique à tout)
- Étapes :
  1. **Examen du responsable des ventes** - acteur : responsable des ventes - mode : ANY - **conditionnel** : sauter si `customer.tags contains "auto-approve"`.

Le tag d'approbation automatique court-circuite entièrement l'étape 1 pour les clients concernés. Pratique pour gérer une courte liste de clients privilégiés sans entretenir deux règles en parallèle.

## Modifier les règles

1. **Interface d'administration → Validations → Nouvelle règle** (ou ouvrez-en une existante). Les nouvelles règles proposent des **modèles** pour les cas courants : partez de l'un d'eux et ajustez, ou construisez de zéro.
2. L'éditeur se lit de haut en bas : **Quand** (qui examine et le déclencheur) → **Quels devis** (portée et conditions) → vos **étapes** → **Alors** (ce qui se passe une fois la chaîne approuvée).
3. Ajoutez des étapes avec les boutons **+** du schéma. Pour chaque étape :
   - choisissez les approbateurs (des membres précis de l'équipe, un rôle, ou des contacts acheteur pour les règles côté acheteur) ;
   - pour exécuter une étape en parallèle de la précédente, cochez **« Exécuter en même temps que l'étape précédente »** ;
   - les sauts conditionnels se trouvent sous **« Ajouter une condition à cette étape »** ; les délais, les cibles d'escalade, la délégation et la justification se trouvent dans les **réglages avancés** de l'étape.
4. **Enregistrez**.
5. **Activez** la règle quand vous êtes prêt.

Vous pouvez avoir plusieurs règles. Elles sont évaluées par ordre de priorité ; la première règle correspondante l'emporte.

Supprimer une règle supprime aussi les chaînes de validation terminées et les décisions consignées sous cette règle, et retirer une étape d'une règle supprime les décisions passées consignées sur cette étape. Pour mettre une règle à la retraite en gardant son historique, désactivez plutôt l'interrupteur **Activée**. Une règle dont une chaîne est encore en cours ne peut pas être supprimée.

## L'état des validations dans la boîte de réception

La boîte de réception des devis affiche l'état courant de chaque validation en attente :

- `AWAITING_MERCHANT_APPROVAL` - côté marchand ; le responsable des ventes doit se prononcer.
- `AWAITING_BUYER_APPROVAL` - côté acheteur ; la chaîne de l'acheteur est en cours.

Ouvrez le détail du devis → onglet **Validations** pour voir toute la chaîne : le statut de chaque étape, qui doit agir ensuite, et le temps écoulé sur l'étape en cours.

## Escalade

Sur Enterprise, une étape peut recevoir un délai dans ses **réglages avancés**. Quand une étape attend au-delà de ce délai, la tâche planifiée horaire **approval-escalation-check** applique l'action que vous avez choisie : envoyer un rappel, réattribuer l'étape à quelqu'un d'autre, ou l'approuver ou la refuser automatiquement. Une approbation ou un refus automatique est consigné comme une décision du système, avec une justification indiquant que le délai a expiré.

Une chaîne toujours ouverte 7 jours après son démarrage est consignée sous la forme d'un événement `MerchantEvent('approval_chain_stuck_7d')` pour l'analyse.

Pour déplacer une étape à la main, son approbateur peut la déléguer depuis le devis - voir [Délégation de validation](#d-l-gation-de-validation).

## Ce que voit l'acheteur

Sur les boutiques compatibles B2B, les acheteurs voient la chaîne de validation dans l'extension d'interface du compte client OU dans le portail hébergé - selon le chemin utilisé par votre boutique. Chaque étape affiche :

- un badge de statut (PENDING / ACTIVE / APPROVED / REJECTED) ;
- le libellé du rôle de l'acteur (les données personnelles comme les noms sont masquées dans la vue acheteur, sauf si l'acheteur fait lui-même partie de la chaîne) ;
- le bouton d'action si la personne qui consulte est l'acteur en cours.

## Délégation de validation

Quand une étape l'autorise (**Allow the approver to delegate this step**, dans les **réglages avancés** de l'étape - Enterprise), un approbateur qui ne peut pas agir peut déléguer cette étape depuis le devis à un autre membre actif de l'équipe, avec une note facultative. Côté acheteur, les approbateurs délèguent à un autre contact, par e-mail. La délégation porte sur une étape, pas sur une période : la personne désignée reprend la décision de cette étape, l'approbateur d'origine ne peut plus la trancher, la passation est consignée avec les décisions de l'étape, et l'étape ne revient pas d'elle-même à l'approbateur d'origine.

---

## Pièges courants

- **L'éditeur de règles est bloqué par « Mise à niveau requise ».** Vous êtes sur Lite ou Starter. Les flux de validation demandent Professional et au-delà.
- **L'étape se déclenche mais l'acteur ne reçoit pas d'e-mail.** Vérifiez que la fiche StaffMember de l'acteur porte une adresse e-mail. Shopify masque parfois les e-mails de l'équipe dans l'API - voir Dépannage.
- **Le saut conditionnel ne se déclenche jamais.** Le conditionnel utilise le même format de règle que le ciblage (voir [Règles de ciblage](../targeting/targeting-rules.md)). Vérifiez que la condition correspond aux données réelles du devis.
- **Un groupe parallèle dont tous les acteurs sont en `mode: ALL`.** Cela fonctionne, mais se lit comme « tout le monde dans le groupe doit approuver, dans n'importe quel ordre ». Souvent, c'est `mode: ANY` que vous voulez.

---

## Articles liés

- [Acceptation partielle et conversion scindée](../converting-to-orders/partial-acceptance-and-split-conversion.md) - ce qui se passe une fois une proposition approuvée puis acceptée.
- [Portail acheteur ou compte client](../buyer-experience/portal-vs-customer-account.md) - là où apparaissent les validations côté acheteur.
