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

# 購買注文書のバリデーションルール

> Order Document Definition の事前設定済みのバリデーションルールを確認します。合計金額と通貨のチェック、データベース ルックアップ、任意の税ルールについて説明します。

Order Document Definition には、以下の事前設定済みのバリデーションルールが含まれています。これらのルールは、Order Document Definition の設定で無効にすることも、独自の[バリデーションルール](/ja/flexi-capture/templates/rules)を作成することもできます。

<div id="general-validation-rules">
  ## 一般的なバリデーションルール
</div>

<div id="total">
  ### 合計金額
</div>

| ルール                       | 説明                                             |
| ------------------------- | ---------------------------------------------- |
| **合計金額 fieldで通貨と金額を分離する** | OCR が通貨記号を数字と区別できない場合、通貨記号を金額から分離します。          |
| **合計金額チェック**              | 明細項目の価格と追加費用を合算し、その結果を**合計金額** field の値と比較します。 |

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

| ルール                                         | 説明                                                |
| ------------------------------------------- | ------------------------------------------------- |
| **明細行の合計金額をチェック**                           | 各明細行の合計金額が、数量 × 価格 － 割引額と一致することを確認します。            |
| **LI\_UnitPrice field の合計金額から通貨を分離**        | OCR が通貨記号と数字を区別できない場合に、合計金額から通貨記号を分離します。          |
| **LI\_TotalPriceNetto field の合計金額から通貨を分離**  | OCR が通貨記号と数字を区別できない場合に、合計金額から通貨記号を分離します。          |
| **LI\_TotalPriceBrutto field の合計金額から通貨を分離** | OCR が通貨記号と数字を区別できない場合に、合計金額から通貨記号を分離します。          |
| **数量は必須**                                   | 商品の数量が検出されていることを確認します。                            |
| **合計金額が空の場合は通貨を非表示**                        | **合計金額** field が検出されていない場合、**通貨** field の値を削除します。 |
| **LineItems の通貨の値をチェック**                    | **通貨** field の値を確認します。                            |

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

| ルール                                            | 説明                                                             |
| ---------------------------------------------- | -------------------------------------------------------------- |
| **品目番号がデータベースに存在する必要があります**                    | データベースに品目番号のみが存在している必要があるか、または品目番号と事業部門の両方が存在している必要があるかを指定します。 |
| **Article Number と BU はデータベース内に存在している必要があります** | データベースに品目番号のみが存在している必要があるか、または品目番号と事業部門の両方が存在している必要があるかを指定します。 |

<div id="issuer">
  ### 発行者
</div>

| ルール                          | 説明                                                       |
| ---------------------------- | -------------------------------------------------------- |
| **購入者がデータベースに登録されている必要がある**  | 購入者の詳細情報がデータベースに登録されている必要があるか、またはデータベースに追加する必要があるかを示します。 |
| **購入者情報をデータベースに追加する必要があります** | 購入者の詳細情報がデータベースに登録されている必要があるか、またはデータベースに追加する必要があるかを示します。 |

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

| ルール                         | 説明                                   |
| --------------------------- | ------------------------------------ |
| **配送日は注文日より後の日付である必要があります** | 検出された配送日が、検出された注文日より後の日付であることを確認します。 |

<div id="currency">
  ### 通貨
</div>

| ルール                   | 説明                                             |
| --------------------- | ---------------------------------------------- |
| **通貨をCADまたはUSDに設定**   | 事業部門の所在国に応じて通貨を設定します (カナダはCAD、USAはUSD) 。       |
| **国の通貨を判定**           | 事業部門の所在国に基づいて通貨を判定します。                         |
| **LineItemsから通貨をコピー** | **LineItems**に通貨がある場合、その通貨をコピーします。             |
| **通貨の値を確認**           | **合計金額** field が空でない場合は、**通貨** field の値を確認します。 |

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

| ルール                             | 説明                                                        |
| ------------------------------- | --------------------------------------------------------- |
| **事業部門に関する情報をデータベースに追加する必要がある** | 事業部門の詳細情報がデータベースに登録されている必要があるか、またはデータベースに追加する必要があるかを示します。 |
| **事業部門がデータベースに存在する必要があります**     | 事業部門の詳細情報がデータベースに登録されている必要があるか、またはデータベースに追加する必要があるかを示します。 |

<div id="enable-the-tax-rules">
  ## 税ルールを有効にする
</div>

税ルールは請求書プロジェクトで使用されるものと同じですが、デフォルトでは無効になっています。

