Automatisation Par

Créer dans Business Central les commandes reçues par email

Pour créer dans Business Central les commandes reçues par email, on lit le message et ses pièces jointes, on en extrait le client, les lignes, les quantités et la date de livraison souhaitée, puis on crée une commande de vente par l'API de Business Central, en la laissant en attente de validation par l'ADV. Côté Business Central, l'écriture est bien documentée. Le point dur est ailleurs : savoir de quel client il s'agit et à quel article de votre catalogue correspond la référence que ce client a écrite.

Un mot sur le terme : une API est une porte d'entrée que le logiciel ouvre aux autres programmes pour lire ou écrire des données, sans passer par l'écran. Pour Business Central, Microsoft la documente en détail, ce qui rend le projet plus lisible que sur beaucoup d'ERP. Beaucoup de PME reçoivent pourtant leurs commandes en PDF, en Excel, en scan ou en texte libre, et les ressaisissent chaque matin.

Cet article décrit le flux que nous mettons en place, la table de correspondance des références, ce que l'API permet d'écrire, les contrôles avant création et les cas limites du quotidien. Pour situer ce type de chantier, voir notre page sur l'automatisation de processus métier.

Points clés à retenir

  • Business Central expose une API v2.0 qui permet de créer une commande de vente et ses lignes ; la partie technique est documentée, le difficile est le rapprochement des clients et des références
  • Le numéro de commande du client se range dans externalDocumentNumber : c'est le meilleur repère pour détecter un doublon
  • Nous recommandons de créer la commande en attente de validation par l'ADV, et de ne jamais déclencher l'expédition ni la facturation depuis un traitement d'emails
  • Client inconnu, référence incertaine, prix hors tarif et quantité inhabituelle sont mis en attente avec leur motif, jamais écrits à l'aveugle
  • Le gain dépend du volume de commandes et de la propreté du catalogue : peu utile à deux ou trois commandes par jour, net à plusieurs dizaines

Le flux de bout en bout : de l'email à la commande dans Business Central

Le workflow reproduit ce que fait aujourd'hui la personne de l'ADV qui ouvre la boîte commandes, étape par étape. Chaque étape a une sortie claire, et la commande n'est créée qu'à la fin, une fois les contrôles passés.

Étape 1 : repérer les emails qui sont des commandes

Une boîte commerciale reçoit des commandes, des questions de délai, des relances et des réclamations. Le premier tri isole les messages qui contiennent réellement une commande, qu'elle soit en PDF, en tableur Excel, en scan ou écrite dans le corps du mail. Les messages ambigus restent dans la boîte pour un traitement humain.

Étape 2 : extraire les lignes, la date et l'adresse

Un modèle de langage lit le message et la pièce jointe, puis restitue des données structurées : numéro de commande du client, référence ou désignation de chaque ligne, quantité, unité, prix éventuel, date de livraison souhaitée, adresse de livraison si elle diffère de l'habituelle. Pour un scan, une reconnaissance de texte passe avant le modèle.

Étape 3 : identifier le client et les articles

Le workflow retrouve le client à partir de l'adresse de l'expéditeur et des noms cités, puis rapproche chaque ligne d'un article du catalogue. C'est cette étape, détaillée plus bas, qui décide de la fiabilité du reste.

À retenir

Si le client et les lignes sont rapprochés avec une confiance suffisante, la commande est prête. Elle n'est créée dans Business Central qu'après les contrôles décrits plus loin, et elle y arrive en attente de validation, pas expédiée.

Le même flux existe pour d'autres logiciels de gestion. Pour comparer les contraintes, voir nos articles sur les commandes email dans EBP, sur les commandes clients dans Sage 100 et sur l'automatisation des commandes email dans Odoo.

Références client et références internes : le point dur du projet

Un client commande rarement avec votre numéro d'article. Il utilise le code de son propre système d'achat, une désignation approximative ou « la même chose que le mois dernier ». C'est ce point, et non l'API, qui fait échouer les projets menés trop vite.

La table de correspondance par client

La base est une table qui associe, pour chaque client récurrent, ses codes et désignations à vos numéros d'article Business Central. On la remplit à partir de l'historique des commandes déjà saisies, puis à la main sur les produits les plus commandés. Elle se complète à chaque validation.

