Media > AI活用ユースケース > 営業 > リフォーム会社の担当が手書きする現地調査シートを読み取り、部屋・寸法・既存の設備・劣化の状況を見積の入力項目にそろえて、測り漏れを現場にいるうちに拾う

リフォーム会社の担当が手書きする現地調査シートを読み取り、部屋・寸法・既存の設備・劣化の状況を見積の入力項目にそろえて、測り漏れを現場にいるうちに拾う

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

リフォームの現地調査で手書きした調査シートをスマートフォンで撮って送ると、部屋ごとの寸法・既存の設備・劣化の状況を見積の入力項目にそろえます。測り漏れと読めない寸法は、担当が施主の家にいるうちに返します。

サマリー
生成AI
ChatGPT/Claude
AIサービス
Azure AI/Google Document AI
連携・自動化
Google Apps Script/Python
対象業界
不動産/建設
対象部門
営業
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/属人化している/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
100h/月
AI導入後
32h/月
想定削減
68%
年間削減
816h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 営業が施主の家で部屋ごとに寸法を測り、調査シートに手書きする。設備と劣化の箇所をスマートフォンで撮る
  2. 事務所に戻り、調査シートを見ながら見積のシステムの入力項目に打ち込む
  3. 打ち込みの途中で、測っていない寸法や読めない数字に気づく
  4. 施主に電話して測ってもらうか、もう一度訪ねる日を決める
  5. 既存の設備の品番を、写真とシートで見比べて確かめる
  6. 見積の担当が入力内容とシートを見比べ、商品と工事の明細を組む
導入後(After)
  1. 人営業が施主の家で調査シートを書き終えたら、シートを1枚ずつ社用スマートフォンで撮り、案件ごとの共有ドライブのフォルダに保存する
  2. 自動Google Apps Script が5分おきにフォルダを確かめ、新しい写真を取り出す
  3. 自動Google Document AI の Enterprise Document OCR が、文字と位置、チェック欄の状態、写真の画質の点数を返す
  4. 自動画質の点数が低い写真は、その場で営業に撮り直しを頼むメールを送る
  5. 自動Claude API が、読み取り結果と写真を見て、部屋ごとの寸法・既存の設備・劣化の状況を見積の入力項目に、書かれたとおりに写す
  6. 自動Apps Script が、部屋の種類ごとの必須の寸法の表と照らして測り漏れを拾い、寸法の桁が範囲から外れていないかを確かめ、営業にメールで返す
  7. 人営業が、施主の家にいるうちに測り漏れを測り、シートに書き足して撮り直す
  8. 人見積の担当が、「見積入力待ち」のシートを確かめ、見積のシステムに取り込む
各工程の詳しい説明を読む
  1. 営業が施主の家で部屋ごとに寸法を測り、調査シートに手書きする。設備と劣化の箇所をスマートフォンで撮る
  2. 事務所に戻り、調査シートを見ながら見積のシステムの入力項目に打ち込む
  3. 打ち込みの途中で、測っていない寸法や読めない数字に気づく
  4. 施主に電話して測ってもらうか、もう一度訪ねる日を決める
  5. 既存の設備の品番を、写真とシートで見比べて確かめる
  6. 見積の担当が入力内容とシートを見比べ、商品と工事の明細を組む

(a)打ち込みが多い。 1件に部屋が2〜3か所あり、部屋ごとに寸法が5〜10項目あります。営業は夕方に事務所に戻ってから打ち込むので、調査が重なった日は夜までかかります。

(b)測り漏れに気づくのが帰った後。 3番目で気づいた測り漏れは、施主に電話で頼むか、もう一度訪ねるしかありません。 施主に測ってもらった寸法は測り方がそろわず、工事の当日に合わないことがあります。

(c)単位と桁の取り違え。 「160」がcmなのかmmの誤記なのか、書いた本人でないと分からない数字があります。 見積の担当が読み違えると、入らない大きさの浴槽で見積が出ます。

