Media > AI活用ユースケース > 経理 > 受領請求書のPDFを読み取って支払データを作成する

受領請求書のPDFを読み取って支払データを作成する

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

仕入先から届く請求書PDFを入力に、OCRで取引先名、請求書番号、請求日、支払期日、税抜金額、消費税額、税率区分、明細行を抽出し、構造化データとして受け取ります。さらに、抽出した明細と過去の仕訳実績を照合して、勘定科目と部門コードの候補を付けます。

サマリー
利用ツール
AWS Textract/Azure AI/ChatGPT/Claude/Gemini/Google Document AI/Make/n8n/Power Automate
対象業界
商社/建設/物流/製造
対象部門
経理
対象業務
データ入力・転記/内容確認・チェック
主な課題
人手が足りない/入力作業が多い/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
半自動化
費用感
SaaS追加(小)
人間の確認
必須
現在工数
100h/月
AI導入後
30h/月
想定削減
70%
年間削減
840h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 仕入先から請求書がメールのPDF添付で届く(紙は郵送で届き、スキャンする)
  2. 担当者がPDFを開き、取引先名、請求金額、支払期日を目で読む
  3. 会計システムを開き、仕入先コードを検索して選ぶ
  4. 金額、税率、支払期日を打ち込む
  5. 明細を見て、勘定科目と部門コードを判断して入力する
  6. 発注書または検収データと金額が合っているかを照合する
  7. 上長が承認する
  8. PDFを支払月のフォルダへ移動して保存する
導入後(After)
  1. 請求書PDFが指定のフォルダに保存される(メール添付の自動保存、またはスキャン)
  2. 自動OCRで請求書の項目を抽出する
  3. 自動取引先名から仕入先マスタを照合し、仕入先コードを特定する
  4. 自動明細内容と過去の仕訳実績を照合し、勘定科目・部門コードの候補を付ける
  5. 自動発注書・検収データと金額を突き合わせ、一致するかを判定する
  6. 経理担当が確認画面でPDFと抽出結果を並べて見て、承認する
  7. 自動承認された内容を会計システムへ登録する
  8. 自動PDFを支払月のフォルダへ保存する
各工程の詳しい説明を読む
  1. 仕入先から請求書がメールのPDF添付で届く(紙は郵送で届き、スキャンする)
  2. 担当者がPDFを開き、取引先名、請求金額、支払期日を目で読む
  3. 会計システムを開き、仕入先コードを検索して選ぶ
  4. 金額、税率、支払期日を打ち込む
  5. 明細を見て、勘定科目と部門コードを判断して入力する
  6. 発注書または検収データと金額が合っているかを照合する
  7. 上長が承認する
  8. PDFを支払月のフォルダへ移動して保存する

問題は4つあります。

(a)フォーマットが取引先ごとに違う。 400社の仕入先がいれば、400通りのレイアウトがあります。金額がどこに書かれているかも、税抜表示か税込表示かも違います。

(b)打ち間違いが月に数件出る。 桁の入力ミス、支払期日の月違いが起きます。金額のミスは支払後に発覚することがあります。

(c)月末に集中する。 月1,500件のうち600件以上が月末3営業日に届きます。この期間は残業前提の運用になります。

(d)勘定科目の判断が属人化している。 ベテランは仕入先名を見ただけで科目が分かりますが、新任は毎回確認が必要です。

  1. 請求書PDFが指定のフォルダに保存される(メール添付の自動保存、またはスキャン)
  2. 【自動】 OCRで請求書の項目を抽出する
  3. 【自動】 取引先名から仕入先マスタを照合し、仕入先コードを特定する
  4. 【自動】 明細内容と過去の仕訳実績を照合し、勘定科目・部門コードの候補を付ける
  5. 【自動】 発注書・検収データと金額を突き合わせ、一致するかを判定する
  6. 【人】 経理担当が確認画面でPDFと抽出結果を並べて見て、承認する
  7. 【自動】 承認された内容を会計システムへ登録する
  8. 【自動】 PDFを支払月のフォルダへ保存する

