契約金額を抽出し、全契約の累計合計を計算する方法

取締役会の前に、調達責任者がシンプルな質問をします。「現在、全ベンダー契約の総コミットメント支出はいくらですか?」共有ドライブを開くと、47件の契約書が14のベンダーフォルダに散らばっています。PDFもあれば、スキャンされた契約書もあります。答えは表紙、料金表、修正契約書、別紙に分散しています。各契約書には個別の金額が記載されていますが、全体の合計を示す書類はどこにもありません。

計算された合計とポートフォリオ追跡のための累計分析が表示された契約書の山

重要ポイント

  1. 47件の有効なベンダー契約、取締役会での1つの質問「総コミットメント支出は?」— 答えは表紙、料金表、修正契約書、別紙に散らばっており、読む時間は誰にもありません。
  2. 契約金額の集計が難しいのは、手数料が4つ以上のセクションに不統一なラベルで分割されており、修正契約書が元の金額を暗黙的に上書きするためです。テンプレートベースのツールでは、どのバージョンがどれを無効化したかを追跡できません。
  3. ImageToTable.aiは、修正契約書を含む契約書全体のすべての手数料項目を読み取り、抽出時に契約ごとの合計を自動集計します。取締役会の質問に数分で答えられます。

契約価格の死角

ほとんどの組織は、現在有効な契約の件数を正確に把握しています。期限も追跡しています——少なくともその努力はしています。更新カレンダーも存在します。たとえそれがCLMではなくOutlook上にあってもです。しかし、一つの数字が一貫して見えていません。それは、すべての契約の合計価値です。

この死角は現実的な影響を及ぼします。「総コミット支出はいくらか」という質問に5分以内で答えられない調達チームは、予算計画において暗中模索です。ベンダーポートフォリオ全体の総責任エクスポージャーを把握できない法務部門は、測定不能なリスクを負っています。クライアント案件を管理する小さな法律事務所は、アクティブなエンゲージメントレターにどれだけの経常収益があるかを、将来のパートナーに伝えられません。

数字自体は存在します——各契約には価格、料金表、支払条件が明記されています。問題はデータがないことではありません。問題は、それが異なる形式の多数の文書に分散し、異なる構造で表現されていることです。サービス契約は年間料金を表紙に記載します。雇用契約は総報酬を給与条項、ボーナススケジュール、福利厚生付録に分散させます。ベンダー契約は契約価格を基本料金、単価、そして両方を調整した修正条項に分割します。

契約ポートフォリオ全体の合計額は、CLMの問題ではなく、集約の問題です。「すべての契約の価値はいくらか」という質問に答えるために、6桁の契約ライフサイクル管理プラットフォームは必要ありません。必要なのは、PDFから数字を抽出し、合計可能な構造に変換する方法です。その問題は3つのステップに分解されます:抽出、計算、集約。

契約価格が集約を阻む理由

契約価格は、例えば請求書の合計額よりも構造的に集約が困難です。請求書には予測可能な場所に単一の「合計」フィールドがあります。契約は財務的義務を複数のセクションに、一貫性のないラベルで分散させる可能性があります。

典型的なベンダー契約で何が起こるかを考えてみましょう:

  • 第3.1条は年間ライセンス料を「年額48,000ドル、四半期払い」と記載。
  • 別紙Aは3つのオプションのアドオンサービスを年間2,400ドル、1,800ドル、3,600ドルでリスト。
  • 修正第2号はライセンス料を2年目から52,000ドルに調整。
  • 付属書Cは一回限りの導入費用7,500ドルを指定。

この契約を読む人間はこれらを合計できます——しかし時間がかかり、数字は4つの異なる場所にあります。従来のOCRツールはさらに劣ります:ライセンス料は見つけてもアドオンを見逃したり、修正書の改定後の料金ではなく元の契約の旧料金を抽出したりします。そして、たとえすべてを捕捉できたとしても、手動でExcelで合計する必要がある生の数字が残るだけです。