有効にするには、**Taxes** オプションをオンにします。

<Steps>
  <Step title="Document Definition Properties を開く">
    Document Definition エディターで、**Document Definition → Document Definition Properties...** をクリックします。
  </Step>

  <Step title="Additional Fields and Features を開く">
    開いたダイアログで **Document Definition Settings** タブをクリックし、次に **Additional Fields and Features** グループの **Edit...** ボタンをクリックします。
  </Step>
</Steps>

<div id="tax-validation-rules-for-the-order-document-definition">
  ## Order Document Definitionの税に関するバリデーションルール
</div>

すべての税に関するruleは、**Amounts** field グループに適用されます。

| Rule                          | Description                                                                                                                                                                |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **税額合計が任意の場合のTotal fieldの確認** | 税引前金額の合計 (NetAmount0、NetAmount1、NetAmount2) 、税額 (TaxAmount1およびTaxAmount2) 、および追加費用 (AdditionalCosts) の合計が、**Total** fieldに示された金額と一致するかどうかを確認します。このruleはドイツの購買注文書にのみ使用できます。 |
| **税額合計が必須の場合のTotal fieldの確認** | 税引前金額の合計 (NetAmount0、NetAmount1、NetAmount2) 、税額 (TotalTaxAmount) 、および追加費用 (AdditionalCosts) の合計が、**Total** fieldに示された金額と一致するかどうかを確認します。このruleはドイツ以外の購買注文書にのみ使用できます。        |

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

| ルール                                | 説明                                                                                                                       |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **合計税額fieldをチェック**                 | 次のチェックを実行します: `TotalTaxAmount = TaxAmount1 + TaxAmount2 + Additional Tax Groups / TaxAmount`。このルールは、英国以外の購買注文書でのみ使用できます。 |
| **合計税額は必須fieldです**                 | `Amounts\TotalTaxAmount` fieldに値が入力されていることをチェックします。このルールは、ドイツ以外の購買注文書でのみ使用できます。                                          |
| **TotalTaxAmount fieldで金額から通貨を分離** | OCR が通貨記号と数字を区別できない場合、金額から通貨記号を分離します。                                                                                    |
| **税率が 1 つだけ見つかった場合は合計税額fieldを補完**  | 税率が 1 つだけ含まれるドキュメントについて、`Amounts\TotalTaxAmount` fieldを自動的に補完します。                                                        |
| **合計税額fieldが任意の場合は補完**             | このfieldが任意の国では、`Amounts\TotalTaxAmount` fieldを自動的に補完します。このルールは、ドイツの購買注文書でのみ使用できます。                                       |

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

| Rule                                | Description                                                                                                                     |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **注文アイテムに対する正味合計の検証**               | LineItemsテーブルのTotalPriceNettoカラムの値を合計し、その結果をTotalNetAmountの金額と照合します。                                                            |
| **TotalNetAmount fieldの通貨記号と金額の分離** | OCRが通貨記号を数字と区別できない場合に、通貨記号を金額から分離します。                                                                                           |
| **Net Total fieldの確認**              | 以下の確認が実行されます： `TotalNetAmount = NetAmount0 + NetAmount1 + NetAmount2`。TotalNetAmount fieldが空の場合、このruleは計算された金額でそのfieldを自動補完します。 |

<div id="additional-tax-groups">
  ### 追加の税グループ
</div>

| Field                | ルール                             | 説明                                                                  |
| -------------------- | ------------------------------- | ------------------------------------------------------------------- |
| TaxRate, TaxAmount   | **税率が検出された場合、税引前金額は必須です**       | 検出された各税率に対応する空でない NetAmount field があることを確認します。                      |
| TaxRate              | **Tax Rate field が空の場合は補完する**   | 画像上で税率が見つからなくても、他の税関連 field が見つかっている場合は、TaxRate field の値を計算して補完します。 |
| TaxRate              | **Tax Rate field は空であってはなりません** | 検出された各税引前金額または税額に対応する空でない TaxRate field があることを確認します。                |
| TaxAmount            | **Tax field をチェックする**           | 次のチェックを実行します: `TaxAmount = NetAmount * (TaxRate/100)`。              |
| TaxAmount, NetAmount | **TaxAmount field で通貨と金額を分離する** | OCR が通貨記号と数字を区別できなかった場合、金額から通貨記号を分離します。                             |

<Note>
  外部データベースを使用する場合、文書の国はベンダーの事業部門の国になります。外部データベースを使用しない場合は、自動国検出機能によって国が判定されます。
</Note>
