Media > AI活用ユースケース > 営業 > 賃貸の入居申込書と本人確認・収入証明の書類を読み取り、記載の食い違いを審査に回す前に洗い出す

賃貸の入居申込書と本人確認・収入証明の書類を読み取り、記載の食い違いを審査に回す前に洗い出す

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

入居申込に添付された本人確認書類と収入証明を読み取り、申込書に書かれた氏名・生年月日・住所・勤務先・年収と項目ごとに突き合わせます。書類どうしの食い違いを、家賃保証会社や貸主の審査に回す前に一覧にします。

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

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

導入前(Before)
  1. 仲介会社から本人確認書類と収入証明が届く(FAX、メールのPDF、スマートフォンの写真)。申込ごとのフォルダに保存する
  2. 台帳の申込の行を開き、本人確認書類の画像と並べて、氏名(漢字とフリガナ)、生年月日、現住所を1項目ずつ見比べる
  3. 収入証明を開き、台帳の勤務先・年収を、支払者・支払金額と見比べる
  4. 本人確認書類の有効期限、収入証明の対象年を確かめる
  5. 食い違いがあれば、仲介会社に確認を頼むメールを書く
  6. そろったら、家賃保証会社と貸主に審査を依頼する
導入後(After)
  1. 人受け取った書類を申込ごとのフォルダに保存し、台帳の状態を「書類そろい」にする
  2. 自動定時の処理が「書類そろい」の行を拾い、ファイルの形式と寸法を確かめる
  3. 自動本人確認書類は ID ドキュメントモデル、収入証明はレイアウトモデルで読み取り、値と信頼度を返す
  4. 自動台帳の申込書の値と、読み取った値を、決まった項目名にそろえる
  5. 自動生成AIが項目ごとに、`match` / `mismatch` / `explainable` / `unreadable` / `not_in_document` を付ける
  6. 自動本人確認書類の有効期限と、収入証明の対象年を規則で確かめる
  7. 自動項目ごとの結果から、`ready` / `ask_agent` / `needs_human` を機械的に決める
  8. 自動`ask_agent` のものについて、仲介会社への確認依頼の下書きを作る
  9. 人担当者が `ask_agent` と `needs_human` のものを開き、元の画像で該当箇所を確かめる
  10. 人確認依頼の下書きを直して仲介会社へ送る。`ready` のものは審査に回す
各工程の詳しい説明を読む
  1. 仲介会社から本人確認書類と収入証明が届く(FAX、メールのPDF、スマートフォンの写真)。申込ごとのフォルダに保存する
  2. 台帳の申込の行を開き、本人確認書類の画像と並べて、氏名(漢字とフリガナ)、生年月日、現住所を1項目ずつ見比べる
  3. 収入証明を開き、台帳の勤務先・年収を、支払者・支払金額と見比べる
  4. 本人確認書類の有効期限、収入証明の対象年を確かめる
  5. 食い違いがあれば、仲介会社に確認を頼むメールを書く
  6. そろったら、家賃保証会社と貸主に審査を依頼する

(a)不備が審査の途中で見つかる。 2番から4番を急いで済ませ、保証会社から「生年月日が本人確認書類と違う」「収入証明が前々年のもの」と戻されることがあります。戻ってきたときには、申込者は審査の結果を待っています。 そこから仲介会社に連絡し、書類を出し直してもらうので、数日が消えます。

(b)書類ごとに見る場所が違う。 年収は、源泉徴収票では「支払金額」、給与明細では月の総支給額、確定申告書では収入や所得の欄にあります。台帳の「年収」とどれを比べるかを、担当者がその場で決めています。 月収を12倍するか、賞与を足すかも人によって違います。

(c)説明のつく違いの扱いが人によって違う。 免許証の表の住所が旧住所で裏面に新住所がある、旧姓の源泉徴収票、マンション名の省略、字体の違い。確認依頼に回すか、そのまま通すかを担当者ごとに決めています。 ある担当が通したものを、別の担当は差し戻します。

