ERPなしで実現するスリーマッチング:
発注書から承認までをGoogleスプレッドシートで自動化
製造業におけるスリーマッチングが失敗する理由の分析で明らかになったのは、ボトルネックはマッチングアルゴリズムではなく、その前段階のデータ抽出にあるということです。Ardent Partnersの2025年APベンチマークによると、初回不一致率の平均は22%ですが、製造業では—包括発注、分割出荷、ドックと請求書間の単位のずれなどにより—さらに高くなります。診断結果は明白です。2つの書類が非構造化PDFに閉じ込められている限り、3つの書類をマッチングすることはできません。この記事が答えるのは、この問題を解決するために実際に何を構築すべきか、そしてそれをERPなしで構築できるか、という問いです。
重要ポイント
- 22%の初回不一致はマッチングアルゴリズムの失敗ではなく、データ抽出の失敗がマッチング問題に偽装したものです。
- APチームの66%が手動で請求書データをERPに入力しており、マッチングモジュールは誰かが入力を終えるのを待ってほとんどの時間をアイドル状態で過ごしています。
- ImageToTable.aiの列名抽出はテンプレートなしで任意のサプライヤー形式を読み取り、3部門が調査していたマッチング工程がVLOOKUPと緑色のセルになります。
スリーマッチングに実際に必要なもの — 許容範囲の設定だけではない
スリーマッチングとは、発注書、入庫伝票、仕入先請求書を照合し、注文内容と受領内容、請求内容が一致することを確認してから支払いを承認するプロセスです。ISO 9001:2015 第8.4項では、認証を受けた製造業者に対し、購入製品が要求仕様を満たしていることの検証が義務付けられており、多くの企業がこの要件を満たすためにスリーマッチングを運用しています。ACFE 2024年版「職業上の不正に関する報告書」(組織の年間収益の5%が職業上の不正により失われると推定)では、スリーマッチングは請求書不正に対する重要な対策として位置づけられています。規制上の論理は正しい。しかし、その根底にあるデータの問題が、実務上で破綻を招いています。
スリーマッチングの改善に関するアドバイスのほとんどは、照合レイヤーに焦点を当てています。すなわち、許容範囲の厳格化、承認ワークフローの追加、ERPでの自動照合ルールの設定などです。しかし、これらはいずれも根本的な問題を解決しません。3つの文書は3つの異なるシステムから、3つの異なる形式で届き、そのうち2つは非構造化データだからです。発注書は購買システムに存在します。入庫伝票は、紙の納品書から手入力されたかどうかも定かではありません。仕入先請求書はPDFで届きます。照合ロジックがこれらの文書を比較する前に、構造化されていない2つの文書からデータを抽出し、比較可能な形式に変換し、単位や明細行が一致することを確認する必要があります。VLOOKUP、IF文、条件付き書式といった照合レイヤーは簡単な部分です。パイプラインの成否を分けるのは、データ抽出レイヤーなのです。
3者照合のパイプラインを機能させるには、照合ルールの改善から始めるのではありません。3つの書類すべてを同じ構造化フォーマットで同じスプレッドシートに揃えることから始まります。そこまでできれば、照合は数式の問題です。難しいのは、そこにたどり着くことです。
ERPのアドバイスがスプレッドシートのワークフローに合わない理由
SAPのMMモジュール、Oracle E-Business Suite、Microsoft Dynamics 365 — これらすべてに、設定可能な許容範囲を持つ3者照合モジュールが含まれています。例えばSAPは、GR/IRクリアリング勘定を通じて照合を処理します。入庫(トランザクションMIGO)で借方計上、請求書受領(MIRO)で貸方計上し、システムが自動的に照合済みの明細を消し込みます。このロジックは成熟しており、十分に文書化されています。
しかし、このロジックは、かなりの数の購買業務において当てはまらないことを前提としています。それは、照合ロジックが実行される前に、3つの書類すべてが構造化され比較可能なデータとしてERP内に存在しているという前提です。2025年のIFOL AP自動化動向調査によると、APチームの66%が依然として手作業で請求書データをERPに入力しています。50~200のベンダー(その多くはPDFをメールで送信する小規模な機械工場、地域の販売代理店、専門サプライヤー)とのサプライヤー関係を管理する調達チームにとって、照合を開始する前に、すべての請求書が手動データ入力の対象となります。
そのグループに該当する場合——調達をスプレッドシートで管理している、ERPの請求書取込機能にサプライヤーごとのテンプレート設定が必要でその工数を確保できない、あるいは取引先に小規模ベンダーが多くPDF形式でしか送ってこない——ERPのマッチングモジュールは、本来解決すべき課題の下流部分に対処しているにすぎません。必要なのは、より優れたマッチングアルゴリズムではありません。発注データ、受入データ、請求書データを一つの構造化ビューにまとめる手段であり、調達追跡にすでに使っているツールはおそらくスプレッドシートです。問題は、そのスプレッドシートをパイプラインに変える方法です。
3層パイプラインアーキテクチャ
パイプラインは3つの層で構成されています——スリーマッチの各文書に対応——さらにその上にマッチングダッシュボードという第4の層が存在します。最初の3層は非構造化文書から構造化データを抽出します。第4層はそれらを比較します。最初の3層のいずれかで一貫性のない不完全なデータが生成されると、マッチング層は機能しません。アーキテクチャの強度は、最も弱い抽出層に依存します。
各レイヤーは、調達から支払いに至るチェーンの特定のギャップを埋めます。POレイヤーはベースライン(何を、いくらで、誰から注文したか)を確立します。受領レイヤーは、実際に到着したものを確認します。請求書レイヤーは、サプライヤーが請求した内容を取得します。マッチングダッシュボードは、これら3つがすべて収束する場所であり、問題分析で従来のマッチングワークフローの構造的弱点として特定された、3部門にわたる調査をスプレッドシートが代替する場です。
レイヤー1と3で非構造化データから構造化データへの変換を実現するツールは、カスタム列抽出です。各ドキュメントのフィールドに枠を描いたり、サプライヤー形式ごとにテンプレートを作成する代わりに、「PO番号」「仕入先名」「明細項目」「数量」「単価」「明細合計」など、必要な列名を入力するだけで、AIがドキュメントを読み取り、画面上の位置ではなく意味を理解してそれらの値を検索します。SAPのPDF出力からの構造化POと、地元サプライヤーからの手書きPOは、見た目はまったく異なります。しかし、どちらにもPO番号、仕入先名、数量、価格が含まれています。列名抽出は、あらゆるレイアウトにわたってこれらのフィールドの意味を検索するため、数十種類のサプライヤードキュメント形式を扱う調達チームにとってテンプレートベースのOCRを非現実的にする、サプライヤーごと・形式ごとのテンプレート保守を排除します。
レイヤー1 — 発注書抽出:参照ベースライン
3ウェイマッチはすべて発注書から始まります。POは、どのベンダーから、どの品目を、いくつの数量で、いくらの価格で、いつ納品するかという条件を定めます。ERP統合環境では、このデータはすでに構造化された明細項目として存在します。POはシステム内で作成されています。しかし、スプレッドシートベースの購買ワークフローでは、POはいくつかの形式で届きます。買い手側のシステムで生成されたPDF、サプライヤーから注文確認としてメール送信されたPO、または紙ベースで運用する小規模ベンダーからのスキャン文書です。POデータを構造化形式に変換することが最初のステップであり、スプレッドシートベースのチームにとって、このステップがパイプライン全体の実現可能性を左右します。
POの抽出列は、照合プロセスで参照する必要がある項目によって異なります。最低限必要なものは次のとおりです。
| 列 | 内容 | 照合における重要性 |
|---|---|---|
| PO番号 | 発注書の一意の識別子 | キー項目 — すべての受領報告書と請求書がこれを参照する必要がある |
| 仕入先名 | 発注書に記載されたサプライヤー名 | 請求書の仕入先と照合 — 同一サプライヤーであることを確認 |
| ライン品目 | 品目説明、SKU、または部品番号 | 受領・請求書のライン品目と照合し、品目レベルで比較 |
| 数量 | ラインごとの発注数量 | 受領数量および請求数量と比較 |
| 単価 | ラインごとの合意単価 | 価格差異チェック — 最も一般的な監査フラグ |
| ライン合計 | ラインごとの数量×単価 | 請求ライン合計と比較 — 延長エラーを検出 |
| 納期 | 予定納期 | 受領日を確認し、納期遅れをフラグ付け |
| PO合計 | 全ライン合計の総和 | 請求書が説明なく超えてはならない総額 |
自社のPOテンプレートなど、社内で一貫した形式で生成される発注書の場合、抽出は簡単です。AIは毎回同じ一般的なレイアウトから同じフィールドを読み取ります。ベンダーの形式で届くサプライヤー確認POの場合、抽出は適応します。列名は同じままで、AIはレイアウトに関係なく値を特定します。1回の抽出実行で、POレジスタタブに構造化データが入力されます。照合にヘッダーレベルまたは明細レベルの粒度のどちらが必要かに応じて、POごとに1行、または明細項目ごとに1行となります。Googleスプレッドシートアドオンを使用した単一PO抽出ガイドでは、列の設定と最初の抽出ワークフローについて説明しています。多数のPOを一度に処理する高ボリュームチーム向けには、バッチPO処理ダッシュボードが、1回のセッションで複数のPOに同じ抽出エンジンを適用します。
ファイルは安全に処理され、保存されません。
上のデモは発注書プリセットを使用しています。これはPO文書用に事前設定された抽出列のセットです。発注書をアップロードすると、入力不要でフィールドが自動入力されます。プリセットにないフィールド(商品追加料金、運送条件、内部コストセンターコードなど)がPOにある場合は、カスタム列として追加してください。抽出エンジンはそれらも同様に処理します。プリセットが出発点を提供し、カスタム列でそれを拡張して、マッチングダッシュボードの要件に合わせることができます。
レイヤー2 — 受領報告データ:厄介な中間書類
入庫伝票は、構造化システムから最も欠落しやすい書類であり、スリーウェイマッチングを成立させる鍵です。受領確認がなければ、ツーウェイマッチング(PO対請求書)しかできず、納品されたか確認できない商品の代金を支払うことになります。ACFEは特に、入庫伝票を、未出荷商品の代金請求詐欺を防ぐ統制手段として挙げています。これを省略することは近道ではなく、統制フレームワークの穴です。
受領データは、その作成方法ゆえにPOデータよりも構造化が困難です。現場はドックであり、多くの場合紙ベースで、スタッフの優先事項はトラックの荷降ろしであってデータ入力ではありません。梱包明細書は、複写式のカーボン帳票か運送会社のサーマルプリント文書であることが一般的です。受領担当者はそれに署名し、受領数量(POと単位が異なる場合あり)を記録し、紙のコピーを保管します。そのデータがデジタルシステムに取り込まれるかどうかは、後で誰かが入力するかどうかにかかっており、このステップが繁忙期に最初に省略されます。
パイプラインにおいて、受領データには2つの実用的な入力経路があります。1つ目は直接手動入力です。受領担当者または指定されたデータ入力担当者が、受領ワークフローの一環として、主要項目をGoogleスプレッドシートに入力します。列はPO列に対応します:PO番号(紐付け用)、受領品目、受領数量、受領日、運送会社、状態。この方法は、受領量が中程度(1日30件未満)で、ドックにスプレッドシートを開ける端末がある場合に有効です。利点は管理性です。受領データは入力時点で構造化され、後続の変換が不要です。
2つ目の方法は、納品書自体からの書類抽出です。署名済みの納品書を写真やスキャンで取り込み、発注書や請求書と同じ抽出エンジンで処理します。この方法は、手入力が難しい場合——高稼働のドック、遠隔地の受入拠点、納品書が唯一の受入記録となる現場——に有効です。抽出項目は同じく、発注番号、品目説明、受入数量、受入日、運送会社です。サイドバーアドオンで処理された納品書の写真は、手入力データと同じ構造化形式で受入タブに入力されます。主な制限は、納品書の手書き文字により、印刷された発注書や請求書と比べて抽出精度が低下することです。重要な荷物についてはスポットチェックをお勧めします。書類の品質別の詳細な精度内訳については、手書き書類抽出精度ガイドをご参照ください。納品書や受入報告書にも同じ原則が適用されます。
どちらの方法でも出力は同じです。発注番号をキー項目とする受入登録タブが作成され、各受入記録を元の発注書にリンクします。このリンクがなければ、マッチングダッシュボードは機能しません。
レイヤー3 — 仕入先請求書抽出:制御できないフォーマット問題
サプライヤー請求書は、フォーマットの多様性が最大の課題となる領域です。単一の購買業務においても、構造化されたSAP生成PDFで送られてくる大手MRO代理店の請求書、地域の金属サプライヤーが自社で作成したExcel-to-PDF形式の請求書、地元の機械工場からの手書き文書を撮影した写真、そして日付形式や通貨表記、税区分が異なる国際的なベンダーの請求書が混在することがあります。テンプレートベースのOCR(サプライヤーごとのレイアウトにフィールドマッピングテンプレートを作成し、レイアウト変更時に更新する方式)では、この多様性に対応できず、メンテナンスに膨大な時間を費やし、結果的に抽出作業が本来置き換えるはずだった手作業入力と変わらなくなってしまいます。
カスタムカラム抽出は、特定のレイアウトから抽出ロジックを切り離すことでこの問題を解決します。カラム名は一度定義するだけです。AIが各請求書を読み取り、フォーマットに関係なく、そのカラム定義に一致する値を特定します。スリーウェイマッチング用の請求書カラム設定には、通常以下の項目が含まれます:
| カラム | ソース | マッチングの役割 |
|---|---|---|
| 請求書番号 | 請求書から抽出 | 一意の識別子 — 重複支払い防止 |
| 注文書番号 | 請求書から抽出 | 重要なリンク項目 — 照合にはPO台帳のPOと一致が必要 |
| 取引先名 | 請求書から抽出 | PO取引先と照合 — PO参照誤りを検出 |
| 請求日 | 請求書から抽出 | 支払条件計算、滞留分析 |
| 支払期日 | 請求書から抽出 | 早期支払割引期間の追跡 |
| 明細行の説明 | 請求書から抽出 | PO明細行と照合 — 発注通りの請求であることを確認 |
| 数量 | 請求書から抽出 | PO数量・受入数量との差異チェック |
| 単価 | 請求書から抽出 | PO単価との差異チェック — 値上げ検出 |
| 行合計 | 請求書から抽出 | 積算チェック — 請求書上の数量×単価=行合計を確認 |
| 請求書合計 | 請求書から抽出 | PO合計との一致(許容範囲内)を総合判定し、支払承認をトリガー |
また、推論列を追加することもできます。これは、請求書に明示的に印刷されていないものの、その文脈から導き出せるデータを取得する列です。例えば、マッチステータス(選択肢:マッチ準備完了/PO参照が必要/明細行不足)として定義された列は、AIが抽出時に各請求書を、PO番号が見つかったかどうか、明細行が抽出可能かどうかに基づいて分類できるようにします。PO番号を文書に含めない仕入先からの請求書は即座にフラグが立てられ、「PO参照が必要」というステータスでマッチングダッシュボードに送られます。AP担当者は、PO番号が追加されるまでマッチングを試みないことを認識します。これは「抽出としての分類」です。分類の判断は、データを入力するのと同じパスで行われ、別のレビューステップは必要ありません。
計算列は、抽出後のスプレッドシートの数式を必要とする計算を処理します。列を内訳チェック(明細合計 - 数量 * 単価)として定義すると、AIは抽出中に計算を実行し、請求された明細合計が数量×単価と一致しない明細行にフラグを立てます。出力は差異の数値です。ゼロは内訳が正しいことを意味し、ゼロ以外の値は仕入先の請求書に計算エラーがあることを示します。これにより、マッチングダッシュボードの役割は「エラーを見つける」から「フラグが立てられた行をレビューする」へと移行します。これは、AIが検出を行い、人間が処理を判断するワークフローです。計算列の構文と機能の詳細については、文書抽出における計算列ガイドをご覧ください。
3者照合パイプラインを支える請求書抽出レイヤーは、より広範なサプライヤーからAPへの請求書パイプラインの基盤でもあります。列構造は異なりますが、抽出メカニズムは同一です。照合のために構築されたこのパイプラインは、APレポート、未払金計算、監査文書にもそのまま利用されます。
照合ダッシュボード:VLOOKUP、IF、条件付き書式
発注書台帳、受領台帳、請求書台帳の3つのレイヤーがすべて揃うと、照合ダッシュボードでそれらが統合されます。これは、検索関数を使用して3つのソースタブからデータを取得し、比較ロジックを適用して一致、差異、欠落データをフラグ付けする単一のタブです。照合ロジック自体は複雑ではありません。スプレッドシートで実行可能です。常に複雑であり、パイプラインが解決するのは、スプレッドシートがそれを実行できる状態にデータを整えることでした。
Google Sheetsで構築された照合ダッシュボードの構造:
| 列 | ソース | 数式 / ロジック |
|---|---|---|
| A: 注文書番号 | 請求書台帳から取得 | 主キー — 以降の全列がこれを参照 |
| B: 請求書番号 | 請求書台帳から取得 | 直接参照: ='請求書台帳'!A2 |
| C: 仕入先 | 請求書台帳から取得 | 直接参照 |
| D: 注文書仕入先 | VLOOKUPで注文書台帳から取得 | =VLOOKUP(A2, '注文書台帳'!A:H, 2, FALSE) |
| E: 注文数量 | VLOOKUPで注文書台帳から取得 | 注文書の明細数量と一致 |
| F: 受入数量 | VLOOKUPで受入台帳から取得 | =VLOOKUP(A2, '受入台帳'!A:G, 3, FALSE) |
| G: 請求数量 | 請求書台帳から取得 | 直接参照 |
| H: 注文単価 | VLOOKUPで注文書台帳から取得 | 差異確認の基準価格 |
| I: 請求単価 | 請求書台帳から取得 | 直接参照 |
| J: 数量差異 | 自動計算 | =G2-E2 — 正の値は請求が注文より多いことを示す |
| K: 単価差異 | 自動計算 | =I2-H2 — 正の値はPO比で単価上昇を示す |
| L: 明細合計差異 | 自動計算 | =(G2*I2)-(E2*H2) — 数量と単価の複合影響 |
| M: 受領 vs 請求 | 自動計算 | =G2-F2 — 請求数量と実際の入庫数量の差 |
| N: 照合ステータス | 自動計算 | =IF(AND(J2=0,K2=0,M2=0),"一致",IF(F2="","未入庫","差異")) |
| O: 備考 | 手動入力 | 差異の説明:「POにない仕入先追加料金」「分割出荷—残額は来月請求」 |
条件付き書式により、この表はダッシュボードに変わります。列Nを「一致」は緑、「未受領」は琥珀色、「差異」は赤で強調表示します。列J(数量差異)が設定可能なしきい値(バルク材は5%、高価値のエンジニアリング部品は2%)を超える行には赤い枠線を適用します。先頭行に集計行を追加します。=COUNTIF(N:N,"一致")で一致した請求書をカウント、=COUNTIF(N:N,"差異")で例外をカウント、=SUMIF(N:N,"差異",L:L)で差異の合計金額を算出します。
アーキテクチャ上の重要な判断は、PO番号を共通キーとすることです。マッチングダッシュボードのすべてのVLOOKUPは、PO番号列を参照しています。サプライヤー請求書にPO番号が含まれていない場合(マッチング問題の分析で、これが最も一般的な根本原因であると確認されています)、行にはすべてのVLOOKUP列で#N/Aエラーが表示され、ダッシュボード上で即座に確認できます。修正は簡単で、請求書登録行にPO番号を追加すれば、数式が再計算されます。しかし、重要なのは可視性です。ダッシュボードがなければ、PO番号のない請求書は誰かが気づくまでキューに滞留します。ダッシュボードがあれば、行が入力された瞬間にフラグが立てられます。
マッチング数式自体は革新ではありません。VLOOKUPに慣れたAP担当者なら誰でも、Excelで同様のものを作ったことがあるでしょう。革新は、これらの数式に供給されるデータ(PO明細、受入数量、請求書詳細)がすべて同じ構造化形式で、元の文書から手入力ではなく数秒で抽出される点にあります。マッチングダッシュボードが機能するのは、抽出レイヤーが機能しているからです。抽出レイヤーがなければ、データが届かないままの見栄えの良いレイアウトに過ぎません。
部分納入(製造業の調達で最も一般的な複雑さであり、1つの発注書が複数の出荷をカバーする場合)には、受入台帳と請求書台帳の両方に「納入番号」列を追加します。VLOOKUPは2キー検索になります。発注書番号と納入番号で一致させます。各部分納入には独自の一致行が割り当てられ、累積受入計算(=SUMIFS(F:F, A:A, A2, [納入], "<="&[@納入]))は、すべての部分出荷にわたって発注書の総数量のうちどれだけが納入されたかを追跡します。同じロジックは、毎月のロールリリースがあるブランケット発注書にも適用されます。ダッシュボードは、発注書の承認総数量に対する累積数量を追跡します。
コレクションリンク — サプライヤーが直接書類を提出可能に
3ウェイマッチングにおける持続的な非効率性の1つは、サプライヤーから買掛金チームへの書類の受け渡しです。サプライヤーはメールで請求書を送信します。買掛金担当者が添付ファイルをダウンロードし、共有ドライブやローカルフォルダに保存してから、抽出ツールにアップロードします。このダウンロードと再アップロードのサイクル自体がボトルネックではありませんが、50社の異なるサプライヤーから月に100件以上の請求書を処理する場合、摩擦が蓄積される余分なステップです。
コレクションリンクは、その中間ステップを排除します。これは共有可能なURL(形式:/c/xxxx)で、生成してサプライヤーに送信します。サプライヤーはリンクを開き、ページに表示される短い確認コードを入力して、請求書を直接アップロードします。アカウント作成、ログイン、ソフトウェアのインストールは不要です。ファイルは、使用されたリンクで識別されたサプライヤーとともに、自動的にアカウントの処理キューに配置されます。サプライヤーごと(またはサプライヤーグループごと)に個別のコレクションリンクを作成できるため、抽出が開始される前に入力ファイルがソースごとに事前分類されます。
三者照合パイプラインに適用されるコレクションリンクは、書類の流れを「仕入先が請求書をメール送信 → ダウンロード → アップロード → データ抽出」から「仕入先が直接アップロード → ファイルがキューに表示 → データ抽出」に変えます。ダウンロードと再アップロードの手順を完全に省きます。同じ出荷に対する梱包明細書と請求書など、複数の書類を送る仕入先の場合、1つのコレクションリンクで両方のファイルを取得し、抽出エンジンがシートの列定義に従って各書類を処理します。詳細な設定とワークフローについては、抽出機能付き書類収集ガイドをご覧ください。
コレクションリンクは、仕入先との関係をポータルに置き換えるものではありません。メール添付ファイルのダウンロードループを、直接アップロード経路に置き換えるものです。仕入先にトレーニング、認証情報、ソフトウェアは不要です。必要なのはリンクと確認コードだけです。残りは同じ抽出パイプラインです。「仕入先が送信」から「データがシートに反映」までの工程が1つ減るだけです。
これが置き換えるもの — そして置き換えないもの
パイプラインとは具体的な主張です。「この一連の手順でこの出力が得られる」という意味です。ここで説明するパイプラインが何を置き換え、何を補完し、そもそも何のために設計されていないのかを正確に理解することが重要です。
置き換えるもの:
- 発注書や請求書からの手動データ入力(スプレッドシートへの転記)。抽出レイヤーが非構造化文書を構造化された行に変換します。発注明細や請求書項目を追跡シートに入力する作業が不要になります。
- サプライヤーごとのOCRテンプレート管理。列名抽出により、事前設定されたテンプレートなしで任意の文書レイアウトを読み取ります。新規サプライヤーはコレクションリンクを送るだけで登録完了 — テンプレート作成は不要です。
- 3部門にわたる調査ループ。発注データ、入庫データ、請求書データが1つの構造化ダッシュボードに統合されれば、「請求書は発注書と一致するか?」という問いは、条件付き書式のセルを見るだけで解決。購買部門や入庫部門に電話する必要はありません。
- 書類不足による盲点。ダッシュボードのVLOOKUP構造が即座にギャップを露呈します:発注VLOOKUPで#N/Aは、請求書が有効な発注書を参照していないことを意味します。入庫数量が空白なら、入庫伝票が未入力です。これらは月次監査で発見されるものではなく、すべての行でリアルタイムに確認できます。
置き換えないもの:
- 必要な組織のためのERP。月間2,000~3,000件の請求書を処理する段階で、スプレッドシートベースの照合ダッシュボードは実用限界に達します。例外件数が手作業によるレビューを圧倒します。この規模では、自動照合、統合監査証跡、職務分掌の強制といったERPの価値が、もはや選択肢ではなく必須となります。パイプラインは構造化データをERPに供給するものであり、統制環境としてのERPを代替するものではありません。
- 例外に対する人間の判断。ダッシュボードは差異をフラグ付けしますが、解決はしません。請求書と発注書の単価に47.50ドルの差がある場合、それは購買チームが交渉したが買掛金部門に伝えていなかった正当な追加料金かもしれませんし、単なるエラーかもしれません。AIにはどちらか判断できず、判断を委ねるべきでもありません。フラグは人間によるレビューをトリガーします。そのレビューには、AIが持たないビジネスコンテキストが必要です。
- 入庫プロセスそのもの。入庫伝票が作成されていない場合、つまりドックで到着品が記録されていない場合、パイプラインは受入タブでそのギャップを明らかにしますが、データを生成することはできません。入庫層にはプロセス規律が必要です。つまり、誰かが納品されたものを確認し記録しなければなりません。パイプラインはそのデータを構造化しますが、無から作り出すわけではありません。
- 請求書への発注書番号記載に関するサプライヤーの遵守。パイプラインは発注書番号の欠落を可視化しますが、サプライヤーに番号を記載させることはできません。それには技術的解決策ではなく、購買ポリシーとその執行が必要です。
FAQ
このパイプラインは月に何件の請求書を処理できますか?
構造上の限界は抽出エンジン(1セッションで複数ファイルの一括アップロードに対応)ではなく、マッチングダッシュボードの手動レビュー容量です。適切に構築されたマッチングダッシュボードを使用すれば、1人のAP担当者が差異のレビューと処理を快適に行えるのは、月間約300~500件の請求書です(例外率22%と仮定した場合、調査対象は66~110件)。月間1,000件を超えると、例外処理のボリュームから、複数のAP担当者または自動マッチングルールを備えたERPへの移行が必要になります。このパイプラインの価値は、高ボリュームでは「主要なマッチングツール」から「構造化データをERPに供給するデータ取り込みエンジン」へと移行します。抽出レイヤーは引き続き機能し、ダッシュボードは最終的なマッチング環境ではなく、ERP前の検証ステップとなります。
発注書で変動する単価(毎月変わる包括契約価格)を使用している場合、パイプラインは対応できますか?
はい、対応可能です。ただし、発注書レジスタを1回限りの抽出ではなく、生きたドキュメントとして維持する必要があります。商品市場レートに連動して毎月価格が調整される包括発注書の場合、そのベンダーの発注書レジスタ行を毎月、現在の有効価格で更新する必要があります。マッチングダッシュボードのVLOOKUPは更新された価格を反映します。監査証跡を保持する代替方法としては、発注書レジスタに「有効日」列を追加し、日付範囲マッチングを使用したVLOOKUPを使用することです。現在の価格ではなく、請求書の日付時点で有効だった発注書価格を取得します。設定はより複雑ですが、出荷時に合意されていた価格を正確に反映します。これは、3ウェイマッチが検証すべき内容です。
手書きのパッキングリストや受領書でも抽出は機能しますか?
はい — AIは手書き文字を読み取ります。ドックで署名された梱包明細に典型的な数字や表記も含まれます。ただし、手書き文書の精度は印刷文書よりも低く、劣化の激しい文書(かすれた感熱印刷、薄い文字のカーボンコピー、くしゃくしゃになってから平らに戻された梱包明細)では抽出エラーが増えます。受領データに関しては、以下をお勧めします。(a) 可能であれば、受領担当者がドックで主要項目(PO番号、品目、数量、日付)を直接Googleスプレッドシートに入力する — 受領時点での手動入力は、後で劣化文書から抽出するよりも速く正確です。(b) 梱包明細からの抽出が唯一の方法である場合は、特に高額な出荷について、抽出行のサンプルを元の文書と照合してください。(c) 梱包明細の写真を受領行と一緒に保存する添付ファイルとして使用する — 抽出で数字を逃しても、元の文書がワンクリックで確認できます。
Googleスプレッドシートのアドオンなしで、Webアプリだけでこのパイプラインを使用できますか?
はい。抽出エンジンは、スプレッドシート内のサイドバーアドオンからアクセスする場合も、ImageToTable.aiのWebアプリケーションからアクセスする場合も同じです。アドオンの利点は、抽出結果がアクティブなシートに直接書き込まれることです — ダウンロードと再アップロードの手間がありません。Webアプリでは、ブラウザで文書をアップロードし、抽出されたExcelファイルをダウンロードして、該当するダッシュボードに行を貼り付けるかインポートします。列定義は同じです。抽出品質も同一です。アドオンは1ステップ(ダウンロードとインポート)を省きます。WebアプリはGoogleスプレッドシートだけでなく、あらゆるスプレッドシートツールで動作します。その1ステップがボリュームに影響するかどうかで選択してください。
フルパイプライン(PO登録、受領登録、請求書登録、マッチングダッシュボード)のセットアップ時間はどのくらいですか?
GoogleスプレッドシートのVLOOKUPと条件付き書式に慣れている方であれば、4タブのフルパイプライン構築には約2時間かかります。内訳は、上記の列構造で4つのタブを設計・作成するのに30分、マッチングダッシュボードでVLOOKUPとIF関数を記述・テストするのに45分、条件付き書式とサマリ指標の設定に30分、アドオンサイドバーで抽出列セットを定義するのに15分です。列定義はシートに保存され、セッションをまたいで保持されます。一度定義すれば、サイドバーを開いて該当シートを選択するたびに利用可能です。初期設定後の月次ワークフローは、(1)新規POをPO登録に抽出、(2)受領データを入力または抽出、(3)サプライヤー請求書を抽出、(4)マッチングダッシュボードを開きフラグが立った行を確認、となります。最初の月はセットアップとデータ投入で最も時間がかかります。3ヶ月目にはルーティン化します。
POとサプライヤー請求書の通貨の違いにはどう対応すればよいですか?
抽出エンジンは、ドキュメントに表示されている数値と通貨記号をそのまま取得します。通貨換算は行いません。POがUSDでサプライヤー請求書がEURの場合、換算後の金額が正しくても、数値が一致しないためマッチングダッシュボードに差異が表示されます。対策として、PO登録と請求書登録の両方に「通貨」列を追加し、手動管理または数式ベースの為替レートを参照する「換算レート」列を設けてください。マッチングの価格比較では、抽出された生の金額ではなく換算後の金額を使用します。パイプラインの役割は抽出です。通貨換算はスプレッドシートレイヤーの操作です。
まとめ
ここで説明する三者照合パイプラインは、ERPが必要な組織におけるその代替品ではありません。これは、すでにスプレッドシートで購買業務を運用しているチームのためのシステムです。ERPの請求書取り込み機能が維持できないテンプレート管理を必要とする場合、サプライヤーベースが照合モジュールで処理できないフォーマットにまたがる場合、または取引量が「手動照合には複雑すぎる」と「ERPのアップグレードを正当化できるほど大規模」の間にある場合です。そうしたチームにとって、問題は「照合を自動化すべきか」ではありません。「3つの書類すべてを、照合が3部門の調査ではなく数式の作業になるほど迅速に、同じ構造化フォーマットに変換できるか」です。
このパイプラインは、3つの抽出レイヤーと1つのダッシュボードでその問いに答えます。発注書レイヤーは基準となる参照値を提供します。受領レイヤーは到着したものを確認します。請求書レイヤーは請求されたものを取得します。照合ダッシュボードは、VLOOKUP、IF文、条件付き書式を使用してそれらを比較し、人間の注意が必要なすべての行にフラグを立てます。位置ではなく意味で文書を読み取るAIを搭載した抽出エンジンは、複数サプライヤーの購買業務においてテンプレートベースのアプローチを持続不可能にするフォーマットの多様性を処理します。Collection Linkは、書類取り込みプロセスからメール添付ファイルのダウンロードループを排除します。
弊社の問題分析で特定された構造上のギャップ(3部門、3システム、データパイプラインの単一オーナー不在)は解消されません。しかし、3種類の文書すべてが同じ構造化フォーマットで同じスプレッドシートに到着し、PO番号を共通キーとすれば、照合ステップに部門横断的な調査は不要になります。組織上のギャップは残りますが、データには3つの異なる入力チャネルによる累積的なずれが生じなくなります。これこそが、照合を人員問題ではなくスプレッドシート上の作業にする理由です。
PO抽出レイヤーから始めましょう。以下のデモで発注書をアップロードしてください。照合ワークフローに必要なフィールド(PO番号、ベンダー、明細、数量、価格)が、手入力で数分かかるところが、数秒で構造化されて返ってくることをご確認いただけます。この最初のレイヤーが機能すれば、パイプラインの残りも同じエンジンで構築されます。