ここで、抽出-計算-集約のワークフローが状況を変えます。抽出ステップでは、テンプレートマッチングではなく意味を読むAIを使用するため、文書内のどこにあっても値を検出します。計算ステップでは、抽出中に明細項目を合計するため、出力には既に契約ごとの合計が含まれています。集約ステップでは、出力スプレッドシートを取得し、累計とポートフォリオ比率を追加します——これらの計算式は、契約が5件でも500件でも同じように機能します。

ステップ1:各契約から値を抽出する

最初のステップは、各契約から数値を取得し、構造化された表にまとめることです。ここで契約書のフィールド抽出が大きな役割を果たします。

ImageToTable.aiのカスタム列抽出では、フィールド名を入力するだけで抽出したい項目を定義できます。テンプレートやバウンディングボックス、サンプル文書による学習は一切不要です。AIはフィールドの意味を意味的に理解し、文書内のどこに表示されていても、どのようにラベル付けされていても、その値を特定します。ある契約書で「総対価」、別の契約書で「契約金額」と記載されていても、AIは両方のラベルが同じ概念を指すと理解し、同じ出力列にマッピングします。

契約ポートフォリオの概要を得るには、通常以下のような列を定義します:

["契約相手", "契約件名", "発効日", "満了日", "基本料金", "年間ライセンス料", "導入費用", "アドオンサービス料1", "アドオンサービス料2", "アドオンサービス料3", "変更契約による料金調整"]

47件の契約書を一括でアップロードします。PDF、スキャン画像、さらには署名済み契約書ページのスマホ写真にも対応しています。AIは各文書を個別に処理し、指定されたフィールドを特定して抽出します。その結果、各行が契約、各列が定義したフィールドとなる単一のスプレッドシートが生成されます。

これにより、従来よりもはるかに多くの情報が得られます。契約相手の名前、日付、料金項目が構造化された表として、1文書あたり5〜10秒で抽出されます。手作業で読み取り転記する場合、1契約あたり数分かかることを考えれば、大幅な効率化です。ただし、ここまでの出力は生の値です。契約ごとの合計を求めるには、抽出時の計算が必要です。そこで登場するのが計算列です。

ステップ2:抽出時に契約ごとの合計を計算する

生の抽出結果では、ある列に「基本料金:48,000ドル」、別の列に「アドオン料金:2,400ドル」、さらに別の列に「変更調整額:+4,000ドル」と表示されます。便利ではありますが、まだ実用的ではありません。実際に必要なのは、契約ごとに1つの数値、つまり総コミットメント支出額です。

これを解決するのが計算列です。生の値を抽出して後でExcelで合計する代わりに、抽出中に合計を実行するようAIに指示します。出力には既に合計値が含まれているため、契約ごとの数値を得るための後処理は不要です。

列リストに計算列を追加して、同じ契約内のすべての料金項目を合計します:

列名(ログイン不要)

契約総額(基本料金、全アドオン料金、変更調整額の合計)

ルール形式(ログイン必須、よりすっきりした列ヘッダー)

{"契約総額": "この契約の基本料金、すべてのアドオンサービス料、導入費用、および変更契約による料金調整額を合計します。小数点以下2桁の単一の数値として出力します。"}

AIは文書全体を読み込み、その構造を理解するため、手数料項目が本文・別表・修正契約書に分散していても、同じ契約に属するものだけを特定して集計できます。これは、固定セル位置を参照するスプレッドシートの数式とは根本的に異なります。AIは「基本手数料はF列、追加手数料はH列」と知る必要はありません。文書を読み、各手数料の意味を理解した上で合計します。

JPG/PNG/PDF AI抽出

ファイルは安全に処理され、保存されません。契約総額(本契約の全手数料の合計)のような計算列の追加をお試しください。