(d)読み解きが人についている。 見取り図の中に書き込まれた寸法は、どの壁の長さかを書いた本人に聞かないと分かりません。 担当が休むと見積が止まります。

  1. 【人】 営業が施主の家で調査シートを書き終えたら、シートを1枚ずつ社用スマートフォンで撮り、案件ごとの共有ドライブのフォルダに保存する
  2. 【自動】 Google Apps Script が5分おきにフォルダを確かめ、新しい写真を取り出す
  3. 【自動】 Google Document AI の Enterprise Document OCR が、文字と位置、チェック欄の状態、写真の画質の点数を返す
  4. 【自動】 画質の点数が低い写真は、その場で営業に撮り直しを頼むメールを送る
  5. 【自動】 Claude API が、読み取り結果と写真を見て、部屋ごとの寸法・既存の設備・劣化の状況を見積の入力項目に、書かれたとおりに写す
  6. 【自動】 Apps Script が、部屋の種類ごとの必須の寸法の表と照らして測り漏れを拾い、寸法の桁が範囲から外れていないかを確かめ、営業にメールで返す
  7. 【人】 営業が、施主の家にいるうちに測り漏れを測り、シートに書き足して撮り直す
  8. 【人】 見積の担当が、「見積入力待ち」のシートを確かめ、見積のシステムに取り込む

4番目と6番目が、この設計の分かれ目です。 どちらも営業が施主の家にいる間に返すことに意味があり、事務所に戻ってから返しても今と変わりません。調査の最後の10分で、撮って送り、返事を待つ運用にします。

見積のシステムへの取り込みは、人が行います。 読み取った寸法がそのまま見積になる経路は作りません。

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

構成図
現地調査シート(手書き、部屋ごとに1枚)
   │  営業が社用スマートフォンで撮り、案件のフォルダへ
   ▼【トリガー】Apps Script の時間主導型トリガー(5分おき)
Google Apps Script ── 新しい写真を取り出す
   ▼
Google Document AI(Enterprise Document OCR)
   │   文字と位置、チェック欄、画質の点数
   ├──▶ 点数が低い → 営業に撮り直しを頼むメール
   ▼
Claude API ── 部屋ごとの寸法・設備・劣化の状況を、書かれたとおりに写す
   ▼
Google Apps Script ── 必須の寸法との照合/桁の範囲の確認
   ├──▶ 測り漏れ・読めない寸法 → 営業にメール
   ▼
「見積入力待ち」シート
   ▼
【見積の担当が確かめて、見積のシステムに取り込む(人の操作)】
役割想定する製品代替候補
OCRGoogle Document AI(Enterprise Document OCR)Azure AI Document Intelligence
生成AIClaude API(読み取り結果と写真を見て、見積の入力項目に写す)OpenAI API
連携Google Apps Script(フォルダの確認、各APIの呼び出し、メールとシートへの書き込み)Python
差異計算Google Apps Script(必須の寸法との照合、桁の範囲の確認)Python
保管Google ドライブ(シートの写真と読み取り結果)社内のファイルサーバー

新しく足すのは、部屋の種類ごとの必須の寸法の表です。 見積の担当が頭の中で持っている「浴室ならこの5つが無いと商品を選べない」を、部屋の種類・寸法の名前・必須かどうか・ふつうの範囲(mm)の4列で1枚のシートにまとめます。

土台は Document AI の Enterprise Document OCR です。 公式のプロセッサ一覧では、手書きを含む文字を200を超える言語で取り出し、読みやすさにもとづいて文書の品質を評価するとされ、言語の一覧で日本語(ja)は手書きに対応する言語として示されています。

この題材で効くのは、画質の点数です。 公式のページでは、画質の分析は0から1の点数で返り、0.5を下回るときは、ぶれ(blurry)、暗さ(dark)、光の反射(glare)、文字の小ささ、切れなど8種類の理由が添えられるとされています。暗い浴室で撮った写真を、読み取る前に撮り直しへ回すのに使います。