Ce que le client écrit Ce que nous cherchons Cas fréquent Traitement
Son propre code article Votre numéro d'article Business Central Client industriel avec un code par pièce Table de correspondance par client, écriture directe si la ligne est connue
Une désignation libre L'article dont le nom et la description sont les plus proches « Le même carton que la dernière fois » Rapprochement proposé avec un niveau de confiance, ligne à valider
Votre référence, avec une faute ou un ancien code Le bon article, après normalisation Référence d'un ancien catalogue Correspondance enregistrée après la première validation
Une unité différente (carton, palette, pièce) La même unité que sur l'article Quantité en cartons alors que l'article se vend à l'unité Conversion contrôlée, mise en attente si le conditionnement est ambigu

Ce que l'IA apporte sur une référence jamais vue

Sur un nouveau client ou une référence inconnue, le modèle compare la désignation du client aux noms et descriptions de votre catalogue et propose un article avec un niveau de confiance. Tant qu'une personne n'a pas confirmé le rapprochement, la ligne reste marquée à vérifier. Une fois confirmé, il entre dans la table et ne sera plus à refaire.

Soyons clairs : le taux de rapprochement automatique ne sera pas bon le premier jour. Il monte avec le volume traité et avec la propreté du catalogue. Un catalogue plein de doublons ou de références quasi identiques produit beaucoup de lignes à valider, quel que soit le soin apporté au workflow. Notre article sur la correspondance des champs entre deux logiciels approfondit cette logique.

Écrire dans Business Central par l'API : ce que la documentation permet

Business Central propose une API v2.0 documentée par Microsoft. La ressource salesOrder accepte la création (POST), la lecture (GET), la modification (PATCH) et la suppression (DELETE). C'est l'un des ERP où l'écriture est la mieux décrite, ce qui permet de cadrer précisément ce que le workflow fera et ne fera pas.

La commande de vente et ses propriétés utiles

Pour ce cas d'usage, les propriétés qui comptent sont le client (customerNumber ou customerId), la date de commande (orderDate), la date de livraison souhaitée (requestedDeliveryDate), les adresses de livraison, de client et de facturation (shipTo*, sellTo*, billTo*) et partialShipping. La propriété externalDocumentNumber accueille le numéro de commande du client : c'est elle qui permet de repérer un doublon. Source : documentation Microsoft sur la ressource salesOrder.

Les lignes de commande

Les lignes se créent par un appel POST sur companies({id})/salesOrders({id})/salesOrderLines, avec notamment itemId, lineType, description, quantity et unitPrice. Une création réussie renvoie le code 201 (Created), et l'appel s'authentifie par un jeton Bearer. Source : documentation Microsoft sur la création d'une ligne de commande de vente.

Créer en attente de validation, jamais expédier

La propriété status de la commande peut valoir Draft, In Review ou Open. Le statut obtenu à la création dépend de la configuration de votre environnement et de vos circuits de validation, un point que nous vérifions avant de cadrer. Notre règle ne change pas : la commande arrive là où l'ADV peut la relire avant de la faire avancer.

La ressource expose aussi l'action shipAndInvoice, qui expédie et facture. Nous ne la déclenchons jamais depuis un traitement d'emails. Une expédition et une facture sont des engagements envers le client et le comptable, elles restent des décisions humaines.

Élément Ce que fait le workflow Ce qu'il ne fait pas Qui décide
Création de la commande POST sur salesOrder, en attente de validation Lancer l'expédition ou la facturation L'ADV
Numéro de commande du client Écrit dans externalDocumentNumber, sert à repérer un doublon Écraser une commande existante Le workflow signale, l'ADV tranche
Date de livraison Reprend la date souhaitée par le client La présenter comme une date promise L'ADV, selon le stock et le planning
Fiche client Utilise un client existant Créer un client à la volée Une personne habilitée

Un point de cadrage à ne pas oublier : les API doivent être activées selon l'environnement, et la façon de s'authentifier varie selon que vous êtes sur Business Central en ligne ou sur site. Nous demandons un accès de test, un compte technique et ses droits avant de chiffrer quoi que ce soit.

Vous recevez des commandes par email et vous les ressaisissez dans Business Central ?

