タグ: データ入力

  • PDFの見積書・請求書をExcelへ自動転記する前に決めること|OCRの読み間違いを防ぐ設計

    PDFの見積書・請求書をExcelへ自動転記する前に決めること|OCRの読み間違いを防ぐ設計

    メールや共有フォルダに届く見積書・請求書を開き、取引先名、発行日、金額、支払期限、請求書番号をExcelへ入力する。

    1件ずつ見れば短い作業でも、毎月繰り返すと時間がかかります。入力する人によって表記が変わったり、同じPDFを二重に登録したり、金額の桁を間違えたりすることもあります。

    そこで候補になるのが、OCRやAI-OCRでPDFを読み取り、ExcelやGoogleスプレッドシートへ自動転記する仕組みです。

    ただし、OCRが文字を読めたことと、帳票データを正しく登録できたことは同じではありません。

    「請求金額」と「税抜金額」を取り違える。発行日ではなく支払期限を登録する。数字の「0」と英字の「O」を誤認する。同じ請求書をファイル名違いで二重登録する。

    こうした誤りを防ぐには、PDFから項目を抜き出すだけでなく、登録前の検証と人の確認を設計する必要があります。

    この記事では、小規模事業者や少人数チーム向けに、PDFの見積書・請求書をExcelやスプレッドシートへ転記するときの実務設計を整理します。完全自動化を急ぐのではなく、手入力を減らしながら重要な数字を確認できる半自動化が中心です。

    PDFは「見える表」でも、そのまま表データではない

    人が請求書を見ると、どこに取引先名があり、どこが合計金額で、どの日付が支払期限かを文脈から判断できます。

    一方、PDFの中身はさまざまです。

    • 文字情報を持つデジタルPDF
    • 紙をスキャンした画像PDF
    • スマートフォンで撮影した傾いた画像
    • 複数ページに明細が続く請求書
    • 表の罫線がなく、余白で項目を分けた帳票
    • 社名や印影が文字に重なっている帳票
    • パスワードや閲覧制限が付いたPDF

    同じ「請求書PDF」でも、読み取りやすさは違います。

    さらに、取引先ごとに書式も変わります。「合計」「ご請求額」「今回請求金額」「お支払金額」が同じ意味で使われる一方、「小計」「税抜金額」「税込合計」は別の項目です。

    そのため、自動化の最初に決めるべきことは「PDFを読めるか」だけではありません。

    どの項目を取り出すのか。どの候補を正しい値と判断するのか。判断できない場合にどう止めるのか。ここまで決めて初めて、業務で使える転記になります。

    OCR自動転記で起きやすい7つの失敗

    1. 合計金額の種類を取り違える

    請求書には、複数の金額が載っています。

    • 小計
    • 値引き額
    • 消費税
    • 税込合計
    • 今回請求額
    • 前回繰越額
    • 入金済み金額

    単に一番大きな数字を取ると、今回請求額ではない値を登録する可能性があります。

    「請求金額として登録する項目名」を決め、金額の近くにあるラベルとセットで読み取る必要があります。複数候補がある場合は、自動登録せず確認待ちにします。

    2. 発行日と支払期限を逆にする

    帳票には、発行日、納品日、利用期間、支払期限など複数の日付があります。

    OCRが日付を正しく読めても、項目の意味を取り違えれば誤登録です。

    日付は値だけでなく、「発行日」「請求日」「お支払期限」などのラベルと対応させます。抽出結果には元の表記も残し、人がどこから取った日付か確認できるようにします。

    3. 数字と記号を読み間違える

    画像が粗い、文字が小さい、印影が重なると、OCRは似た文字を誤認することがあります。

    • 数字の「0」と英字の「O」
    • 数字の「1」と英字の「I」
    • 数字の「5」と「6」
    • カンマと小数点
    • ハイフンと長音記号
    • マイナス記号の見落とし

    特に請求書番号、登録番号、口座番号、金額は、1文字違うだけでも影響があります。

    OCRの信頼度が低い文字列や、想定形式に合わない値には警告を付けます。

    4. 取引先名と請求先名を逆にする

    請求書には、発行元と請求先の両方が書かれています。

    自社名を取引先名として登録したり、担当者名だけを会社名として認識したりすると、集計や検索が崩れます。

    取引先マスターがある場合は、OCR結果をそのまま保存するのではなく、登録済み名称との候補照合を行います。候補が複数ある場合や一致しない場合は、人が選ぶ形にします。

    5. 明細行が途中で分かれる

    品名が2行に折り返される、数量と単価の位置がずれる、ページをまたぐといった帳票では、明細抽出が難しくなります。

    合計金額だけを管理したい業務なら、最初から明細行まで自動化しない判断も必要です。

    「ヘッダー情報だけ」「合計金額まで」「明細行も含む」のどこまで必要かで、難易度と確認時間は大きく変わります。

    6. 同じ請求書を二重登録する

    同じPDFがメールと共有フォルダの両方に届く。ファイル名を変えて再送される。修正版と旧版が同じ場所に残る。

    ファイル名だけで重複判定すると、このようなケースを防げません。

    請求書番号、取引先、発行日、金額の組み合わせや、ファイル内容から作るハッシュ値を使って、登録済み候補と比較します。修正版の場合は、どちらを正として扱うか確認できる状態にします。

    7. 読めなかった帳票が処理済みになる

    危ないのは、OCRが失敗したことに誰も気づかない状態です。

    必須項目が空欄でも処理済みになる。1ページ目だけ読み、2ページ目を無視する。パスワード付きPDFを開けないまま次へ進む。

    「成功」「要確認」「読取失敗」を分け、要確認と失敗が一覧に残るようにします。すべてを成功扱いにしないことが重要です。

    最初に決めたい転記項目

    自動化を始める前に、Excelやスプレッドシートへ何を登録するかを決めます。一般的な準備項目は、Excel・CSV作業を自動化する前に整理することも参考になります。

    小さく始めるなら、次のような項目が候補です。

    1. 取引先名: 発行元の会社名や事業者名
    2. 帳票種別: 見積書、請求書、納品書など
    3. 帳票番号: 見積番号、請求書番号
    4. 発行日: 帳票が発行された日
    5. 支払期限: 入金や支払いの期限
    6. 税抜金額: 必要な場合のみ
    7. 消費税額: 必要な場合のみ
    8. 請求金額: 実際に管理したい合計
    9. 案件名・摘要: 何の費用かを判断する短い情報
    10. 元ファイル: PDFを確認できる保存先やURL
    11. 確認状態: 未確認、要確認、確認済み、登録済み
    12. 登録日時・確認者: 誰がいつ確定したか

    項目を増やすほど便利に見えますが、読み取りと確認の負担も増えます。

    最初は「毎回必ず手入力している項目」「集計や検索で本当に使う項目」に絞る方が、運用を始めやすくなります。

    自動登録の前に入れたい5つの検証

    OCR結果は、文字列として取り出したあとに機械的な検証を加えられます。

    1. 必須項目の確認

    取引先名、発行日、請求金額など、業務上欠かせない項目が空欄なら登録を止めます。

    空欄をAIに推測させて埋めるのではなく、「値なし」「読取不能」「候補複数」を分ける方が安全です。

    2. 形式の確認

    日付が日付形式になっているか。金額に不要な文字が混ざっていないか。請求書番号が想定桁数か。

    形式に合わない場合は、赤い警告や確認ラベルを付けます。

    3. 計算の確認

    帳票に小計、消費税、合計がある場合は、計算関係が合うかを確認できます。

    ただし、値引き、端数処理、軽減税率、繰越額などがあると単純計算では一致しないことがあります。不一致を即エラーにするのではなく、確認理由として表示します。

    4. マスターとの照合

    OCRで読み取った取引先名を、登録済みの取引先一覧と照合します。

    「株式会社」が付くか、略称か、全角・半角が違うかで別会社として増えないように、候補を提示して人が確定できる形にします。

    5. 重複候補の確認

    請求書番号だけでなく、取引先、発行日、金額、元ファイルの情報を組み合わせて重複候補を探します。

    完全一致だけでなく、「同じ取引先・同じ金額・発行日が近い」といった候補も表示すると、再送や修正版に気づきやすくなります。

    おすすめは「抽出・検証・確認・登録」の4段階

    PDF帳票の転記は、1回の処理でExcelへ書き込むより、4段階に分けると扱いやすくなります。処理を分解する考え方は、AI業務自動化の入力・判断・出力設計でも解説しています。

    1. OCRで項目候補を抽出する

    PDFから、取引先名、日付、番号、金額などの候補を取り出します。

    この時点では確定データにしません。元PDFのどの部分から抽出したか、読み取り信頼度はどうかも残します。

    2. ルールで検証する

    必須項目、日付形式、金額形式、計算関係、取引先マスター、重複候補を確認します。

    問題がなければ「確認候補」、問題があれば「要確認」、開けないPDFや必須項目を読めない場合は「読取失敗」に分けます。

    3. 人が元PDFと並べて確認する

    確認画面では、抽出値だけでなく元PDFを同時に見られることが重要です。

    特に金額、支払期限、取引先、請求書番号は、人が短時間で照合できるようにします。修正した項目は色を変え、何を直したか履歴を残します。

    4. 確認済みだけをExcelへ登録する

    人が確定した帳票だけを、Excel、Googleスプレッドシート、CSV、既存管理ツールへ登録します。

    登録後は、登録先の行番号やデータIDを元ファイルと結び付けます。あとから数字を確認したいときに、元PDFへ戻れる状態にします。

    確認画面は「全部読む画面」にしない

    半自動化の目的は、人の確認をゼロにすることではなく、確認箇所を減らすことです。

    毎回PDF全体を最初から読み直すなら、転記作業が入力作業から確認作業に変わっただけです。

    確認画面では、次のような見せ方が役立ちます。

    • 左に元PDF、右に抽出項目を表示する
    • 金額、日付、取引先、番号を上部にまとめる
    • 信頼度が低い項目だけ黄色や赤で強調する
    • 重複候補がある場合は登録済みデータを並べる
    • 元PDF内の該当箇所を枠で示す
    • 修正、確認済み、対象外を短い操作で切り替える
    • キーボードだけでも次の帳票へ進めるようにする

    「全部を確認してください」ではなく、「この3項目だけ確認してください」と示せると、実務で使いやすくなります。

    クラウドOCRとローカル処理をどう考えるか

    見積書・請求書には、取引先名、担当者名、住所、金額、口座情報、契約内容などが含まれることがあります。

    OCRや生成AIを使う前に、ファイルがどこへ送られ、どこに保存され、ログに何が残るかを確認します。個人情報を含む帳票では、AIへ渡す前のマスキング設計も合わせて検討します。

    クラウドサービスが一律に危険という意味ではありません。利用規約、データ保持、権限、保存先、社内ルールを確認したうえで、扱う帳票に合う方法を選びます。

    外部送信を避けたい帳票では、ローカルOCRや社内環境での処理が候補になります。ただし、ローカルで動かせば自動的に安全になるわけではありません。

    • 処理済みPDFをどこに保存するか
    • 誰が元ファイルと抽出結果を見られるか
    • OCR結果やエラーログをいつ削除するか
    • バックアップに帳票が残るか
    • 端末紛失や共有アカウントへの対策があるか

    ローカル処理でも、保存と権限の設計は必要です。

    既存サービスで始めるか、小型ツールを作るか

    請求書の件数が多い、書式がある程度そろっている、会計や経費管理まで一体で使いたい場合は、既存の請求書処理サービスや会計サービスの機能が合うことがあります。

    一方、次のような場合は小型ツールや個別連携を検討できます。切り替え時期の判断は、スプレッドシート管理の限界サインも参考になります。

    • 登録先が独自のExcelやスプレッドシートで決まっている
    • 請求書だけでなく見積書や納品書も同じ流れで管理したい
    • 取引先ごとの独自ルールがある
    • 抽出後に社内独自の確認項目を付けたい
    • 元PDFと管理表の行を結び付けたい
    • 機密性のためローカル処理を検討したい
    • 既存システムへ登録する前の確認画面だけ欲しい

    ただし、件数が月に数件で、書式も毎回違うなら、仕組みを作る方が負担になる場合があります。

    件数、1件あたりの入力時間、ミスの影響、帳票の種類、確認に使える人員を見て判断します。

    小さく試すなら1種類・5項目から始める

    最初から、すべての取引先、すべての帳票、すべての明細を対象にする必要はありません。

    たとえば、次の範囲で試します。

    • 対象帳票: 請求書だけ
    • 対象取引先: 書式が安定している3社
    • 抽出項目: 取引先、請求書番号、発行日、支払期限、請求金額
    • 登録先: 検証用のGoogleスプレッドシート
    • 運用: 人が全件確認してから登録

    1か月ほど使うと、どの帳票で誤読が多いか、どの項目に確認時間がかかるか、どんな例外があるかが見えてきます。

    その結果を見て、取引先を増やす、明細を追加する、自動登録の条件を広げる、通知を追加するといった順番で拡張します。

    導入前に整理したいチェックリスト

    • 月に何件のPDF帳票を転記しているか
    • 1件あたり何分かかっているか
    • 見積書、請求書、納品書のどれを対象にするか
    • 取引先ごとに書式がどの程度違うか
    • 必ず登録したい項目は何か
    • 金額や日付の誤りが起きたときの影響は大きいか
    • 元PDFはどこに保存されているか
    • 重複を判断できる番号や項目があるか
    • 誰が最終確認するか
    • クラウドへ送れない情報が含まれるか
    • 登録先はExcel、スプレッドシート、会計サービス、独自ツールのどれか
    • 読取失敗や要確認を誰へ通知するか

    この情報がそろうと、既存サービスで足りるか、小型ツールが必要か、ローカル処理を検討すべきかを判断しやすくなります。読取失敗の通知や再処理を決める際は、AI業務自動化のエラー対応設計も確認してください。

    OCR自動化は「入力ゼロ」より「確認しやすい状態」を目指す

    PDF帳票の自動転記では、完全に人を外すことが目標になりがちです。

    しかし、金額や期限を扱う業務では、100件を手入力する状態から、警告が付いた10件だけ確認する状態へ変えるだけでも効果があります。

    大切なのは、OCRの結果を信じることではありません。

    元PDFと抽出値を比べやすくする。機械的に確認できる項目はルールで検証する。判断できない帳票は止める。確認済みだけを登録する。あとから元ファイルへ戻れるようにする。

    この流れを作ることで、入力時間を減らしながら、誤登録にも気づきやすくなります。

    YOSHIO.devで相談できること

    YOSHIO.devでは、業務自動化、小型ツール開発、必要に応じたローカル環境の構築について相談できます。現在のExcel・スプレッドシート運用、帳票の種類、月間件数、確認ルールを見ながら、既存サービスの利用、小型ツール、ローカル処理を含めた小さな始め方を整理します。

    よくある質問

    請求書PDFはOCRだけで完全に自動登録できますか?

    書式がそろい、必要項目が明確で、誤読時の検証ルールがある場合は自動化できる範囲が広がります。ただし、取引先ごとに書式が違う、印影が重なる、複数の合計金額がある場合は誤認が起きます。最初はOCRで候補を抽出し、人が確認してから登録する半自動化がおすすめです。

    手書きやスマートフォンで撮影した請求書も読み取れますか?

    読み取れる場合はありますが、印字されたデジタルPDFより精度が安定しにくくなります。傾き、影、折れ、低解像度、手書き文字は誤読の原因です。対象帳票の実物で試し、読めない場合を要確認へ回す運用を先に決めてください。

    月に何件くらいあれば自動化を検討すべきですか?

    件数だけでなく、1件あたりの入力時間、書式の種類、ミスの影響、確認にかかる時間で判断します。月10件でも1件の入力項目が多く、誤入力の影響が大きければ検討価値があります。反対に件数が多くても書式が毎回大きく違う場合は、先に対象を絞る必要があります。

    クラウドOCRへ請求書を送っても大丈夫ですか?

    帳票に含まれる情報、利用サービスの規約、データ保持、保存先、権限、社内ルールを確認して判断します。外部送信を避けたい場合はローカルOCRや社内環境での処理が候補ですが、ローカルでも保存先、閲覧権限、ログ、バックアップの設計は必要です。

    ExcelマクロとWebの小型ツールはどちらが向いていますか?

    1人が決まったPCで使い、帳票の種類も少ないならExcel中心で始めやすい場合があります。複数人で確認する、元PDFを共有する、確認履歴を残す、通知や権限が必要ならWebの小型ツールが向きます。現在の運用と必要な管理範囲から選ぶことが重要です。