(d)読み違えたまま差し戻す。 FAXでつぶれた番地や生年月日を読み違え、「食い違いあり」として仲介会社に確認を頼むと、「書いてあるとおりです」と返ってきます。

  1. 【人】 受け取った書類を申込ごとのフォルダに保存し、台帳の状態を「書類そろい」にする
  2. 【自動】 定時の処理が「書類そろい」の行を拾い、ファイルの形式と寸法を確かめる
  3. 【自動】 本人確認書類は ID ドキュメントモデル、収入証明はレイアウトモデルで読み取り、値と信頼度を返す
  4. 【自動】 台帳の申込書の値と、読み取った値を、決まった項目名にそろえる
  5. 【自動】 生成AIが項目ごとに、match / mismatch / explainable / unreadable / not_in_document を付ける
  6. 【自動】 本人確認書類の有効期限と、収入証明の対象年を規則で確かめる
  7. 【自動】 項目ごとの結果から、ready / ask_agent / needs_human を機械的に決める
  8. 【自動】 ask_agent のものについて、仲介会社への確認依頼の下書きを作る
  9. 【人】 担当者が ask_agent と needs_human のものを開き、元の画像で該当箇所を確かめる
  10. 【人】 確認依頼の下書きを直して仲介会社へ送る。ready のものは審査に回す

9番目が、この設計の分かれ目です。 人が時間を使うのは、食い違いが出たものと読み取れなかったものだけです。ready と出たものは、項目ごとの結果を台帳で流し見て審査に回します。全件を最初から見直す運用にすると、56.0時間はほとんど減りません。

7番目を規則で決めているのも意図してのことです。 どの食い違いを仲介会社に確かめるかは自社の取り決めで、保証会社の要件が変われば変わります。AIには食い違いの事実だけを記録させ、扱いは規則の側に置きます。

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

構成図
本人確認書類・収入証明(FAX・PDF・写真)
   │  申込ごとのフォルダへ
   ▼【トリガー】受付台帳の状態が「書類そろい」(定時に確認)
Google Apps Script
   ├──▶ 形式・寸法の確認、マイナンバーカード裏面の除外
   ▼
Azure AI Document Intelligence
   │   本人確認書類 … ID ドキュメントモデル(prebuilt-idDocument)
   │   収入証明   … レイアウトモデル+キーと値のペア(keyValuePairs)
   ▼
Google Apps Script ── 台帳の申込書の値と、読み取った値の項目名をそろえる
   ▼
Claude API ── 項目ごとの突き合わせ
   │   ① 氏名(漢字)  ② フリガナ  ③ 生年月日
   │   ④ 現住所       ⑤ 勤務先    ⑥ 年収
   ▼
判定(そろっている ready / 確認依頼 ask_agent / 判断不能 needs_human)
   ▼
【人が食い違いのものだけ確認】
   ├──▶ Claude API ── 仲介会社への確認依頼の下書き
   └──▶ 審査へ(人が依頼)
役割想定する製品代替候補
OCRAzure AI Document Intelligence(ID ドキュメントモデル、レイアウトモデル)Google Document AI
生成AIClaude API(項目ごとの突き合わせと確認依頼の下書き)OpenAI API、Gemini API
連携Google Apps Script(台帳の確認、読み取りの呼び出し、結果の書き戻し)Power Automate、Make
保管Google ドライブ(申込ごとのフォルダ)Microsoft SharePoint、Box
賃貸管理既存の賃貸管理システム各社の製品

AWS Textract を外したのは、日本語を読めないためです。 公式の上限の一覧では、対応言語は英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語で、縦書きの文字には対応しないとされています。本人確認書類を読む AnalyzeID も、米国のパスポートと米国の運転免許証だけが対象です。

本人確認書類には ID ドキュメントモデルを使います。 公式には、v4.0(2024-11-30 GA)で世界中のすべてのリージョンの ID ドキュメントをサポートするとされ、全世界のパスポートのほか、「その他」の地域として運転免許証・身分証明書・居住許可証が挙げられています。ただし日本の書類が国名で明記されているわけではありません。 日本の運転免許証や在留カードで項目がどこまで取れるかは、第8章の試行で必ず確かめます。取れない書類は、レイアウトモデルの読み取りに切り替えます。

