Makeを用いたAIによる請求書データの自動抽出と会計ソフト連携フロー

経理のためのAI自動化:MakeとChatGPTで構築する「防御型」請求書処理パイプライン

この記事は急速に進化する技術について解説しています。最新情報は公式ドキュメントをご確認ください。

約17分で読めます
文字サイズ:
経理のためのAI自動化:MakeとChatGPTで構築する「防御型」請求書処理パイプライン
目次

この記事の要点

  • MakeとAIによる請求書処理の自動化
  • ノーコードで実現するデータ抽出と会計連携
  • エラーに強い『防御型』パイプラインの構築

「AIが優れた技術であることは理解できる。しかし、1円でも間違ったら決算が合わなくなるため、99%の精度では経理業務において実用化できない」。

財務部門の現場から、このような切実な課題が提起されるケースは決して珍しくありません。長年のシステム開発の現場でも、この「1円の重み」はAIを実務導入する際の本質を的確に捉えた議論の的となってきました。経理業務の自動化を検討する際、多くの組織は「いかに効率よく処理を流すか」というスピードに注目しがちです。しかし、システム思考の観点から本当に考慮すべきは、リスクと便益を天秤にかけた上で「いかにシステム全体で間違いを防ぐか」という点にあります。

ノーコードプラットフォームである「Make」とOpenAIのAPIを連携させれば、請求書処理の自動化自体は比較的容易に構築可能です。まずは動くプロトタイプを作り、そこから実務に耐えうる堅牢なシステムへと昇華させていく。その過程で不可欠なのが、AIの出力には常に不確実性が伴う事実を受け入れ、あらかじめエラーを検知して補正する「防御的なデータフロー設計(Defensive Design)」を組み込むことです。

さらに、基盤となるAIモデルの劇的な進化とライフサイクルにも適応しなければなりません。OpenAIの公式ドキュメント(2026年2月時点)によると、これまで広く利用されてきたGPT-4oは2026年2月13日をもってChatGPTのUIから完全に引退し、デフォルトモデルはGPT-5.2へと一本化されました。API経由での旧モデルの利用は一部継続されるものの、新規のパイプライン構築においては、回答の正確性や深い推論能力が大幅に向上したGPT-5.2への移行が強く推奨されています。モデルの廃止スケジュールを的確に把握し、InstantやThinkingといったGPT-5.2の新しいモード特性を活かして、より堅牢なシステムを再設計することが求められます。

エンジニアではない経理担当者が、自らの手で「信頼できるデジタルアシスタント」を作り上げるための、実践的かつ論理的なアプローチを一緒に見ていきましょう。

なぜ経理業務に「データパイプライン」の考え方が必要なのか

「自動化ツールを入れたのに、結局最後は人間が全部チェックしているから時間が変わらない」。そんな経験はありませんか?

これは、自動化のプロセスが「一方通行」で、途中のチェックポイントが欠けているために起こります。システム開発の世界では、データの収集から加工、保存までの一連の流れを「データパイプライン」と呼びます。この考え方を経理業務に取り入れることで、劇的に信頼性が向上します。

「自動化」と「信頼性」のトレードオフ

AI、特にLLM(大規模言語モデル)を活用したOCR(文字認識)は画期的です。従来のOCRでは読み取れなかった「手書き文字」や「複雑なレイアウトの請求書」も、高い精度でテキスト化してくれます。

実際、AI-OCRの技術は日々進化しています。最新のトレンドでは、単に文字を読み取るだけでなく、ETL(Extract/Transform/Load)機能を統合し、データの加工やCSV出力を強化する動きが見られます。例えば、国内の主要なAI-OCR製品の最新版では、複雑な帳票の自動仕分け精度の向上や、位置合わせロジックの刷新により、読み取りエラーを大幅に削減したという報告もあります。

しかし、どれほどツールが進化しても、AIには「ハルシネーション(もっともらしい嘘)」というリスクがつきまといます。請求書の「小計」と「消費税」を足しても「合計金額」と一致しない数値を、AIが自信満々に出力するケースは依然としてゼロではありません。これをそのまま会計ソフトに流し込んでしまえば、後で修正作業という名の「負債」を支払うことになります。