チェック欄は、追加の機能で読みます。 公式のページでは、OCRの追加機能のチェックボックスの抽出を有効にすると、visualElements に filled_checkbox か unfilled_checkbox として返るとされています。劣化の状況(ひび・カビ・腐食・水漏れ・きしみ)は、この値で決めます。

処理する場所は、リージョンの一覧から選びます。 マルチリージョンの us と eu、シンガポール(asia-southeast1)などがあり、日本のリージョンはありません。 調査シートと写真には施主の住まいの様子が写るので、国外で処理してよいかを導入前に確かめます(第13章)。

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

Step1

処理の起点を決める

Apps Script の時間主導型トリガーで、5分おきに案件のフォルダを確かめます。 公式のページでは、時間主導型のトリガーは毎分から月1回までの間隔で設定でき、実行の時刻はわずかにずれることがあるとされています。

5分おきにするのは、営業が施主の家にいる間に返事を返すためです。 撮って送ってから返事が届くまでが10分を超えると、営業は返事を待たずに次の現場へ向かいます。 調査の最後に撮って、片づけをしている間に返事が届く間隔にします。

処理が終わった写真には「処理済み」の印を付けます。 印を付けるのはシートへの書き込みが終わったときだけで、印の無い写真の数が、そのまま未処理の数になります。

Step2

入力データを集める

データ中身取得元
調査シートの写真部屋ごとのシートの写真、撮った営業、案件番号案件ごとの共有ドライブのフォルダ
読み取り結果文字と位置、チェック欄の状態、画質の点数と理由Google Document AI
必須の寸法の表部屋の種類、寸法の名前、必須かどうか、ふつうの範囲(mm)新しくまとめるシート
案件の情報案件番号、施主、建物の種類(戸建て・マンション)、調査する部屋案件の一覧のシート
営業の連絡先営業ごとのメールアドレス担当者の一覧

質を決めるのは、必須の寸法の表です。 何が抜けたら商品を選べないかは、見積の担当の経験の中にしかありません。 表にしておけば、新しく入った営業も同じ基準で測れます。

案件の情報の「調査する部屋」は、部屋のシートの撮り忘れを拾うのに使います。 浴室と洗面を調べる案件で、浴室のシートしか届いていなければ、洗面のシートの撮り忘れとして返します。

Step3

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

Apps Script は、新しい写真を Enterprise Document OCR のプロセッサに送ります。オンラインの処理は1回の要求で最大15ページなので、部屋のシートを1枚ずつ送ります。

要求には、2つの設定を付けます。 画質の点数は processOptions.ocrConfig.enableImageQualityScores を、チェック欄の抽出は ocrConfig.premiumFeatures.enableSelectionMarkDetection を有効にします。公式のページでは、画質の分析はOCRの処理と同じくらいの待ち時間が加わるとされています。

取るものどこから何に使うか
画質の点数と理由各ページの imageQualityScores撮り直しを頼むかどうか
文字と位置応答の text と、各ページの lines・tokens の layout寸法、品番、メモの文字と、シートの上の位置
信頼度各要素の layout の confidence読めた数字と、かすれた数字の区別
チェック欄各ページの visualElements(filled_checkbox/unfilled_checkbox)劣化の状況

Enterprise Document OCR は、キーと値の組を返しません。 「間口」という欄の文字と、その右に書かれた「1600」は、別々の文字として位置付きで返ります。 どの数字がどの欄のものかを位置から決めるのが、次の生成AIの仕事です。