収入証明にはレイアウトモデルと keyValuePairs を使います。 以前の prebuilt-document モデルが担っていたキーと値のペアの抽出が、レイアウトモデルの機能として加わったとされ、料金の区分は無料のアドオンです。そして、キーが検出されても値が無い場合は、キーが単独で存在することがあるとされています。 源泉徴収票の「支払金額」の欄が空のまま届いた場合、項目名があることを値があることと取り違えない設計が要ります。

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

Step1

処理の起点を決める

受付台帳の状態が「書類そろい」になった行を、10分おきの定時の処理で拾います。 Apps Script のインストール型トリガーには時間主導型があり、公式には最短で1分ごとから月1回まで設定できるとされています。ドライブへのファイル追加を直接きっかけにするトリガーは、確認した一覧にはありませんでした。

ファイルが届いたことではなく、書類がそろったことを起点にするのには理由があります。 本人確認書類が先に届き、収入証明が翌日に届くことはよくあります。ファイルが届くたびに動かすと、毎回「収入証明が無い」という結果が出て、担当者がそれを見なくなります。

処理を終えた行は「点検済み」に、失敗した行は「点検エラー」に変えます。 「書類そろい」のまま残っている行の数が、そのまま未処理の数になります。

Step2

入力データを集める

データ中身取得元
申込書の値申込者の氏名・フリガナ・生年月日・現住所・勤務先・年収・勤務形態受付台帳(転記済み)
本人確認書類運転免許証、マイナンバーカードの表面、在留カード、パスポートのいずれか。表と裏の両方申込ごとのフォルダ
収入証明源泉徴収票、給与明細、確定申告書の控え、内定通知書のいずれか同上
字体の対応表「髙/高」「﨑/崎」「邊/邉/辺」など、同じ字として扱う組自社で用意する一覧
年収の比べ方の表書類の種類ごとに、どの欄を年収として比べるか自社で用意する一覧

質を決めるのは、下の2つです。 字体の対応表が無いと、申込書の「高」と免許証の「髙」を別の字として不一致にします。 年収の比べ方の表が無いと、比べる欄をAIがその都度選ぶことになり、担当者ごとの揺れがAIに移るだけです。

本人確認書類は必ず裏面も受け取ります。 運転免許証は住所が変わると裏面に新しい住所が書かれます。表だけを読むと、引っ越した人の申込はすべて住所の食い違いになります。 マイナンバーカードは表面だけを受け取る運用にします。この点検で個人番号は使いません。

Step3

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

  1. 受付台帳から「書類そろい」の行を読み、申込番号でフォルダを特定する
  2. フォルダ内のファイル名の先頭(本人_、収入_)で書類の種類を仮に決める
  3. 本人確認書類は prebuilt-idDocument、収入証明は prebuilt-layout に features=keyValuePairs を付けて送る
  4. 返ってきたJSONをフォルダに保存し、台帳の申込書の値とあわせて次の段へ渡す
取るものどこから何に使うか
氏名・生年月日・住所・有効期限ID ドキュメントモデルの documents の fields本人確認書類との突き合わせ
キーと値のペアレイアウトモデルの keyValuePairs源泉徴収票の支払者・支払金額など
表tables の cells給与明細の総支給額の欄
選択マークselectionMarks の state確定申告書のチェック欄
信頼度各値の confidenceunreadable の判定

