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

# Règles de validation pour les commandes d’achat

> Passez en revue les règles de validation préconfigurées de la définition de document Order, couvrant les vérifications du montant et de la devise, les recherches dans la base de données et les règles fiscales facultatives.

La définition de document Order comprend les règles de validation préconfigurées suivantes. Vous pouvez désactiver l’une ou l’autre de ces règles dans les paramètres de la définition de document Order, ou créer vos propres [règles de validation](/fr/flexi-capture/templates/rules).

<div id="general-validation-rules">
  ## Règles générales de validation
</div>

<div id="total">
  ### Total
</div>

| Règle                                                | Description                                                                                                                                 |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Séparer la devise du montant dans le champ Total** | Sépare le symbole de la devise du montant si la reconnaissance optique de caractères (OCR) ne parvient pas à le distinguer des chiffres.    |
| **Contrôle du montant**                              | Additionne les prix des lignes de poste et les coûts supplémentaires, puis compare le résultat au montant figurant dans le champ **Total**. |

<div id="lineitems">
  ### LineItems
</div>

| Règle                                                               | Description                                                                                                                           |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Vérifier le montant de la ligne**                                 | Vérifie que le montant de chaque ligne est égal à la quantité multipliée par le prix, moins la remise.                                |
| **Séparer la devise du montant dans le champ LI\_UnitPrice**        | Sépare le symbole de devise du montant si la Reconnaissance optique de caractères (OCR) ne parvient pas à le distinguer des chiffres. |
| **Séparer la devise du montant dans le champ LI\_TotalPriceNetto**  | Sépare le symbole de devise du montant si la Reconnaissance optique de caractères (OCR) ne parvient pas à le distinguer des chiffres. |
| **Séparer la devise du montant dans le champ LI\_TotalPriceBrutto** | Sépare le symbole de devise du montant si la Reconnaissance optique de caractères (OCR) ne parvient pas à le distinguer des chiffres. |
| **La quantité est obligatoire**                                     | S'assure que la quantité de marchandises a bien été détectée.                                                                         |
| **Masquer la devise si le total est vide**                          | Supprime la valeur du champ **Devise** si aucun champ **Total** n'a été détecté.                                                      |
| **Vérifier la valeur de la devise dans LineItems**                  | Vérifie la valeur du champ **Devise**.                                                                                                |

<div id="articlenumberbu">
  ### ArticleNumberBU
</div>

| Règle                                                                    | Description                                                                                                                         |
| ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Le numéro d’article doit être présent dans la base de données**        | Indiquez si seul le numéro d’article, ou le numéro d’article et l’unité commerciale, doivent être présents dans la base de données. |
| **Le numéro d’article et la BU doivent figurer dans la base de données** | Indiquez si seul le numéro d’article, ou le numéro d’article et l’unité commerciale, doivent être présents dans la base de données. |

<div id="issuer">
  ### Émetteur
</div>

| Règle                                                                          | Description                                                                                             |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |
| **L’acheteur doit figurer dans la base de données**                            | Indiquez si les informations sur l’acheteur doivent figurer dans la base de données ou y être ajoutées. |
| **Les informations sur l’acheteur doivent être ajoutées à la base de données** | Indiquez si les informations sur l’acheteur doivent figurer dans la base de données ou y être ajoutées. |

<div id="deliverydate">
  ### DeliveryDate
</div>

| Règle                                                                | Description                                                                               |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| **La date de livraison doit être postérieure à la date de commande** | Vérifie que la date de livraison détectée est postérieure à la date de commande détectée. |

<div id="currency">
  ### Devise
</div>

| Règle                               | Description                                                                                      |
| ----------------------------------- | ------------------------------------------------------------------------------------------------ |
| **Régler la devise sur CAD ou USD** | Définit la devise selon le pays de l’unité commerciale (CAD pour le Canada et USD pour les USA). |
| **Détecter la devise nationale**    | Détermine la devise à partir du pays de l’unité commerciale.                                     |
| **Copier la devise de LineItems**   | Copie la devise de **LineItems** (si disponible).                                                |
| **Vérifier la valeur de la devise** | Vérifie la valeur du champ **Devise** si le **Total** n’est pas vide.                            |

<div id="bu">
  ### BU
</div>

| Règle                                                                                   | Description                                                                                                     |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Les informations sur l’unité commerciale doivent être ajoutées à la base de données** | Indique si les informations sur l’unité commerciale doivent figurer dans la base de données ou y être ajoutées. |
| **L’unité commerciale doit être présente dans la base de données**                      | Indique si les informations sur l’unité commerciale doivent figurer dans la base de données ou y être ajoutées. |

<div id="enable-the-tax-rules">
  ## Activer les règles fiscales
</div>

Les règles fiscales sont identiques à celles utilisées dans les projets de factures, mais elles sont désactivées par défaut.

Pour les activer, activez l’option **Taxes** :