だからこそ、「AIは間違える」という前提に立ったシステムを組む必要があります。Makeを使う最大の理由は、この「間違いを検知して止める仕組み」を、プログラムを書かずに視覚的に構築できる点にあります。

非構造化データ(PDF)を構造化する難しさ

請求書は、コンピュータにとっては単なる「画像」や「文字の塊」です。これを「非構造化データ」と呼びます。一方、会計ソフトが必要とするのは「取引先名」「取引日」「金額」「税区分」といった、整理された「構造化データ」です。

最近のAI-OCRツールの中には、この変換プロセスを支援するために、抽出データの加工機能をベータ版として提供し始めたものもあります。しかし、経理実務における「構造化」は、単なる文字のデジタル化以上のことを要求されます。

この変換プロセスにおいて、いかにノイズを除去し、自社の会計基準に合った綺麗なデータだけを後工程に渡すか。これがパイプライン設計の肝となります。

Makeを採用する理由:柔軟なエラーハンドリング

世の中には「AI-OCR機能付きの経理ソフト」もたくさんあり、機能も年々強化されています。それらを使わず、あえてMakeで自作するメリットは何でしょうか?

それは「自社の業務ルールに合わせたバリデーション(検証)が組めること」です。たとえ最新のOCRツールが高精度でも、以下のような独自のビジネスロジックまではカバーしきれないことが多いからです。

  • 「特定の取引先の場合は、必ずこの税区分にする」
  • 「金額が一定額を超える場合は、上長の承認を得る(SlackやTeamsへ通知)」
  • 「日付が土日の場合はアラートを出す」

こうした細かい条件分岐や外部連携を組み込めるのは、Makeのような柔軟なiPaaS(Integration Platform as a Service)ならではの強みです。ブラックボックス化されたSaaSの機能に頼り切るのではなく、自社でコントロール可能なパイプラインを持つことは、長期的な業務改善の基盤となります。

Step 1:データ収集と前処理(Ingestion & Pre-processing)

データ分析の世界には「GIGO(Garbage In, Garbage Out)」という格言があります。「ゴミが入ればゴミが出る」。つまり、入り口の段階で質の悪いデータを排除しなければ、どんなに優秀なAIを使っても結果は思わしくないものになります。

入力チャネルの整理(メール、ストレージ)

まずは請求書の入り口を一つに絞りましょう。多くの企業では、請求書がメール添付で届いたり、郵送されたものをスキャンしてフォルダに入れたりと、入り口がバラバラです。

Makeでの最初のモジュールは、例えば「Google Drive」の特定のフォルダを監視する Watch Files や、専用のメールアドレスを監視する Watch Emails に設定します。

ここでのポイントは、「請求書専用の受信トレイ」を作ることです。個人のメールアドレスで受けると、署名画像や関係のないメルマガまでAIに読ませることになり、無駄なコストとエラーの原因になります。

ファイル形式と命名規則の標準化

次に、受け取ったファイルが本当に処理すべき請求書なのかをチェックします。

Makeの Router(分岐)機能と Filter を使いましょう。

  1. 拡張子チェック: ファイル名が .pdf または画像形式(.jpg, .png)であるか。
  2. サイズチェック: 極端に小さいファイル(アイコン画像など)や、巨大すぎるファイルを除外。

さらに、ファイル名を「YYYYMMDD_取引先名.pdf」のようにリネームして保存する処理を挟むと、後の監査証跡(Audit Trail)として非常に役立ちます。これは Google Drive モジュールの Update a File などで自動化可能です。

処理対象外ファイルのフィルタリング

メールには、請求書以外にも「署名ロゴ」や「SNSアイコン」などの画像が添付されていることがよくあります。これらを全てAI-OCRにかけると、API利用料が無駄になる可能性があります。