写真はJPEGで撮ります。 Document AI の対応形式は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などで、Claude API の画像は JPEG、PNG、GIF、WebP です。どちらの一覧にも HEIC は無いので、社用スマートフォンのカメラの保存形式をJPEGにしておきます。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … JPEG以外の写真は、変換するか撮り直しを頼みます
  2. 画質の確認 … 画質の点数が0.5を下回り、ぶれ・暗さ・反射・切れが理由に挙がっていれば、読み取りを止めて撮り直しを頼みます
  3. 大きさの確認 … Claude API に渡す写真は、1枚8000×8000ピクセル以下、APIを直接使うとき1枚10MB(base64エンコード後)以下に縮めます
  4. 部屋の種類の決定 … シートの上部の部屋の種類(浴室・キッチンなど)を読み取り結果から決め、必須の寸法の表のどの行を使うかを決めます
  5. 撮り忘れの確認 … 案件の「調査する部屋」と、届いたシートの部屋の種類を比べます

2番目を先に行うのは、読めない写真を読み取りに回すと、測り漏れと区別がつかなくなるからです。 「天井高」の欄が読めなかったのか、測っていないのかで、営業にしてもらうことが撮り直しか測り直しかに分かれます。 公式のページでも、画質の分析はスキャンや撮影した文書で最もよく使えるとされています。

Step5

AIに処理させる

させるのは、読み取り結果と写真を見て、部屋ごとの寸法・既存の設備・劣化の状況を見積の入力項目に書かれたとおりに写すことです。 測り漏れの判定も、桁の範囲の確認も、Apps Script の規則で行います。

させること中身判断できないときの扱い
部屋の種類と案件番号シートの上部の文字読めなければ unreadable
寸法の写し欄ごとの数字と、書かれていれば単位欄が空なら blank、読めなければ unreadable
見取り図の中の寸法見取り図に書き込まれた数字と、どの辺の長さかどの辺か決められなければ position_unknown
既存の設備メーカー、品番、設置年を書かれたとおりに読めない字があれば unreadable
劣化の状況チェック欄の状態と、近くに書かれたメモチェックが判断できなければ unclear
メモ施主の要望や、気づいたことの書き込みそのまま写す

3行目が、AIを使う理由です。 見取り図の中に書き込まれた「1650」が、浴室の間口か奥行かは、図の線と数字の位置関係を見ないと分かりません。 読み取り結果の位置だけでは決めにくいので、写真もあわせて渡し、どの辺に沿って書かれているかを見させます。

させないこと理由
単位を補う、mmとcmを換算する「160」をcmと決めるかmmの誤記と決めるかで、商品が変わる
空の寸法を他の寸法や見取り図から推す測っていない寸法は測るしかない
品番を似た品番に直す、型番から設置年を推す既存の設備の撤去と取り合いが変わる
工事ができるかどうかを判断する判断は営業と見積の担当が行う
劣化の程度を評価するチェックの写しだけ。程度は営業が見て書く

1行目が、この題材でいちばん起きやすい失敗です。 「160」を、他の寸法がmmで書かれているからと1600に直すと、たいていは合っています。 ただ、外れたときは入らない大きさの商品で見積が出ます。単位は書かれていなければ空にし、Apps Script がふつうの範囲と照らして、外れたものを営業に聞きます。

Step6

指示内容を固定する

あなたはリフォーム会社の見積の担当で、営業が手書きした
現地調査シートの読み取り結果と写真を見て、見積の入力項目に写す立場です。
読み取り結果と写真に書かれていることだけを写してください。

【写す項目】
room_type(浴室/キッチン/トイレ/洗面/居室)、case_no
dimensions:name(欄の名前。書かれたとおり)、value_text(数字)、
unit_text(書かれていれば単位)、source(field/drawing)、
edge(見取り図の中の数字なら、どの辺の長さか)
equipment:maker、model_text、installed_year_text
deterioration:item(ひび/カビ/腐食/水漏れ/きしみ)、
state(checked/unchecked/unclear)、note
memo

【厳守事項】
- 数字は書かれたとおりの文字列で写してください。
  単位が書かれていなければ unit_text を空にしてください。
  mmとcmを換算しないでください。桁を足したり削ったりしないでください。