Nous regardons votre flux réel, vérifions l'accès API de votre environnement et cadrons le workflow adapté à vos clients et à votre catalogue.

Prendre un rendez-vous

Les contrôles avant écriture : ce qui ne passe jamais sans validation

Un workflow qui crée tout sans filtre est un risque, pas un gain de temps. Quatre situations sont mises en attente avec leur motif, quelle que soit la façon dont la commande serait ensuite écrite.

  • Client inconnu. Aucun client Business Central ne correspond à l'expéditeur ou au nom cité. Créer une fiche à la volée reviendrait à laisser n'importe quel expéditeur ouvrir un compte client.
  • Référence non rapprochée avec certitude. L'article n'a pas de correspondance connue, ou plusieurs articles collent aussi bien à la désignation.
  • Prix hors tarif. Le client mentionne un prix ou une remise qui ne correspond pas à ce que Business Central enregistre pour lui ou pour cet article.
  • Quantité inhabituelle. Une quantité dix fois supérieure à l'historique du client, ou une unité confondue (cartons contre pièces).

Sur chacun de ces cas, la commande n'est pas bloquée : elle attend avec le motif exact, et la personne qui tranche corrige un point précis au lieu de tout reprendre. La question de l'endroit où placer ces points de contrôle est traitée dans notre article sur la validation humaine dans une automatisation.

Les cas limites du quotidien

Ce sont eux, plus que le flux principal, qui décident si le workflow est encore utilisé après un mois.

Commande en plusieurs mails, modification, annulation

Un client envoie parfois sa commande en deux ou trois messages, le complément arrivant quelques minutes après le premier. Le workflow regroupe les messages d'un même client sur une fenêtre de temps courte avant de créer la commande. Une modification ou une annulation reçue ensuite ne réécrit jamais une commande existante : elle est signalée à la personne responsable, qui l'applique elle-même.

Doublon : le rôle de externalDocumentNumber

Le client relance parfois son bon de commande, ou le transfère à deux adresses de votre entreprise. Avant toute création, le workflow cherche le numéro de commande du client dans externalDocumentNumber pour ce client. S'il existe, il ne crée rien et prévient l'ADV. Sans numéro de commande, le repère est plus fragile (mêmes lignes, même période), donc la commande part plus souvent en validation.

Pièce jointe illisible, ou commande dans le corps du mail

Une photo prise au téléphone, un scan de travers ou un tableur au gabarit inattendu réduisent la fiabilité de l'extraction. Mieux vaut laisser la commande à saisir à la main que d'écrire des données incertaines. À l'inverse, une commande écrite directement dans le mail est souvent plus simple à lire qu'un PDF scanné. Pour l'extraction elle-même, voir notre article sur l'extraction des bons de commande reçus par email.

Ce que ça change, selon votre volume

Les gains se mesurent sur deux axes : le temps de traitement d'une commande et le nombre d'erreurs découvertes trop tard, à la préparation ou à la facturation. Ils dépendent du volume et de la régularité des commandes.

  • À deux ou trois commandes par jour, l'effort de mise en place n'est pas compensé par le temps gagné.
  • À quelques dizaines par jour, avec des clients récurrents dont les références sont déjà dans la table, une commande standard passe d'une saisie de plusieurs minutes à une validation de quelques secondes.
  • Les erreurs de recopie (référence confondue, quantité mal lue) diminuent, parce que le rapprochement s'appuie sur une correspondance vérifiée et non sur une lecture rapide.
  • Les commandes mises en attente sont plus rapides à traiter qu'une saisie complète : la personne tranche un point précis.

Ces effets ne sont pas garantis. Ils dépendent de la propreté du catalogue, de la stabilité des clients et de la qualité des documents reçus. Nous connectons déjà des boîtes Outlook et Gmail à Odoo, Zoho ou NocoDB, et notre cas client Copro Assistance décrit des emails traités vers un CRM NocoDB ; sur Business Central, nous partons de la documentation Microsoft et de ce que nous vérifions pendant le cadrage, avec un déploiement progressif en parallèle de la saisie manuelle.

Vous voulez estimer ce que ce workflow changerait sur votre volume de commandes ?

Donnez-nous le nombre de commandes par jour, les formats reçus et votre type de déploiement Business Central : nous vous donnons une lecture concrète avant tout engagement.