Makeの Iterator モジュールを使って添付ファイルを展開した後、ファイルサイズやMIMEタイプでフィルタリングするロジックを実装することで、処理対象を適切な請求書ファイルのみに絞り込むことができます。例えば、「5KB以下の画像はスキップする」という設定を入れることが考えられます。

この「前処理」を丁寧に行うことが、後続のAI処理の精度を安定させる第一歩です。

Step 2:AIによるデータ抽出と構造化(Extraction & Transformation)

Step 1:データ収集と前処理(Ingestion & Pre-processing) - Section Image

ここからがAIの真骨頂です。PDFという単なる「画像」の状態から、会計ソフトが直接理解できる構造化された「データ」へと変換するプロセスを解説します。

汎用LLM(ChatGPT) vs 特化型OCR

従来のOCRソフトは、座標指定(どこに何が書いてあるか定義する)が必要なものが多く、フォーマットが異なる請求書に対応するための初期設定やメンテナンスが大きな負担でした。一方、現在のマルチモーダルAIは、人間のように「見たまま」を理解するため、事前のレイアウト設定なしで多種多様なフォーマットに対応できます。

Makeで構築する際、OpenAI モジュールの Create a completion (Chat) を使用します。ここで選択すべきモデルはGPT-5.2です。2026年2月にGPT-4oなどのレガシーモデルが順次廃止・非推奨となり、汎用的な業務タスクにはGPT-5.2が標準モデルとして位置づけられました。

GPT-5.2は100万トークン級のコンテキストウィンドウを持ち、画像やPDFなどのマルチモーダル処理において極めて高い精度を誇ります。公式情報(2026年2月時点)によると、高度な推論機能(Thinkingプロセス)が組み込まれており、複雑な帳票の読み取りや文脈理解の能力が飛躍的に向上しています。もし旧モデル(GPT-4oなど)でパイプラインを構築していた場合は、早急にGPT-5.2へ移行し、プロンプトの再テストを実施することが不可欠です。

JSON形式での出力を強制するプロンプト設計

AIに対する指示(プロンプト)は、曖昧さを完全に排除する必要があります。「請求書の内容を教えて」といった自然言語の回答を求めるのではなく、「以下のJSONスキーマに従ってデータを抽出しなさい」と厳密に定義します。

OpenAIのAPIに備わっている「Structured Outputs(構造化出力)」や「Function Calling」を活用することで、AIは必ず指定したJSON形式でデータを返却します。これにより、後工程でのデータパースエラーやシステム停止のリスクを劇的に減らすことが可能です。

抽出用の構造として、以下のようなスキーマを定義します:

{
  "invoice_date": "YYYY-MM-DD",
  "vendor_name": "string",
  "invoice_number": "string",
  "total_amount": number,
  "subtotal": number,
  "tax_amount": number,
  "registration_number": "string" // インボイス登録番号
}

このように明確なデータ型とフォーマットを指定することで、日付が「2024年5月1日」や「May 1st, 2024」のように表記ゆらぎを含んでいても、システム側で扱いやすい「2024-05-01」という標準形式に自動で正規化させることができます。

インボイス制度対応:登録番号と税区分の抽出

日本の経理実務において避けて通れないのがインボイス制度への対応です。適格請求書発行事業者の登録番号(Tから始まる13桁の数字)が記載されているかどうかで、仕入税額控除の扱いが根底から変わります。

この要件を満たすため、プロンプトには以下の具体的な指示を追加します。

「請求書内に登録番号(T+13桁の数字)が存在する場合は抽出しなさい。存在しない場合はnullを返しなさい。また、税率ごとの対象金額(8%対象、10%対象)を分けて抽出しなさい」

この指示により、AIは単なる文字の読み取りにとどまらず、経理的な文脈を理解して必要な情報を適切に構造化します。特にGPT-5.2では、長文の安定処理や条件分岐を含む複雑な指示への追従性が大幅に向上しているため、こうした例外処理や分岐を伴うデータ抽出において、これまで以上の高い精度と信頼性を発揮します。