- 欄が空なら value_text を空にし、status を blank にしてください。
  他の寸法や見取り図から推して埋めないでください。
- 読めない桁があれば status を unreadable にしてください。
- 見取り図の中の数字は、写真で図の線を見て、どの辺に沿って
  書かれているかを edge に書いてください。決められなければ
  position_unknown を true にしてください。
- 品番は書かれたとおりに写してください。似た品番に直さないでください。
- 工事ができるか、劣化がどの程度かは書かないでください。
- 調査シートでない写真と判断した場合は、document_type に種類を書いてください。

【読み取り結果】{ocr_result}
【調査シートの写真】(画像として添付)

必須の寸法の表をAIに渡していないことが、このプロンプトのいちばんの工夫です。 表を見せると、「浴室には出入口の幅が要る」と知ったAIが、見取り図のどこかの数字を出入口の幅として写してしまいます。 測り漏れを見つけたいのに、埋められて見えなくなります。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Claude API の構造化出力(リクエストの output_config.format に type: "json_schema" とスキーマを渡す方式)を使い、形を固定します。

{
  "document_type": "site_survey",
  "room_type": "浴室",
  "case_no": "",
  "dimensions": [
    { "name": "", "value_text": "", "unit_text": "",
      "source": "field | drawing", "edge": "",
      "position_unknown": false, "status": "read | blank | unreadable" }
  ],
  "equipment": [
    { "maker": "", "model_text": "", "installed_year_text": "",
      "status": "read | unreadable" }
  ],
  "deterioration": [
    { "item": "ひび | カビ | 腐食 | 水漏れ | きしみ",
      "state": "checked | unchecked | unclear", "note": "" }
  ],
  "memo": ""
}

1つ目の理由は、必須の寸法の表と機械的に照らせることです。 Apps Script は room_type で表の行を選び、dimensions の name を寸法の名前の読み替えで引き当て、必須なのに無い寸法、blank、unreadable を測り漏れとして返します。

2つ目は、営業に返す理由を規則で持てることです。

条件印
必須の寸法が無い、または blankmissing_dim
寸法が unreadable、または見取り図の数字で position_unknownunreadable_dim
単位が空で、数字がふつうの範囲(mm)から外れるunit_check
案件の「調査する部屋」のシートが届いていないroom_missing
既存の設備の品番が unreadableequipment_check
劣化のチェックが unclear、または document_type が調査シートでないcheck_image

missing_dim と room_missing は、まとめて1通のメールで営業に返します。 測り漏れが3つあれば3つを並べ、施主の家にいる間に1回で測り直せるようにします。

Claude の構造化出力のスキーマには、数値の最小値・最大値の制約が使えません。 公式のページでは、minimum・maximum などの数値の制約は対応していないとされています。ふつうの範囲は、スキーマではなく Apps Script の照合で確かめます。 拒否は stop_reason が refusal、出力の上限で切れたときは max_tokens になり、スキーマに合わないことがあるとされています。どちらのときもシートに書かず、check_image で人に回すか呼び直します。

Step8

システムへ連携する

つなぎ先方式内容
案件ごとの共有ドライブのフォルダApps Script新しい写真を取り出し、処理済みの印を付ける
Google Document AIREST API の呼び出し文字と位置、チェック欄、画質の点数を返す
Claude APIMessages API の呼び出し見積の入力項目への写し
必須の寸法の表・案件の一覧スプレッドシートの読み取り測り漏れと撮り忘れの照合
営業へのメールApps Script からの送信撮り直しと測り漏れの知らせ
見積入力待ちのシート書き込み部屋ごとの寸法・設備・劣化の状況と、写真のリンク

見積のシステムには、この構成から書き込みません。 取り込むのは見積の担当で、取り込む前に、印の残っていないことを確かめます。 読み取りの誤りが、そのまま見積の寸法になることはありません。

施主への連絡も、この構成からは送りません。 メールが届くのは社内の営業だけです。

Step9

