Installation & Configuration
Cette section présente la procédure à suivre pour intégrer le module Data Capture à un projet déjà existant. Il est essentiel de veiller à utiliser la version du module correspondant à celle d’Axelor Open Suite (AOS) actuellement déployée. Un tableau récapitulatif, disponible dans les premières pages, permet de vérifier les compatibilités entre les versions.
Prérequis
Prérequis: l’utilisation correcte des produits AOS nécessite la possession de licences Guardian valides.
Avant toute chose, il convient de disposer d’une webapp AOS.
Dans le fichier settings.gradle de cette webapp, il est indispensable d’ajouter une référence Maven afin de permettre la récupération des dépendances depuis le Nexus de l’entreprise.
Installation
Lors de l’installation, il est impératif de s’assurer de la compatibilité entre la version du module Data Capture souhaitée et la version d’Axelor Open Suite (AOS) actuellement en place.
Pour intégrer le module de Dématérialisation, il convient d’ajouter la dépendance Nexus correspondant à la version ciblée.
Selon les besoins du projet, il est également possible d’inclure des dépendances vers les modules Edifact, Mindee ou Rossum.
Dans le cas où seuls des fichiers au format Edifact sont utilisés, il est envisageable de n’intégrer que la dépendance vers ce module spécifique, sans recourir à l’ensemble du module de Dématérialisation.
Bibliothèques supplémentaires
Aucune action particulière n’est requise pour l’utilisation des bibliothèques Edifact-lib et FacturX-lib.
La bibliothèque Edifact-lib est automatiquement incluse avec le module Edifact, tandis que FacturX-lib est intégrée au module de Dématérialisation.
Configuration
La personnalisation de l’extraction des données selon des besoins métier spécifiques nécessite la configuration des différents éléments précédemment évoqués.
Cette section propose une méthode de paramétrage progressive, structurée selon un ordre jugé le plus intuitif. Tous les types de fichiers seront convertis et interprétés au format JSON, permettant ainsi une configuration homogène des différents éléments.
Cependant, pour certains formats spécifiques, tels que Edifact, cette conversion en JSON peut ne pas être immédiatement compréhensible. Une section ultérieure apportera des précisions complémentaires à ce sujet.
Un exemple concret sera utilisé dans les étapes suivantes afin de faciliter la compréhension.
Schéma
- La première étape consiste à compléter l’en-tête du schéma en indiquant son nom, le type d’application concerné (Edifact, JSON, etc.), ainsi que le type de document qui sera généré (par exemple : facture, bon de commande, etc.).

- Ensuite, il convient de définir les différents champs à extraire. Chaque champ doit être nommé, puis associé à un chemin d’accès correspondant à la structure du fichier JSON, à renseigner dans le champ « Élément ». Le symbole $ est utilisé pour naviguer dans la hiérarchie du fichier.
Par exemple, pour extraire l’information relative au type de document, il faudra spécifier : informations$type.