源泉徴収票のように項目名が決まった書類では、クエリ フィールドも使えます。 公式には、抽出したいフィールド名を指定すると値を返すアドオンで、1回の要求で最大20個まで指定できるとされています。ただしプレミアムのアドオンで、料金の区分が別です。 まずは無料の keyValuePairs で組み、取りこぼしの多い書類だけに使います。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … PDFと画像(JPEG/JPG、PNG、BMP、TIFF、HEIF)であることを確かめます。それ以外はPDFに変換します
  2. 画像の寸法の確認 … 50×50ピクセルから10,000×10,000ピクセルの間である必要があります
  3. 文字の大きさの確認 … 抽出するテキストの最小の高さは、1024×768の画像で12ピクセルとされています。FAXの受信画像はこれに近いことが多いので、寸法を記録しておきます
  4. ロックの解除 … パスワードでロックされたPDFは、提出前に解除する必要があります
  5. マイナンバーカード裏面の除外 … ファイル名や仲介会社からの連絡で裏面と分かるものは、読み取りに回さず担当者へ戻します
  6. 項目名のそろえ … 台帳の列名と、読み取った値の名前を name_kanji、birth_date のように1つの名前にそろえます
  7. 字体の正規化 … 対応表にある字を、比べるときだけ同じ字に置き換えます。元の値は置き換えずに残します

7番目で元の値を残すのは、確認依頼の文面に正確な表記が要るためです。 置き換えた字で「高橋様の申込で」と書くと、申込者の書いた字と違ってしまいます。

Step5

AIに処理させる

させるのは、6つの項目それぞれの突き合わせだけです。

見るもの比べる相手判断できないときの扱い
氏名(漢字)本人確認書類、収入証明字体の違いだけ、旧姓の書類なら explainable
フリガナ本人確認書類(パスポートはローマ字)本人確認書類に読みが無ければ not_in_document
生年月日本人確認書類和暦と西暦の違いは換算して比べる。読めなければ unreadable
現住所本人確認書類(裏面の記載を優先)建物名・部屋番号の省略だけなら explainable
勤務先収入証明の支払者・会社名「株式会社」の前後、略称だけなら explainable
年収年収の比べ方の表で決めた欄何と比べたかを basis に書く。比べられなければ not_in_document

右端の列の区別が、この構成でいちばん大事です。 mismatch は書類どうしが合っていない、explainable は違うが理由の見当がつく、unreadable は値として確定できない、not_in_document はその書類にその項目が無い、ということです。仲介会社に確かめるのは mismatch だけで、unreadable は自社で画像を見直せば済みます。

分ける材料は、読み取りが返した confidence です。 値が無ければ not_in_document、値があって信頼度が低ければ unreadable。根拠をOCRが返した数値に置きます。

させないこと理由
入居を認めるか、保証を付けるかの判断審査は貸主と保証会社が決める
収入の多い少ないの評価家賃に対して足りるかは審査の基準
読めない文字の補完台帳の値で埋めると、食い違いが消える
本人確認書類が本物かの判定画像から真偽は決められない。原本の確認は店頭で行う
国籍や在留資格による区別この点検では扱わない

3行目がいちばん起きやすい失敗です。 FAXで番地の数字がつぶれていると、台帳の値から埋めて match にしがちです。その瞬間、読めなかったという事実が消えます。

Step6

指示内容を固定する

あなたは賃貸管理会社の受付担当で、入居申込の書類どうしの記載が合っているかを点検します。
入居を認めるかどうかの判断はしません。書類に書かれていることだけを比べてください。

【比べる6項目】
1. 氏名(漢字)  2. フリガナ  3. 生年月日  4. 現住所  5. 勤務先  6. 年収

【status の選び方】
- match ............ 書類どうしで一致している
- mismatch ......... 書類どうしで違っており、下の explainable に当たらない
- explainable ...... 違うが、次のどれかに当たる
                     字体の対応表にある字の違い/旧姓の書類/建物名・部屋番号の省略/
                     「株式会社」の位置や略称の違い/和暦と西暦の違い
- unreadable ....... 値は検出されているが confidence が {threshold} 未満、または字がつぶれている
- not_in_document .. 比べる相手の書類に、その項目の値が無い
迷ったときに match を選ばないでください。

【厳守事項】
- 読めない文字を、申込書の値で補って埋めないでください。
- 項目名だけがあって値が空の場合は not_in_document です。
  項目名があることを、値があることとして扱わないでください。
