メインコンテンツへスキップ
請求書を処理する際、ABBYY FlexiCapture はまずベンダー (つまり請求書を発行した会社) と事業部門 (つまり請求書を受領した会社または部門) を特定します。 ほとんどの場合、ベンダーによって請求書の言語や、数値、日付、合計金額の書式が決まります。事業部門によって、税率や適用される規制要件が決まります。ABBYY FlexiCapture は、請求書データの取り込みやバリデーションルールの適用時に、これらすべての情報を使用します。 プログラムがベンダー field と事業部門 field を見つけやすくするために、ベンダーおよび事業部門のデータベースを使用できます。これらは Document Definition 内のデータ セットに接続する必要があります。 (データ セットとは、ベンダーまたは事業部門に関する情報を格納した外部データベースのテーブルのローカル コピーです。データ セット内の値には型を設定し、正規化できます。データ セットは、外部データベースと同期するために定期的に更新できます。詳しくは、ベンダーおよび事業部門データベースの準備を参照してください。) ベンダーおよび事業部門のデータベースは、自動および手動によるデータチェックにも使用できます。 ベンダーおよび事業部門のデータベースの使用は必須ではありませんが、次の点に注意してください。
  • ベンダーおよび事業部門のデータベースを使用する場合、ABBYY FlexiCapture は請求書画像上の追加の会社情報を参照することで、会社をより確実に検出できます。また、検出されたベンダーが「既知の」ベンダーであることも確認できます。さらに、ベンダー データベースを使用している場合は、field を学習できるようになります。
  • ベンダーまたは事業部門のデータベースを使用しない場合、ABBYY FlexiCapture は請求書画像上でベンダー名、事業部門名、住所を探すためにニューラル ネットワークを使用します (詳しくは主要な field の検出を参照してください) 。また、ABBYY FlexiCapture はベンダー データベースなしではベンダーを確実に識別できないため、field を学習することはできません。
  • ベンダー データベースがなくても field の学習を使用したい場合は、請求書の取り込み時にデータ セットへレコードを追加することで、会社情報を蓄積できます。詳しくは、データベースでベンダーおよび事業部門を検索するを参照してください。

データベースの接続

ベンダー データベースと事業部門データベースは、同じ手順で接続します。
  1. Project メニューを開き、Document Definitions… をクリックします。
  2. 開いたダイアログで、Edit… ボタンをクリックします。
  3. Document Definition メニューを開き、Document Definition Properties… をクリックします。
  4. 開いたダイアログで、Data Sets タブを開きます。
  5. BusinessUnits (Vendors) の行をダブルクリックするか、Set Up… ボタンをクリックします。Data Set ダイアログが開きます。 データ セットは、基本的にデータを格納したテーブルです。必要な列とその型があらかじめ定義されています。これらの列や型はユーザーが変更できないため、データ セット内の各列を外部データベース内の列に対応付ける必要があります。データベースに必要なデータを含むテーブルがない場合は、そのデータを含むビューを作成し、そのビューをテーブルとして指定する必要があります。
  6. Source ドロップダウンリストから Database を選択します。 注: Script ソース型は、データ セットの更新に script を使用する予定がある場合にのみ選択してください。詳しくは、Updating data sets を参照してください。
  7. データベースの接続文字列を指定します。 Specify… ボタンをクリックすると、プロジェクト内の既存の環境変数を選択するか、新しい文字列を定義できます。プロジェクトの環境変数を使用すると、Document Definition を編集しなくても、プロジェクトを移動して同じ構造のデータベースに接続できます。
  8. Data schema と Database table を選択します。
  9. データ セットの列を、外部データベース内の対応する列に対応付けます。 データ セット内の各列について、外部データベース内の対応する列、または値を指定できます。 Match fields リストには次のものが含まれます。
    • データ セット内の列名
    • 外部データベース内の対応する列
デフォルトでは、データ セットの External Database column 列の各フィールドには value が設定されています。これは、外部データベースの列が指定されていないことを意味します。
  • Found 列。データ セットのフィールドとデータベース列の対応が確立されている場合は、チェックマークが表示されます
  • Normalization 列。値に使用される正規化の型が表示されます
