Préparation des bases de données d'unités d'entreprise et de fournisseurs
Bases de données compatibles ODBC
ABBYY FlexiCapture for Invoices vous permet de connecter un jeu de données à une base de données compatible ODBC (Voir Connexion des bases de données d'entités commerciales et de fournisseurs) pour ne charger des données qu'une seule fois ou pour mettre à jour un jeu de données avec les données d'une base de données externe à intervalles réguliers (Voir Mise à jour des jeux de données).
Par conséquent, votre première étape consistera à déployer des données externes dans une base de données compatible ODBC, par exemple une base de données Microsoft Access, Microsoft SQL Server ou Oracle.
Éliminer les entrées en double de la base de données externe
Il est important de déterminer le champ de base de données externe de fournisseurs (ou d'unités d'entreprise) à partir duquel une valeur devra être obtenue suite à la détection du fournisseur (ou de l'unité d'entreprise). Ce champ (ou jeu de champs) doit devenir la clé unique du jeu de données.
La clé unique d'un jeu de données d'unités d'entreprise est le champ Id (Voir Colonnes du jeu de données BusinessUnits). Du point de vue de l'utilisateur, ce champ résulte de la ABBYY FlexiCapture for Invoices détection de l'unité d'entreprise à laquelle la facture spécifiée a été remise.
La clé unique d'un jeu de données de fournisseurs devrait être la valeur transmise au système d'information externe suite à la ABBYY FlexiCapture for Invoices détection du fournisseur qui a émis la facture spécifiée. Si une seule table de fournisseurs est utilisée, la clé unique doit être associée au champ Id du jeu de données. Cette valeur sera transmise au système d'information externe lorsque le fournisseur sera détecté sur la facture.
Si vous prévoyez de traiter, dans le cadre d'un seul et même projet, les factures remises aux différentes unités de votre entreprise, alors que chacune de ces unités dispose de sa propre base de données de fournisseurs, vous devez associer la clé unique de chaque unité d'entreprise à la colonne BusinessUnitId du jeu de données Fournisseurs et la clé de chaque fournisseur à la colonne Id du jeu de données Fournisseurs. La clé unique de l'entrée fournisseur à transmettre au système d'information externe lorsque le fournisseur sera détecté sera donc la paire de valeurs Id/BusinessUnitId (Voir Colonnes du jeu de données Vendors).
Dans les explications suivantes, nous ne prendrons que la détection de fournisseurs en considération, la détection se déroule exactement de la même façon pour les unités d'entreprise.
La clé unique d'une entrée doit déterminer la combinaison unique des paramètres utilisée pour détecter le fournisseur. Le système d'information considérera très souvent qu'une entrée fournisseur est unique en se fiant à des paramètres supplémentaires qui s'ajoutent aux paramètres spécifiés dans la facture et/ou utilisés pour la détection de fournisseur.
Il est par exemple possible que le système d'information s'attende à recevoir un identifiant MCN_USD si le fournisseur Mon nom d'entreprise Ltd. émet une facture en dollars américains, ou un identifiant MCN_EUR si la même entreprise émet une facture en euros. La devise n'est pas utilisée pour la détection du fournisseur même si elle est indiquée sur la facture (le cas dans lequel l'identifiant MCN_USD doit être retourné peut être distingué du cas dans lequel l'identifiant MCN_EUR doit être retourné).
Le mécanisme de détection de fournisseur ne peut donc pas choisir entre MCN_USD et MCN_EUR.
Dans les cas tels que celui-ci, créez un identifiant MCN qui correspondra à la fois à MCN_USD et à MCN_EUR. Il sera retourné lorsque le fournisseur sera détecté. Vous pouvez ensuite créer une règle dans la définition de document, qui choisira entre MCN_USD et MCN_EUR selon la devise de la facture donnée.
Pour généraliser, un jeu de paramètres uniques utilisé pour la détection de fournisseur doit être affecté à l'identifiant unique d'une entrée fournisseur. Il peut par exemple contenir le nom de l'entreprise, l'adresse de l'entreprise, les ID d'imposition (VATID, NationalVATID) et un numéro de compte bancaire international (IBAN) (Voir Colonnes du jeu de données Vendors). Ce n'est qu'ainsi que le mécanisme de détection de fournisseur parviendra à choisir la bonne entrée fournisseur pour une facture.
Remarque : Le programme peut ensuite capturer des champs supplémentaires et utiliser les règles de la définition de document pour affiner le résultat et obtenir la valeur requise.
Le programme ne parviendra pas à choisir une seule clé si un même jeu de paramètres utilisé pour la détection de fournisseur correspond à plusieurs clés (ou si des jeux de paramètres peuvent facilement être confondus). La détection deviendra alors hasardeuse, sa qualité se dégradera.
La raison en est la suivante. Si le programme peut utiliser les données imprimées sur la facture pour détecter le fournisseur Mon nom d'entreprise avec fiabilité, mais si plusieurs entrées (MCN1, MCN2, ... MCNN) du jeu de données correspondent aux données de la facture, il est possible que le programme choisisse une autre entrée, qui est une moins bonne analogie par rapport aux données de la facture, mais qui n'entraîne pas un si grand nombre d'entrées. En définitive, le fournisseur sera mal détecté.
Il est par conséquent très important d'éliminer les entrées en double de la base de données externe et d'obtenir une colonne de base de données externe qui comportera une valeur unique pour chaque jeu de valeurs unique des champs d'entrée utilisés pour la détection de fournisseur.
Une fois la connexion au jeu de données établie, les lignes comportant des valeurs identiques dans la colonne qui sera associée à la clé unique du jeu de données seront automatiquement réduites à une seule entrée du jeu de données.
Colonnes complexes de jeu de données
Un jeu de données peut stocker plusieurs valeurs pour une seule colonne logique d'entrée d'entreprise.
Il est parfois nécessaire de stocker plusieurs valeurs car certains paramètres d'entreprise, tels que le nom de l'entreprise, la rue, etc. peuvent varier d'une facture à l'autre (par exemple, il peut s'agir de « Mon nom d'entreprise » et de « MNE Ltd. »). Cependant, pour détecter l'entreprise de manière fiable, le texte du jeu de données doit être très similaire à celui du texte capturé sur l'image de facture. Qui plus est, il est possible qu'une entreprise ait plusieurs comptes bancaires ou autres attributs.
Remarque : Notez que les colonnes à valeurs multiples dans les Ensembles de données doivent être utilisées pour stocker les mêmes informations écrites de différentes manières. Par exemple, « Karl Marx Street » et « K. Marx str. » sont deux façons différentes d'écrire la même adresse. Cependant, les succursales de l'entreprise à Londres et à Berlin doivent avoir deux enregistrements distincts.
Les valeurs des colonnes à plusieurs valeurs peuvent être prélevées dans une base de données externe (une table de fournisseurs peut par exemple contenir une à cinq coordonnées bancaires pour chaque entreprise). Sinon, elles peuvent aussi être ajoutées par l'utilisateur lors de la capture de données (un opérateur peut par exemple ajouter une variante de nom d'entreprise qui est fréquemment utilisée au jeu de données si elle ne figure pas dans la base de données externe).
Les jeux de données emploient la dénormalisation de colonne, c-à-d qu'ils stockent les données sous la forme suivante :
Clé unique du jeu de données* | Nom1 | Nom2 | ... | NomN | ... |
1 | Mon nom d'entreprise | MNE Ltd. | ... | <valeur vide> | ... |
2 | La seconde entreprise, Inc.. | S-Entreprise | ... | <valeur vide> | ... |
... | ... | ... | ... | ... | ... |
Plusieurs colonnes sont créées dans le jeu de données pour un seul champ logique de l'entrée, c-à-d, Nom. Elles stockent toutes les valeurs possibles du champ logique. Une « colonne complexe » peut donc être attribuée à Nom.
Lorsque vous connectez une table (ou accédez à une vue) de base de données externe, vous pouvez utiliser la dénormalisation de colonne comme décrit ci-dessus, mais vous utiliserez probablement plus fréquemment la dénormalisation de ligne. Dans ce dernier cas de figure, les lignes de jeu de données à fusionner dans les paramètres d'une seule entrée doivent avoir la valeur de colonne correspondant à la clé unique du jeu de données. Par exemple :
Colonne correspondant à la clé unique du jeu de données* | Nom | ... |
1 | Mon nom d'entreprise | ... |
1 | MNE Ltd. | ... |
... | ... | ... |
N | <valeur vide> | ... |
2 | La seconde entreprise, Inc. | ... |
2 | S-Entreprise | ... |
... | ... | ... |
N | <valeur vide> | ... |
... | ... | ... |
*La clé unique d'un jeu de données BusinessUnits est le champ Id. La clé unique d'un jeu de données Fournisseurs est le champ Id ou la paire de champs Id/BusinessUnitId, cela dépend des paramètres (Voir Colonnes du jeu de données Vendors).
12.04.2024 18:16:04