自動化されるのは「読む」「探す」「打ち込む」「照合する」の4つです。残るのは「合っているかを判断する」だけになります。

02今回想定するシステム構成

構成図
メール添付 / スキャン / ポータルからのダウンロード
   │
   ▼
SharePoint の受領フォルダ
   │
   ▼【トリガー】ファイルが作成されたとき
Power Automate
   │
   ├──▶ Azure AI Document Intelligence(prebuilt-invoice)
   │       └─ 取引先 / 金額 / 税率 / 期日 / 明細 を構造化JSONで取得
   │
   ├──▶ 仕入先マスタ照合(ERP / マスタDB)
   │
   ├──▶ LLM API ── 勘定科目・部門コードの候補付け
   │
   └──▶ 発注・検収データとの金額照合
   │
   ▼
確認画面(PDFと抽出結果を左右に並べる)──【人が承認】
   │
   ▼
会計システムへ登録 + PDFを保管
役割想定する製品代替候補
OCRAzure AI Document Intelligence(prebuilt-invoice)Google Document AI、AWS Textract、国内の請求書処理SaaS
ワークフローPower AutomateMake、n8n、個別開発
生成AIClaude APIOpenAI API、Gemini API
保管SharePointBox、Google Drive
会計システムERP各社の会計ソフト

国内の請求書処理SaaS(電子帳簿保存法対応をうたう製品群)を先に検討してください。 仕入先マスタ照合、承認フロー、法定要件への対応までパッケージ化されています。自前で組む価値があるのは、既存ERPとの連携要件が特殊な場合、または月数千件以上で従量課金が見合わなくなる場合です。

03どうやって実装するのか

Step1

処理の起点を決める

SharePointの受領フォルダにファイルが作成されたことを起点にします。Power Automate の SharePoint コネクタには「ファイルが作成されたとき」トリガーが標準で用意されています。

メール添付を自動でこのフォルダへ保存する部分は、Office 365 Outlook コネクタの「新しいメールが届いたとき」トリガーと組み合わせます。ただし、請求書以外の添付ファイルも大量に届くため、送信元アドレスまたは件名での絞り込みが必要です。専用のメールアドレス(invoice@ 等)を用意して、仕入先にそこへ送ってもらうのがもっとも確実です。

Step2

入力データを集める

データ中身取得元
請求書PDF1ファイル1請求書SharePoint
仕入先マスタ仕入先コード、正式名称、略称、登録番号ERP
過去の仕訳実績仕入先ごとの勘定科目・部門コードの実績(直近12か月)会計システム
発注・検収データ発注番号、金額、検収済みかERP
Step3

データの取得方法を決める

OCR: Azure AI Document Intelligence の prebuilt-invoice モデルにPDFを渡します。このモデルは請求書、公共料金明細、発注書を対象に、取引先名、請求先住所、支払期日、合計金額などの主要項目と明細行を抽出し、構造化されたJSONで返します。対応言語は27言語です。スキャン画像、スマートフォンで撮影した画像、デジタルPDFのいずれも扱えます。

仕入先マスタ: ERPのAPI、または日次でエクスポートしたマスタファイルを参照します。リアルタイム連携は必須ではありません。

過去の仕訳実績: 会計システムから直近12か月の仕訳をエクスポートし、「仕入先コード × 勘定科目 × 部門コード」の出現回数を集計したテーブルを持ちます。これは月1回の更新で足ります。

Step4

AIへ渡す前に整形する

  1. 複数請求書の分割 … 1つのPDFに複数の請求書が入っていることがあります。ページ単位で請求書番号を検出し、分割します
  2. 向きの補正 … スキャンした紙は上下逆や横向きのことがあります。OCRサービス側で自動補正されるか確認し、されない場合は前段で回転させます
  3. 重複の検出 … 同じ請求書が再送されることがあります。「仕入先コード+請求書番号+金額」で既存データと照合し、重複なら処理を止めます。これを入れないと二重支払いが起きます
  4. 請求書以外の除外 … 見積書、納品書、督促状が混ざります。書類種別を判定して振り分けます