人が確認する

営業が見るのは、現場で届くメールだけです。 撮り直しと測り漏れを、その場で片づけます。

  1. 撮り直しのメールが来たら … 明るい場所でシートを撮り直します
  2. missing_dim と room_missing が来たら … 施主に断ってもう一度測り、シートに書き足して撮り直します
  3. unit_check と unreadable_dim が来たら … 単位と数字をシートに書き直して撮り直します

見積の担当が見るのは、見積入力待ちのシートです。

  1. 寸法と単位を流し見る … 印が消えているか、見取り図の数字の辺が合っているかを写真で確かめます
  2. 既存の設備を写真と見比べる … equipment_check が残っていれば、設備の写真で品番を確かめます
  3. 見積のシステムに取り込む … 取り込んだ日時と担当を残します

目標は、240件をならして1件8分です。 営業が現場で返事を確かめる時間と、見積の担当の流し見を合わせた値です。

Step10

例外に対処する

起きること対応
暗い場所で撮って画質が低い点数と理由を添えて撮り直しを頼む。読み取りに進めない
見取り図の数字がどの辺か決まらないposition_unknown。営業にシートへの書き直しを頼む
単位が書かれず、範囲から外れるunit_check。換算せずに営業に聞く
HEIC の写真が届く対応形式でない。カメラの設定をJPEGにしてもらう
1枚の写真に2枚のシートが写る部屋ごとに1枚ずつ撮り直しを頼む
営業が圏外で返事が届かない事務所に戻った後に同じメールを見る。見積入力待ちには印を残す
AIが拒否の応答を返すcheck_image で人に回す。シートには書かない
OCR・AIが応答しない処理済みの印を付けずに残す。次の実行で拾い直す

上の3行が大半を占めます。 どれもAIの問題ではなく、撮り方とシートの書き方の問題です。見取り図の中に寸法を書く癖のある営業には、寸法の欄にも書き写してもらうほうが早く直ります。

Step11

記録を残す

  • 元の写真と、撮った営業・案件番号・撮った日時
  • OCRが返したJSONの全文(画質の点数と理由を含む)と、Claude API の応答の全文
  • 照合に使った必須の寸法の表の版
  • 付いた印と、営業に送ったメール、撮り直しや測り直しが届いた日時
  • 見積の担当が取り込んだ日時と、取り込む前に直した箇所
  • 営業ごとの missing_dim と撮り直しの件数

最後の行は、営業の教育の材料になります。 特定の営業だけ同じ寸法を測り漏らすなら、その寸法がなぜ要るかを見積の担当から伝えるほうが、表を見せるより効きます。

04実装レベルの3段階

最小構成:シートの写真を手でAIの画面に貼り、項目を写させる / 1枚ごとの読み取り
半自動化:上記+OCRのAPIを呼び、写した値を見積入力待ちのシートに書き出す / 読み取りとシートへの書き出し
本格構成:上記+フォルダの確認を自動で回し、画質の確認・必須の寸法との照合・撮り忘れの確認をして、営業に現場で返す / 調査の記録の全体と、現場への差し戻し

半自動化で、1件25分が15分程度になります。 打ち込みは無くなりますが、測り漏れに気づくのが事務所に戻った後なのは変わらず、問い合わせの時間が残ります。 本格構成で8分になり、この段階が本記事の想定です。 差が大きいのは、測り漏れが現場で片づき、事務所での問い合わせがほとんど無くなるためです。 段階を飛ばさないでください。 半自動化のシートを1か月見ると、測り漏れの多い寸法と、見取り図に書き込む癖のある営業が分かります。必須の寸法の表は、そこから育てます。

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

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

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

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

AI活用について相談する

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