本文の当初手数料と修正契約書の修正後手数料を区別し、修正後の値を採用するなど、多段階の推論が必要な場合は、Precision+を有効にしてください。このトグルにより、AIは追加の推論ステップを用いて関係性を相互検証し、適用すべき手数料のバージョンを判断し、結果出力前に内部の整合性を確認します。すべての手数料が一箇所に記載された単純な契約ではオフのままにしてください。別表にまたがる手数料スケジュールがある修正契約ではオンにします。

この時点で、出力スプレッドシートには「契約総額」列があり、契約ごとに1つの数値が表示されています。バッチ内のすべての契約が読み取られ、手数料が特定され合計されています。「各契約の価値はいくらか」という問いに答えたことになります。次に、「それらすべてを合わせた価値はいくらか」という問いに答える必要があります。

ステップ3:累計とポートフォリオ比率の計算

集計は出力スプレッドシートで行います。抽出と計算のステップですでに重い作業は終わっているため、ワークフローの中で最もシンプルな部分です。

計算列は単一のドキュメント内でのみ機能します。1つの契約内の手数料を合計することはできますが、バッチ内の他の契約の値を参照することはできません。このドキュメント間の集計をスプレッドシートが担当します。また、各行にはすでに「契約総額」がクリーンな形で存在するため、数式は非常にシンプルです。

ダウンロードしたExcelファイルを開きます。列は次のようになります。

契約相手契約名発効日満了日契約総額累計ポートフォリオ比率
アクメ社SaaSライセンス契約2025-01-152027-01-14$55,800.00$55,800.0021.4%
ベータ工業基本サービス契約2025-03-012028-02-28$142,500.00$198,300.0054.6%
ガンマ物流販売代理店契約2025-06-012026-05-31$62,400.00$260,700.0023.9%

この表示を生成する2つの数式は次のとおりです。

累計 — 列の下方向への累積合計:

=SUM($E$2:E2)

この数式を下方向にドラッグすると、各行にその時点までの全契約の合計値が表示されます。最終行がポートフォリオの総額(この例では$260,700)になります。

ポートフォリオ比率 — 各契約が総額に占める割合:

=E2/SUM($E$2:$E$48)

これにより、ベータ工業が総コミットメント支出の半分以上を占めていることが一目でわかります。これは認識しておくべき集中リスクです。

これらの数式は、Excelの中でも最もシンプルなものの一つです。このワークフローの価値は数式の複雑さにあるのではなく、47件の契約書を読んで手入力する必要なく、数式に入力する数値がスプレッドシートに届く点にあります。抽出と計算のステップがボトルネックを解消しました。集計ステップは簡単な部分です。

このワークフローがCLMの代わりになるケース、ならないケース

契約ライフサイクル管理(CLM)プラットフォーム(Ironclad、Agiloft、Icertis、Juroなど)は、エンタープライズ向け契約業務に特化しています。承認ワークフロー、条項ライブラリ、義務追跡、電子署名、コンプライアンスレポートを処理します。これらの機能が必要な組織には、CLMが適切な投資です。

しかし、多くのチームはCLMの全機能を必要としません。必要なのはもっと限定的で、すべての文書を読まずに契約ポートフォリオに関する特定の質問に答えられることです。例えば、「これらのベンダー契約における総エクスポージャーはいくらか」「コミットした支出の20%以上を占める契約はどれか」といった質問です。

抽出・計算・集計のワークフローは、その限定的なニーズに合致します。以下が、それが機能する場合としない場合です。

シナリオ抽出+計算+集計フルCLM
取締役会向けにポートフォリオ価値の一度きりの概要が必要最適過剰 — 一度きりのニーズに数ヶ月の導入は不要
50~200件のベンダー契約の四半期ごとの支出分析適している可能だが、利用頻度に対してシート単価が見合わない可能性
自動アラート付きの条項レベルの義務追跡が必要非対応CLMの得意分野
契約ドラフトに対する複数関係者の承認ワークフロー対象外CLMの中核機能
30件の顧客エンゲージメントレターを管理する小規模企業 — 経常収益の概要が必要最適規模に対して価格が高すぎる