Step5

AIに処理させる

OCRとLLMで役割を分けます。

OCR(Document Intelligence)にさせること: 文字と項目の読み取り。金額、日付、明細行の抽出。ここはLLMにさせません。専用モデルのほうが精度が高く、費用も安いためです。

LLMにさせること:

処理内容
仕入先名の名寄せ「(株)◯◯商事」「株式会社◯◯商事」「マルマル商事」をマスタの1社に対応づける
勘定科目の候補付け明細の品目名から、過去実績を参照して科目を推定する
摘要文の生成明細から会計システムの摘要欄に入れる短文を作る
異常の指摘前月比で金額が大きく違う、税率が想定と違う等を指摘する
Step6

指示内容を固定する

あなたは経理の買掛金担当を支援する担当者です。
OCRで抽出された請求書の内容と、仕入先マスタ・過去仕訳実績をもとに、
仕入先コードと勘定科目の候補を付けてください。

【厳守事項】
- 金額、日付、請求書番号を書き換えないでください。
  OCRの抽出結果をそのまま引き継いでください。
- 仕入先マスタに一致する候補がない場合は、新しいコードを作らず
  supplier_code を null にし、reason に理由を書いてください。
- 勘定科目は、過去仕訳実績に存在する組み合わせからのみ選んでください。
  実績にない科目を提案する場合は confidence を low にしてください。
- 税率区分(10% / 8%軽減 / 対象外)は、請求書に明記された表示に従ってください。
  品目名から推測しないでください。
- 判断に迷った項目は needs_review に列挙してください。

【OCR抽出結果】
{ocr_result}

【仕入先マスタの候補(名称の近い上位5件)】
{supplier_candidates}

【この仕入先の過去仕訳実績(直近12か月)】
{past_entries}

「税率区分を品目名から推測しない」の1行が重要です。 軽減税率の判定は、AIが品目名から推測すると誤ります。請求書に書かれた表示に従わせ、書かれていなければ人に回します。税額の誤りは、後から修正申告の対象になります。

Step7

出力形式を固定する

{
  "supplier_code": "",
  "supplier_name_matched": "",
  "invoice_no": "",
  "invoice_date": "",
  "due_date": "",
  "amount_excluding_tax": 0,
  "tax_amount": 0,
  "tax_rate_breakdown": [
    { "rate": "10", "base": 0, "tax": 0 }
  ],
  "total_amount": 0,
  "line_items": [
    {
      "description": "",
      "amount": 0,
      "account_code": "",
      "department_code": "",
      "confidence": "high | medium | low"
    }
  ],
  "po_match": "matched | mismatched | not_found",
  "duplicate_check": "ok | duplicate",
  "needs_review": [],
  "reason": ""
}

金額は文字列でなく数値で返させます。文字列にすると「1,200,000」のようにカンマ入りで返り、後段の計算で壊れます。

Step8

システムへ連携する

承認後、会計システムへ登録します。連携方法は会計システムによって3通りあります。

方式内容
API連携会計システムがAPIを提供していれば、承認と同時に登録する
ファイル取込所定のCSV形式で書き出し、会計システムの取込機能で読ませる
RPA上記が使えない場合。画面操作を自動化する

多くの国産ERPでは、CSV取込がもっとも確実です。 APIの有無と仕様は、自社の会計システムのベンダーに確認してください。この部分は利用環境に応じた個別確認が必要です。

PDFの保管は、電子帳簿保存法の要件(取引年月日・取引金額・取引先での検索が可能であること)を満たす形にします。ファイル名に「日付_取引先_金額」を含める、または検索項目をメタデータとして持たせます。

Step9

人が確認する

全件、人が承認します。段階的な自動化もしません。

理由は、支払という金銭の移動を伴うためです。誤った金額が登録されれば、そのまま振り込まれます。この構成で減らしているのは「読んで打ち込む時間」であって、「確認の責任」ではありません。