向いている
  1. 浴室・キッチン・トイレ・洗面などの水まわりや内装のリフォームを請け負う会社で、営業や現場調査の担当が紙の現地調査シートに寸法と既存の設備を手書きし、事務所に戻ってから見積の入力項目に打ち込んでいる場合。測り漏れに気づくのが事務所に戻った後で、もう一度訪ねたり施主に電話で聞いたりしていることがある場合。調査シートの書き方が担当ごとにまちまちで、見積の担当が読み解くのに時間がかかっている場合。
向いていない
  1. 現地調査をすでにタブレットの入力アプリで行っていて、手書きのシートがほとんど無い場合。調査が月に数件で、担当が自分で打ち込んで足りる場合。施主の住所や住まいの写真を国外のリージョンで処理することを、自社の決まりや施主との約束で認めていない場合。なお、工事ができるかどうか、どの商品を勧めるか、見積の金額の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の調査シートから30件を選ぶ(測り漏れで電話や再訪問になった件、見取り図に寸法を書き込んだ件を必ず入れる)
  2. その30件について、当時の見積の入力内容と、後から測り直した寸法を用意する
  3. シートの写真を手元のAIサービスの画面に1枚ずつ貼り付ける
  4. 「この現地調査シートの部屋の種類、寸法(欄の名前、数字、単位)、既存の設備のメーカーと品番、劣化のチェックを、書かれたとおりに写してください。単位が書かれていなければ空にし、mmとcmを換算しないでください。空の欄は空のままにしてください」と指示する
  5. 写された値を、当時の入力内容と比べ、電話や再訪問で測り直した寸法が「空」として出ているかを見る
出てきた内容判断
当時と同じ値が写せ、測り直した寸法が空として出たOCRと Apps Script の連携に進む
単位を補った、空の寸法を推して埋めた指示の書き方で直る。構成は有効
見取り図の数字の辺が決まらない書き方の癖を見る。直らない書き方は営業に寸法の欄への書き写しを頼む
読めない数字が多い撮り方が先。 明るい場所で撮り直して比べる

1行目の後半が、この構成の価値を確かめるところです。 事務所で気づいた測り漏れが「空」として出れば、現場で返していれば電話も再訪問も要らなかったことになります。

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

問題対策
単位を補い、mmとcmを換算する単位は書かれたとおり、無ければ空。 範囲の照合は Apps Script で
空の寸法を見取り図の数字で埋める必須の寸法の表をAIに見せない
読めない写真が測り漏れとして返る画質の点数で先に撮り直しへ回す
返事が事務所に戻った後に届く5分おきに回し、調査の最後に撮る運用にする
見取り図の数字の辺を取り違える写真もあわせて渡し、決められなければ position_unknown
HEIC の写真で止まるカメラの保存形式をJPEGにする
キーと値の組が無く、欄と数字が結び付かないEnterprise Document OCR は位置付きの文字を返す。結び付けは生成AIに任せる
国外での処理を確かめていない日本のリージョンが無い。自社の決まりを先に確かめる

上の3行が、この構成の失敗のほとんどです。 どれも、測っていない寸法が測ったように見えてしまうという同じ型の失敗です。

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

この構成で扱うデータ: 施主の氏名と住所(案件の情報)、住まいの間取りと寸法、既存の設備、劣化の状況、シートの写真です。写真には、シートの背景に住まいの中が写り込むことがあります。

  1. 国外で処理することを確かめる … Document AI のリージョンの一覧に日本はありません。自社の決まりと施主との約束で、写真を国外のリージョンで処理してよいかを確かめます。認められない場合は、日本のリージョンで処理できる製品を検討します
  2. 写真の写り込みを減らす … シートは机や床に置いて真上から撮り、家族や室内の様子が写らないようにします
  3. 生成AIに渡す範囲を絞る … 渡すのはシートの読み取り結果と写真だけです。施主の氏名や住所は渡さず、案件番号で結び付けます
  4. 見積を自動で作らない … 見積のシステムへの取り込みは、見積の担当の操作だけです
  5. 工事ができるかを機械に決めさせない … 写すのは書かれたことだけで、判断は営業と見積の担当が行います
  6. APIキーをスクリプトに書き込まない … スクリプトのプロパティに置き、編集できる人を絞ります

