事例
サンプル電機の書類照合デモ
- 区分
- 検証(架空データ)
- 業務
- 書類の読み取り・転記、経理
hirostaの公開デモです。請求書・納品書PDFからOCR・文字抽出で候補を取り、人が元ページと見比べて修正し、台帳との照合結果をExcelに出力する流れを試せます。会社・人物・書類・取引・金額はすべて架空で、実運用・納品の実績ではありません。生成AIは使っていません。
想定した課題・業務フロー
請求書・納品書を台帳と照合する場面を想定しました。読み取った文字が正しいとは限らず、金額の食い違いや注文番号の読み取り漏れもあります。候補をそのまま転記せず、元ページの根拠を見て修正し、未照合や不一致をどう扱うか人が判断することを課題にしました。
実施内容
日本語の請求書・納品書PDFを読み込み、ページ画像・読み取った文字・項目ごとの根拠ページを見比べられるようにしました。人が候補を修正して保存すると台帳と再照合し、確認済みの状態を解除します。不一致・未照合を残す場合は理由を入力し、確認済みにした書類だけをExcelに出力できます。作業の終了と削除も試せます。
同梱の架空サンプル
- 文字のPDFの請求書は、注文番号PO-1001・55,000円で台帳と一致する例です。
- 画像のPDFの納品書は、注文番号PO-1002・90,000円で台帳の88,000円と一致しない例です。OCRの候補を元ページと見比べて修正します。
- 架空の台帳CSVには、取引先・注文番号・予定金額を用意しています。この2書類は操作を試すためのもので、一致・不一致の件数は精度を示しません。
対象と制限
- 同梱した請求書・納品書の形式、各1種類だけが対象です。1ファイル10MB・5ページまで、1回12書類までです。
- 手書き・縦書き・複雑な明細・任意のレイアウト・暗号化PDFは対象外です。
- 書類や編集内容はメモリ内だけで扱い、履歴や本文を保存しません。認証・共同編集・恒久保存はありません。
検証した仕組み・業務フロー
工程 1
- 通常の自動化
PDFを読み込み、文字抽出・OCRで候補を取る
人が確認する点文字のないページは手元の日本語OCRで読みます。同じPDFの再読込は内容のハッシュで防ぎます。
工程 2
- 人
元ページ・読み取った文字・項目の根拠を見て修正する
人が確認する点読み取れない値や誤った金額を推測で埋めず、元ページを見て直します。
工程 3
- 通常の自動化
修正を保存し、台帳と再照合する
人が確認する点取引先と注文番号で照合し、候補が0件か複数なら未照合にします。保存すると確認済みが外れます。
工程 4
- 人
照合結果と理由を確かめ、確認済みにする
人が確認する点不一致・未照合を残す理由を入力します。一致しても書類の正しさや業務の承認を保証しません。
工程 5
- 通常の自動化
- 人
確認済みの書類だけExcelに出力し、作業を終了・削除する
人が確認する点保存前の編集がある間は出力と確認を止めます。空欄・無効な日付や金額・未解決の重複がある書類は出力できません。
使った技術
PDFium、Tesseract(日本語OCR)、CSV、Excel。手元の127.0.0.1で動かすデモです。DB・APIキーは使わず、ブラウザー以外の外部サービスとの通信を実装していません。公開サーバーへの配置は想定していません。
AIと人の役割
AIに任せた範囲
生成AIは使っていません。PDFiumの文字抽出と、文字のないページに対するTesseractの日本語OCRが候補を取ります。コードが日付・金額の変換、必須項目、重複、台帳との照合を判定します。別ファイルでも書類の種類・取引先名・書類番号が同じなら重複の候補にし、人の確認につなげます。
人が確認するポイント
人が元ページと候補を見比べて修正し、照合結果と、不一致・未照合を残す理由を確認して、出力する書類を確定します。台帳との一致だけで業務上の承認を済ませるものではありません。
検証で扱った課題・制約
- OCRが金額のカンマをピリオドに読み違えました。「90.000円」は無効な金額として止め、推測で桁区切りを直さず、人が元ページを見て修正します。
- 項目名の後の区切りが落ちる例があり、今回の画像のPDFでは注文番号を取れませんでした。取れなかった値を自動で埋めず、人が元ページを見て入力します。
検証から得た学び
- 読み取り候補と確定値を分け、根拠を見て直せる流れにしました。修正後は確認済みを解除し、保存前の編集がある間は確認・出力を止めます。
- macOS・Tesseract 5系で、文字のPDFの抽出、画像のPDFの日本語OCR、修正・再照合・確認の解除、Excelの日付型・数値型を確認した範囲です。精度や時間短縮・費用の効果は測っていません。
同様の取り組みが向いている条件
- 決まった形式の請求書・納品書について、読み取り候補と元ページを見比べる流れを検討したい場合。
- 取引先・注文番号・予定金額の台帳を用意し、不一致・未照合を人が理由付きで扱う手順を検討できる場合。
- 手元で一時的に操作を試し、認証・共同編集・恒久保存が必要な実運用とは分けて確認できる場合。
補足
架空データで業務の流れを試す公開デモです。実運用・納品の実績や導入効果を示すものではありません。向いている条件はデモの仕組みと利用制限から整理したもので、実案件での適用を確認したものではありません。請求書PDFからCSV候補を作った検証ラボとは別に作ったデモです。
書類照合デモの公開リポジトリを見る(新しいタブで開きます)