> ## 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.

# Exemple 3. Étape 6 : Détection du nom du champ Numéro de facture à l’aide de l’élément kwInvoiceNumber

> Créez un élément Static Text kwInvoiceNumber obligatoire qui recherche le nom du champ Numéro de facture et identifie le type de document dans ABBYY FlexiCapture.

L’analyse des images montre que le nom du champ Numéro de facture apparaît sur toutes les images et permet de les distinguer des autres types de documents. Lors du traitement de documents semi-structurés dans ABBYY FlexiCapture, il est préférable d’éviter la reconnaissance par erreur de documents qui n’appartiennent pas au type sélectionné. Une façon d’identifier un document consiste à créer au moins un [élément obligatoire](/fr/flexi-capture/fls/glossary/glossary-main-body#r). Marquez donc cet élément comme obligatoire, c’est-à-dire utilisez-le comme identifiant pour ce type de document.

Notez que, sur certaines images, ce nom apparaît sous la forme Invoice No., tandis que sur d’autres, il apparaît sous la forme Credit note no. La chaîne de recherche doit inclure ces deux variantes. Spécifiez chacune des chaînes sans espaces afin que le nombre maximal d’erreurs s’applique à l’ensemble de la phrase, et non à chaque mot séparément.

Pour créer l’élément kwInvoiceNumber :

1. Dans l’élément **InvoiceHeader**, créez un élément de type [Static Text](/fr/flexi-capture/fls/template/static-text) et nommez-le **kwInvoiceNumber**.
2. Sélectionnez **Required element** dans l’onglet Général pour faire de cet élément un élément obligatoire.
3. Cliquez sur l’onglet Static Text.
4. Dans le champ Search text, saisissez le texte à rechercher : « **InvoiceNo.|CreditNoteNo** ».
5. Définissez Max error percentage sur 20.
6. Cliquez sur l’onglet Relations.
7. Dans l’onglet Relations, indiquez que les mots-clés correspondant au nom du champ **Numéro de facture** ne peuvent apparaître qu’au-dessous du nom du champ **Delivery Address** :
   * Au-dessous de l’élément `InvoiceHeader.kwDeliveryAddress`, Offset = 0.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_6.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=dd2163bad1fbdae979873aecfb1053da" alt="Capture d’écran de l’onglet Relations de la boîte de dialogue Properties de SearchElements.InvoiceHeader.StaticText dans ABBYY FlexiLayout Studio, montrant une relation Below vers l’élément kwDeliveryAddress." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_6.png" />
</Frame>

1. Cliquez sur l’onglet Advanced.
2. Étant donné que le champ **Delivery Address** se trouve dans le tiers supérieur et dans le tiers gauche de l’image, définissez la [contrainte de recherche supplémentaire](/fr/flexi-capture/fls/template/advanced-constraints) suivante dans le champ Relations avancées avant recherche :
   Rechercher l’objet dans le tiers gauche de l’image; Rechercher l’objet dans le tiers supérieur de l’image. En [langage FlexiLayout](/fr/flexi-capture/fls/code/general-code) :
   `Above: PageRect.Top + PageRect.Height/3;`
   `LeftOf: PageRect.Left + PageRect.Width/3;`
3. Testez la mise en correspondance du FlexiLayout avec les images de test et assurez-vous que le programme détecte correctement l’élément sur toutes les images.

<Note>
  En pratique, si l’intitulé d’un champ varie d’une image à l’autre, vous devez veiller à spécifier toutes les variantes possibles du nom, ou au moins la plupart d’entre elles. Vous pouvez demander davantage d’images de test ou contacter votre client afin de connaître les variantes possibles du nom sur les documents de ce type.
</Note>