確認を速くするための設計が重要です。

  • 確認画面で、PDFの原本と抽出結果を左右に並べて表示する
  • OCRが抽出した箇所を、PDF上でハイライトする
  • confidence が低い項目、needs_review に入った項目を色分けする
  • 発注データと金額が一致した請求書は、その旨を大きく表示する(確認の負荷が下がる)

これらがないと、確認に4分かかり、削減効果が出ません。

Step10

例外に対処する

起きること対応
OCRが金額を読めない該当項目を空で返し、needs_review に入れる。推測値を入れない
仕入先がマスタにない(新規取引先)supplier_code を null にして人へ回す。自動でマスタに追加しない
同名の仕入先が複数ある候補を並べて人に選ばせる
発注データと金額が合わないpo_match: mismatched として、差額を表示したうえで人へ回す
重複請求書を検出した処理を止め、既存データへのリンクとともに通知する
1つのPDFに複数請求書ページ単位で分割して、それぞれ処理する
請求書ではない書類(見積書等)書類種別判定で振り分け、別フォルダへ移す
手書きの請求書OCR精度が落ちる。confidence が low で返るため、従来どおり手入力に回す
外貨建ての請求書為替レートの適用が必要。自動処理の対象外とし、人へ回す
月末に1日600件が集中する処理をキューに入れ、順次実行する。同時実行数の上限を設定してAPIの制限に当たらないようにする
Step11

記録を残す

この業務では、ログの保存が法令上の要件になります。

  • 請求書PDFの原本(電子帳簿保存法の保存要件に従う)
  • OCRの抽出結果(生の状態)
  • LLMが付けた候補と confidence
  • 承認者、承認日時
  • 人が修正した項目と、修正前後の値

最後の項目は、精度の実測値になります。「金額は毎回そのまま通るが、勘定科目は3割修正されている」と分かれば、どこを改善すべきかが決まります。

04実装レベルの3段階

最小構成:OCRサービスの画面に1件ずつ投入し、結果をコピーする / 読み取りのみ
半自動化:フォルダ監視 → OCR → 結果をスプレッドシートへ出力 → 人が会計システムへ入力 / 読み取りと転記の一部
本格構成:上記+仕入先照合+科目候補+発注照合+確認画面+会計システム登録 / 承認以外のすべて

半自動化の時点で、4分が2分程度になります。 読み取りが自動化されるだけで、目で読んで打つ作業の大半が消えるためです。本格構成にすると1.2分程度になりますが、確認画面と会計システム連携の実装が必要です。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
1,500 件
1件あたり現在時間
4 分
1件あたり導入後時間
1.2 分
現在  1,500件 × 4分 ÷ 60 = 100 時間/月
導入後 1,500件 × 1.2分 ÷ 60 = 30 時間/月
月間削減時間
70h
削減率
70%
年間削減時間
840h
年間金額換算(時間単価3,000円)
252万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 受領請求書が月500件以上あり、PDFでの受領が中心。仕入先が100社以上で、会計システムにCSV取込またはAPIがあること。
向いていない
  1. 月100件未満で手入力が回っている場合。手書き請求書が大半を占める場合。国内の請求書処理SaaSで要件が満たせる場合。

07最小構成で試す方法

  1. 直近の請求書PDFを20件用意する(取引先はばらばらに選ぶ)
  2. Azure AI Document Intelligence の Studio(画面上でファイルをアップロードして結果を見られる)に1件ずつ投入する
  3. 抽出された取引先名、金額、税率、支払期日が正しいかを目で確認する
  4. 20件のうち、全項目が正しく取れたのが何件かを数える

この検証だけは必ずやってください。 OCRの精度は、請求書のレイアウトに強く依存します。自社に届く請求書で測らないと、導入後の工数が読めません。

判断の目安は次のとおりです。

全項目正解率判断
8割以上自動化する価値がある
5〜8割確認に時間がかかるが、それでも手入力より速い可能性がある。金額項目の精度を個別に見る
5割未満OCRサービスを変えるか、仕入先に請求書フォーマットの統一を依頼する

勘定科目の候補付けは、ChatGPTやClaudeに「この明細と過去の仕訳実績から科目を推定して」と聞くだけで試せます。