<Steps>
  <Step title="Ouvrir Document Definition Properties">
    Dans le Document Definition Editor, cliquez sur **Document Definition → Document Definition Properties...**.
  </Step>

  <Step title="Ouvrir Champs et fonctionnalités supplémentaires">
    Dans la boîte de dialogue qui s’ouvre, cliquez sur l’onglet **Paramètre de la définition de document**, puis sur le bouton **Modifier...** dans le groupe **Champs et fonctionnalités supplémentaires**.
  </Step>
</Steps>

<div id="tax-validation-rules-for-the-order-document-definition">
  ## Règles de validation des taxes pour la définition de document Order
</div>

Toutes les règles de taxe s’appliquent au groupe de champs **Montants**.

| Règle                                                                      | Description                                                                                                                                                                                                                                                                                                          |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Vérifier le champ Total si le montant total de la taxe est facultatif**  | Vérifie que la somme de tous les montants hors taxe (NetAmount0, NetAmount1 et NetAmount2), des montants de taxe (TaxAmount1 et TaxAmount2) et des coûts supplémentaires (AdditionalCosts) est égale au montant indiqué dans le champ **Total**. Cette règle s'applique uniquement aux commandes d'achat allemandes. |
| **Vérifier le champ Total si le montant total de la taxe est obligatoire** | Vérifie que la somme de tous les montants hors taxe (NetAmount0, NetAmount1 et NetAmount2), du montant de la taxe (TotalTaxAmount) et des coûts supplémentaires (AdditionalCosts) est égale au montant indiqué dans le champ **Total**. Cette règle s'applique uniquement aux commandes d'achat non allemandes.      |

<div id="totaltaxamount">
  ### TotalTaxAmount
</div>

| Règle                                                                        | Description                                                                                                                                                                                                 |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Vérifier le champ Taxe totale**                                            | La vérification suivante est effectuée : `TotalTaxAmount = TaxAmount1 + TaxAmount2 + Additional Tax Groups / TaxAmount`. Cette règle ne peut être utilisée que pour les commandes d’achat non britanniques. |
| **La taxe totale est un champ obligatoire**                                  | Vérifie que le champ `Amounts\TotalTaxAmount` est renseigné. Cette règle ne peut être utilisée que pour les commandes d’achat non allemandes.                                                               |
| **Séparer la devise du montant dans le champ TotalTaxAmount**                | Sépare le symbole de devise du montant si l’OCR ne parvient pas à le distinguer des chiffres.                                                                                                               |
| **Renseigner le champ Taxe totale si un seul taux d’imposition est détecté** | Renseigne automatiquement le champ `Amounts\TotalTaxAmount` pour les documents qui ne contiennent qu’un seul taux d’imposition.                                                                             |
| **Renseigner le champ Taxe totale s’il est facultatif**                      | Renseigne automatiquement le champ `Amounts\TotalTaxAmount` pour les pays où ce champ est facultatif. Cette règle ne peut être utilisée que pour les commandes d’achat allemandes.                          |

<div id="totalnetamount">
  ### TotalNetAmount
</div>

| Règle                                                             | Description                                                                                                                                                                             |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Vérifier le total net par rapport aux articles de la commande** | Additionne les valeurs de la colonne TotalPriceNetto dans le tableau LineItems et compare le résultat au montant indiqué dans TotalNetAmount.                                           |
| **Séparer la devise du montant dans le champ TotalNetAmount**     | Sépare le symbole de devise du montant si la reconnaissance optique de caractères (OCR) ne parvient pas à le distinguer des chiffres.                                                   |
| **Vérifier le champ Total net**                                   | La vérification suivante est effectuée : `TotalNetAmount = NetAmount0 + NetAmount1 + NetAmount2`. Si le champ TotalNetAmount est vide, cette règle le complète avec le montant calculé. |

<div id="additional-tax-groups">
  ### Groupes de taxes supplémentaires
</div>

| Champ                | Règle                                                                          | Description                                                                                                                                                 |
| -------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TaxRate, TaxAmount   | **Si un taux d’imposition est détecté, le montant avant taxe est obligatoire** | Vérifie qu’à chaque taux d’imposition détecté correspond un champ NetAmount non vide.                                                                       |
| TaxRate              | **Compléter le champ TaxRate s’il est vide**                                   | Calcule la valeur du champ TaxRate et le renseigne si aucun taux d’imposition n’a été trouvé sur l’image, mais que d’autres champs de taxe ont été trouvés. |
| TaxRate              | **Le champ TaxRate ne doit pas être vide**                                     | Vérifie qu’à chaque montant net ou montant de taxe détecté correspond un champ TaxRate non vide.                                                            |
| TaxAmount            | **Vérifier le champ TaxAmount**                                                | Le contrôle suivant est effectué : `TaxAmount = NetAmount * (TaxRate/100)`.                                                                                 |
| TaxAmount, NetAmount | **Séparer la devise du montant dans le champ TaxAmount**                       | Sépare le symbole de devise du montant si l’OCR ne parvient pas à le distinguer des chiffres.                                                               |

<Note>
  Lorsqu’une base de données externe est utilisée, le pays d’un document est celui de l’unité commerciale du fournisseur. Si aucune base de données externe n’est utilisée, le pays est déterminé par un détecteur automatique de pays.
</Note>
