Automatiser l’import des factures d’achat dans Dynamics 365 Business Central avec Power Automate (en attendant Payable Agent en FR)

Saisir manuellement les factures d’achat dans Dynamics 365 Business Central prend du temps et augmente le risque d’erreurs. En utilisant Microsoft Power Automate, vous pouvez automatiser ce processus, réduire la saisie manuelle et permettre à votre équipe financière de se concentrer sur des tâches à plus forte valeur ajoutée.

Pré-requis

  • Licence Microsoft Power Automate et AI Builder

  • Environnement Dynamics 365 Business Central avec accès à l’API

  • Droits et autorisations adéquats sur les deux services

  • Source de données pour les factures (dossier SharePoint, OneDrive, pièces jointes e-mail ou système externe)

 En attendant que le « Payable Agent » soit dispo dans la localisation française et que les e-documents soient manipulables avec Power Automate (Use the E-Documents framework with Power Automate and other solutions | Microsoft Learn), il est possible de gérer l’import des factures d’achat dans BC, voici les différentes étapes.

Choisir le déclencheur dans le flux

Le déclencheur peut être de différents types :

– Outlook : A l’arrivée d’un nouvel e-mail V3 (en cochant l’option qu’avec les pièces jointes)

– Sharepoint / Onedrive : Lorsqu’un fichier est créé

Dans l’exemple, la première option a été choisie.

Il faut renommer le déclencheur par une dénomination claire : A l’arrivée d’un nouvel e-mail avec PJ.

Si vous faites afficher les options avancées, vous avez d’autres paramètres qui s’affichent comme ci-dessous.

Si les pièces jointes doivent être incluses (Inclure des pièces jointes = Oui) et si le flux ne doit prendre que les emails avec des pièces jointes (avec des pièces uniquement = Oui)

AI builder : extraire les données de la facture

L’action à utiliser est l’action « Traiter les factures » dans le connecteur avec AI Builder

Ensuite, il sélectionner le fichier qui servira à cette action pour avoir accès aux données de la facture.

Il faut sélectionner le contenu proposé « pièces jointes contenu ».

A la sélection, une boucle s’est automatiquement ajoutée « Appliquer à chacun.

API Business Central et action Power Automate

La première action avec l’API BC est l’action « rechercher un enregistrement » pour trouver le fournisseur par le n° de TVA Intracommunautaire (non standard avec la page API fournisseurs de BC).

Si vous souhaitez utiliser l’API Standard de BC, vous pouvez effectuer la recherche sur un autre champ.

Il faut tout d’abord une variable pour récupérer la donnée.

il faut d’abord utiliser l’action « Initialiser la variable » en dehors de la boucle « Appliquer à chacun ».

Ensuite, il faut définir la variable dans la boucle « Appliquer à chacun ».

Il faut utiliser l’action « Rechercher un enregistrement V3 » et utiliser la variable créé précédemment.

Si vous souhaitez chercher sur le n° tva intracom des fournisseurs, il faut modifier la page API (ajouter un champ sur le TVA intracommunautaire de la table 23 fournisseur)

Une condition pour deux scénarios différents

En fonction de la réponse de la requête de la recherche fournisseur, il faut exécuter deux traitements différents : 

– si oui : utiliser le fournisseur existant 

– si non : lancer la création du fournisseur

la fonction utilisée est : empty(outputs(‘Rechercher_le_fournisseur’)?[‘body’]).

Rechercher le fournisseur dépend du nom de l’action d’où doit être fait le contrôle.

Ensuite, il faut mettre le traitement qui correspond au résultat de la condition.

L’action qui change entre le oui et le non est basé sur le fournisseur : 

– Oui : Utiliser le fournisseur trouvé.

– Non : Créer le fournisseur

Création d’une variable pour utiliser le n° du fournisseur dans la condition oui ou non

Condition Non

Il faut créer le fournisseur s’il n’est pas connu.

Pour automatiser la création du fournisseur dans BC via API, il est possible d’utiliser la page paramètres API depuis bc et y mettre les conditions pour appliquer un modèle fournisseur.

Ce paramètre est automatiquement repris si utilisation de l’api.

Il faut donc utiliser l’action « Créer un enregistrement V3 ».

Il faut initialiser la variable n° fournisseur avec le résultat de la création

Condition Oui

Dans ce cas, la variable N° fournisseur est rempli avec le n° fournisseur trouvé précédemment.

Créer l'entête de facture

Pour créer la facture, il est possible la même action que pour le fournisseur « créer un enregistrement » et remplir les données issues de l’action « traiter la facture » d’AI Builder.

Créer la pièce jointe

Même chose que précédemment, utilisation de l’action « créer un enregistrement ».

Le champ ID est celui issu de l’action de création de la facture d’achat.

Mettre à jour le document pdf

Pour inclure la pièce jointe, il faut utiliser l’action « Mettre à jour une image, un fichier ou un document.

Le champ ID est celui issue de l’action « Créer la pièce jointe ».

Le champ Content reprend le champ contentBytes du déclencheur outlook.

Création de chaque ligne de facture achat

Utilisation de l’action « Créer un enregistrement » de l’api standard de BC pour créer les lignes 

Utilisation des valeurs issues de l’action « traiter les factures » d’AI Builder, exemple pour le champ description : 

L’ajout de ce champ a ajouté une boucle « Appliquer à chacun »

Test du flux

Voici le résultat du test du flux :

PDF Utilisé : 

Résultat du flux

Aperçu de la pièce jointe

En espérant que cela pourra aider pour la mise en place de ce flux.

Une fois que la nouveauté de connexion entre les edocuments et power automate sera sorti, le même exemple sera testé sur un autre blog.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *