生成AIとPythonを活用した請求書PDFの資産化:適正な見積相場データベースの構築
はじめに
こんにちは、小滝建設工業 IT事業部です。
本記事では、生成AIを活用して「過去の価格相場と原本データを正確に紐付け、見積もり精度を安定させる」データベースを内製しているプロセスをご紹介します。
建設業界において、過去の見積・請求データは貴重な資産ですが、共有フォルダの奥底にPDFとして眠りがちです。
当社が本システムを構築した最大の理由は、「見積業務の効率化と標準化」です。
これまでは過去の単価を確認する際、担当者の経験則に加え、膨大なPDFファイルの中から該当する書類を一つ一つ探し出して参照する手間がかかっていました。
本システムは、こうしたデータ検索にかかる時間を大幅に削減し、誰もが瞬時に過去の実績データへアクセスできる環境を目指して構築しています。
請求書データ活用を阻む3つの壁
当社のデータ活用において、以下の壁が存在していました。
- 品名の激しい「表記揺れ」:取引先ごとに「資材A」「アイテムコードX」など記載の仕方が異なり、価格の比較が困難。
- 費目分類の複雑さ:テキスト情報から「購入資材」か「リース」かを正確に判別する必要性。
- 正確な原本参照の難しさ:集計された単価の裏付けとなる、元データのPDFファイルを確実に特定して参照する手間の解消。
これらを一気通貫で処理すべく、プログラミング言語のPython*1と生成AI(Gemini)を組み合わせたシステムの開発を行っています。
*1: データ分析やAI開発に広く使われ、業務効率化・自動化にも適したプログラミング言語
システムの処理手順
バラバラな形式のPDFから最終的なデータベースを構築するまで、システムは以下の5つのステップで処理を行っています。
- Geminiによる高精度なデータ抽出(第1段階のAI処理)
取引先ごとにレイアウトが異なる請求書PDFを、生成AIに直接読み込ませます。AIが「取引先名」「明細(品名・数量・単価・小計)」、そして「対象の原本ファイル名」を自動で見つけ出し、プログラムが処理しやすい構造化データ(JSON形式*2)として綺麗に抽出・保存します。 - データのダイレクト統合
Python(データ集計ツール:Pandas)を用いて、出力されたすべての抽出データを一括で読み込みます。この段階で、明細行と原本ファイル名がダイレクトに紐づけられます。 - AIによる自動分類(第2段階のAI処理)
抽出された「元の品名」と「規格・仕様」を再びGeminiに渡し、品名をパーツ分解(基本品名、サイズ、型番など)させます。これにより表記揺れを統一した上で、あらかじめ定義した大分類に自動で仕分けます。 - プログラムによる自動補正(データクレンジング)
AIによる処理の後、プログラム(Python)を用いてデータの整合性チェックや最終的な自動補正(分類の確定や、欠損している数値の計算など)を行い、データベースとして正確に扱える形に整えます。 - 価格相場の算出と原本の結合
統一した「品名」と「規格・型番」ごとに、過去の最安単価・最高単価・平均相場単価を算出。さらに、最安値・最高値を記録した「実際の原本ファイル名」を明細データへと最終結合し、CSV(データベース)として出力します。
*2: プログラムでデータを扱うための、軽量で汎用的なデータ形式
出力データとダッシュボードによる実務運用
以下は、出力データの構成イメージです。品名や規格が整理され、価格相場とともに参照すべき原本ファイル名が正確に紐づいて出力されます。

集計データは視覚的なダッシュボードツール「データポータル」*3と連携し、誰もが直感的に検索・閲覧できる画面を構築しています。
担当者は画面上で価格相場を比較しながら、その根拠となる原本ファイルをいつでも正確に特定・確認できるようになります。

また、検索したデータをそのままコピーして実務作業に使いたいという現場の強いニーズに応え、ダッシュボードだけでなく、作業性の高いスプレッドシートでの直接操作も併用できる運用を想定しています。
*3: データを視覚的にわかりやすいグラフや表(ダッシュボード)にまとめることができるツール
開発の裏側:実務データと実装の壁
実務データを取り扱う上で、いくつかの壁に直面し、泥臭い工夫を凝らしました。
① AIの「推論」とプログラムの「ルール」
AIが文脈を深読みして誤分類するケースに対し、「特定のキーワードがあれば無条件で指定の分類にする」というルールをコード側に実装。AIの柔軟性とプログラムの確実性を組み合わせました。
② 「単価」が空欄になっている問題への対処
特定の契約表記などで単価が空欄(または0円)の場合、システム側で「小計金額 ÷ 数量」を自動計算して単価を補完するロジックを実装し、正確な比較ができるようデータを修正しました。
※数量の記載漏れ等で発生する「異常に高い単価」は、統計処理を用いて相場計算から自動除外する仕組みも取り入れています。
③ 生成AI利用におけるセキュリティと情報漏洩対策
見積書や請求書といった社外秘の機密データを外部のAIに渡すにあたり、情報漏洩やAIモデルへの「再学習リスク」の防止は必須要件でした。
この対策として、本システムでは一般向けのAIチャットサービスではなく、開発者向けの「Gemini API」を経由して通信を行う設計にしています。API契約に基づき、送信したデータがGoogle側のAIモデルの学習に二次利用されない(外部に流出・蓄積されない)仕様となっているため、企業の機密性を担保した状態での安全なデータ処理基盤を構築しています。
まとめ:適正価格の調達と業務効率化に向けて
誰もが正確な実績単価と「その根拠となる原本」を参照し、担当者による見積もり精度のバラつきを防ぐことを目指して、現在システムの構築を進めています。
原本に基づいた正確な単価計算ができるため、見積作成のスピード向上と、適正価格での調達が期待されます。
今後はデータ取り込み処理をさらに洗練させ、社内DXの基盤として活用の幅を広げていく予定です。
IT事業部では、これからもこうした「現場の困りごと」をテクノロジーで解決する取り組みを発信していきます。
「うちの業務もデジタル化できるかも?」と思ったら、ぜひお気軽にご相談ください!