誤りが起きた場合のリスクは、誤った寸法で商品を選ぶことと、施主の住まいの写真が想定外の範囲に広がることの2つです。 単位を換算させないことと、写真の撮り方を決めることで、設計の側から防ぎます。

10まず何から始めるか

1週目:必須の寸法の表をまとめる

見積の担当と、部屋の種類ごとに、何が抜けたら商品を選べないかを表にします。ふつうの範囲(mm)も書き込みます。浴室とキッチンから埋めます。

2週目:30件で試す

先月の調査シート30件を手元のAIサービスに貼り付けて、項目を写させます。単位を補っていないか、空の寸法を埋めていないかを最優先で見ます。

3週目:自社の決まりの確認と、撮り方を決める

写真を外部のサービスで、国外のリージョンで処理してよいかを、自社の決まりで確かめます。 あわせて、シートを1枚ずつ真上から撮り、JPEGで保存する撮り方を営業にそろえてもらいます。

4週目:フォルダから見積入力待ちのシートまでをつなぐ

Apps Script でフォルダを確かめ、OCRを呼び、写した値をシートに書き出すところまで作ります。この時点では営業にメールを送らず、営業がこれまでどおり打ち込みながら、シートの値が合っているかを見ます。

2か月目: 画質の確認、必須の寸法との照合、撮り忘れの確認と、営業へのメールを足し、現場で返す運用を始めます。3か月目以降: 1件25分が何分になったかと、再訪問の回数を数えます。測り漏れが現場で片づき、事務所からの問い合わせがほとんど無くなった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-14/最終更新:2026-10-14
確認した内容情報源確認日
Enterprise Document OCR が手書きを含む文字を200を超える言語で取り出し、読みやすさにもとづいて品質を評価すること。言語の一覧で日本語(ja)が手書きに対応する言語として示されていること。オンラインの処理が最大15ページであることGoogle Cloud: Processor list2026-10-14
画質の分析が0から1の点数で返り、0.5を下回るとぶれ・暗さ・反射・文字の小ささ・切れなど8種類の理由が返ること。enableImageQualityScores で有効にし、OCRと同程度の待ち時間が加わること。スキャンや撮影した文書で最もよく使えること。チェックボックスの抽出を enableSelectionMarkDetection で有効にし、visualElements に filled_checkbox/unfilled_checkbox が返ることGoogle Cloud: Enterprise Document OCR2026-10-14
画質の点数が各ページの imageQualityScores に返ること。layout の confidenceGoogle Cloud: Handle the processing response2026-10-14
対応形式が PDF、GIF、TIFF、JPEG、PNG、BMP、WebP などであることGoogle Cloud: Supported files2026-10-14
マルチリージョンが us と eu で、単一リージョンにシンガポール(asia-southeast1)などがあり、日本のリージョンが一覧に無いことGoogle Cloud: Regional and multi-regional support2026-10-14
output_config.format に type: "json_schema" を指定して構造化出力を使えること。数値の minimum・maximum などの制約に対応しないこと。拒否は stop_reason: "refusal"、出力の上限は max_tokens となりスキーマに合わないことがあることClaude Platform Docs: Structured outputs2026-10-14
画像の対応形式が JPEG、PNG、GIF、WebP であること。1枚の最大が8000×8000ピクセル、APIを直接使うとき1枚10MB(base64エンコード後)であることClaude Platform Docs: Vision2026-10-14
時間主導型のトリガーが毎分から月1回までの間隔で設定でき、実行の時刻がわずかにずれることがあることApps Script: Installable triggers2026-10-14

工事ができるかどうか、どの商品を勧めるか、写真を外部のサービスで処理してよいかは、自社の決まりと施主との約束に沿って決めてください。 本記事は各製品の公式ページで確認できた範囲だけを扱っています。

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

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

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

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