Dans le cas où les données à extraire se trouvent dans une liste, le champ “Élément parent” devra être renseigné avec la clé correspondant à cette liste. Dans l’exemple, il devient possible de récupérer toutes les dates en utilisant la clé Dates (voir l'image ci-dessus) :

- Pour illustrer cela avec l’extraction de toutes les dates, si l’objectif est d’extraire un élément particulier au sein d’un ensemble répété, il est possible d’appliquer un filtre conditionnel à l’aide du caractère @.
Par exemple, pour récupérer uniquement la date de réception, il convient d’appliquer un filtre sur l’élément ”date”, en se basant sur la valeur de la clé ”type”, puis de spécifier que l’élément à extraire est ”valeur”.
Le chemin d’accès à renseigner dans le champ "Élément" sera alors : liste_date$date[@type='réception']$valeur

Règles de mappage
Pour associer une valeur extraite à un champ du document final, il est nécessaire d’activer la case à cocher correspondante. Une fois cette étape effectuée, il convient de définir la règle de mappage à appliquer (la règle selon laquelle l’association a lieu).
La création d’une règle de mappage se déroule en plusieurs étapes :
-
Sélectionner le champ cible à remplir dans le document.
-
Choisir le type de génération à utiliser parmi les trois options suivantes :
-
À partir des données extraites : la valeur est utilisée telle quelle, directement depuis le fichier source.
-
Table de correspondance : la valeur extraite est transformée en appliquant une table de correspondance définie au préalable.
-
Formule Groovy : la valeur est traitée via une formule Groovy, et le résultat retourné par cette formule est utilisé.
Un champ dummy nommé extracted a été introduit pour faciliter l’écriture des formules. Il permet d’accéder directement à la valeur extraite.
Quelques exemples de la formule :
- Dans le cas particulier de la gestion des listes, il est impératif d’activer le champ “Objet de type ligne”. Il faut ensuite spécifier la liste à générer dans le document ainsi que le champ concerné par le remplissage.
Règle d’extraction
Dans certains cas, les données brutes doivent être interprétées avant de pouvoir être associées. Pour cela, il est nécessaire de définir une règle d’extraction. Cette règle permet d’appliquer une formule Groovy sur les données extraites.
Par exemple, si les dates sont fournies dans le format ccyymmdd alors qu’Axelor Open Suite attend un format de type ccyy-mm-dd, il convient d’utiliser une règle d’extraction pour effectuer la conversion appropriée.

Dans ce cas, la valeur affichée dans le champ « Données extraites » correspondra au résultat de la formule Groovy, et non plus à la donnée brute telle qu’elle figure dans le fichier source.
Règle de mappage par défaut
Il arrive que certains champs du document généré nécessitent des informations génériques qui ne sont pas directement présentes dans le fichier source. Dans ce cas, il est possible de recourir aux règles de mappage par défaut.

Ces règles fonctionnent de manière similaire aux règles de mappage classiques, en permettant l’utilisation de tables de correspondance ou de formules Groovy.
Elles offrent cependant une fonctionnalité supplémentaire : la possibilité d’utiliser des processus par défaut pour générer les données. Cette option permet de préremplir automatiquement certains champs en s’appuyant sur les processus internes d’Axelor Open Suite (AOS).
Par exemple, dans les lignes de facture d’AOS, les ensembles de lignes de taxe (taxLineSets) sont automatiquement renseignés lors de la sélection d’un produit. Ce comportement peut ainsi être reproduit via les règles de mappage par défaut.

Configuration supplémentaire
Un panneau dédié permet de définir la vue qui sera utilisée une fois l’objet généré, ainsi que les modèles et paramètres associés au schéma concerné.

Paramètres de capture
Les paramètres de capture constituent l’élément central de la configuration de Data Capture. Ils permettent d’appliquer un même schéma à plusieurs modèles tout en assurant la vérification de la cohérence des données traitées.
Dans un premier temps, il convient de renseigner l’en-tête en précisant le type d’application utilisé (par exemple : Edifact, JSON, etc.) ainsi que le schéma de capture à appliquer.

Ensuite, il faut sélectionner le type de génération parmi les options disponibles :
-
D’après les données capturées : il s’agit du mode classique, dans lequel le fichier fourni est directement utilisé pour alimenter le modèle.
-
D’après la commande ou d’après des arrivées fournisseurs: ces options permettent de récupérer un objet existant dans AOS (par exemple une commande), à partir d’une référence, et de générer un document (tel qu’une facture) en se basant sur les données déjà présentes dans le système.
Cette approche permet non seulement de s’appuyer sur les processus standards de l’ERP, mais également de comparer les informations extraites du fichier avec celles générées par AOS, assurant ainsi leur cohérence.
Règles de contrôle
Il est possible d’ajouter des règles de contrôle métier sur les données mappées afin de vérifier leur cohérence. Ces règles sont exprimées à l’aide de formules Groovy et peuvent être définies comme bloquantes ou non bloquantes.
Elles permettent d’alerter l’utilisateur lors de la validation des données en cas d’incohérence, et peuvent interrompre automatiquement le processus dans le cadre d’une génération automatique si les conditions ne sont pas remplies.

Formule de post-traitement
Une formule de post-traitement peut également être configurée. Elle permet de déclencher des actions supplémentaires à l’issue de l’intégration des données, telles que l’envoi de notifications, l’exécution de workflows ou d'autres automatisations.
Cas spéciaux
Dans le cas particulier de la génération de factures, des paramètres complémentaires sont disponibles. Ils permettent notamment :
-
D’automatiser la création de l’objet dès la définition du modèle.
-
Et de consolider les lignes de facture selon les besoins.

Modèle data capture
La création d’un modèle Data Capture est constitué par des étapes suivantes :
-
La sélection du type d’application utilisé (par exemple : Edifact, JSON, etc.).
-
La configuration des paramètres de capture appropriés.
-
Il convient ensuite de spécifier le fichier à partir duquel les données devront être extraites.

Certains champs, tels que le schéma associé, sont renseignés automatiquement. Il est toutefois recommandé de vérifier que ces valeurs correspondent bien aux éléments souhaités.
À cette étape, il est également possible de demander la génération automatique du document à partir des données extraites. Une fois le modèle généré, diverses informations deviennent accessibles et peuvent être consultées pour analyse ou vérification.
Données mappées: sur la partie droite de l’écran, sont affichés les différents boutons d’action ainsi que les données mappées selon le schéma, intégrées dans les champs du document à générer. Il est possible, si nécessaire, de modifier ces données avant de procéder à leur validation.
Données extraites: sur la partie gauche, les données extraites depuis le fichier source sont visibles. Leur modification manuelle est également possible, sous réserve d’activer l’option de débogage disponible dans le panneau droit. Le fichier fourni, en fonction de son type, est affiché au centre de l’interface afin d’en faciliter la lecture.
Dans la partie inférieure du modèle, un encadré récapitule les éventuelles anomalies détectées au cours du processus d’extraction et de mappage des données.
Une fois le modèle validé, la génération du document peut être lancée. En cas d’échec, le modèle repasse automatiquement à l’état « anomalie », permettant ainsi une révision et une modification des données avant nouvelle tentative.
