Passer au contenu principal

Commandes

Le cycle de vie des commandes, statuts, effets sur le stock, le workflow appel-confirmation, l'envoi au transporteur, et l'addon CRM Advanced Orders.

Écrit par Support

Chaque commande traverse une série de statuts, dont certains que vous définissez à la main et d'autres que DZBuild définit pour vous. Cette page couvre la liste des commandes, la popup d'aperçu et la page de détail, le workflow appel-confirmation que la plupart des marchands algériens utilisent, l'envoi des commandes à un transporteur, et l'addon CRM Advanced Orders pour les sous-statuts et tentatives d'appel.

Vidéo

La liste des commandes

Ouvrez Dashboard → Orders sur /dashboard/orders. Chaque ligne affiche :

  • Une case de sélection

  • Le numéro de commande — avec une vignette du produit (un badge +N quand la commande contient plusieurs articles), une icône de source de trafic et l'éventuelle étiquette de couleur que vous avez posée

  • Nom et téléphone du client — avec un badge de score de fraude, et un badge rouge si vous avez banni ce client

  • Total

  • Pastille de statut — plus un badge camion dès que la commande a été envoyée en livraison

  • Date et heure

  • Actions — voir, imprimer l'étiquette, modifier

La wilaya et la commune ne sont pas des colonnes ; elles apparaissent dans la popup d'aperçu et sur la page de détail.

