Votre template de données Order to Cash, traitement des commandes clients
Votre template de données Order to Cash, traitement des commandes clients
- Attributs recommandés à collecter
- Activités clés à suivre
- Guide d’extraction pour Salesforce Sales Cloud
Order to Cash, attributs du traitement des commandes clients
| Nom | Description | ||
|---|---|---|---|
| Commande client SalesOrderId | Identifiant unique de chaque commande client, utilisé comme dossier principal pour suivre l’ensemble du processus order-to-cash. | ||
| Description L’ID de commande client constitue la base de l’analyse du processus. Il identifie de manière unique chaque commande client tout au long de son cycle de vie et relie toutes les activités associées, de la création et de l’approbation à l’exécution et au paiement. Dans le Process Mining, chaque événement lié à une commande donnée est rattaché à cet ID. Vous pouvez ainsi reconstituer le parcours complet de la commande et analyser en détail les temps de cycle, les variantes du processus et les goulots d’étranglement pour chaque commande. Pourquoi c’est important Cet attribut est essentiel pour regrouper tous les événements associés dans un même dossier et visualiser et analyser le flux de processus de bout en bout pour chaque commande client. Où les obtenir Il s’agit du champ « Id » de l’objet standard Salesforce « Order ». Exemples 8018d000000XwPBAA08018d000000Y1qCAAS8018d000000Z3kDAB1 | |||
| Heure de l’événement EventTime | Date et heure exactes auxquelles l’activité a eu lieu. | ||
| Description L’heure de l’événement, ou horodatage, enregistre le moment précis où une activité s’est produite. Ces données sont essentielles pour ordonner correctement les événements et calculer les délais entre les activités, ce qui constitue le fondement de toute analyse temporelle en Process Mining. Cet attribut sert à ordonner les activités de chaque dossier, à calculer les délais de cycle, à repérer les temps d’attente et à analyser la performance du processus sur différentes périodes. Des horodatages inexacts ou manquants peuvent fortement limiter l’utilité de l’analyse. Pourquoi c’est important Les horodatages sont indispensables pour classer les événements dans l’ordre chronologique et calculer les indicateurs de performance, notamment les temps de cycle et les goulots d’étranglement. Où les obtenir Correspond à des champs tels que « CreatedDate » ou « LastModifiedDate » sur l’objet « Order » ou sur des enregistrements associés. Pour certains événements, il peut provenir de la date d’achèvement d’un enregistrement « Task ». Exemples 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:00:00Z | |||
| Nom de l’activité ActivityName | Nom de l’événement métier ou de la tâche spécifique survenu dans le cycle de vie de la commande client. | ||
| Description Le nom de l’activité décrit une étape du processus de commande client, telle que « Commande créée », « Contrôle de crédit effectué » ou « Facture envoyée ». Ces activités constituent les éléments de base de la cartographie du processus et sont déduites des événements système, des changements de statut ou de l’achèvement de tâches. L’analyse de ces activités permet de visualiser le flux du processus, d’identifier les parcours fréquents, appelés variantes, et de mesurer la fréquence et la durée de chaque étape. Elle est fondamentale pour comprendre ce qui se passe réellement dans le processus. Pourquoi c’est important Cet attribut définit les étapes de la cartographie du processus. Sans lui, vous ne pouvez ni visualiser le flux du processus ni analyser la manière dont les commandes clients sont réellement traitées. Où les obtenir Généralement déduit des changements du champ « Order.Status », de la création d’enregistrements associés, par exemple « Invoice », ou de l’achèvement d’enregistrements « Task » ou « Event » liés à la commande. Exemples Commande crééeCommande approuvéeMarchandises expédiéesPaiement reçu | |||
| Dernière mise à jour des données LastDataUpdate | Horodatage indiquant la date de la dernière extraction ou actualisation des données. | ||
| Description Cet attribut enregistre la date et l’heure de la dernière extraction des données depuis le système source. Il fournit un contexte important sur l’actualité des données analysées. Les analystes utilisent cette information pour vérifier qu’ils consultent les données de processus les plus récentes et évaluer la pertinence de leurs conclusions. Il s’agit d’une métadonnée essentielle pour tout projet de Process Mining. Pourquoi c’est important Informe les utilisateurs de l’actualité des données afin qu’ils comprennent à quel point l’analyse est récente. Où les obtenir Il s’agit d’un horodatage généré et ajouté lors du processus d’extraction, de transformation et de chargement (ETL) des données. Exemples 2023-11-01T05:00:00Z | |||
| Système source SourceSystem | Identifie le système depuis lequel les données ont été extraites. | ||
| Description Cet attribut précise l’origine des données du processus. Pour cette analyse, sa valeur sera toujours « Salesforce Sales Cloud ». Dans les environnements qui utilisent plusieurs systèmes, ce champ est essentiel pour assurer la traçabilité des données et faciliter le diagnostic. Même dans un contexte reposant sur un seul système, il fournit des métadonnées importantes sur l’origine des données. Pourquoi c’est important Fournit un contexte essentiel sur l’origine des données, ce qui est important pour la gouvernance des données et l’intégration de données provenant de plusieurs systèmes sources. Où les obtenir Il s’agit généralement d’une valeur statique ajoutée lors de l’extraction des données afin d’identifier le jeu de données. Exemples Salesforce Sales Cloud | |||
| Date de livraison demandée RequestedDeliveryDate | Date de livraison de la commande demandée par le client. | ||
| Description Cet attribut enregistre la date à laquelle le client prévoit de recevoir ses marchandises. Il sert de référence essentielle pour mesurer la performance des livraisons et la satisfaction client. Cette date est utilisée directement dans le Dashboard « Suivi du respect des dates de livraison » et pour le KPI « Taux de livraison à temps ». Elle est comparée à la date réelle de livraison, c’est-à-dire à l’horodatage « Marchandises livrées », afin de déterminer si la commande a été livrée à temps, en avance ou en retard. Pourquoi c’est important Il s’agit de la principale référence pour mesurer la ponctualité des livraisons, un indicateur important de la satisfaction client et de l’efficacité opérationnelle. Où les obtenir Il s’agit souvent d’un champ de date personnalisé sur l’objet « Order ». Son nom exact peut varier. Consultez la documentation ou le schéma de Salesforce Sales Cloud. Exemples 2023-11-152023-12-012024-01-10 | |||
| Délai total du cycle CycleTime | Temps total écoulé entre la création de la commande client et sa clôture définitive. | ||
| Description Le délai total du cycle est un indicateur clé de performance qui mesure la durée de bout en bout du processus de commande client. Il correspond à la différence entre le premier événement, par exemple « Commande créée », et le dernier, par exemple « Commande clôturée ». Cette mesure constitue le principal indicateur du Dashboard « Délai de cycle de bout en bout des commandes clients ». Son analyse permet d’identifier les inefficacités globales du processus et de mesurer l’impact des initiatives d’amélioration. Les écarts de délai peuvent être étudiés en croisant les données avec d’autres attributs, tels que le pays ou la famille de produits. Pourquoi c’est important Il s’agit d’un KPI fondamental pour mesurer l’efficacité globale du processus et identifier les commandes dont la durée excessive peut révéler des problèmes systémiques. Où les obtenir Calculé lors de la transformation des données en soustrayant l’horodatage du premier événement de celui du dernier événement pour chaque « SalesOrderId ». Exemples 10 jours 4 heures25 jours 11 heures5 jours 2 heures | |||
| Montant total de la commande TotalOrderAmount | Valeur monétaire totale de la commande client. | ||
| Description Cet attribut représente le montant financier total de la commande du client. Il s’agit d’un indicateur important pour comprendre l’impact métier des gains ou des pertes d’efficacité du processus. Dans l’analyse, le montant total de la commande peut servir à segmenter les dossiers, par exemple pour déterminer si les commandes de forte valeur sont traitées différemment ou subissent davantage de retards que les commandes de faible valeur. Il est également indispensable au calcul des KPI financiers et à la compréhension de la valeur qui circule dans le processus. Pourquoi c’est important Permet d’analyser les aspects financiers du processus, de segmenter les commandes selon leur valeur et de quantifier l’impact financier des retards ou des reprises. Où les obtenir Il s’agit du champ « TotalAmount » de l’objet standard Salesforce « Order ». Exemples 5400.50125000.00950.75 | |||
| Nom du compte AccountName | Nom du client ou de l’entreprise à l’origine de la commande client. | ||
| Description Le nom du compte identifie le client associé à la commande client. Il permet d’analyser le processus du point de vue du client. Grâce à cet attribut, les analystes peuvent filtrer le processus pour certains clients, comparer la performance du processus entre différents segments de clientèle ou déterminer si certains clients rencontrent régulièrement des problèmes. Il est essentiel pour relier directement la performance du processus à l’expérience client. Pourquoi c’est important Relie la performance du processus à des clients précis et permet une analyse et une segmentation par client afin d’identifier des tendances ou des problèmes. Où les obtenir L’objet « Order » possède un champ de recherche « AccountId ». Cet identifiant doit être associé à l’objet « Account » pour récupérer le champ « Account.Name ». Exemples Global Tech Inc.Innovate Solutions LLCVenture Dynamics | |||
| Statut de la commande OrderStatus | Statut de la commande client au moment de l’événement. | ||
| Description Cet attribut enregistre l’état de la commande client, par exemple « Draft », « Activated », « Shipped » ou « Closed ». Les changements de statut servent souvent à générer les activités du journal de processus. L’analyse du statut de la commande fournit un contexte pour chaque événement et est essentielle au suivi de l’avancement de la commande. Elle permet de comprendre l’issue des dossiers, notamment de distinguer les commandes « Cancelled » de celles qui ont été correctement « Closed ». Pourquoi c’est important Fournit un contexte important pour chaque événement et sert souvent de base à la définition des activités. Il est également essentiel pour analyser les issues des dossiers, notamment les annulations. Où les obtenir Il s’agit du champ de liste de sélection « Status » de l’objet standard Salesforce « Order ». Exemples BrouillonActivéeExpédiéeClôturéeAnnulée | |||
| Utilisateur exécutant l’action UserPerformingAction | Nom de l’utilisateur ou de l’agent système qui a exécuté l’activité. | ||
| Description Cet attribut identifie la personne responsable de l’exécution d’une étape du processus. Il peut s’agir d’un commercial, d’un analyste crédit ou d’un utilisateur système automatisé. L’analyse fondée sur cet utilisateur est essentielle pour comprendre la répartition de la charge de travail, la performance individuelle et le niveau d’automatisation. Elle permet de répondre à des questions telles que « Quels utilisateurs effectuent le plus de reprises ? » ou « Certaines équipes approuvent-elles les commandes plus rapidement ? ». Elle sert également à l’analyse des réseaux sociaux afin d’observer les transferts de travail entre les personnes. Pourquoi c’est important Permet d’analyser la performance par utilisateur, équipe ou rôle, et d’identifier les possibilités d’automatisation ou les besoins de formation. Où les obtenir Peut être trouvé dans des champs tels que « LastModifiedById » sur l’objet « Order » ou « OwnerId » sur les enregistrements « Task ». Ces identifiants doivent être associés à l’objet « User » pour obtenir le nom de l’utilisateur. Exemples Alice SmithBob JohnsonAutomatisation systèmeÉquipe crédit | |||
| Canal de vente SalesChannel | Canal par lequel la commande client a été passée, par exemple « Web », « Vente directe » ou « Partenaire ». | ||
| Description L’attribut Canal de vente catégorise les commandes selon leur origine. Il permet de comparer la performance du processus entre différents canaux. Il est essentiel au Dashboard « Comparaison de la performance des canaux de vente ». En filtrant ou en comparant les canaux, les entreprises peuvent déterminer lesquels sont les plus efficaces, lesquels génèrent le plus de reprises et où des efforts de standardisation sont nécessaires pour harmoniser la performance. Pourquoi c’est important Permet de comparer la performance entre différents canaux commerciaux, d’identifier les bonnes pratiques et de repérer les domaines où une harmonisation du processus est nécessaire. Où les obtenir Il s’agit généralement d’un champ de liste de sélection personnalisé sur l’objet « Order » ou « Opportunity ». Consultez la documentation ou le schéma de Salesforce Sales Cloud. Exemples Ventes directesPortail webRéseau de partenairesVentes internes | |||
| Durée d’encaissement PaymentCollectionDuration | Temps écoulé entre l’envoi de la facture au client et la réception du paiement. | ||
| Description Cette métrique calculée mesure l’efficacité de la dernière étape, essentielle, du cycle order-to-cash : l’encaissement. Elle correspond à la durée comprise entre l’activité « Facture envoyée au client » et l’activité « Paiement reçu ». Cet attribut alimente directement le Dashboard « Durée du recouvrement des paiements » et le KPI « Délai d’encaissement ». L’analyse de cette durée aide le service financier à repérer les goulots d’étranglement du recouvrement, à évaluer l’efficacité des conditions de paiement et à identifier des possibilités d’accélérer les encaissements. Pourquoi c’est important Mesure l’efficacité du processus de gestion des créances clients, qui a une incidence directe sur la trésorerie de l’entreprise. Où les obtenir Calculé lors de la transformation des données en soustrayant l’horodatage de l’événement « Facture envoyée au client » de celui de l’événement « Paiement reçu » pour chaque dossier. Exemples 30 jours15 jours 8 heures45 jours | |||
| Est automatisé IsAutomated | Indicateur précisant si l’activité a été exécutée par un processus système ou par un utilisateur humain. | ||
| Description Cet attribut booléen distingue les événements déclenchés par une automatisation système, comme une mise à jour automatique du statut, de ceux exécutés manuellement par un utilisateur. Il est essentiel pour comprendre le niveau d’automatisation du processus. Son analyse permet de quantifier l’impact de l’automatisation sur l’efficacité et la cohérence. Elle permet de comparer les parcours automatisés et manuels et de repérer les possibilités d’automatisation supplémentaire afin de réduire le travail manuel et le risque d’erreur. Pourquoi c’est important Aide à distinguer les actions du système de celles des utilisateurs, ce qui est essentiel pour analyser l’automatisation et identifier les possibilités de réduire le travail manuel. Où les obtenir Déduit lors de la transformation des données en vérifiant si « UserPerformingAction » correspond à un utilisateur système désigné ou en appliquant des règles fondées sur le type d’activité. Exemples truefalse | |||
| Est une reprise IsRework | Indicateur précisant si la commande client a fait l’objet d’une reprise, par exemple en raison de la répétition d’une activité ou d’une boucle dans le processus. | ||
| Description Cet attribut calculé identifie les dossiers qui s’écartent d’une progression linéaire. Une reprise se produit lorsqu’une activité est répétée ou lorsque le processus revient à une étape antérieure, souvent en raison d’erreurs, d’informations manquantes ou d’approbations refusées. Cet indicateur sert à calculer le KPI « Taux de reprise des commandes clients » et à alimenter le Dashboard « Taux de reprise et d’erreur des commandes clients ». Il permet de quantifier la fréquence et l’impact des inefficacités et de repérer les domaines qui nécessitent de meilleurs contrôles qualité ou une clarification du processus. Pourquoi c’est important Quantifie l’inefficacité du processus en signalant les commandes qui nécessitent un travail supplémentaire imprévu, ce qui a une incidence directe sur les coûts et le délai de cycle. Où les obtenir Calculé par le logiciel de Process Mining ou lors de la transformation des données, en détectant les noms d’activités répétés ou les retours en arrière dans le flux du processus pour un dossier donné. Exemples truefalse | |||
| Famille de produits ProductFamily | Catégorie ou famille à laquelle appartiennent les produits de la commande. | ||
| Description La famille de produits fournit une classification générale des articles inclus dans la commande client. Elle permet d’analyser le processus selon le type de produit vendu. Cet attribut peut servir à segmenter le processus et à déterminer si certaines familles de produits suivent des parcours différents, présentent des délais de cycle plus longs ou génèrent davantage de reprises. Par exemple, des produits complexes et configurables peuvent suivre un processus d’approbation et d’exécution plus élaboré que des articles standard disponibles sur catalogue. Pourquoi c’est important Permet d’analyser le processus par catégorie de produits et de déterminer si certains types de produits entraînent des écarts d’efficacité. Où les obtenir Récupéré depuis l’objet « Product2 », associé à « Order » par l’intermédiaire de l’objet de liaison « OrderItem ». Cette opération nécessite la jointure Order -> OrderItem -> PricebookEntry -> Product2. Exemples MatérielLicences logiciellesServices professionnelsContrats de support | |||
| Heure de fin de l’événement EventEndTime | Date et heure exactes auxquelles l’activité a été achevée. | ||
| Description L’heure de fin de l’événement marque l’achèvement d’une activité. Alors que de nombreux outils de Process Mining la déduisent de l’heure de début de l’activité suivante, son enregistrement explicite permet de calculer plus précisément la durée des activités, notamment lorsqu’elles s’étendent sur une longue période. Cet attribut sert à calculer le temps de traitement précis d’une activité. Il est particulièrement utile pour analyser les tâches de longue durée, telles que « Contrôle de crédit effectué » ou « Stock alloué », et distinguer le temps de traitement actif du temps d’attente. Pourquoi c’est important Il permet de calculer précisément la durée de traitement de chaque activité, ce qui est essentiel pour repérer les goulots d’étranglement et les étapes qui mobilisent le plus de ressources. Où les obtenir Peut être déduit du « StartTime » de l’événement suivant dans la séquence pour un dossier donné. Pour certaines activités, il peut correspondre à un champ spécifique tel que « Task.CompletedDateTime ». Exemples 2023-10-26T10:05:12Z2023-10-26T15:00:00Z2023-10-27T11:20:30Z | |||
| Identifiant de la facture InvoiceId | Identifiant unique de la facture associée à la commande client. | ||
| Description L’identifiant de la facture relie une commande client à la facture correspondante. La création et l’envoi de cette facture constituent des étapes importantes de la seconde moitié du processus order-to-cash. Cet attribut est essentiel pour suivre le processus de l’exécution de la commande au paiement. Il permet de mesurer précisément les activités « Facture créée » et « Facture envoyée au client », nécessaires au calcul de la « Durée d’encaissement ». Pourquoi c’est important Relie la commande client au sous-processus de facturation et permet de suivre précisément les activités financières et les délais du cycle de paiement. Où les obtenir Il s’agit souvent d’un champ de recherche personnalisé sur l’objet « Order », pointant vers un objet « Invoice » standard ou personnalisé. L’implémentation exacte varie. Exemples INV-001234INV-001235INV-001236 | |||
| Livraison à temps IsOnTimeDelivery | Indicateur précisant si les marchandises ont été livrées à la date de livraison demandée par le client ou avant celle-ci. | ||
| Description Cet attribut booléen mesure directement la performance de livraison par rapport aux attentes du client. Il est calculé en comparant l’horodatage de l’activité « Marchandises livrées » avec « RequestedDeliveryDate ». Il constitue le calcul central du KPI « Taux de livraison à temps ». Son analyse aide les organisations à comprendre leur fiabilité et leur respect des engagements, deux facteurs importants de la satisfaction client. Associé à d’autres attributs, il peut révéler si certains modes d’expédition ou certaines régions présentent des taux de livraison à temps plus faibles. Pourquoi c’est important Fournit une mesure binaire claire de la performance par rapport aux engagements pris envers les clients et soutient directement le KPI « Taux de livraison à temps ». Où les obtenir Calculé lors de la transformation des données. La logique est la suivante : IF ('Goods Delivered' EventTime <= 'RequestedDeliveryDate') THEN true ELSE false. Exemples truefalse | |||
| Mode d’expédition ShippingMethod | Mode choisi pour expédier les marchandises, par exemple « Terrestre standard », « Express » ou « International ». | ||
| Description Cet attribut indique le niveau de service logistique choisi pour la livraison de la commande. Il a une incidence directe sur les délais et les coûts de livraison. Dans l’analyse « Efficacité des modes d’expédition », cet attribut sert à comparer la performance des différentes options d’expédition. Il permet de vérifier si les expéditions express respectent leurs engagements de délai et de comprendre l’incidence de chaque mode sur la durée globale entre « Marchandises expédiées » et « Marchandises livrées ». Pourquoi c’est important Permet d’analyser la performance logistique et d’évaluer le coût et l’efficacité des différentes options d’expédition. Où les obtenir Il s’agit probablement d’un champ personnalisé sur l’objet « Order » ou sur un objet personnalisé « Shipment » associé. Consultez la documentation ou le schéma de Salesforce Sales Cloud. Exemples Transport terrestre standardExpress en 2 joursTransport aérien de nuitPriorité internationale | |||
| Pays d’expédition ShippingCountry | Pays de destination de l’expédition liée à la commande client. | ||
| Description Cet attribut précise le pays vers lequel la commande est expédiée. Il constitue une dimension importante pour l’analyse géographique du processus order-to-cash. L’analyse par pays d’expédition peut révéler des écarts régionaux de performance, tels que des délais de livraison plus longs pour les commandes internationales ou des variations dans les cycles d’encaissement. Elle permet de segmenter le processus afin de comprendre et de traiter les difficultés propres à chaque région. Pourquoi c’est important Permet de segmenter géographiquement le processus et de mettre en évidence les écarts de performance régionaux, les problèmes de conformité ou les difficultés logistiques. Où les obtenir Il s’agit du champ « ShippingCountry » de l’objet standard Salesforce « Order ». Exemples USAAllemagneJaponBrésil | |||
| Responsable de la commande OrderOwner | Utilisateur principalement responsable de la gestion de la commande client. | ||
| Description Le responsable de la commande est le commercial ou le responsable de compte qui en assure la responsabilité principale. Il se distingue de l’utilisateur qui exécute une action précise, car il est responsable de l’avancement global du dossier. L’analyse par responsable peut aider à évaluer la charge de travail et la performance des équipes ou des personnes dans la gestion de leur portefeuille de commandes. Elle peut mettre en évidence les responsables dont les commandes sont souvent bloquées ou nécessitent des reprises, ce qui peut signaler un besoin d’accompagnement. Pourquoi c’est important Identifie la personne responsable de la réussite de la commande et permet d’analyser la charge de travail et la performance au niveau du responsable. Où les obtenir Il s’agit du champ « OwnerId » de l’objet « Order ». Cet identifiant peut être associé à l’objet « User » pour obtenir le nom du responsable. Exemples Jane DoeJohn SmithÉquipe commerciale Est | |||
| Statut du contrôle de crédit CreditCheckStatus | Résultat du processus de contrôle de crédit de la commande. | ||
| Description Cet attribut indique le résultat de l’évaluation de crédit du client, qui constitue souvent un point de contrôle important du processus de commande. Les valeurs courantes sont « Approuvé », « Rejeté » ou « En attente ». Cet attribut est essentiel pour le Dashboard « Analyse des goulots d’étranglement du contrôle de crédit ». En suivant le moment où une commande entre dans la phase de contrôle de crédit, celui où elle en sort et son statut final, les organisations peuvent mesurer la durée et le résultat de cette étape et déterminer si elle constitue une source potentielle de retard. Pourquoi c’est important Soutient directement l’analyse de l’étape de contrôle de crédit et permet d’en mesurer la durée, le taux de réussite et l’impact sur le délai global du cycle. Où les obtenir Il s’agit probablement d’un champ personnalisé sur l’objet « Order » ou « Account ». Consultez la documentation ou le schéma de Salesforce Sales Cloud. Exemples ApprouvéRejetéEn attente d’examenNon requis | |||
Order to Cash, activités de traitement des commandes clients
| Activité | Description | ||
|---|---|---|---|
| Commande activée | Événement Salesforce standard indiquant que la commande est finalisée et peut passer à l’exécution et à la facturation. L’activation verrouille la commande contre la plupart des modifications et est enregistrée par un changement de statut spécifique. | ||
| Pourquoi c’est important L’activation est une étape clé, critique et irréversible, qui confirme la validité de la commande. Elle constitue le transfert officiel entre les équipes commerciales et opérationnelles et joue un rôle central dans le suivi des délais du cycle de vente. Où les obtenir Déduit du changement du champ standard « Status » de l’objet « Order » vers la valeur « Activated ». L’horodatage est enregistré dans l’historique des champs de l’objet « Order ». Collecte Surveiller l’historique des champs de l’objet « Order » afin de détecter un changement de statut vers « Activated ». Type d’événement inferred | |||
| Commande clôturée | Représente l’achèvement et la clôture définitive de la commande client dans le système. Cet événement est déduit d’une dernière mise à jour du statut de la commande, indiquant qu’aucune autre action n’est nécessaire. | ||
| Pourquoi c’est important Il s’agit de l’événement de fin du « happy path » principal du processus. La mesure du délai total jusqu’à cette activité fournit le KPI « Délai moyen entre la commande et la clôture ». Où les obtenir Déduit du passage du champ « Status » de l’objet « Order » à une valeur finale telle que « Closed », « Completed » ou « Fulfilled ». L’horodatage est disponible dans l’historique des champs. Collecte Surveillez l’historique des champs de l’objet « Order » afin de détecter le passage à un statut final indiquant que la commande est terminée. Type d’événement inferred | |||
| Commande créée | Indique la création initiale d’un enregistrement de commande client dans le système. Cet événement est explicitement enregistré lorsqu’une nouvelle instance de l’objet « Order » est sauvegardée pour la première fois dans Salesforce. | ||
| Pourquoi c’est important Il s’agit de l’événement de début principal du processus Order to Cash. L’analyse du délai entre ce point et les activités suivantes est essentielle pour comprendre les délais de cycle globaux. Où les obtenir L’événement de création de l’objet « Order ». L’horodatage correspond à la valeur du champ standard « CreatedDate » de l’enregistrement Order. Collecte Directement à partir de l’horodatage « CreatedDate » de l’objet « Order ». Type d’événement explicit | |||
| Facture créée | Représente la génération d’une facture pour la commande client. Cet événement peut être enregistré lors de la création d’un objet « Invoice » associé, soit nativement via Salesforce Billing, soit au moyen d’une intégration. | ||
| Pourquoi c’est important Ce jalon marque le début de la phase d’encaissement du processus financier. Le délai entre la livraison et la facturation peut révéler des goulots d’étranglement administratifs qui affectent la trésorerie. Où les obtenir Déduit de la date de création d’un objet « Invoice » standard ou personnalisé, associé à l’objet « Order ». Collecte Utilisez le champ « CreatedDate » de l’enregistrement « Invoice » associé. Type d’événement inferred | |||
| Marchandises expédiées | Représente le moment où la commande est physiquement expédiée de l’entrepôt au client. Cet événement est presque toujours enregistré par une mise à jour provenant d’un système d’expédition ou d’un ERP externe vers Salesforce. | ||
| Pourquoi c’est important Il s’agit d’une étape clé pour mesurer le « On-Time Shipping Rate » et l’efficacité globale de l’exécution des commandes. Elle marque le début de la phase de livraison dans le parcours client. Où les obtenir Déduit du renseignement d’un champ « Shipped Date » ou « Tracking Number » sur l’objet « Order » ou sur un objet personnalisé « Shipment » associé. Les données proviennent d’un système d’exécution des commandes. Collecte Utiliser l’horodatage correspondant au premier renseignement d’un champ de date d’expédition ou de numéro de suivi. Type d’événement inferred | |||
| Marchandises livrées | Indique que l’expédition est bien parvenue au client. Cette information provient du système du transporteur et est ensuite mise à jour dans Salesforce. | ||
| Pourquoi c’est important Cet événement est essentiel pour calculer le KPI « Taux de livraison à temps » et mesurer les délais réels du cycle côté client. Il confirme que le processus d’exécution est terminé. Où les obtenir Déduit du renseignement d’un champ « Date de livraison » sur l’objet « Order » ou sur un objet personnalisé « Shipment ». Ces données sont généralement fournies par une intégration avec un prestataire de services logistiques. Collecte Utilisez l’horodatage correspondant au renseignement du champ de date de livraison. Type d’événement inferred | |||
| Paiement reçu | Confirme que le paiement du client a été reçu et rapproché. Ces informations sont mises à jour dans Salesforce depuis un système financier, généralement au moyen d’une modification du statut. | ||
| Pourquoi c’est important Cet événement constitue la dernière étape de l’encaissement de la vente. L’analyse du délai entre « Facture envoyée au client » et cette étape est essentielle au suivi de la trésorerie et du délai moyen de recouvrement (DSO). Où les obtenir Déduit du passage du statut de l’objet « Invoice » à « Paid » ou « Closed ». La mise à jour est effectuée par une intégration avec un système comptable ou de traitement des paiements. Collecte Suivez les modifications du statut de l’objet « Invoice » provenant de l’intégration avec le système financier externe. Type d’événement inferred | |||
| Commande annulée | Indique que la commande a été annulée avant la fin de son exécution. Cet événement est enregistré par une modification du statut final de la commande. | ||
| Pourquoi c’est important Il s’agit d’une exception et d’un événement de fin importants. L’analyse des raisons et du moment des annulations peut révéler des problèmes liés au processus commercial, à la disponibilité des produits ou au crédit du client. Où les obtenir Déduit du passage du champ « Status » de l’objet « Order » à « Cancelled ». L’horodatage peut être consulté dans l’historique du champ « Status ». Collecte Surveillez l’historique des champs de l’objet « Order » afin de détecter le passage au statut « Cancelled ». Type d’événement inferred | |||
| Commande approuvée | Indique que la commande client a été formellement approuvée par toutes les parties requises et peut passer à l’étape suivante. Cette information est recueillie en observant l’étape d’approbation finale d’un flux de travail ou la mise à jour de statut correspondante. | ||
| Pourquoi c’est important Il s’agit d’une étape clé qui permet de lancer le processus d’exécution de la commande. Les retards d’approbation peuvent avoir un impact important sur le délai global du cycle Order to Cash. Où les obtenir Déduit d’un changement du champ de statut de l’objet « Order » vers une valeur telle que « Approved ». Il peut également être déterminé à partir de la date d’achèvement de l’enregistrement « ProcessInstance » associé. Collecte Surveiller le champ « Status » de l’objet « Order » ou l’achèvement de l’historique du processus d’approbation. Type d’événement inferred | |||
| Commande envoyée pour exécution | Marque le transfert de la commande activée vers un entrepôt ou un système d’exécution pour la préparation et l’emballage. Cet événement est généralement enregistré par un changement de statut de la commande déclenché par une intégration. | ||
| Pourquoi c’est important Cet événement sépare les volets commercial et logistique du processus. Le suivi du délai entre l’activation et ce point permet de distinguer les retards administratifs des délais de traitement en entrepôt. Où les obtenir Déduit du changement du statut « Order » vers une valeur telle que « Sent to Fulfillment » ou « Awaiting Shipment ». Ce changement de statut est souvent déclenché par une intégration avec un ERP ou un WMS. Collecte Surveiller le champ « Status » de l’objet « Order » afin de détecter les valeurs indiquant le transfert vers l’exécution de la commande. Type d’événement inferred | |||
| Commande soumise pour approbation | Représente le moment où une commande en brouillon est soumise à un flux de travail d’approbation formel. Cette étape est généralement déduite d’un changement de statut de la commande ou de la création d’un enregistrement dans l’historique du processus d’approbation de Salesforce. | ||
| Pourquoi c’est important Le suivi des soumissions permet de mesurer le temps passé par les commandes en attente d’approbation et l’efficacité du processus de contrôle lui-même. Il met en évidence les goulots d’étranglement avant approbation. Où les obtenir Déduit d’un changement de statut de l’objet « Order », par exemple de « Draft » à « Submitted for Approval », ou du suivi de la date de soumission dans l’objet « ProcessInstance » associé à la commande. Collecte Suivre les changements du champ de statut ou interroger l’objet « ProcessInstance ». Type d’événement inferred | |||
| Contrôle de crédit effectué | Représente l’achèvement d’une vérification de la solvabilité du client associé à la commande. Il s’agit souvent d’un événement déduit, enregistré lorsqu’un champ personnalisé, tel que « Credit Check Status », est mis à jour avec la valeur « Passed » ou « Completed ». | ||
| Pourquoi c’est important Cette activité est souvent à l’origine de retards importants. Mesurer sa durée et son temps d’attente est essentiel pour traiter le Dashboard « Credit Check Bottleneck Analysis » et améliorer la trésorerie. Où les obtenir Déduit d’un horodatage ou d’un changement de statut dans un champ personnalisé de l’objet « Order » ou de l’objet « Account » associé, par exemple « Credit_Check_Date__c » ou « Credit_Status__c ». Collecte Suivre les mises à jour des champs personnalisés qui indiquent l’achèvement du contrôle de crédit. Type d’événement inferred | |||
| Facture envoyée au client | Indique que la facture a été envoyée au client pour règlement. Cet événement est généralement enregistré par une modification du statut de la facture. | ||
| Pourquoi c’est important Il s’agit de l’événement déclencheur du KPI « Délai d’encaissement ». Tout retard entre la création et l’envoi de la facture repousse directement le début du délai de paiement. Où les obtenir Déduit du passage du statut de l’objet « Invoice » à « Sent » ou à une valeur équivalente. Une entrée dans le journal d’activité correspondant à l’envoi de l’e-mail peut également être utilisée. Collecte Surveillez le champ « Status » de l’objet « Invoice » associé ou recherchez les activités du journal des e-mails. Type d’événement inferred | |||
| Stocks alloués | Indique que les produits de la commande ont été réservés dans le système d’inventaire. Cet événement provient généralement d’un ERP ou d’un système d’inventaire externe qui met à jour Salesforce, et il est enregistré par une modification de champ. | ||
| Pourquoi c’est important Cette activité est essentielle pour analyser le KPI « Inventory Allocation Lead Time ». Les retards à cette étape affectent directement la capacité à expédier les commandes dans les délais. Où les obtenir Nécessite une analyse du système. L’événement est souvent déduit d’une mise à jour de statut des objets « Order » ou « OrderItem », ou du renseignement d’un champ personnalisé « Allocation_Date__c » alimenté par une intégration. Collecte Suivre les changements des champs de statut ou de date sur les objets Order ou OrderItem provenant d’une intégration ERP. Type d’événement inferred | |||
Guides d’extraction
Étapes
- Prérequis : configurer le suivi de l’historique des champs : avant de créer les rapports, un administrateur Salesforce doit vérifier que le suivi de l’historique des champs est activé pour l’objet Order. Suivez notamment le champ Status ainsi que les champs personnalisés utilisés pour représenter les événements, comme Credit_Check_Status__c ou Fulfillment_Status__c. Cette configuration se trouve dans Setup > Object Manager > Order > Fields & Relationships > Set History Tracking.
- Créer un type de rapport personnalisé : pour accéder aux modifications de champs avec les détails des commandes, créez un type de rapport personnalisé. Accédez à Setup > Report Types. Créez un nouveau type de rapport avec Orders comme objet principal. Ajoutez ensuite Order History comme objet secondaire. Vérifiez que la relation est définie sur « 'A' records may or may not have related 'B' records. » Vous pourrez ainsi inclure toutes les commandes, y compris celles qui ne possèdent pas encore d’historique. Enregistrez ce type de rapport sous le nom « Orders with History ».
- Créer le rapport principal « Events » : accédez à l’onglet Reports et cliquez sur New Report. Sélectionnez le type de rapport « Orders with History ». Ce rapport recueillera toutes les activités fondées sur des modifications de champs.
- Configurer les colonnes du rapport « Events » : ajoutez les colonnes suivantes : Order: Order Number (pour SalesOrderId), Edit Date (pour EventTime), User (pour UserPerformingAction), Field/Event (champ modifié), Original Value et New Value. Ajoutez également d’autres colonnes de l’objet Order parent, comme Order: Total Amount, Account: Account Name et Order: Company Authorized By Date, à utiliser comme équivalent de RequestedDeliveryDate si nécessaire.
- Filtrer le rapport « Events » : définissez le filtre Show Me sur All orders et le champ de date sur Created Date, avec la période souhaitée, par exemple Last 3 Months. Ajoutez un filtre à la colonne Field/Event afin de ne conserver que les modifications correspondant à vos activités, comme Status ou Credit_Check_Status__c.
- Créer le rapport « Order Created » : créez un second rapport plus simple à partir du type de rapport standard Orders. Il doit uniquement enregistrer l’événement de création. Ajoutez les colonnes Order Number, Created Date, Created By, Status, Total Amount et Account Name. Filtrez Created Date selon la période souhaitée.
- Exporter les deux rapports : exécutez les deux rapports et utilisez l’option Export. Choisissez le format Details Only et Comma Delimited .csv.
- Combiner et transformer les données : ouvrez les fichiers CSV exportés dans un tableur comme Microsoft Excel ou utilisez un langage de script comme Python.
- Pour le rapport « Events », créez une colonne ActivityName. Utilisez des formules ou un script pour associer les modifications de champs aux noms d’activités souhaités. Par exemple, si Field/Event vaut « Status » et New Value vaut « Activated », définissez ActivityName sur « Order Activated ».
- Pour le rapport « Order Created », ajoutez une colonne ActivityName et attribuez-lui la valeur « Order Created » pour toutes les lignes. Renommez les colonnes afin de respecter le schéma du journal d’événements, par exemple Order Number → SalesOrderId et Created Date → EventTime.
- Fusionner dans un journal d’événements unique : ajoutez les lignes des données transformées de « Order Created » à celles des données transformées de « Events ». Vous obtenez ainsi une liste unique de toutes les activités.
- Préparer le chargement : ajoutez les colonnes obligatoires restantes : SourceSystem, avec la valeur statique « Salesforce Sales Cloud », et LastDataUpdate, avec l’horodatage actuel. Vérifiez tous les en-têtes de colonnes et les formats de données, puis enregistrez le fichier final au format CSV, prêt à être chargé.
Configuration
- Types de rapports : un type de rapport personnalisé reliant Orders et Order History est indispensable pour enregistrer les changements de statut et autres mises à jour de champs comme des événements distincts.
- Suivi de l’historique des champs : cette méthode repose entièrement sur l’activation du suivi de l’historique des champs pour l’objet Order avant le début de l’extraction. Les champs importants, comme Status et les champs personnalisés représentant les étapes du processus, doivent être suivis.
- Filtres de période : utilisez Created Date sur l’objet Order comme filtre principal afin d’analyser une cohorte de commandes homogène. Pour une première analyse, une période de 3 à 6 mois est recommandée.
- Service d’exportation des données : dans les environnements à fort volume, le Data Export Service peut être planifié, chaque semaine ou chaque mois, pour exporter toutes les données des objets indiqués, notamment Order, OrderHistory et Account. Vous obtenez ainsi des données brutes qui nécessitent un traitement et une jointure externes plus importants, mais évitez les délais d’expiration et les limites de lignes du générateur de rapports interactif.
- Autorisations : les utilisateurs qui exécutent l’extraction doivent disposer des autorisations Run Reports, Export Reports et View All Data pour les objets Order et Account. La configuration du Data Export Service nécessite les privilèges d’un System Administrator.
- Structure des rapports : définissez les rapports au format Tabular Format pour simplifier l’exportation et le traitement. Évitez les formats Summary et Matrix.
a Exemple de requête sql
/*
Salesforce Reports are configured through the user interface. This section describes the configuration of the necessary reports and the logic for post-processing. It is not an executable script.
*/
// ======== REPORT 1: Order Creation Events ========
{
"ReportName": "O2C - Order Created",
"ReportType": "Orders",
"Format": "Tabular",
"Filters": [
{
"Field": "Created Date",
"Operator": "equals",
"Value": "[Specify Date Range, e.g., LAST 90 DAYS]"
}
],
"Columns": [
{"SourceField": "Order Number", "OutputAs": "SalesOrderId"},
{"StaticValue": "Order Created", "OutputAs": "ActivityName"},
{"SourceField": 'Created Date', "OutputAs": "EventTime"},
{"SourceField": "Last Modified By: Full Name", "OutputAs": "UserPerformingAction"},
{"SourceField": "Status", "OutputAs": "OrderStatus"},
{"SourceField": "Total Amount", "OutputAs": "TotalOrderAmount"},
{"SourceField": "Account: Account Name", "OutputAs": "AccountName"},
{"SourceField": "[Your Requested Delivery Date Field]", "OutputAs": "RequestedDeliveryDate"}
]
}
// ======== REPORT 2: Order Field Change Events ========
{
"ReportName": "O2C - Order History Events",
"ReportType": "Orders with History (Custom)",
"Format": "Tabular",
"Filters": [
{
"Field": "Order: Created Date",
"Operator": "equals",
"Value": "[Specify Date Range, e.g., LAST 90 DAYS]"
},
{
"Field": "Field/Event",
"Operator": "in",
"Value": ["Status", "[Credit Check Status Field]", "[Inventory Status Field]", "[Fulfillment Status Field]", "[Shipping Status Field]", "[Delivery Status Field]", "[Invoice Status Field]", "[Payment Status Field]"]
}
],
"Columns": [
{"SourceField": "Order: Order Number", "OutputAs": "SalesOrderId"},
{"SourceField": "Edit Date", "OutputAs": "EventTime"},
{"SourceField": "User", "OutputAs": "UserPerformingAction"},
{"SourceField": "Field/Event", "OutputAs": "SourceFieldForActivity"},
{"SourceField": "New Value", "OutputAs": "SourceValueForActivity"},
{"SourceField": "Order: Total Amount", "OutputAs": "TotalOrderAmount"},
{"SourceField": "Account: Account Name", "OutputAs": "AccountName"}
]
}
// ======== EXTERNAL TRANSFORMATION LOGIC (to be applied after export) ========
/*
- Combine the two exported files.
- For the 'Order History Events' data, create the 'ActivityName' and 'OrderStatus' columns based on the following mapping logic:
CASE
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Submitted' THEN 'Order Submitted for Approval'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Approved' THEN 'Order Approved'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Activated' THEN 'Order Activated'
WHEN SourceFieldForActivity = '[Fulfillment Status Field]' AND SourceValueForActivity = 'Sent to Fulfillment' THEN 'Order Sent to Fulfillment'
WHEN SourceFieldForActivity = '[Shipping Status Field]' AND SourceValueForActivity = 'Shipped' THEN 'Goods Shipped'
WHEN SourceFieldForActivity = '[Delivery Status Field]' AND SourceValueForActivity = 'Delivered' THEN 'Goods Delivered'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Closed' THEN 'Order Closed'
WHEN SourceFieldForActivity = 'Status' AND SourceValueForActivity = 'Cancelled' THEN 'Order Cancelled'
WHEN SourceFieldForActivity = '[Credit Check Status Field]' AND SourceValueForActivity = 'Passed' THEN 'Credit Check Performed'
WHEN SourceFieldForActivity = '[Inventory Status Field]' AND SourceValueForActivity = 'Allocated' THEN 'Inventory Allocated'
WHEN SourceFieldForActivity = '[Invoice Status Field]' AND SourceValueForActivity = 'Created' THEN 'Invoice Created'
WHEN SourceFieldForActivity = '[Invoice Status Field]' AND SourceValueForActivity = 'Sent' THEN 'Invoice Sent to Customer'
WHEN SourceFieldForActivity = '[Payment Status Field]' AND SourceValueForActivity = 'Received' THEN 'Payment Received'
ELSE 'Unknown'
END AS ActivityName
- The OrderStatus attribute should be populated with the 'New Value' when the changed field was 'Status'. For other events, you may need to look up the order's status at that point in time, which is a limitation of this method.
- Add 'SourceSystem' and 'LastDataUpdate' columns to the final combined dataset.
*/ Prêt à commencer ?
Commencez dès aujourd’hui à optimiser votre processus Order to Cash, traitement des commandes clients, en préparant vos données à l’aide de ce template. Obtenez les analyses nécessaires pour optimiser vos opérations et améliorer l’efficacité de votre trésorerie.
Améliorez votre trésorerie : optimisez dès maintenant le traitement Order to Cash des commandes clients
Repérez les inefficacités, réduisez le temps de cycle de 30 % et accélérez votre trésorerie.
Aucune carte bancaire requise • Commencez en quelques minutes