「請求書の内容をExcelへ毎月手入力している」
「取引先ごとにPDFのレイアウトが違い、単純なOCRではうまくデータ化できない」
「注文書から商品名や数量を取り出して、業務システムへ登録したい」
「メールで届いたPDFを自動的に処理したい」
このような業務では、OCRや生成AIを利用してPDFから必要なデータを抽出できます。
例えば請求書から、
請求書番号
取引先名
請求日
支払期限
請求金額
消費税
明細
を取得し、
PDF
↓
AIで解析
↓
必要項目を抽出
↓
JSONへ変換
↓
担当者確認
↓
会計・業務システムへ登録
という処理を構築できます。
重要なのは、PDFを単純に文字へ変換するだけではありません。
OCRによる文字認識、帳票レイアウトの解析、生成AIによる内容理解、通常プログラムによるチェックを組み合わせることで、実際の業務へ利用できるデータへ変換します。
この記事では、PDFや請求書からAIでデータを抽出する方法、OCRとの違い、具体的なシステム構成、導入手順について解説します。
PDFからAIでデータを抽出するとは
PDFデータ抽出とは、PDFに記載されている情報から、業務で必要な項目だけを取得する処理です。
例えば、次の請求書があるとします。
株式会社ABC
請求書番号:INV-2026-001
請求日:2026年7月31日
支払期限:2026年8月31日
商品A 10個 100,000円
商品B 5個 50,000円
小計:150,000円
消費税:15,000円
合計:165,000円
このPDFをそのまま保存するだけでは、システムから金額や請求日を利用できません。
そこでAIなどを利用して、
{
"company_name": "株式会社ABC",
"invoice_number": "INV-2026-001",
"invoice_date": "2026-07-31",
"due_date": "2026-08-31",
"subtotal": 150000,
"tax": 15000,
"total": 165000
}
のような構造化データへ変換します。
この状態になれば、
- Excelへ出力する
- CSVへ保存する
- データベースへ登録する
- 会計システムへ送る
- 支払管理へ登録する
といった処理へつなげられます。
OCRとAIデータ抽出の違い
PDF処理では「OCR」と「AIによるデータ抽出」が混同されることがあります。
両者は役割が異なります。
OCRは文字を読み取る技術
OCRは、画像に含まれる文字をテキストへ変換します。
例えば、紙の請求書をスキャンした画像から、
請求金額 165,000円
という文字を取得します。
つまり、
画像
↓
OCR
↓
文字
です。
AIデータ抽出は「どの文字が何を意味するか」を判断する
OCRによって文字を取得しても、それだけでは業務システムへ登録できません。
例えば、
2026/7/31
2026/8/31
150,000
15,000
165,000
という文字列だけでは、
どれが請求日なのか
どれが支払期限なのか
どれが税額なのか
どれが請求総額なのか
を判断する必要があります。
AIや文書解析を利用すると、
2026/7/31
→ 請求日
2026/8/31
→ 支払期限
15,000
→ 消費税
165,000
→ 請求総額
というように、項目の意味を判断できます。
OCRとAIは組み合わせて利用する
実務では、
PDF・画像
↓
OCR
↓
文字・レイアウト取得
↓
AIで内容理解
↓
必要項目抽出
という構成がよく使われます。
つまり、
OCR
→ 読む
AI
→ 理解する
と考えると分かりやすいでしょう。
OCRだけで十分な場合もある
すべてのPDFに生成AIが必要というわけではありません。
例えば、帳票のレイアウトが完全に固定されており、
左上
→ 会社名
右上
→ 請求書番号
右下
→ 合計金額
と毎回同じ位置に情報がある場合は、OCRと通常プログラムだけで処理できる可能性があります。
一方、
A社の請求書
B社の請求書
C社の請求書
でレイアウトが大きく異なる場合は、AIや文書解析を組み合わせるメリットが大きくなります。
PDF AI検索との違い
PDFのAI活用には、
- PDFを検索する
- PDFからデータを抽出する
という2つの用途があります。
両者は目的が異なります。
| 項目 | PDF AI検索 | PDFデータ抽出 |
|---|---|---|
| 目的 | 必要な情報を探す | 必要項目をデータ化 |
| 入力 | 質問 | PDF・画像 |
| 出力 | 回答 | JSON・CSVなど |
| 技術 | RAG | OCR・文書解析・AI |
| 例 | 「支払条件は?」 | 支払期限を取得 |
| 主な用途 | マニュアル検索 | 帳票入力自動化 |
例えば、
この請求書の支払期限は?
と人が質問したいならAI検索です。
一方、
毎月届く1,000枚の請求書から
支払期限をすべて取得する
場合はデータ抽出です。
AIでデータ抽出しやすい文書
AIによるデータ抽出は、さまざまな帳票へ利用できます。
代表的なものは次のとおりです。
- 請求書
- 領収書
- 注文書
- 発注書
- 見積書
- 納品書
- 申込書
- アンケート
- 契約書
- 履歴書
- 職務経歴書
- 点検表
- 作業報告書
- 検査結果
- メール添付PDF
帳票ごとに抽出する項目を決めます。
請求書から抽出できる項目
例えば請求書なら、
- 取引先名
- 請求書番号
- 請求日
- 支払期限
- 登録番号
- 小計
- 消費税
- 請求金額
- 振込先
- 商品名
- 数量
- 単価
- 明細金額
などを取得します。
注文書から抽出できる項目
注文書なら、
- 注文番号
- 発注企業
- 担当者
- 商品コード
- 商品名
- 数量
- 単価
- 希望納期
- 納品先
などです。
申込書から抽出できる項目
申込書では、
- 会社名
- 氏名
- 住所
- 電話番号
- メールアドレス
- 希望サービス
- 申込日
などを取得できます。
履歴書・職務経歴書から情報を取得する
採用業務では、履歴書や職務経歴書から、
- 氏名
- 経験年数
- 過去の職種
- 技術スキル
- 資格
- 学歴
- 希望条件
などを抽出できます。
取得した情報を採用管理システムへ登録すれば、人による転記作業を削減できます。
AIによるPDFデータ抽出の基本構成
一般的には次のような構成になります。
PDF
↓
ファイル解析
↓
OCR・文字抽出
↓
レイアウト解析
↓
AIによる項目抽出
↓
データ形式を統一
↓
チェック
↓
人による確認
↓
CSV・DB・業務システム
それぞれ詳しく見ていきます。
1.PDFを取得する
最初にPDFを取得します。
例えば、
- Web画面からアップロード
- メール添付
- Google Drive
- SharePoint
- OneDrive
- Amazon S3
- ファイルサーバー
などです。
例えば請求書メールなら、
メール受信
↓
添付PDF取得
↓
自動解析
とできます。
2.PDFが文字PDFか画像PDFか判定する
PDFには大きく、
- テキスト情報を持つPDF
- スキャン画像だけのPDF
があります。
テキストPDFであれば、文字を直接取得できる場合があります。
スキャンPDFではOCRが必要です。
PDF
↓
文字を取得できる?
├─ YES → テキスト抽出
└─ NO → OCR
と分岐できます。
3.OCRで文字を取得する
スキャンPDFや画像ではOCRを利用します。
ただし、OCR結果には誤認識が発生する可能性があります。
例えば、
1
と、
I
を間違えたり、
0
と、
O
を間違えたりする可能性があります。
請求書番号、金額、商品コードなどでは、このような違いが重要になります。
4.レイアウトを解析する
帳票では、文字そのものだけでなく、
どこに書かれているか
も重要です。
例えば、
請求日 2026年7月31日
という組み合わせを認識します。
表についても、
| 商品 | 数量 | 単価 |
|---|---|---|
| 商品A | 10 | 10,000円 |
| 商品B | 5 | 10,000円 |
という行・列の関係を保持する必要があります。
現在の主要な文書解析サービスでは、請求書の主要項目や明細行を構造化して取得できる機能が提供されています。Microsoft Document IntelligenceのInvoiceモデルは請求書などから主要フィールドと明細行を抽出でき、Amazon TextractのAnalyzeExpenseも請求書・領収書からサマリー項目と明細を返します。
5.必要な項目を定義する
AIへ、
このPDFを解析してください
だけではなく、取得したい項目を決めます。
例えば請求書なら、
company_name
invoice_number
invoice_date
due_date
subtotal
tax
total
bank_account
とします。
明細は、
items: [
{
product_name,
quantity,
unit_price,
amount
}
]
という配列として取得できます。
6.JSONなどの決まった形式へ変換する
システム連携では、自然な文章ではなく構造化データとして結果を取得します。
例えば、
{
"company_name": "株式会社ABC",
"invoice_date": "2026-07-31",
"due_date": "2026-08-31",
"total": 165000,
"items": [
{
"name": "商品A",
"quantity": 10,
"amount": 100000
},
{
"name": "商品B",
"quantity": 5,
"amount": 50000
}
]
}
という形式です。
この状態になれば、後続の処理を通常プログラムで実行できます。
7.AIの結果をプログラムでチェックする
AIが取得した結果を、そのまま登録する必要はありません。
例えば請求書なら、
小計 + 消費税 = 合計
になっているか確認できます。
例として、
小計:150,000円
税額:15,000円
合計:165,000円
なら、
150,000 + 15,000 = 165,000
なので一致します。
一方、
AI抽出結果
小計:150,000
税額:15,000
合計:185,000
なら異常として扱えます。
このチェックは生成AIではなく、通常プログラムで行った方が確実です。
AIと通常プログラムを使い分ける
PDFデータ抽出でも、すべてをAIへ任せる必要はありません。
例えば、
文字認識
→ OCR
項目の意味を判断
→ 文書解析・AI
金額計算
→ 通常プログラム
データベース登録
→ 通常プログラム
最終確認
→ 人
と役割を分けます。
信頼度が低いデータだけ人が確認する
大量帳票を処理する場合、すべての結果を人が確認すると自動化効果が小さくなります。
そこで、
自信を持って取得できた項目
→ 自動処理
確認が必要な項目
→ 人へ
と分ける方法があります。
例えば、
会社名:確認不要
請求日:確認不要
請求金額:要確認
という状態です。
Amazon Textractなどの文書解析サービスでは抽出結果にConfidence情報も含まれるため、一定値以下の項目だけ人が確認する仕組みに利用できます。
AIが高い確信を持っていてもチェックは必要
Confidenceが高ければ必ず正しいという意味ではありません。
例えば、
165,000
という数字そのものを正しく読めても、
請求総額
ではなく、
過去入金額
だった可能性があります。
そのため、
- 金額の整合性
- 日付の前後関係
- 必須項目
- 商品コード
- 取引先マスタ
などを通常プログラムでも確認します。
取引先ごとに帳票レイアウトが違っても処理できる?
可能ですが、難易度は上がります。
例えば、
A社
請求金額が右下
B社
請求金額が左上
C社
「今回ご請求額」と記載
のように、請求書は会社ごとに異なります。
固定座標だけで取得する場合、
右下の数字を取得
という方法では対応できません。
AIや文書解析を利用することで、
請求金額
今回ご請求額
合計請求額
TOTAL
など、表記や位置が異なる帳票を共通項目へ変換しやすくなります。
表の明細抽出は難易度が高い
請求書ではヘッダー情報だけでなく、明細も必要になる場合があります。
例えば、
| 商品 | 数量 | 単価 | 金額 |
|---|---|---|---|
| 商品A | 10 | 1,000 | 10,000 |
| 商品B | 20 | 2,000 | 40,000 |
これを、
[
{
"product": "商品A",
"quantity": 10,
"unit_price": 1000,
"amount": 10000
},
{
"product": "商品B",
"quantity": 20,
"unit_price": 2000,
"amount": 40000
}
]
へ変換します。
単純な文字抽出では、
商品A
商品B
10
20
1,000
2,000
10,000
40,000
となり、どの数字がどの商品に対応するか分からなくなる可能性があります。
表構造を認識できる文書解析が重要です。
PDFからExcelへ自動変換できる?
必要な項目を抽出してExcelへ出力できます。
例えば、
PDFフォルダ
↓
100件の請求書を解析
↓
必要項目抽出
↓
Excel作成
として、
| 取引先 | 請求書番号 | 請求日 | 支払期限 | 金額 |
|---|---|---|---|---|
| ABC社 | INV001 | 7/31 | 8/31 | 165,000 |
| DEF社 | 00234 | 7/31 | 9/10 | 220,000 |
のような一覧にできます。
Excelだけでなく、
- CSV
- Google Sheets
- データベース
- API
へ出力できます。
会計システムへ自動登録する
さらに、Excelを経由せず業務システムへ直接登録することもできます。
請求書受信
↓
AIでデータ抽出
↓
内容チェック
↓
担当者確認
↓
会計システムAPI
↓
登録
とします。
ただし、会計システムへの登録は金額を扱う重要な処理です。
最初から完全自動化せず、
AI抽出
↓
人が確認
↓
登録
から始める方法が安全です。
メールで届いた請求書も自動処理できる
例えば、取引先からGmailへ請求書が届く場合、
メール受信
↓
添付PDF取得
↓
AI・OCR解析
↓
請求情報抽出
↓
担当者へ確認通知
↓
DBへ登録
↓
PDF保存
というワークフローを構築できます。
人が毎回、
メールを開く
↓
PDFを保存
↓
PDFを開く
↓
Excelへ入力
する必要を減らせます。
Google Driveへ保存されたPDFを処理する
例えば、
Google Drive
請求書フォルダ
へPDFを入れると、
新規PDF検出
↓
AI解析
↓
スプレッドシートへ追加
という処理も可能です。
請求書処理だけでなく、
- 注文書
- 申込書
- 点検報告書
などにも応用できます。
PDFデータ抽出とRPAを組み合わせる
連携先の業務システムにAPIがない場合は、RPAと組み合わせる方法があります。
例えば、
PDF
↓
AIで情報抽出
↓
担当者確認
↓
RPA
↓
既存会計システムへ入力
とします。
AIはPDFを読む部分、RPAは画面入力を担当します。
PDFデータ抽出とn8nを組み合わせる
複数サービスをつなぐ場合はn8nなどのワークフロー自動化ツールも利用できます。
例えば、
Gmail
↓
PDF取得
↓
OCR・AI
↓
Google Sheets
↓
Slackで確認依頼
↓
業務システムAPI
という構成です。
n8nは全体の処理をつなぎ、AIは文書内容の理解を担当します。
PDFデータ抽出と生成AIを組み合わせるメリット
取引先ごとの表記揺れに対応しやすい
例えば、
株式会社ABC
(株)ABC
などを同じ取引先として整理する処理に利用できます。
自由記述を構造化できる
例えば、
納期については8月15日頃を希望しています。
できれば午前中にお願いします。
という文章から、
希望納期:8月15日
希望時間帯:午前
と抽出できます。
文書の種類を分類できる
受信したPDFが、
請求書
見積書
注文書
納品書
のどれなのかを分類し、その後の処理を変えることもできます。
AIによるPDFデータ抽出の注意点
100%の精度を前提にしない
OCRやAIでは読み取りミスが発生する可能性があります。
特に、
- 金額
- 口座番号
- 商品コード
- 請求書番号
- 日付
などは一文字違うだけでも影響があります。
重要項目は人やプログラムによるチェックを入れます。
元PDFを残す
データ抽出後も元PDFを保存しておきます。
例えば、
抽出データ
+
元PDF
を紐づけて保存します。
問題が発生した場合に原本を確認できます。
どのPDFから取得したデータか記録する
例えば、
source_file:
invoice_20260731_abc.pdf
page:
1
のように元ファイルを記録します。
大量のPDFを処理する場合は特に重要です。
必須項目を設定する
例えば請求書では、
取引先
請求日
請求金額
を必須にします。
一つでも取得できなければ、
要確認
にします。
無理にAIへ推測させません。
マスターデータと照合する
例えばAIが、
株式会社エービーシー
と取得した場合に、
取引先マスターの、
株式会社ABC
と照合できます。
商品コード、取引先コード、銀行情報なども同様です。
AI単体ではなく、既存マスターデータを利用することで精度を高められます。
PDFデータ抽出システムの導入手順
1.現在の入力作業を整理する
最初に、
どのPDFから
何を
どこへ入力しているか
を整理します。
例えば、
請求書PDF
↓
Excelへ入力
取引先
請求日
請求金額
支払期限
とします。
2.処理件数と作業時間を確認する
例えば、
月500枚
1枚3分
500 × 3分
= 1,500分
= 25時間
です。
自動化によって削減できる時間を把握します。
3.抽出する項目を決める
必要以上に項目を増やさないことも重要です。
現在の業務で使用している項目に限定します。
4.実際のPDFを集める
特定のきれいなPDFだけでテストしません。
例えば、
- A社の請求書
- B社の請求書
- スキャンPDF
- 低解像度PDF
- 2ページ以上
- 明細が多い
- 表が複雑
などを含めます。
5.20〜100件程度でPoCする
代表的なPDFで、
正しく取得できた
一部間違った
取得できなかった
を評価します。
特に業務上重要な項目を確認します。
6.チェック処理を追加する
例えば、
合計金額チェック
日付チェック
取引先マスター照合
必須項目チェック
を追加します。
7.人による確認画面を作る
AIの結果とPDF原本を並べて表示すると確認しやすくなります。
例えば、
左側
PDF
右側
取引先:ABC社
請求日:7/31
金額:165,000円
[修正]
[登録]
という画面です。
8.既存業務システムへ連携する
精度を確認したら、
CSV
Excel
Google Sheets
データベース
会計システム
販売管理システム
などへ連携します。
AIによるPDFデータ抽出の費用
開発費は対象帳票と自動化範囲によって変わります。
大まかな目安としては、
| 内容 | 費用の目安 |
|---|---|
| 1種類の帳票から項目抽出 | 10万円〜30万円程度 |
| 複数帳票+Excel・CSV出力 | 20万円〜60万円程度 |
| OCR+AI+確認処理 | 30万円〜100万円程度 |
| メール・Driveとの自動連携 | 50万円〜150万円程度 |
| 業務システムへの自動登録 | 80万円〜200万円以上 |
| 専用管理画面・承認フロー | 100万円〜300万円以上 |
実際の費用は、
- PDFの種類
- ファイル数
- OCR
- 表
- 明細
- 手書き
- 必要な精度
- システム連携
- 管理画面
などによって変わります。
PDFデータ抽出に関するよくある質問
スキャンされた請求書も読み取れますか?
OCRを利用して文字を取得できます。
ただし、画像がぼやけている、傾いている、文字が小さいなどの場合は読み取り精度が下がる可能性があります。
会社ごとに請求書の形式が違っても対応できますか?
対応できる可能性があります。
固定座標だけでなく、文書の内容やレイアウトを解析することで、異なる帳票から共通項目を取得できます。
ただし、実際の帳票を使った検証が必要です。
明細も取得できますか?
表構造を解析できれば、商品名、数量、単価、金額などを明細として取得できます。
複雑な表では個別の調整が必要になることがあります。
手書き書類も読み取れますか?
OCRサービスによっては手書き文字に対応するものもありますが、活字より難易度が高くなります。
実際の帳票で精度を確認する必要があります。
Excelへ自動で出力できますか?
可能です。
必要項目を抽出した後、Excel、CSV、Google Sheetsなどへ変換できます。
会計ソフトへ直接登録できますか?
対象システムにAPIなどの連携方法があれば可能です。
APIがない場合はCSV連携やRPAなどを検討します。
ChatGPTだけでもできますか?
少量のPDFを手動処理するだけなら対応できる場合があります。
毎月大量の帳票を自動処理する場合は、ファイル取得、OCR、データ抽出、チェック、システム登録まで含めた仕組みにする必要があります。
OCRだけとAIを使う場合のどちらがよいですか?
帳票が固定されているならOCRと通常処理だけで十分な場合があります。
レイアウトや表現が大きく異なる複数帳票を扱う場合は、AIや文書解析を組み合わせる方法を検討します。
hiro-dev-labのPDF・AIデータ抽出システム開発
hiro-dev-labでは、PDFや帳票から必要なデータを抽出し、業務システムへつなげる仕組みの構築を支援しています。
主な対応内容は次のとおりです。
- PDFからのデータ抽出
- 請求書・注文書のデータ化
- OCRを利用した文字抽出
- 生成AIによる項目抽出
- JSON・CSVへの変換
- Excel・Google Sheets出力
- メール添付PDFの自動処理
- Google Driveなどとの連携
- n8nを利用したワークフロー
- PythonによるPDF処理
- データベース連携
- 外部API連携
- 既存業務システムへの登録
- 人による確認画面
- 小規模なPoC
単に「AIでPDFを読む」だけではなく、
PDFを受け取る
↓
必要データを取得する
↓
内容を確認する
↓
現在使っているシステムへ登録する
まで含めて自動化を検討できます。
PDFデータ抽出は「読み取り後の処理」まで考える
PDFデータ抽出の目的は、AIに帳票を読ませることではありません。
例えば、
請求書を人が読む
↓
Excelへ入力する
業務であれば、最終的に削減したいのはExcelへの入力作業です。
そのため、
PDF
↓
OCR
↓
AIによる項目抽出
↓
プログラムで内容確認
↓
必要な項目だけ人が確認
↓
Excel・DB・業務システムへ登録
まで設計します。
特に重要なのは、
OCR
→ 文字を読む
AI
→ 内容を理解する
プログラム
→ チェック・登録する
人
→ 例外だけ確認する
という役割分担です。
最初から完全自動化する必要はありません。
まずは過去の帳票を使って、
どの項目が正しく取れるか
どの帳票で失敗するか
何%を人の確認なしで処理できるか
を検証します。
そのうえで、効果が確認できた業務から自動登録まで広げていく方法が現実的です。
「毎月大量の請求書をExcelへ入力している」
「PDFから必要な情報だけ自動取得したい」
「OCRでは帳票ごとの違いに対応できない」
「メールで届いた帳票を業務システムへ自動登録したい」
このような段階からでも、お気軽にお問い合わせください。
PDF・AIデータ抽出について相談する