- 現住所は、本人確認書類の裏面に新しい住所の記載があれば、そちらと比べ、
  どちらと比べたかを basis に書いてください。
- 年収は【年収の比べ方の表】に従い、比べた欄を basis に書いてください。
  差を「許容範囲」と判断せず、差額をそのまま diff に入れてください。
- evidence には、各書類から読み取った文字列をそのまま写してください。
- confidence は読み取り結果の値をそのまま入れてください。
- 入居の可否、収入が足りるか、書類が本物かは書かないでください。
- 国籍、在留資格、年齢について評価を書かないでください。
- 個人番号の記載を見つけた場合は、値を写さずに contains_my_number を true にしてください。

【申込書の値(台帳)】{application}
【本人確認書類の読み取り結果(表・裏)】{identity}
【収入証明の読み取り結果】{income}
【字体の対応表】{variant_table}
【年収の比べ方の表】{income_rule}

「迷ったときに match を選ばない」を書かないと、一致が増えます。 値が似ていると一致と答えがちで、それが見落としになります。 迷ったら人に回る側へ倒します。

「差を許容範囲と判断しない」も同じ理由です。 年収の50万円の差を許すかは保証会社の要件で決まり、AIが「おおむね一致」と書くと、その判断が誰のものか分からなくなります。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Claude API の構造化出力を使い、output_config.format に type: "json_schema" とスキーマを渡します。公式には、スキーマのすべてのオブジェクトに additionalProperties: false が必要とされています。

{
  "application_no": "",
  "contains_my_number": false,
  "checks": [
    { "item": "name_kanji", "status": "match | mismatch | explainable | unreadable | not_in_document",
      "application_value": "", "document_value": "", "compared_with": "",
      "basis": "", "diff": "", "confidence": 0, "evidence": "" }
  ],
  "identity_expiry": "",
  "income_year": "",
  "verdict": "ready | ask_agent | needs_human",
  "agent_request_draft": ""
}

checks には6つの要素を並べます。item は name_kanji / name_kana / birth_date / address / employer / annual_income です。

1つ目の理由は、status と verdict を別の層に置けることです。 checks はAIが埋め、verdict は Apps Script の規則で決めます。保証会社の要件が変わっても、直すのは規則だけです。

条件verdict
6項目がすべて match か explainable、有効期限内、収入証明が直近の年ready
mismatch が1つでもある、有効期限切れ、古い収入証明、年収の diff が自社の幅を超えるask_agent
unreadable が1つでもある、個人番号を検出したneeds_human

2つ目の理由は、数値の範囲を規則の側で持てることです。 公式には、構造化出力では minimum や maximum といった数値の制約はサポートされないとされています。年収の差の許容幅はスキーマで縛れないので、diff を受け取ってから Apps Script で比べます。

3つ目は、evidence と compared_with で確認が速くなることです。 どの書類のどの文字列と比べたかが一覧で読めるので、画像を開く前に、食い違いが本物か見当がつきます。

Step8

システムへ連携する

つなぎ先方式内容
受付台帳Apps Script の定時実行「書類そろい」の行と申込書の値を読み、結果と状態を書き戻す
Google ドライブApps Script申込ごとのフォルダのファイルを読み、読み取り結果を保存する
Azure AI Document IntelligenceREST APIID ドキュメントモデルとレイアウトモデルの呼び出し
Claude APIAPI呼び出し6項目の突き合わせと、確認依頼の下書き

台帳には、項目ごとの結果を列で書き戻します。 6列に status を入れ、verdict を先頭の列に置きます。担当者は台帳を verdict で並べ替えるだけで、今日見るものが分かります。

台帳の申込書の値は書き換えません。 本人確認書類のほうが正しそうに見えても、直すかどうかは仲介会社に確かめてから人が決めます。 賃貸管理システムにも書き込みません。確認依頼の下書きは台帳の行にリンクを付けて置き、送信は担当者がメールから行います。

Step9

人が確認する