境界線は明確です。主なニーズが契約内容の把握(金額、日付、取引先)であれば、抽出ワークフローで実現できます。主なニーズが契約を生きたプロセスとして管理すること(交渉、承認、更新)であれば、CLMが適切なツールです。多くのチームは両方を使用します。定期的なポートフォリオのスナップショットには抽出ワークフロー、継続的な契約業務にはCLMという形です。

よくある質問

計算列は、異なる契約間で値を合計できますか、それとも単一の契約内でのみ可能ですか?

計算列は単一の文書内で動作します。つまり、1つの契約内のすべての費用項目を合計することはできますが、バッチ内の他の契約の値を参照することはできません。契約間の集計(累計、ポートフォリオのパーセンテージなど)は、出力スプレッドシートで簡単なExcel数式を使用して行います。この分離は設計上の意図によるものです。各契約は独立して処理されるため、AIの計算は常に読み取っている文書の範囲内に限定されます。文書間の計算はスプレッドシートが処理します。

契約によって手数料のラベルが異なる場合(「対価」、「契約価格」、「サービス料」など)はどうなりますか?

AIの列名抽出は、固定ラベルに一致するのではなく、フィールドの意味を理解することで機能します。「契約価値」という列を定義すると、AIは各文書を読み取り、「総対価」、「契約価格」、「手数料」、「報酬」など、どのようにラベル付けされていても、総財務コミットメントに相当する値を特定します。この意味理解が、ラベルが文書間で異なる場合に失敗するテンプレートベースのOCRとの重要な違いです。非常に多様な命名規則に対応するには、Precision+を有効にしてください。

元の契約金額を変更する修正レターは、AIはどのように処理しますか?

契約書とその修正書を別々のファイルとしてアップロードすると、それぞれが独立して処理されます。修正書が「第3.1条に基づくライセンス料は48,000ドルから52,000ドルに修正される」と記載されたスタンドアロンの文書である場合、AIは修正書から直接修正された値を抽出できます。特に、「修正手数料」のような列と、何を探すかを説明するルールフォーマットを含めると効果的です。元の契約書と修正書を1つの結合PDFとして一緒にアップロードすると、AIは文書全体を読み取り、最新の記載値を特定できます。修正された契約で最も信頼性の高い結果を得るには、修正書を元の契約書と同じファイルの一部としてアップロードし、Precision+を有効にして、AIがどの値がどれに優先するかを相互検証できるようにしてください。

このワークフローは、給与、賞与、株式に報酬が分割されている雇用契約を処理できますか?

はい。「基本給」、「目標賞与」、「契約賞与」、「株式付与価値」、およびその他の報酬要素ごとに個別の列を定義します。次に、計算列(「総報酬(基本給、全賞与額、株式付与価値の合計)」)を追加すると、AIは抽出時にそれらを合計します。これにより、Excelで手動で要素を追加することなく、従業員ごとの総報酬額を取得できます。雇用契約の場合、給与額は通常明確にラベル付けされたセクションにあるため、Precision+がなくても抽出精度は高くなります。

このワークフローで合理的に処理できる契約書の最大バッチ数は?

抽出と計算のステップは、アップロードするバッチサイズ(50件、100件、またはそれ以上)に応じて拡張されます。各文書の処理には5〜10秒かかるため、100件の契約書のバッチは合計で約8〜15分で完了します。実用的な制限は、技術的な上限というよりも、1つの論理グループ(例:特定の四半期のすべてのアクティブなベンダー契約)に含まれる契約書の数に依存します。異なるカテゴリにわたる数百の契約書がある場合は、契約書の種類ごとに別々のバッチで処理することで、AIが一度に1つの命名規則に集中できるため、よりクリーンな抽出結果が得られることがよくあります。

契約書をアップロードするだけで合計額が表示されます。CLMも手入力も不要です。

あなたの契約書で試す
📮 contact email: [email protected]