> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Utilisation des bases de données de fournisseurs et d’unités commerciales

> Connectez des bases de données de fournisseurs et d’unités commerciales à des jeux de données dans ABBYY FlexiCapture, mettez les colonnes en correspondance, définissez la normalisation et gérez les enregistrements d’un jeu de données.

Lors du traitement d’une facture, ABBYY FlexiCapture recherche d’abord le fournisseur (l’entreprise qui a émis la facture) et l’unité commerciale (l’entreprise ou le service qui a reçu la facture).

Dans la plupart des cas, le fournisseur détermine la langue de la facture ainsi que le format de ses nombres, dates et montants. L’unité commerciale détermine les taux d’imposition et les exigences réglementaires applicables. ABBYY FlexiCapture utilise toutes ces informations lors de la capture des données de facture et de l’application des règles de validation.

Pour aider le programme à localiser les champs du fournisseur et de l’unité commerciale, vous pouvez utiliser des bases de données de fournisseurs et d’unités commerciales. Celles-ci doivent être connectées aux jeux de données de votre Document Definition.

Un jeu de données est une copie locale d’un tableau provenant d’une base de données externe, qui stocke des informations sur les fournisseurs ou les unités commerciales. Ses valeurs peuvent être typées et normalisées, et il peut être mis à jour périodiquement afin de rester synchronisé avec sa base de données externe. Pour plus d’informations, consultez [Préparation des bases de données de fournisseurs et d’unités commerciales](/fr/flexi-capture/invoice-reader/ir-preparing-db).

Les bases de données de fournisseurs et d’unités commerciales peuvent également être utilisées pour des vérifications automatiques et manuelles des données.

Vous n’êtes pas obligé d’utiliser des bases de données de fournisseurs et d’unités commerciales, mais notez les points suivants :