Numéros de commande : la liste affiche un numéro court propre à la boutique (#1, #2, …), compté séparément pour chaque boutique. La référence système complète, utilisée sur les étiquettes transporteur, les emails et la page de suivi, est ORD-<store id>-<YYYYMMDD>-<8 hex characters> (par exemple ORD-11-20260804-3F9A2B1C), ou LP-<8 hex characters> pour une commande prise sur une landing page. Les numéros ne sont jamais réutilisés : un trou après une commande supprimée est normal.

Filtrez par :

Filtre

Usage

Statut

Trouver toutes les commandes pending à appeler

Période

Toutes les périodes / Aujourd'hui / Cette semaine / Ce mois (présélections fixes, pas une plage de dates libre)

Wilaya

Planifier les remises au transporteur par région

Type de livraison

home / desk / pickup

Envoyée en livraison

Envoyée / non envoyée — c'est ainsi que vous trouvez les commandes du jour non expédiées

Doublons

Même téléphone commandant le même produit sur plusieurs commandes

Il n'y a pas de filtre par société de livraison ni de filtre de paiement — les commandes de la boutique sont en paiement à la livraison.

Cherchez par téléphone, nom du client, ou numéro de commande depuis la barre en haut.

Commandes en direct

Laissez la page Commandes ouverte pendant une campagne : les nouvelles commandes arrivent en temps réel. La ligne est injectée en haut de la liste avec une animation de flash, les compteurs montent, un toast apparaît et un court carillon retentit — sans rafraîchir.

Étiquettes de couleur

Chaque commande peut porter une étiquette de couleur — une façon légère de taguer les commandes (« rappeler demain », « adresse à vérifier ») directement depuis la liste, sans installer l'addon Advanced Orders. La pastille s'affiche sur la ligne, aussi bien dans le tableau desktop que dans la carte mobile.

D'où vient cette commande ?

Chaque commande porte une petite icône de source de trafic (Meta, TikTok, Google, Direct, …). DZBuild la déduit au moment du checkout, dans cet ordre : les identifiants de clic (fbclid, ttclid, gclid), les tags UTM, le domaine référent, et enfin la détection du navigateur in-app (Instagram, Facebook, TikTok, Snapchat, Threads, YouTube, Telegram). Une commande ouverte depuis un navigateur in-app sans pixel installé finit souvent en direct/other, et les commandes passées avant la sortie de cette fonctionnalité n'ont aucune source.

Plafond de commandes par plan

Plan

Commandes par mois calendaire

Gratuit

30

Professionnel

Illimité

Illimité

Illimité

Entreprise

Illimité

Quand une boutique en plan Gratuit atteint 30 commandes dans un mois calendaire, la boutique ferme : la page d'accueil, les pages produit et la page de checkout sont remplacées par un avis « boutique fermée », et les soumissions de commandes, aussi bien depuis la boutique que depuis les landing pages, sont rejetées — ce n'est pas seulement le bouton de commande. Les commandes déjà passées ne sont pas touchées et le dashboard reste pleinement utilisable. Les commandes créées à la main depuis le dashboard comptent elles aussi dans le plafond.

Le compteur est réinitialisé automatiquement le 1er du mois, ou immédiatement en cas de montée en gamme. La page Commandes affiche une carte d'usage en direct avec une barre de progression, le nombre restant et un décompte des jours avant réinitialisation, un avertissement à partir de 80 % et une bannière rouge une fois le plafond atteint.

Pour monter en gamme, ouvrez /dashboard/subscribe et cliquez ▶ How to renew pour la visite guidée dans l'app, ou regardez les tutoriels sur la chaîne YouTube DZBuild.

La machine à états

pending → confirmed → processing → shipped → delivered
                ↓                       ↓
            cancelled             cancelled / returned

📝 Remarque

Le schéma représente le chemin normal, pas un chemin imposé — le sélecteur de statut vous laisse déplacer une commande vers n'importe lequel des sept statuts à tout moment. processing est aussi défini automatiquement dès que vous envoyez une commande à un transporteur, et shipped / delivered / returned sont définis automatiquement par la synchronisation du suivi transporteur.

Statut

Description

pending

Le client a passé la commande ; vous ne l'avez pas encore vérifiée.

confirmed

Vous avez appelé et vérifié — le stock est décrémenté.

processing

En préparation / emballage, ou tout juste envoyée à un transporteur.

shipped

Remis au transporteur ; numéro de suivi émis.

delivered

Reçu par le client.

cancelled

Annulé avant livraison — le stock est restauré s'il avait été décrémenté.

returned

Retourné après livraison — le stock est restauré et un événement négatif est enregistré dans le score de fraude du client. Aucun remboursement n'est consigné pour une commande de boutique ; un état de paiement refunded n'existe que sur les commandes des boutiques digitales.

Effets sur le stock

  • Le stock est décrémenté quand la commande passe à confirmed, pas à pending. Cela vous protège des commandes spam.

  • Le stock est considéré comme engagé tant que la commande est en confirmed, processing, shipped ou delivered.

  • Annuler ou retourner une commande restaure le stock — mais uniquement s'il avait été engagé. Annuler une commande encore pending ne change aucun stock.

  • Envoyer à un transporteur une commande encore pending la fait passer en processing, et c'est à ce moment-là que son stock est déduit.

  • Supprimer une commande dont le stock avait déjà été engagé remet ce stock ; supprimer une commande encore pending ne change rien.

Ouvrir une commande

Cliquer sur une ligne ouvre une popup d'aperçu rapide dans la liste : articles, client, totaux, un sélecteur de statut, un bouton d'appel, l'envoi en livraison et l'impression de l'étiquette.

Pour ouvrir la page autonome complète sur /dashboard/orders/<id>, utilisez l'icône œil dans la colonne Actions. L'icône crayon ouvre la page d'édition complète sur /dashboard/orders/<id>/edit.

La page détail commande

  • Pipeline de statuts — une barre visuelle en lecture seule montrant où en est la commande (pending → confirmed → processing → shipped → delivered, avec une branche cancelled/returned). Elle est purement indicative : changez le statut depuis le sélecteur de statut dans la popup d'aperçu ou sur la page de détail, pas en cliquant sur le pipeline.

  • Articles — ce qui a été commandé, avec variantes, prix, totaux.

  • Client — nom, téléphone, adresse. La popup d'aperçu affiche aussi un petit badge comptant combien de commandes ce numéro a passées chez vous, affiché uniquement quand il y en a plus d'une. C'est un indicateur, pas un lien — pour voir les autres commandes du client, cherchez son numéro dans la barre de recherche des commandes ou ouvrez Clients.

  • Livraison — wilaya / commune, transporteur, numéro de suivi, type de livraison (home / desk / pickup).

  • Paiement — paiement à la livraison, et le montant à encaisser.

  • Notes — deux champs distincts : Notes client, ce que l'acheteur a tapé dans le formulaire de checkout (celles-ci viennent donc du client, elles ne sont pas internes), et Notes vendeur, vos notes internes. Les deux sont modifiables depuis la page commande. Les champs de formulaire personnalisés des landing pages sont ajoutés aux notes vendeur sous forme de lignes label: value et s'affichent en pastilles.

La page commande de base ne garde aucun journal d'audit par changement. Un historique de statuts horodaté complet, avec l'agent auteur de chaque changement, n'existe que dans l'addon Advanced Orders.

Modifier une commande

La page d'édition complète sur /dashboard/orders/<id>/edit permet de :

  • Changer les coordonnées du client, la wilaya et la commune — la livraison est recalculée en direct.

  • Changer le type de livraison.

  • Ajouter ou retirer des produits, changer les quantités, et modifier le prix d'une ligne.

  • Appliquer une remise.

  • Forcer le prix de livraison à la main.

⚠️ Attention

Enregistrer depuis la popup d'aperçu de la liste ne conserve pas un prix de livraison forcé — cela le réinitialise à votre grille tarifaire. Si vous avez forcé la livraison, enregistrez depuis la page d'édition complète.

Créer une commande à la main

Vous prenez des commandes par téléphone, DM Instagram ou WhatsApp ? Ajoutez-les depuis la page Commandes : cherchez un produit, choisissez variantes et quantité, puis remplissez les coordonnées du client et sa wilaya / commune — la livraison est tarifée depuis la grille de votre boutique.

Les commandes manuelles démarrent en pending, sont en paiement à la livraison comme toutes les autres, et comptent dans la limite de 30 par mois du plan Gratuit. En créer une nécessite la permission orders.edit.

Le workflow appel-confirmation

La plupart des marchands algériens utilisent un flux de confirmation par téléphone :

  1. La commande arrive en pending.

  2. Vous appelez le client pour confirmer que la commande est réelle et toujours souhaitée.

  3. Mettez confirmed si réel → stock décrémenté, prêt à expédier.

  4. Mettez cancelled si faux ou client annulé → aucun stock utilisé.

Un bouton Call vert dans la popup d'aperçu (et dans le tableau Advanced Orders) transforme le numéro du client en lien tel:, donc l'appel est à un tap sur mobile. Il se trouve dans la popup d'aperçu de la liste, pas sur la page de détail autonome.

Pour une page CRM dédiée avec sous-statuts, suivi des appels et chronologie complète par commande, installez Advanced Orders.

Repérer les mauvaises commandes

  • Score de fraude — chaque commande affiche un badge pour ce numéro de téléphone, construit à partir de son historique d'annulations, de retours et de livraisons réussies. Passer une commande en cancelled, returned ou delivered alimente cet historique.

  • Bannir un client — depuis la commande, bannissez le numéro de votre boutique avec un motif obligatoire. Les clients bannis reçoivent un badge rouge sur leurs commandes.

  • Filtre Doublons — fait remonter le même numéro commandant le même produit sur plusieurs commandes, la forme habituelle d'un double envoi ou d'une farce.

Envoyer une commande à un transporteur

Liez d'abord un transporteur sur /dashboard/link-shipping — voir Livraison. Dès qu'il y en a un de lié, la popup d'aperçu et la page de détail affichent toutes deux un bouton Send to delivery :

  1. Choisissez un fournisseur de livraison dans la liste (affichée seulement si vous en avez plusieurs liés ; votre transporteur par défaut est marqué d'une ⭐).

  2. Cliquez Send. DZBuild appelle l'API du transporteur, récupère un numéro de suivi et le stocke sur la commande avec le nom du transporteur, marque la commande comme envoyée, et fait passer le statut de pending / confirmed à processing — pas à shipped. Une commande déjà dans un autre statut conserve ce statut. Si la commande était encore pending, c'est à ce moment que le stock est déduit.

La commande passe ensuite à shipped / delivered / returned toute seule, au fil de la lecture du statut transporteur par la synchronisation de suivi.

La fenêtre d'envoi ne vous laisse choisir que le transporteur. Domicile vs bureau vs retrait est une propriété de la commande elle-même, définie par le client au checkout — pour la changer, modifiez la commande (la modale d'édition de la popup d'aperçu, ou /dashboard/orders/<id>/edit), ce qui recalcule aussi le coût de livraison.

Un envoi en stop desk est refusé par DZBuild, avant tout appel API, quand les données transporteur synchronisées disent que cette wilaya n'a pas de bureau. Et si l'API du transporteur est indisponible, DZBuild remonte l'erreur et laisse la commande inchangée — pas de demi-état.

Le suivi après la remise

Dès que la commande a un numéro de suivi, DZBuild réinterroge le transporteur automatiquement et projette le statut courant du transporteur sur le statut de la commande (shipped, delivered, returned, cancelled). Un changement côté transporteur peut mettre un peu de temps à apparaître sur la commande. La page commande affiche le dernier statut transporteur sur une seule ligne, avec un bouton Refresh pour une vérification à la demande.

Il n'y a pas d'historique événement par événement — seul le dernier statut est stocké. Un statut transporteur non reconnu est ignoré plutôt que deviné : un statut rare peut donc laisser la commande en place jusqu'à ce que vous la changiez à la main.

Imprimer une étiquette

L'icône imprimante sur n'importe quelle commande imprime son étiquette.

  • Si la commande a déjà été envoyée à un transporteur propulsé par Ecotrack ou à Elogistia et possède un numéro de suivi, vous obtenez le bordereau PDF du transporteur lui-même.

  • Pour tous les autres transporteurs, et pour les commandes pas encore expédiées, DZBuild imprime sa propre feuille : nom et téléphone de la boutique, nom, téléphone et adresse du client, la liste des articles avec quantités et prix, sous-total / livraison / total, le numéro de suivi quand il y en a un, et un QR code qui rouvre la commande dans votre dashboard.

Sur mobile — et sur desktop quand la popup est bloquée — la feuille s'affiche en ligne au lieu d'ouvrir une fenêtre d'impression. Pour la personnalisation d'étiquette par produit, voir Custom Delivery Label.

Actions en masse

Cocher des commandes (ou la case tout-sélectionner de l'en-tête) révèle une seule action en masse : Send to delivery, avec une liste de transporteurs quand plusieurs sont liés. La barre d'actions en masse n'existe que si au moins un transporteur est lié, et les commandes déjà envoyées ont leur case désactivée.

Maximum 50 commandes par opération. Les résultats reviennent dans une modale répartie en envoyées / échouées / ignorées.

Il n'y a pas de changement de statut en masse, pas de génération d'étiquettes en masse, et pas d'export CSV ou Excel des commandes dans le dashboard. Ce qui s'en rapproche le plus est l'addon Google Sheets, qui pousse les commandes vers une feuille de calcul.

Qui peut faire quoi

Les commandes sont protégées par permissions à trois niveaux — voir, modifier et supprimer (une quatrième case export existe dans l'écran Équipe mais n'est reliée à rien aujourd'hui) — de sorte qu'un agent de centre d'appel peut recevoir voir + modifier sans pouvoir supprimer des commandes. Notez que confirmer une commande, la modifier, en créer une à la main et l'envoyer à un transporteur partagent toutes la même permission orders.edit ; elles ne peuvent pas être accordées séparément.

Notifications

Quand une nouvelle commande arrive :

  • Sur la page Commandes — la ligne est injectée en direct en haut de la liste avec un flash, un toast apparaît et un court carillon retentit. Il n'y a pas de centre de notifications en cloche dans le dashboard ni d'interrupteur pour le carillon ; il ne sonne que sur la page Commandes.

  • Email au propriétaire de la boutique.

  • Push — activez l'interrupteur Push sur /dashboard/notifications et acceptez la demande du navigateur. Cela fonctionne dans tout navigateur qui supporte le Web Push ; installer le dashboard en PWA n'est pas requis (sauf sur iOS, d'où l'indication iOS affichée sur la page). Dans l'application mobile DZBuild, la même ligne s'appelle « notifications de l'app ».

  • Telegram — connectez un ou plusieurs comptes ; chaque membre de l'équipe a sa propre place, avec ses interrupteurs indépendants pour les nouvelles commandes et les changements de statut.

  • Discord — mêmes interrupteurs par canal pour les nouvelles commandes et les changements de statut.

Les canaux que vous pouvez activer sur /dashboard/notifications sont Push, Email, Telegram et Discord.

Webhooks

Deux chemins distincts :

  1. Installez l'addon Webhooks (n8n / Make / Zapier) depuis /dashboard/addons — il nécessite le plan Illimité — puis ajoutez l'URL de votre automatisation sur /dashboard/webhooks. DZBuild poste une charge utile signée en HMAC dès qu'une commande est créée ou que son statut change.

  2. Si vous développez contre l'API publique, enregistrez plutôt vos webhooks avec votre clé API — voir Webhooks (API).

Advanced Orders (addon — plan Illimité)

La page CRM sur /dashboard/orders/advanced ajoute :

  • 12 sous-statuts par-dessus les standards : no answer, busy line, postponed, waiting customer call, confirmed, cancelled, fake, duplicate, customer cancelled, at courier, returned, completed.

  • Suivi des tentatives d'appel — chaque tentative est consignée avec l'un de cinq résultats (pas de réponse, occupé, répondu, mauvais numéro, rappel demandé) plus une note, et une pastille rouge du nombre d'appels s'affiche sur la ligne.

  • Chronologie complète des statuts par commande, avec l'agent auteur de chaque changement.

  • Statistiques d'équipe — activité par agent sur la file d'appels.

  • Filtrer et chercher par sous-statut.

La page CRM ne remplace pas la page commandes standard, mais elle n'est pas en lecture seule non plus. Huit des douze sous-statuts sont mappés sur le statut de commande de base — confirmed → confirmed ; cancelled, fake, duplicate et customer cancelled → cancelled ; at courier → shipped ; returned → returned ; completed → delivered. En définir un change aussi le statut sur la page commandes standard, déplace le stock, met à jour le score de fraude du client et déclenche les notifications de changement de statut habituelles. Les quatre états d'avant-confirmation (no answer, busy line, postponed, waiting customer call) n'ont pas d'équivalent de base et laissent le statut de la commande intact.

Activez depuis /dashboard/addons (nécessite le plan Illimité).

Astuces

  • Confirmez par téléphone dans l'heure suivant la commande quand vous le pouvez — plus le délai est long, plus il y a d'annulations.

  • Ne passez pas en confirmed sans avoir vérifié réellement. Cela décrémente le stock et crée une vraie intention d'expédition.

  • Utilisez les sous-statuts si votre équipe gère ≥ 50 commandes/jour — les rappels no answer méritent leur propre file.

  • Nettoyez les vieux pending chaque semaine. Ils sont souvent faux ou spam et encombrent la liste — annulez-les un par un depuis la liste, ou traitez-les dans la file Advanced Orders.

  • Liez le détail à un seul écran pendant les sessions d'appels — ouvrez-le sur tablette, appelez du téléphone.

  • Envoyez au transporteur en lots à la même heure chaque jour pour qu'il anticipe la fenêtre de retrait — jusqu'à 50 commandes par lot.

La suite

Avez-vous trouvé la réponse à votre question ?