08実装時につまずきやすいポイント

問題対策
取引先ごとにレイアウトが違い、精度が安定しない汎用の請求書モデルで20件試し、精度が出ない仕入先だけ個別対応する。全社統一を目指さない
金額がカンマ入りの文字列で返る出力スキーマで数値型を指定する。後段で必ず数値に変換する
仕入先名の表記ゆれで照合できない略称・旧社名を含む名寄せ辞書を作る。マスタの「検索用カナ」を活用する
軽減税率の判定を誤る請求書の記載に従わせ、品目名からの推測を禁止する。記載がなければ人へ回す
同じ請求書を二重に処理する「仕入先コード+請求書番号+金額」で重複チェックする。必須
月末に処理が集中してAPI制限に当たるキューに入れて同時実行数を制限する
手書きや低品質スキャンで精度が落ちるconfidence が低いものは従来どおり手入力に回す分岐を作る
確認画面が使いにくく、確認に時間がかかるPDFと抽出結果を左右に並べる。低確信度の項目を色分けする。ここを省くと削減効果が出ない
電子帳簿保存法の検索要件を満たしていない取引年月日・取引金額・取引先で検索できる形で保管する

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 仕入先の社名、取引金額、取引内容、銀行口座情報。自社の原価構造と、仕入先との取引条件が含まれます。

  1. 外部AIへの入力可否 … 請求書には取引単価が記載されています。これは仕入先との秘密保持の対象になることがあります。自社の情報管理規程と、主要仕入先との契約を確認してください
  2. 銀行口座情報の扱い … 請求書に振込先口座が記載されている場合、これを抽出・保存する必要があるかを検討します。不要なら抽出対象から外します。振込先の自動更新は絶対に自動化しないでください。 請求書の口座情報を書き換える手口の詐欺があり、これを自動反映する構成は危険です
  3. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  4. アクセス権限 … 請求書PDFの保管場所を、経理部門に限定します
  5. 自動実行してよい範囲 … 承認は必ず人が行います。ここは運用が安定しても変えません。特に、支払データの登録を人の承認なしで実行する構成にしないでください

誤りが起きた場合のリスクは、誤った金額の支払い、二重支払い、税額の誤りです。すべて金銭的な損失または法令上の問題に直結します。承認ログを残し、後から追跡できる状態にしてください。

10まず何から始めるか

1週目:OCRの精度を測る

直近の請求書20件(取引先をばらばらに選ぶ)で、OCRサービスの画面から抽出精度を測ります。この結果で導入可否が決まります。 8割以上取れるなら進めます。

2週目:仕入先の分布を見る

月1,500件の請求書が、何社から届いているかを数えます。上位20社で件数の6割を占めるのが一般的です。まずその20社だけを対象にした構成にすると、実装が軽く済み、効果の大半が取れます。

3〜4週目:半自動化を作る

フォルダ監視 → OCR → スプレッドシート出力までを作り、経理1名が2週間使います。4分が何分になるかを実測します。会計システム連携はまだ作りません。

2か月目以降: 削減効果が確認できたら、確認画面と会計システム連携を実装します。並行して、電子帳簿保存法の保存要件を満たす形になっているかを、顧問税理士に確認してください。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-09-02/最終更新:2026-09-08
確認した内容情報源確認日
Azure AI Document Intelligence の prebuilt-invoice モデルが、請求書から主要項目と明細行を抽出し構造化JSONを返すこと。27言語対応。スキャン画像・撮影画像・デジタルPDFに対応MicrosoftDocs: Invoice model / Azure: Document Intelligence2026-09-02
Power Automate の SharePoint コネクタに「ファイルが作成されたとき」トリガーがあることMicrosoft Learn: SharePoint コネクタ2026-09-02

会計システムへの登録方式(API / CSV取込 / RPA)は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。 電子帳簿保存法の保存要件についても、自社の運用が要件を満たすかを顧問税理士に確認してください。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0005)についてのご相談はこちらから。

AI活用について相談する
目次