Voir nos automatisations de processus métier

Questions fréquentes sur les commandes email vers Business Central

Pas à partir d'un texte libre. Business Central expose une API v2.0 avec une ressource salesOrder qui accepte la création (POST), la lecture (GET), la modification (PATCH) et la suppression (DELETE), mais il faut lui fournir des données déjà structurées : client, lignes, quantités. Le rôle du workflow IA est de lire l'email ou sa pièce jointe, d'en extraire ces données et de les rapprocher de vos clients et de vos articles avant d'appeler l'API.
Les API doivent être activées selon l'environnement, et la documentation Microsoft renvoie vers une page dédiée à ce sujet. Ce qui change aussi, c'est le type de déploiement (Business Central en ligne ou sur site) et la façon de s'authentifier. C'est le premier point que nous vérifions avant de cadrer : un accès API de test, un compte technique et les droits associés.
Le numéro de commande du client est stocké dans la propriété externalDocumentNumber de la commande de vente. Avant toute création, le workflow cherche ce numéro pour ce client. S'il existe déjà, il ne crée rien et signale le doublon à l'ADV. Quand le client n'indique aucun numéro, on utilise un autre repère (date, montant, lignes identiques sur une courte période), moins fiable, donc plus souvent soumis à validation.
C'est le mode que nous recommandons au démarrage. La ressource salesOrder expose une propriété status qui peut valoir Draft, In Review ou Open. Le statut obtenu à la création dépend de la configuration de votre environnement et de vos circuits de validation, à confirmer au cadrage. Dans tous les cas, le workflow ne déclenche jamais l'expédition ni la facturation : ces actions restent entre les mains de l'ADV.
Il ne crée pas de commande et ne crée pas de fiche client à la volée. La commande est mise en attente avec le motif « client inconnu », accompagnée des éléments extraits (nom, adresse email, adresse de livraison). Une personne décide s'il s'agit d'un nouveau client à créer, d'un client existant sous un autre nom ou d'un message à ignorer.
Par une table de correspondance entre les codes ou désignations de chaque client et vos numéros d'article Business Central. Elle se construit à partir de l'historique des commandes et de saisies initiales sur les produits les plus commandés. Pour une référence jamais vue, l'IA propose un rapprochement avec un niveau de confiance, mais la ligne reste à valider tant qu'une personne ne l'a pas confirmée une première fois.
Il n'y a pas de seuil universel, mais le gain dépend directement du volume. Avec deux ou trois commandes par jour, le temps gagné compense difficilement la mise en place. À partir de quelques dizaines de commandes par jour, avec des clients récurrents, le gain devient net. Le cadrage sert justement à mesurer votre volume réel, la part de commandes standard et l'état de votre catalogue.
Un connecteur standard sait lire une pièce jointe au format prévu et créer un document, il tient tant que les clients envoient des formats réguliers. Dès qu'il faut lire un PDF au gabarit propre à chaque client, un tableur libre ou un texte dans le mail, puis rapprocher des références qui ne sont pas les vôtres, on passe à un traitement sur mesure. Notre article sur le choix entre connecteur standard et développement sur mesure détaille ce critère.

Pour aller plus loin

Formation

Pour que vos équipes appliquent ces usages sur leurs propres documents, voir notre formation n8n, construite sur vos cas.

On le construit pour vous

Vous préférez déléguer la mise en place ?

Décrivez votre flux (emails, devis, factures, commandes) et on vous dit ce qui s'automatise, ce qui reste humain et par où commencer.

Pas sûr que ce soit rentable chez vous ? Estimez en 5 minutes le temps récupérable sur cette tâche, résultat immédiat et sans email.

Anas Rabhi, ingénieur IA et data scientist, fondateur de Tensoria
Anas R. Ingénieur IA, fondateur de Tensoria ianas.fr

Je suis ingénieur IA et data scientist, fondateur de Tensoria. Depuis plus de 6 ans, j'accompagne les entreprises dans l'exploitation concrète de l'IA pour leur métier : assistants internes basés sur RAG, agents IA en production, automatisations sur mesure, traitement intelligent de documents. J'interviens du cadrage initial à la mise en production, sur stacks LLM modernes (Mistral, Claude, GPT) et infrastructures souveraines quand la confidentialité l'exige.