正規化を使用すると、わずかな違いしかない複数の値を同一のものとして扱えるようになります (詳しくは Normalization を参照してください) 。 テーブル内の列を選択し、Edit… ボタンをクリックします。
  1. [Data Set Column Mapping]ダイアログで、[Database columns]リストから対応するデータベース列を選択します。 同じベンダーからの請求書でも、ベンダー企業名や住所の表記が異なる場合があります。複数の値が同じベンダー (同じ VATID) に対応する場合は、それらを外部データベースのテーブル (またはビュー) の別々の列 (Name1、Name2、Address1、…、AddressN など) に格納する必要があります。 その後、マッチング列を指定する際にリストから [Several columns…] を選択し、データ セット列に対応するものとしてデータベース内の任意の数の列を指定できます。 注: たとえば、外部データベースには会社名と住所について 1 つの値しか含まれていない場合があります。ただし、これらのfieldは請求書上では複数の一般的な候補で表記されることがあります。検出品質を最大限に高めるには、請求書に印字されたこれらのfieldのテキストが、データ セット内の対応するテキストにできるだけ近いことが重要です。データ セット内の複雑な列*.*を参照してください。 複数の列を作成するには、[Max variant count] ボックスで field に許可する列数を指定します。後でオペレーターがこれらの列に値を追加できるようになります。 注: 実際の列数 (fieldの値の表記方法の数) より少ない数を指定した場合、この数はデータ セットの更新時に自動的に増やされます。実際の列数より多い数を指定した場合は、空の列が追加されます。 データベースにデータ セット列に対応する列がない場合は、Vendors data set および BusinessUnits data set のセクションを参照してください。
  2. [Normalization] リストから、その列のデータの型に最も適した項目を選択します (詳細は Normalization を参照してください) 。必要に応じて、[Store normalized value] オプションを有効にします。
  3. 必要に応じて、[Cannot be empty] オプションを有効にします。 注: 有効にすると、[Cannot be empty] オプションは、その列に値が必ず含まれていなければならないことをプログラムに示します。値が含まれていないことが判明した場合、そのrecordは無効としてマークされます。 重要! Document Definition に、ソースとして外部データベースを使用する Vendors data set が含まれていて、Document Definition 内の ベンダー field の値が 事業部門 field の値に依存する場合、BusinessUnitId 列では [Cannot be empty] が既定で有効になります。Vendors data set が別のソースを使用している場合は、このオプションを手動で有効にする必要があります。
  4. [Data Set Column Mapping]ダイアログで行った変更を保存します。
  5. [Add…] ボタンを使用して、データ セットにカスタム列を追加し、外部データベース内の対応する列を指定することもできます。 注: [Edit…] ボタンと [Delete] ボタンを使用して複雑な列を管理できます。事前定義の列 (ロックiconで示されます) は削除できません。
  6. 自動更新が必要な場合は、データ セットでデータベースの更新間隔を指定します。
  7. スクリプトを使用してrecordを検証するには、[Check records using scripts] オプションを有効にします。詳細は、データ セット検証スクリプト を参照してください。
  8. 変更を保存します。

Data Sets タブ

すべてのデータセットは、Data Sets タブに一覧表示されます。この一覧には、次の追加情報が含まれます。
  • Name 列のデータセット名
  • Source 列の選択したソースの型
  • Record count 列のレコード総数 注: レコード総数は、データセットのプロパティで Cache data オプションが有効になっている場合にのみ表示されます。
  • Connected 列のデータセットの状態 (有効かどうか)
一覧の右側にあるボタンを使って、データセットを管理できます。
  • Set Up… は、選択したデータセットのプロパティダイアログを開きます。
  • Update は、選択したデータセットを更新します。