* Si des bases de données de fournisseurs et d’unités commerciales sont utilisées, ABBYY FlexiCapture peut détecter les entreprises de manière plus fiable en recherchant des informations supplémentaires sur l’entreprise dans les images de facture. Il peut également confirmer qu’un fournisseur détecté est un fournisseur « connu ». De plus, si une base de données de fournisseurs est utilisée, vous pouvez [entraîner les champs](/fr/flexi-capture/invoice-reader/ir-operator-training).
* Si aucune base de données de fournisseurs ou d’unités commerciales n’est utilisée, ABBYY FlexiCapture utilise des réseaux neuronaux pour rechercher les noms et adresses des fournisseurs et des unités commerciales dans les images de facture. Pour plus d’informations, consultez [Détection des champs principaux](/fr/flexi-capture/invoice-reader/ir-search-fields#neuralnetwork). Vous ne pouvez pas non plus [entraîner les champs](/fr/flexi-capture/invoice-reader/ir-operator-training), car ABBYY FlexiCapture ne peut pas identifier les fournisseurs de manière fiable sans base de données de fournisseurs.
* Si vous ne disposez pas de base de données de fournisseurs, mais souhaitez quand même utiliser l’entraînement des champs, vous pouvez accumuler des informations sur les entreprises en ajoutant des enregistrements à vos jeux de données pendant la capture des factures. Pour plus d’informations, consultez [Recherche des fournisseurs et des unités commerciales dans la base de données](/fr/flexi-capture/invoice-reader/ir-data-set-using#addnew).

<div id="connect-a-vendor-or-business-unit-database">
  ## Connecter une base de données de fournisseur ou d’unité commerciale
</div>

Les bases de données de fournisseurs et d’unités commerciales se connectent de la même manière :

<Steps>
  <Step title="Ouvrir la boîte de dialogue Document Definitions">
    Ouvrez le menu **Project** et cliquez sur **Document Definitions...**.
  </Step>

  <Step title="Modifier le Document Definition">
    Cliquez sur le bouton **Edit...** dans la boîte de dialogue qui s’ouvre.
  </Step>

  <Step title="Ouvrir les propriétés du Document Definition">
    Ouvrez le menu **Document Definition** et cliquez sur **Document Definition Properties...**.
  </Step>

  <Step title="Ouvrir l’onglet Jeux de données">
    Ouvrez l’onglet **Jeux de données** dans la boîte de dialogue qui s’ouvre.
  </Step>

  <Step title="Ouvrir le jeu de données">
    Double-cliquez sur la ligne **BusinessUnits** (ou **Vendors**), ou cliquez sur le bouton **Set Up...**. La boîte de dialogue **Data Set** s’ouvre.

    Un jeu de données est essentiellement un tableau de données avec un ensemble fixe de colonnes et de types que vous ne pouvez pas modifier. Vous associez chaque colonne du jeu de données à une colonne d’une base de données externe. Si la base de données ne contient pas de tableau avec les données nécessaires, créez une vue avec ces données et spécifiez cette vue comme tableau.
  </Step>

  <Step title="Sélectionner la source">
    Sélectionnez **Database** dans la liste déroulante **Source**.

    <Note>
      Sélectionnez le type de source **Script** uniquement si vous prévoyez d’utiliser un script pour mettre à jour le jeu de données. Pour plus d’informations, voir [Updating data sets](/fr/flexi-capture/invoice-reader/ir-data-set-update).
    </Note>
  </Step>

  <Step title="Spécifier la chaîne de connexion">
    Spécifiez la chaîne de connexion à la base de données. Vous pouvez sélectionner l’une des variables d’environnement existantes du projet ou définir une nouvelle chaîne en cliquant sur le bouton **Specify...**. L’utilisation d’une variable d’environnement du projet vous permet de déplacer le projet et de vous connecter à des bases de données ayant la même structure sans modifier le Document Definition.
  </Step>

  <Step title="Sélectionner le schéma et le tableau">
    Sélectionnez **Data schema** et **Database table**.
  </Step>

  <Step title="Associer les colonnes">
    Associez les colonnes du jeu de données aux colonnes correspondantes de la base de données externe. Pour chaque colonne du jeu de données, vous pouvez spécifier soit la colonne correspondante de la base de données externe, soit une valeur.

    La liste **Match fields** contient :

    * Les noms des colonnes du jeu de données.
    * Les colonnes correspondantes de la base de données externe.
    * La colonne **Found**, qui contient une coche lorsqu’une correspondance a été établie entre le champ du jeu de données et une colonne de la base de données.
    * La colonne **Normalization**, qui affiche le type de normalisation utilisé pour la valeur.

    Par défaut, chaque champ de la colonne **External Database** du jeu de données contient une valeur, ce qui signifie qu’aucune colonne de la base de données externe n’a été spécifiée. La normalisation permet de traiter comme identiques plusieurs valeurs légèrement différentes. Pour plus d’informations, voir [Normalization of values in data sets](/fr/flexi-capture/invoice-reader/ir-normalization).

    Pour mapper chaque colonne, sélectionnez-la dans le tableau et cliquez sur le bouton **Edit...**. Pour plus d’informations, voir [Map a data set column to a database column](#map-a-data-set-column-to-a-database-column).
  </Step>

  <Step title="Ajouter des colonnes personnalisées (facultatif)">
    Utilisez le bouton **Add...** pour ajouter des colonnes personnalisées à un jeu de données et spécifier les colonnes correspondantes dans une base de données externe.

    <Note>
      Utilisez les boutons **Edit...** et **Delete** pour gérer les colonnes complexes. Les colonnes prédéfinies (indiquées par l’icône de verrouillage) ne peuvent pas être supprimées.
    </Note>
  </Step>

  <Step title="Définir une période de mise à jour">
    Spécifiez une période de mise à jour de la base de données dans le jeu de données si des mises à jour automatiques sont nécessaires.
  </Step>

  <Step title="Activer la validation par script (facultatif)">
    Pour valider des enregistrements à l’aide d’un script, activez l’option **Check records using scripts**. Pour plus d’informations, voir [Data set validation scripts](/fr/flexi-capture/appendix/scripts/script-validation).
  </Step>

  <Step title="Enregistrer les modifications">
    Enregistrez vos modifications.
  </Step>
</Steps>

<div id="map-a-data-set-column-to-a-database-column">
  ### Associer une colonne d’un jeu de données à une colonne de base de données
</div>

Pour chaque colonne, sélectionnez-la dans la liste **Match fields**, cliquez sur le bouton **Edit...**, puis configurez la mise en correspondance dans la boîte de dialogue **Data Set Column Mapping** :

<Steps>
  <Step title="Sélectionner la colonne de base de données">
    Sélectionnez la colonne de base de données correspondante dans la liste **Database columns**.

    Les factures d’un même fournisseur peuvent contenir des noms d’entreprise et des adresses différents. Lorsque plusieurs valeurs correspondent au même fournisseur (le même ID TVA), placez-les dans différentes colonnes de la table ou de la vue de la base de données externe, par exemple **Name1**, **Name2**, **Address1**, ..., **AddressN**. Vous pouvez ensuite sélectionner **Several columns...** dans la liste et spécifier autant de colonnes de base de données que nécessaire comme correspondances pour la colonne du jeu de données.

    <Note>
      La base de données externe peut ne contenir qu’une seule valeur pour le nom de l’entreprise ou la rue, mais ces champs peuvent avoir plusieurs variantes courantes sur les factures. Pour obtenir la meilleure qualité de détection, le texte de ces champs sur une facture doit être aussi proche que possible du texte correspondant dans le jeu de données. Pour plus d’informations, consultez [Colonnes à valeurs multiples dans un jeu de données](/fr/flexi-capture/invoice-reader/ir-preparing-db#complexcolumns).
    </Note>

    Pour créer plusieurs colonnes, indiquez le nombre de colonnes autorisées pour un champ dans la case **Max variant count**. Les opérateurs pourront ensuite ajouter des valeurs à ces colonnes.

    <Note>
      Si vous indiquez un nombre inférieur au nombre réel de colonnes, celui-ci est augmenté automatiquement lors de la mise à jour du jeu de données. Si vous indiquez un nombre supérieur au nombre réel de colonnes, des colonnes vides sont ajoutées.
    </Note>

    Si votre base de données ne comporte pas de colonne correspondante pour une colonne du jeu de données, reportez-vous aux sections [jeu de données Vendors](/fr/flexi-capture/invoice-reader/ir-columns-vendors) et [jeu de données BusinessUnits](/fr/flexi-capture/invoice-reader/ir-columns-bu).
  </Step>

  <Step title="Sélectionner le type de normalisation">
    Sélectionnez dans la liste **Normalization** l’entrée qui correspond le mieux au type de données de la colonne. Pour plus d’informations, consultez [Normalisation des valeurs dans les jeux de données](/fr/flexi-capture/invoice-reader/ir-normalization). Si nécessaire, activez l’option **Store normalized value**.
  </Step>

  <Step title="Définir l’option Cannot be empty">
    Activez l’option **Cannot be empty** si nécessaire.

    <Note>
      Lorsqu’elle est activée, l’option **Cannot be empty** indique au programme qu’une colonne doit contenir des valeurs. S’il s’avère qu’elle n’en contient aucune, l’enregistrement est marqué comme invalide.
    </Note>

    <Info>
      Si votre Document Definition contient un jeu de données **Vendors** qui utilise une base de données externe comme source, et que la valeur du champ **Vendor** dépend de la valeur du champ **Business Unit**, l’option **Cannot be empty** est activée par défaut pour la colonne **BusinessUnitId**. Si le jeu de données **Vendors** utilise une autre source, activez cette option manuellement.
    </Info>
  </Step>

  <Step title="Enregistrer la mise en correspondance">
    Enregistrez les modifications dans la boîte de dialogue **Data Set Column Mapping**.
  </Step>
</Steps>

<div id="the-data-sets-tab">
  ## L’onglet Jeux de données
</div>

Tous les jeux de données sont répertoriés dans l’onglet **Jeux de données**. Cette liste contient également les informations suivantes :

* Le nom du jeu de données dans la colonne **Nom**.
* Le type de la source sélectionnée dans la colonne **Source**.
* Le nombre total d’enregistrements dans la colonne **Nombre d’enregistrements**.
* L’état du jeu de données (s’il est activé) dans la colonne **Connecté**.

<Note>
  Le nombre total d’enregistrements s’affiche uniquement si l’option **Cache data** est activée dans les propriétés du jeu de données.
</Note>

Vous pouvez gérer les jeux de données à l’aide des boutons situés à droite de la liste :

* **Set Up...** ouvre la boîte de dialogue des propriétés du jeu de données sélectionné.
* **Update** met à jour le jeu de données sélectionné.
* **Check...** vérifie le jeu de données (les données s’affichent dans une fenêtre distincte).
* **Add...** crée un nouveau jeu de données.
* **Rename...** renomme le jeu de données sélectionné.
* **Delete** supprime le jeu de données sélectionné.
* **View\...** ouvre une boîte de dialogue qui vous permet d’afficher et de modifier les données du jeu de données sélectionné.
* **Clean Up** supprime tous les enregistrements du jeu de données.

Les jeux de données **Vendors** et **BusinessUnits** sont stockés dans le projet et doivent être synchronisés avec une base de données externe, dont les données peuvent évoluer au fil du temps. La synchronisation s’effectue à l’ouverture du projet, mais uniquement si le temps écoulé depuis la synchronisation précédente dépasse la période de mise à jour spécifiée. Pour plus d’informations, voir [Mise à jour des jeux de données](/fr/flexi-capture/invoice-reader/ir-data-set-update).

## <a id="viewing" />Afficher et modifier les enregistrements d’un jeu de données

Pour afficher ou modifier un jeu de données, sélectionnez-le dans l’onglet **Jeux de données** de la boîte de dialogue des propriétés du Document Definition, puis cliquez sur le bouton **Afficher...**.

Tous les enregistrements appartiennent à l’un des trois groupes d’enregistrements. Vous pouvez sélectionner le groupe d’enregistrements à afficher dans la liste déroulante **Groupe d’enregistrements**.

* **Général** contient uniquement des enregistrements valides.
* **Supprimés** contient les enregistrements supprimés par un utilisateur. Ces enregistrements ne sont pas utilisés pendant la reconnaissance et n’apparaissent pas dans les résultats d’une [recherche dans la base de données](/fr/flexi-capture/invoice-reader/ir-data-set-using). Si le jeu de données est mis à jour, ces enregistrements ne sont pas restaurés.
* **Invalides** contient des enregistrements non valides.

Cliquez sur le bouton **Définir...** pour trier et filtrer les enregistrements selon leurs valeurs dans l’une des colonnes de la liste. Le bouton **Réinitialiser** désactive le filtre.

Différentes opérations sont disponibles pour chacun des groupes d’enregistrements :

| Opération       | Général                                                                        | Supprimés                                                | Invalides                                                                      |
| --------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Modifier** \* | Modifie un enregistrement. Les enregistrements modifiés restent dans la liste. | —                                                        | Modifie un enregistrement. Les enregistrements modifiés restent dans la liste. |
| **Ajouter** \*  | Ajoute un enregistrement à la liste.                                           | —                                                        | —                                                                              |
| **Delete**      | Déplace l’enregistrement vers **Supprimés**.                                   | —                                                        | Déplace un enregistrement vers **Supprimés**.                                  |
| **Restaurer**   | —                                                                              | Restaure l’enregistrement (le déplace vers **Général**). | Valide l’enregistrement (le déplace vers **Général**).                         |

* L’ajout et la modification d’enregistrements ne sont possibles que si l’option **Clé primaire** est activée. Il est impossible d’ajouter ou de modifier des enregistrements dans les jeux de données par défaut **PurchaseOrders** et **PurchaseOrderItems**.

<Note>
  Lors de l’ajout ou de la modification d’enregistrements, le nombre de valeurs que vous pouvez spécifier pour un champ ne peut pas dépasser la valeur **Nombre maximal de variantes** définie pour ce champ dans la boîte de dialogue **Data Set Column Mapping**. Vous pouvez utiliser les boutons <img src="https://mintcdn.com/abbyy/39LtOHLEp1q7pm1x/images/flexi-capture/Add_to_DB.png?fit=max&auto=format&n=39LtOHLEp1q7pm1x&q=85&s=716437d729d5ff1658d99b6123c1c8aa" alt="" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="26" height="22" data-path="images/flexi-capture/Add_to_DB.png" /> et <img src="https://mintcdn.com/abbyy/mpS3pcxC_lkohQUS/images/flexi-capture/Remove_from_DB.png?fit=max&auto=format&n=mpS3pcxC_lkohQUS&q=85&s=af76788e1141f33096557389df7b704c" alt="" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="26" height="22" data-path="images/flexi-capture/Remove_from_DB.png" /> dans les boîtes de dialogue **Ajouter un enregistrement** et **Modifier un enregistrement** pour gérer les enregistrements.
</Note>

<Note>
  Pour appliquer le tri et le filtrage aux enregistrements nouvellement ajoutés ou modifiés, redéfinissez le filtre.
</Note>

<div id="database-check-rules">
  ### Règles de vérification de base de données
</div>

Le Document Definition Invoice contient des règles utilisées pour vérifier les données des groupes de champs **Fournisseur** et **Unité commerciale** par rapport à la base de données. Il s’agit de règles standard de type Database Check, nommées **(Rejected) Vendor should be found in the database** et **(Rejected) Business Unit should be found in the database**. Pour savoir comment trouver des règles dans la liste, consultez [Rules](/fr/flexi-capture/invoice-reader/ir-setting-rules).

Vous pouvez afficher les propriétés de ces règles pour voir comment chaque champ des groupes **Fournisseur** et **Unité commerciale** est vérifié :

* Quels champs doivent correspondre exactement aux enregistrements du jeu de données (et, par extension, de la base de données).
* Quels champs ne doivent pas nécessairement correspondre parfaitement.
* Quels champs sont simplement copiés depuis la base de données.

Vous pouvez également spécifier un champ à utiliser comme clé primaire pour sélectionner un enregistrement dans le jeu de données.

Pour plus d’informations, consultez [règle de vérification de base de données](/fr/flexi-capture/templates/rule-bd).

Les règles de vérification de base de données sont appliquées automatiquement lorsque la facture est reconnue, puis chaque fois qu’un opérateur modifie des champs du groupe pendant la vérification.

<div id="look-up-records-while-processing-invoices">
  ### Rechercher des enregistrements lors du traitement des factures
</div>

Si un fournisseur ou une unité commerciale n’a pas été identifié automatiquement, l’opérateur peut sélectionner l’enregistrement approprié dans la base de données (le jeu de données).

Pour plus d’informations, consultez [Recherche de fournisseurs et d’unités commerciales dans la base de données](/fr/flexi-capture/invoice-reader/ir-data-set-using).

<div id="modify-and-add-vendor-and-business-unit-records">
  ### Modifier et ajouter des enregistrements de fournisseurs et d’unités commerciales
</div>

Vous pouvez autoriser les opérateurs à ajouter de nouveaux enregistrements de fournisseurs et d’unités commerciales aux jeux de données pendant la vérification (s’ils ne sont pas trouvés dans la base de données) et à modifier les entrées existantes. Ces données ne sont pas stockées dans des bases de données externes de fournisseurs et d’unités commerciales, mais elles sont utilisées lors du traitement des factures et des vérifications de règles. Pour plus d’informations, consultez [Activation de fonctionnalités supplémentaires du programme pour les opérateurs](/fr/flexi-capture/invoice-reader/ir-advanced-options-activation).

Pour plus d’informations sur les recherches dans la base de données, consultez [Recherche de fournisseurs et d’unités commerciales dans la base de données](/fr/flexi-capture/invoice-reader/ir-data-set-using).