Step 3:データクレンジングと品質検証(Validation)

Step 3:データクレンジングと品質検証(Validation) - Section Image 3

ここが本記事の最重要セクションです。多くの自動化プロジェクトが失敗するのは、AIが出力したデータを「正」として鵜呑みにしてしまうからです。

AIを信じつつも、検証する(Trust, but Verify)姿勢が重要です。Makeの中で「検算」と「バリデーション」のロジックを組み込み、鉄壁の防御を築きましょう。

AIのハルシネーション対策:計算チェック

AIから返ってきたJSONデータを JSON Parser モジュールで分解した後、すぐに会計ソフトに送ってはいけません。まずはMake内で計算を行います。

Makeの Tools > Set Variable モジュールなどを使い、以下の数式を検証します。

検証結果 = (抽出された小計 + 抽出された消費税) == 抽出された合計金額

もしこの計算が合わない場合、AIが数字を読み間違えているか、そもそも請求書の記載が間違っている可能性があります。この場合、処理をストップさせて、SlackやTeamsに「要確認:計算が合わない請求書が見つかりました」と通知を飛ばします。

これが「防御的設計」です。間違ったデータを自動で登録してしまうより、処理を止めて人間に判断を仰ぐ方が、経理業務においては遥かに安全で正しい挙動なのです。

マスタデータとの照合(取引先特定)

AIが抽出した社名文字列と、会計ソフトに登録されている正式な取引先名は、完全一致しないことが多々あります。

ここで役立つのが、会計ソフト(freeeやマネーフォワードなど)から事前に取得しておいた「取引先マスタ」との照合です。

  1. あいまい検索: Make内で簡易的な検索ロジックを組むか、再度AIを使って「抽出された社名」と「マスタ上の社名リスト」を比較させ、最も近いものを特定させます。
  2. ID変換: 会計ソフトへの登録には「取引先ID」が必要です。名称からIDへの変換プロセスをこの段階で挟みます。

もしマスタに存在しない取引先であれば、「新規取引先の可能性があります」として通知フローへ流します。

日付フォーマットの統一(YYYY/MM/DD)

日付データもエラーの温床です。AIが「2024/02/30」(存在しない日付)を返してくる可能性もゼロではありません。

Makeの Date & Time 関数を活用し、抽出された日付が有効なものか、そして会計期間内(例えば、締日を過ぎていないか)をチェックします。未来の日付や、あまりに過去の日付が入っている場合も、アラート対象としてフィルタリングします。

このように、Step 3では「会計ソフトに入れる前に、徹底的にデータを洗う」処理を行います。この工程を経ることで、会計ソフト側でのAPIエラーを未然に防ぎ、綺麗な元帳を作ることができるのです。

Step 4:会計ソフトへのロードと事後処理(Loading & Monitoring)

Step 3:データクレンジングと品質検証(Validation) - Section Image

クレンジングと検証を通過した「エリートデータ」のみを、いよいよ会計システムへ登録します。ここでは、データの整合性を保ちながら、システム間の連携を確実に行うための実務的な設計を解説します。

freee/マネーフォワード等のAPI仕様への適合

日本の主要なクラウド会計ソフト(freee会計、マネーフォワード クラウド会計など)は、APIを公開しています。Makeにはこれらの専用モジュールが用意されている場合もありますし、HTTP Request モジュールを使って直接APIを叩くことも可能です。

ここで重要なのは、「必須項目のマッピング」です。

  • 借方勘定科目(仕入高、通信費など)
  • 貸方勘定科目(買掛金、未払金など)
  • 税区分(課対仕入10%など)

これらをAI(ChatGPTや推論強化モデル)の抽出結果に基づいて自動選択させます。最新のAIモデルは文脈理解能力が向上しており、高い精度で科目を推測しますが、経理実務においては「デフォルト値」の設定が不可欠です。AIが勘定科目を確信を持って推測できなかった場合(確信度スコアが低い場合など)は、一旦「仮払金」や「未確定」として登録し、後で人間が修正しやすいタグを付けておくのが運用上のコツです。