人が開くのは ask_agent と needs_human のものだけです。 ready のものは台帳で6列の結果を流し見て、審査に回します。

  1. needs_human を先に見る … unreadable を含むものは、元の画像を拡大して自分で読みます。読めなければ仲介会社に再送を頼みます
  2. mismatch を画像で確かめる … evidence の文字列を元の画像と見比べ、本当に書類どうしが違うかを目で確かめます
  3. explainable を認める … 旧姓の書類などは、そのまま通してよいかを担当者が決めます
  4. 確認依頼の下書きを直して送る … どの書類のどの項目がどう違うかが書かれているかを見ます
  5. 判定を覆したら記録する … どの項目を、どの status からどれに変えたか

2番目を省かないでください。 mismatch は、申込者に書類を出し直してもらうことに直結します。空振りの差し戻しは、仲介会社との関係に残ります。

目標は、240件をならして1件4分です。 ready のものは台帳を見るだけで短く、ask_agent と needs_human のものは画像を見て下書きを直すので長くかかります。

Step10

例外に対処する

起きること対応
書類が1種類足りない読み取り前に「書類不足」として台帳に戻す
1つのPDFに書類がまとまっているページで分け、分けられなければ needs_human
日本の本人確認書類で ID モデルの項目が取れないレイアウトモデルで読み直し、項目名は対応表でそろえる
画像の寸法・文字の大きさが下限に近い結果に印を付け、unreadable を人が見る
パスワード付きのPDF提出前に解除が必要。仲介会社に解除して送ってもらう
マイナンバーカードの裏面が届いた読み取りを止めて担当者へ。結果にも値を残さない
法人契約で本人確認書類が無い最初は対象から外し、個人で運用が回ってから規則を足す
読み取りのAPIが応答しない台帳の状態を「書類そろい」のまま残し、次の定時で再実行

上から4行目までが、件数の大半を占めます。 どれもAIの問題ではなく、書類の受け取り方の問題です。 仲介会社に「書類ごとにファイルを分ける」「免許証は裏面も」と頼むほうが、判定を直すより効きます。

Step11

記録を残す

  • 受け取った書類の元ファイルと、受け取った日時・経路(FAX/PDF/写真)
  • 読み取りが返したJSONの全文(個人番号を含むページは保存しない)
  • 突き合わせの結果(checks、verdict)と、そのとき使った字体の対応表・年収の比べ方の表・規則の版
  • 人が判定を覆した記録 … どの項目を、どの status からどれに変えたか
  • 仲介会社へ確認を頼んだ日時と、再提出された書類との対応
  • 仲介会社ごとの unreadable と mismatch の発生率

3つ目で規則の版を残すのは、年収の許容幅が後から変わるためです。 幅を直すと、過去に ready とした申込の意味が変わります。 当時の規則が残っていないと、どこまで見直すかが決まりません。

04実装レベルの3段階

最小構成:Studio で読み取り、結果を手でAIの画面に貼って突き合わせさせる / 1件ごとの突き合わせ
半自動化:上記+読み取りのAPIを呼び、台帳の値と突き合わせて結果を台帳に書き出す / 読み取りと突き合わせの一覧化
本格構成:上記+台帳の状態を起点に定時で動かし、有効期限と対象年の規則、確認依頼の下書きまで出す / 点検の全体と、確認を頼む点の洗い出し

最小構成では件数がさばけません。 黒塗りと貼り付けに時間がかかるので、確かめるための段階です。 半自動化で、1件14分が7分程度になります。 読み取りと突き合わせは自動になりますが、有効期限の確認と確認依頼の作成が手作業で残ります。本格構成で4分になり、この段階が本記事の想定です。 半自動化の1か月で、年収の比べ方の表を固めてから進みます。

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

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

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

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

AI活用について相談する

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

向いている
  1. 賃貸管理会社・賃貸仲介会社のうち、入居申込を月に百件単位で受け付け、申込書と本人確認書類・収入証明を担当者が並べて目で突き合わせている場合。家賃保証会社や貸主から「生年月日が本人確認書類と違う」「収入証明が古い」といった理由で差し戻しが繰り返されている場合。突き合わせの基準が担当者ごとに違う場合。