Vendors および BusinessUnits データセットはプロジェクト内に保存されており、外部データベースと同期する必要があります。この外部データベースの内容は、時間の経過とともに変化する可能性があります。同期はプロジェクトを開いたときに実行されますが、前回の同期からの経過時間が指定された更新間隔を超えている場合に限られます。更新の詳細については、データセットの更新を参照してください。
  • Check… はデータセットを確認します (データは別ウィンドウに表示されます)
  • Add… は新しいデータセットを作成します。
  • Rename… は選択したデータセットの名前を変更します。
  • Delete は選択したデータセットを削除します。
  • View… は、選択したデータセットのデータを表示および編集できるダイアログを開きます。
  • Clean Up はデータセット内のすべてのレコードを削除します。

データ セット レコードの表示と編集

データ セットを表示または編集するには、Document Definition のプロパティ ダイアログの Data Sets タブで対象のデータ セットを選択し、View… ボタンをクリックします。 すべてのレコードは、3 つのレコード グループのいずれかに属します。表示するレコード グループは、Record group ドロップダウンリストから選択できます。
  • General には、有効なレコードのみが含まれます。
  • Deleted には、ユーザーによって削除されたレコードが含まれます。これらのレコードは認識時には使用されず、データベース検索の結果にも表示されません。データ セットが更新されても、これらのレコードは復元されません。
  • Invalid には、無効なレコードが含まれます。
Set… ボタンをクリックすると、リスト内のいずれかの列の値でレコードを並べ替えたり、フィルターしたりできます。Reset ボタンをクリックすると、フィルターは無効になります。 レコード グループごとに、使用できる操作は異なります。
OperationGeneralDeletedInvalid
Edit…*レコードを編集します。編集したレコードはリストに残ります。レコードを編集します。編集したレコードはリストに残ります。
Add…*レコードをリストに追加します。
Deleteレコードを Deleted に移動します。レコードを Deleted に移動します。
Restoreレコードを復元します (General に移動します) 。レコードを検証します (General に移動します) 。
*** -** レコードの追加および編集は、Primary key オプションが有効な場合にのみ可能です。既定のデータ セット PurchaseOrders および PurchaseOrderItems のレコードは、追加も編集もできません。
データ セットでレコードを追加または編集する際に field に指定できる値の数は、そのデータ セットの Data Set Column Mapping ダイアログの Max variant count ボックスで指定した数を超えることはできません。Add Record ダイアログおよび Edit Record ダイアログでは、 ボタンと ボタンを使ってレコードを管理できます。
新しく追加または編集したレコードに並べ替えとフィルターを適用するには、フィルターを再設定してください。
Invoice Document Definition には、ベンダー および 事業部門 の field グループのデータをデータベースと照合するためのルールが含まれています。これらは、(Rejected) Vendor should be found in the database および (Rejected) 事業部門 should be found in the database という名前の標準の Database Check ルールです。リスト内でルールを見つける方法については、Rulesを参照してください。これらのルールのプロパティを表示すると、ベンダー および 事業部門 グループのどの field がデータ セット内のレコード (ひいてはデータベース内のレコード) と完全一致している必要があるか、どの field は完全一致でなくてもよいか、またどの field が単にデータベースからコピーされるだけなのかを確認できます。また、データ セットからレコードを選択する際に主キーとして使用する field を指定することもできます。データベース チェック ルールについて詳しくは、Database Check ruleを参照してください。.Database Check ルールは、invoice の認識時に自動的に適用され、その後は Operator が検証中にそのグループの fields を変更するたびに適用されます。
ベンダーまたは事業部門が自動的に特定されなかった場合、Operator はデータベース (つまりデータ セット) から適切なレコードを選択できます。データベースでベンダーと事業部門をルックアップするを参照してください。
検証中に、Operator が新しいベンダーおよび事業部門のレコード (データベース内に見つからない場合) をデータ セットに追加したり、既存のエントリを編集したりできるように設定できます。このデータは外部のベンダー データベースや事業部門データベースには保存されませんが、invoice の処理およびルール チェックでは使用されます。詳細については、Operator 向けの追加プログラム機能を有効にするを参照してください。データベースでベンダーと事業部門をルックアップするを参照してください。