重複登録を防ぐためのユニークキー管理

API連携で最も懸念されるのが「二重計上」です。同じ請求書を2回処理してしまい、買掛金が倍になってしまうような事故は絶対に避けなければなりません。

これを防ぐために、「ユニークキー(一意の識別子)」を利用します。例えば、「取引先ID + 請求書番号」や、「ファイル名のハッシュ値」などをキーとして、会計ソフト側に既に同じデータが存在しないかチェックする処理(Search)を、登録処理(Create)の直前に入れます。

Makeのフローとしては以下のようになります:

  1. Search Invoices (同じ請求書番号があるか検索)
  2. Router (分岐)
    • データあり → 処理終了(または「重複警告」を通知)
    • データなし → Create Invoice (新規登録)

処理結果の通知とログ保存

すべての処理が終わったら、結果を人間に報告します。SlackやChatwork、Microsoft Teamsなどに通知を送ります。

  • 成功時: 「[成功] 取引先の請求書(¥110,000)を登録しました。」
  • 要確認時: 「[確認] 特定の請求書処理でエラー。計算が合いません。リンクはこちら...」

また、処理したログ(いつ、どのファイルを、どのIDで登録したか)をGoogleスプレッドシートなどに記録しておくと、後から監査が入った時に非常にスムーズです。Makeの実行履歴(History)は一定期間で消えてしまうことがあるため、自社で永続的なログを持つことは必須です。

さらに高度な運用として、エラーログをChatGPTのCanvas(ドキュメントやコードの共同編集UI)のような環境に連携させ、AIにエラー原因の分析と修正案を提示させるフローを検討するのも良いでしょう。

まとめ:信頼できる「デジタル経理担当」を育てるために

ここまで、MakeとChatGPTを活用した「防御型」の請求書処理パイプラインについて解説してきました。

重要なのは、ツールを入れることそのものではなく、「データの品質をどう担保するか」という設計思想です。

  1. Ingestion: 不要なファイルを入り口で弾く
  2. Extraction: AI(推論強化モデル等)に構造化データを強制する
  3. Validation: 計算チェックとマスタ照合でミスを検知する
  4. Loading: 重複を防ぎ、結果をログに残す

この4段階のプロセスを意識することで、自動化フローは、単なる「便利なツール」を超え、信頼できる「デジタルな同僚」へと進化します。

今後の展望:AIエージェントとの協働

さらに技術は進化しています。2026年の現在、ChatGPTをはじめとするLLMは、単なるテキスト生成から「行動するエージェント」へと進化しつつあります。
例えば、Deep Research機能を使って不明な請求元の情報をWeb全体から調査したり、Canvas機能を使って複雑な経理規定ドキュメントをAIと共同でメンテナンスしたりといった活用も現実的になってきました。

まずはStep 3のバリデーションを厳しめに設定し、徐々にAIの精度に合わせて調整していくのが良いでしょう。最初から100%の完全自動化を目指さず、「怪しいものは人間に投げる」という安全弁を持たせることが、結果的に業務全体のスピードと品質を高める近道です。

ぜひ、今日の午後からでもMakeを開いて、まずは小さな「検算ロジック」から試してみてください。小さく生み出し、素早く検証する。そのプロトタイプ思考に基づく一歩が、経理業務の未来を大きく変えるはずです。

経理のためのAI自動化:MakeとChatGPTで構築する「防御型」請求書処理パイプライン - Conclusion Image

参考文献

  1. https://www.excite.co.jp/news/article/Prtimes_2026-02-04-116784-97/
  2. https://zenn.dev/hiroakikody/articles/ae1d3b6661fcc7
  3. https://note.com/dsaka0117/n/n787005f685b0
  4. https://qiita.com/mana-fun/items/3a17e404193df31d1998
  5. https://www.pc-webzine.com/article/3500
  6. https://hnavi.co.jp/knowledge/blog/chatgpt_system_companies/

コメント

コメントは1週間で消えます
コメントを読み込み中...