向いていない
  1. 申込をすべて自社のWeb申込の画面で受け付け、本人確認と収入証明の確認もその仕組みの中で済んでいる場合。月の申込が数十件で、目視で足りる場合。入居を認めるかどうかの審査そのものを自動化したい場合(この構成は食い違いを洗い出すまでで、審査の判断は代替しません)。

07最小構成で試す方法

  1. 先月受け付けた申込から20件を選ぶ(うち数件は、保証会社から差し戻されたことが分かっているものを入れる)
  2. 20件の書類について、個人を特定できる部分を黒塗りしたコピーを作る
  3. Document Intelligence Studio で、本人確認書類を ID ドキュメントモデル、収入証明をレイアウトモデルにかけ、日本の書類で項目がどこまで取れるかを見る
  4. 読み取り結果と台帳の値を手元の生成AIの画面に貼り、「6項目を、一致・不一致・理由のつく違い・読めない・書類に無い の5つに分けてください。読めない文字を申込書の値で補わないでください」と指示する
  5. 出てきた判定を、当時の担当者の点検の結果と保証会社からの差し戻しの理由と突き合わせる
出てきた内容判断
保証会社が差し戻した食い違いが mismatch で出た読み取りと台帳の連携に進む
日本の本人確認書類で ID モデルの項目が取れないその書類はレイアウトモデルに切り替える
読めない文字を申込書の値で埋めて一致にした指示の書き方で直る。構成は有効
字体や旧姓の違いを不一致にした字体の対応表と旧姓の扱いを先に作る

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

問題対策
読めない文字を申込書の値で埋めて match になる補完を禁じ、unreadable を必ず人に回す
項目名だけがあって値が空の欄を一致にするキーが単独で存在することがある。 値の有無で判定する
字体の違いで mismatch が大量に出る字体の対応表を作り、比べるときだけ置き換える
引っ越した人の住所がすべて食い違いになる免許証は裏面も受け取り、裏面の記載を優先して比べる
年収の比べ方が申込ごとに揺れる書類の種類ごとの比べ方の表を作り、basis を必ず書かせる
年収の差をAIが「おおむね一致」と書く差額を diff に入れさせ、許容幅は規則で持つ
日本の本人確認書類で ID モデルの項目が取れない公式の一覧に国名での明記が無い。 試行で確かめ、取れなければレイアウトモデルへ
AWS Textract で組もうとして日本語が読めない対応言語に日本語が無い。 選定の段階で確かめる
確認依頼が自動で送られる下書きまでにする。 送信は人が行う

上の2行が、運用に乗るかどうかを決めます。 どちらも「書類に書かれていないことを、書かれているように扱う」という同じ失敗です。値の有無と信頼度で判定しているかどうかで、見落としの数が決まります。

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

この構成で扱うデータ: 申込者の氏名、生年月日、現住所、勤務先、年収、本人確認書類の画像。個人情報のなかでも、収入と本人確認書類の画像は特に重い情報です。

  1. 個人番号を扱わない … この点検に個人番号は要りません。マイナンバーカードは表面だけを受け取る運用にし、裏面が届いたら読み取りに回さず、結果にも値を残さないでください
  2. 外部へ渡す範囲を絞る … 生成AIに渡すのは6項目に関係する値と根拠の文字列だけにし、本人確認書類の画像そのものは渡さない設計にできます
  3. 審査の判断をさせない … 入居の可否、保証の可否はこの構成では扱いません。AIに可否を書かせると、その判断の責任の所在が分からなくなります
  4. 国籍・在留資格・年齢で区別しない … 在留カードは本人確認書類の1つとして読むだけです。点検の結果に国籍や在留資格の評価を持ち込まないでください
  5. 確認依頼を自動で送らない … 出すのは下書きまでです。仲介会社の先には申込者がいます
  6. 入居に至らなかった申込の書類を残しすぎない … 保存の期間を先に決め、期限が来たらフォルダごと消します

誤りが起きた場合のリスクは、食い違いを見落として審査に回すことと、食い違いでないものを差し戻すことの2つです。 前者は unreadable を match に混ぜると起き、後者は explainable を mismatch に混ぜると起きます。どちらも区別の置き方で防ぎます。

10まず何から始めるか

1週目:過去の差し戻しを数える

先月と先々月に保証会社や貸主から戻ってきた申込を集め、どの項目の食い違いだったかを数えます。生年月日なのか、住所なのか、年収なのか。多い項目から、突き合わせの規則を作ります。

2週目:20件で試す

黒塗りした20件の書類を Studio にかけ、日本の本人確認書類で ID ドキュメントモデルの項目がどこまで取れるかを確かめます。そのうえで生成AIに6項目の突き合わせをさせ、読めない文字を埋めていないかを最優先で見ます。

3週目:2つの表と許容幅を決める

字体の対応表と、書類の種類ごとの年収の比べ方の表を作ります。あわせて、年収の差をどこまで許すかを、保証会社の要件に合わせて決めます。 個人情報を外部のサービスに渡すことについての社内の取り決めも、ここで済ませます。

4週目:台帳から突き合わせまでをつなぐ

Apps Script で台帳の「書類そろい」を拾い、読み取りを呼び、6項目の結果を台帳に書き戻すところまで作ります。この時点では verdict を出さず、checks の6列だけを見ます。

2か月目: 有効期限と対象年の規則、verdict の決め方を足し、ask_agent と needs_human の件数を毎週数えます。3か月目以降: 確認依頼の下書きを足し、1件14分が何分になったかを実測します。仲介会社ごとの unreadable の発生率を見て、書類の受け取り方を仲介会社と相談した時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-09-29/最終更新:2026-09-29
確認した内容情報源確認日
ID ドキュメントモデル(prebuilt-idDocument)が v4.0(2024-11-30 GA)で世界中のリージョンの ID ドキュメントをサポートし、全世界のパスポートと「その他」の地域の運転免許証・身分証明書・居住許可証を対象とすること(日本の書類の国名での明記は無い)。入力がPDFと画像(JPEG/JPG、PNG、BMP、TIFF、HEIF)であること。画像が50×50から10,000×10,000ピクセル、テキストの最小高さが1024×768で12ピクセルであること。パスワード付きPDFは提出前に解除が必要なことMicrosoft Learn: ID ドキュメント モデル2026-09-29
レイアウトモデルに keyValuePairs の機能が加わり、以前の prebuilt-document と同じ結果を返すこと。キーと値のペアが無料の区分であること。キーが検出されても値が無い場合、キーが単独で存在することがあること。クエリ フィールドがプレミアムのアドオンで、1回の要求で最大20個のフィールドをサポートすることMicrosoft Learn: アドオン機能2026-09-29
Amazon Textract の対応言語が英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語であること。縦書きの文字に対応しないこと。AnalyzeID が米国のパスポートと米国の運転免許証だけに対応することAWS: Set Quotas in Amazon Textract2026-09-29
構造化出力が output_config.format に type: "json_schema" とスキーマを渡して使うこと。すべてのオブジェクトに additionalProperties: false が必要なこと。minimum や maximum などの数値の制約がサポートされないことClaude Docs: Structured outputs2026-09-29
Apps Script のインストール型トリガーに時間主導型があり、最短で1分ごとから月1回まで設定できること。確認した一覧に、ドライブへのファイル追加をきっかけにするトリガーが無いことGoogle Apps Script: Installable Triggers2026-09-29

入居の可否と保証の可否は、貸主・保証会社と自社の審査の担当者で決めてください。 本記事は Microsoft、AWS、Claude、Google Apps Script の公式ドキュメントで確認できた範囲だけを扱っています。日本の本人確認書類に特化した読み取りのモデルは、確認した範囲では見当たりませんでした。

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

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

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

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