Media > AI活用ユースケース > 総務 > 市町村に届く国民健康保険税の減免申請書(手書き)を読み取り、世帯・減免の理由・添付書類の有無を審査台帳に起こして、足りない書類を拾う

市町村に届く国民健康保険税の減免申請書(手書き)を読み取り、世帯・減免の理由・添付書類の有無を審査台帳に起こして、足りない書類を拾う

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

窓口と郵送で届く国民健康保険税の手書きの減免申請書を読み取り、世帯・被保険者・減免の理由・申請日を審査台帳に起こします。添付書類の表題も読み、理由ごとに求める書類と照らして、足りない書類と記入漏れを審査の前に拾います。

サマリー
生成AI
Azure OpenAI Service/Claude/Gemini
AIサービス
Azure AI/Google Document AI
対象業界
自治体
対象部門
総務/財務
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★★☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
必須
現在工数
30h/月
AI導入後
10h/月
想定削減
67%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 窓口で受け付けた申請書と、郵送で届いた申請書を受付箱に入れる
  2. 担当者が1件ずつ申請書を読み、審査台帳のスプレッドシートに世帯・被保険者・理由・申請日を転記する
  3. 減免の理由を見て、その理由で求める書類を頭の中で思い出し、添付書類を1枚ずつめくって照らす
  4. 足りない書類や、書かれていない欄があれば、付箋に書いて申請書に貼る
  5. 賦課のシステムで世帯を引き、記号番号と世帯の構成が合っているかを見る
  6. 付箋の付いた申請について、申請者に電話するか、不足書類の依頼文を郵送する
  7. 書類のそろった申請を、審査の担当に回す
導入後(After)
  1. 人窓口で受け付けた申請書と郵送の申請書を、添付書類とあわせて1件ずつスキャンする。1件の先頭に申請書を置く
  2. 自動スキャンした PDF の保存をきっかけに処理が動き、ページ数・寸法・向きを確かめる
  3. 自動1ページ目の申請書を、市の様式で学習させたカスタムテンプレートモデルで読み取る
  4. 自動2ページ目以降の添付書類を、レイアウトモデルで読み取る
  5. 自動生成AIが、申請書の欄を台帳の項目にそろえ、添付書類の表題から書類の種類を当てる
  6. 自動減免の理由ごとの「求める書類の一覧」と照らし、`present` / `missing` / `unreadable` を付ける
  7. 自動記号番号で賦課のシステムの書き出しを引き、世帯主と被保険者の数が合うかを見る
  8. 自動審査台帳に「確認待ち」で行を足し、足りない書類の依頼文の下書きを作る
  9. 人担当者が申請書の画像と台帳の行を並べて見て、転記と書類の判定を確かめる
  10. 人不足のある申請について、下書きを直して申請者に連絡する
  11. 人書類のそろった申請を、審査の担当に回す
各工程の詳しい説明を読む
  1. 窓口で受け付けた申請書と、郵送で届いた申請書を受付箱に入れる
  2. 担当者が1件ずつ申請書を読み、審査台帳のスプレッドシートに世帯・被保険者・理由・申請日を転記する
  3. 減免の理由を見て、その理由で求める書類を頭の中で思い出し、添付書類を1枚ずつめくって照らす
  4. 足りない書類や、書かれていない欄があれば、付箋に書いて申請書に貼る
  5. 賦課のシステムで世帯を引き、記号番号と世帯の構成が合っているかを見る
  6. 付箋の付いた申請について、申請者に電話するか、不足書類の依頼文を郵送する
  7. 書類のそろった申請を、審査の担当に回す

(a)理由ごとに要る書類が違い、照らす作業が人に頼っている。 所得の急な減少の申請では、さいたま市の案内でも「各自の状況により必要書類等が異なる」とされ、退職証明書・診断書等の所得減少の要因を確かめる書類、給与明細等の所得を確かめる書類、所得見込額の申告書を求めています。新しく配属された職員は、この組み合わせを覚えるまで、1件ごとに案内の紙を見返しています。

(b)不足に気づくのが遅い。 受付の場で添付書類まで照らす時間はなく、審査の担当が書類を開いた段階で不足に気づくと、連絡は申請から1〜2週間後になります。理由によっては、申請日以後に来る納期から減免が効くため、待つあいだに次の納期が来ます。

(c)手書きの数字を写し間違える。 国保の記号番号や生年月日は、1字違えば別の世帯を引きます。 似た番号の別の世帯が出てくると気づけません。

(d)申請の数が月によって揺れる。 件数が増えた月は、3名の係では転記が数日遅れ、その分だけ不足の連絡も遅れます。

  1. 【人】 窓口で受け付けた申請書と郵送の申請書を、添付書類とあわせて1件ずつスキャンする。1件の先頭に申請書を置く
  2. 【自動】 スキャンした PDF の保存をきっかけに処理が動き、ページ数・寸法・向きを確かめる
  3. 【自動】 1ページ目の申請書を、市の様式で学習させたカスタムテンプレートモデルで読み取る
  4. 【自動】 2ページ目以降の添付書類を、レイアウトモデルで読み取る
  5. 【自動】 生成AIが、申請書の欄を台帳の項目にそろえ、添付書類の表題から書類の種類を当てる
  6. 【自動】 減免の理由ごとの「求める書類の一覧」と照らし、present / missing / unreadable を付ける
  7. 【自動】 記号番号で賦課のシステムの書き出しを引き、世帯主と被保険者の数が合うかを見る
  8. 【自動】 審査台帳に「確認待ち」で行を足し、足りない書類の依頼文の下書きを作る
  9. 【人】 担当者が申請書の画像と台帳の行を並べて見て、転記と書類の判定を確かめる
  10. 【人】 不足のある申請について、下書きを直して申請者に連絡する
  11. 【人】 書類のそろった申請を、審査の担当に回す

9番目が、この設計の分かれ目です。人は全件を見ます。 転記の誤りは審査の誤りにつながるからです。ただし、見るのは「写す」作業ではなく「写されたものを確かめる」作業です。

6番目を規則で決めているのも意図してのことです。 理由ごとに求める書類は年度の途中でも変わります。 書類の種類を当てるところまでをAIにさせ、足りているかどうかは係の一覧で機械的に決めます。

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

構成図
減免申請書(手書き)+添付書類の写し
   │  窓口・郵送で受付、1件ずつスキャン
   ▼【トリガー】保管場所への PDF の保存
Azure Functions ── ページ数・寸法・向きの確認、1ページ目と2ページ目以降の切り分け
   ▼
Azure AI Document Intelligence
   ├─ カスタムテンプレートモデル(市の申請書の様式。欄の値、チェック欄、署名欄)
   └─ レイアウトモデル(添付書類の文字、表、手書きかどうか、信頼度)
   ▼
Azure OpenAI ── 台帳の項目へのそろえ、添付書類の種類の当てはめ(根拠の文字列付き)
   ▼
Azure Functions ── 理由ごとの「求める書類の一覧」との照合、賦課の書き出しとの照合
   ▼
審査台帳に「確認待ち」で登録 + 不足書類の依頼文の下書き
   ▼
【担当者が画像と並べて確認】→ 申請者へ連絡/審査の担当へ回す
役割想定する製品代替候補
OCRAzure AI Document Intelligence(カスタムテンプレートモデルとレイアウトモデル)Google Document AI(Form Parser)
生成AIAzure OpenAI(Microsoft Foundry)(構造化出力で台帳の項目と書類の種類を返す)Claude API、Gemini API
連携Azure Functions(起動、照合、台帳への登録)Azure Logic Apps
保管Azure Blob Storage(申請書の画像と読み取り結果の控え)庁内のファイルサーバー
台帳既存の減免の審査台帳賦課のシステムの減免の画面

賦課のシステムには、この構成から書き込みません。 書き出したファイルを読むだけです。減免の決定と税額の変更は、審査を経て職員が行います。 クラウドへ画像を送る経路は庁内のネットワークの区分によって違い、利用環境に応じた個別の設計になります。

申請書の読み取りには、カスタムテンプレートモデルを使います。 公式の説明では、テンプレートモデルはレイアウトの手がかりで値を取り出し、決まった見た目の様式から欄を取り出すのに向くとされています。取り出せるのは、キーと値の欄、選択マーク(チェック欄)、表、署名、範囲の指定です。市の申請書は様式が決まっているので、「減免の理由」のチェック欄と「添付書類」のチェック欄を、欄ごとに名前を付けて取り出せます。

日本語の手書きに対応していることを確かめてあります。 公式の言語対応の表では、カスタムテンプレートモデルの手書きの対応言語に日本語(ja)が載っています。様式が改まったときは、様式ごとに5件以上の見本で学習させ、モデルを組み合わせることが公式に案内されています。

添付書類には、レイアウトモデルを使います。 発行元も書式もばらばらなので、様式を前提にしないレイアウトモデルで文字と表を取り出し、表題と発行元の文字列から書類の種類を当てます。

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

Step1

処理の起点を決める

スキャンした PDF が保管場所に保存されたことを起点にします。 窓口の受付分は、その日の昼と夕方にまとめて複合機でスキャンし、郵送分は開封した日にスキャンします。1件の申請書と添付書類を1つの PDF にし、先頭のページを必ず申請書にします。 この決まりがあるから、1ページ目をテンプレートモデル、2ページ目以降をレイアウトモデルに振り分けられます。

ファイル名は受付番号にします。 台帳の行と紙の申請書が1対1で結び付きます。処理が終わった PDF は「処理済み」の場所へ移し、移すのは成功したときだけにします。保存場所に残っている数が、そのまま未処理の数になります。

Step2

入力データを集める

データ中身取得元
申請書と添付書類の PDF1件1ファイル。受付番号、受付日、受付の経路(窓口/郵送)複合機のスキャン
申請書の読み取り結果欄ごとの値、チェック欄の状態、署名欄の有無、欄ごとの信頼度カスタムテンプレートモデル
添付書類の読み取り結果ページごとの文字、表、手書きかどうか、単語ごとの信頼度レイアウトモデル
求める書類の一覧減免の理由ごとに、必須の書類と、状況によって求める書類係で作る一覧
賦課の書き出し記号番号、世帯主の氏名、被保険者の数、住所賦課のシステム(日次の書き出し)
書類の種類の辞書書類の種類ごとに、表題に出る言葉と発行元の例係で作る一覧

質を決めるのは、求める書類の一覧です。 一覧が曖昧だと、読み取りがどれだけ正確でも、足りないかどうかを決められません。

減免の理由必須の書類(例)状況によって求める書類(例)
災害り災証明書など災害を確認できるもの―
所得の急な減少所得見込額申告書、所得の減少の要因を確かめる書類(退職証明書、診断書など)給与明細など所得の金額を確かめる書類
刑事施設等への収容収監証明書―
旧被扶養者資格喪失証明書など旧被扶養者であることが分かるもの転入のときの異動連絡票
生活困窮生活状況申告書と同意書賃貸借契約書、預貯金の通帳、給与明細

この表は、さいたま市の案内の必要書類を例として並べたものです。実際の一覧は、自分の市の条例・要綱と運用から作ってください。

Step3

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

申請書は、ワークフローからカスタムテンプレートモデルを呼んで読みます。 学習は、Document Intelligence Studio で市の様式の見本に欄の名前を付けて行います。欄の名前は、台帳の列名と同じにしておきます。 そうすると、読み取り結果をそのまま台帳の列に当てられます。

欄の名前(例)種類何に使うか
insured_no欄国保の記号番号。賦課の書き出しを引く鍵
head_name/head_address/head_phone欄世帯主の氏名・住所・電話
members表被保険者の氏名・続柄・生年月日
reason_disaster ほか5つ選択マーク減免の理由のチェック欄
reason_text欄理由の説明の自由記述
attach_*選択マーク添付書類のチェック欄
applied_on欄申請日
signature署名署名欄に記入があるか

添付書類は、2ページ目以降をレイアウトモデルに渡します。 取るのは、ページごとの文字、表、styles の手書きかどうか、単語ごとの信頼度です。書類の種類を当てる材料は、ページの上のほうにある表題と、発行元の名前です。 「り災証明書」「退職証明書」「給与支払明細書」「在所証明書」のような表題が読めれば、種類はほぼ決まります。

賦課の書き出しは、毎朝1回書き出した CSV を読みます。 照合の順は、記号番号が先、氏名が後です。 氏名から先に引くと、同姓同名と旧字体で引けない世帯が出ます。

Step4

AIへ渡す前に整形する

  1. ページの切り分け … 1ページ目を申請書、2ページ目以降を添付書類として分けます。1ページ目が申請書の様式でないとき(テンプレートモデルの文書の種類の信頼度が低いとき)は、needs_human にして止めます
  2. 寸法と向きの確認 … 画像は50×50ピクセルから10,000×10,000ピクセルの間であることが必要です。横向きにスキャンされた添付書類は向きを直します
  3. 文字の大きさの確認 … 抽出できる文字の最小の高さは、1024×768の画像で12ピクセル(150dpiで約8ポイント)です。給与明細の小さな数字は、複合機の既定の解像度だと下限に近くなります。 受付のスキャンは300dpiにそろえます
  4. パスワードの確認 … パスワードでロックされた PDF は、提出前にロックを外す必要があります。メールで届いた書類を印刷せずに取り込むときに当たります
  5. 白紙と裏面の除去 … 両面スキャンで出た白紙のページを外します。外したページ数は記録に残します
  6. マイナンバーの写りの確認 … 添付書類の写しに個人番号が写っている場合があるため、レイアウトモデルの文字に12桁の数字の並びがあれば、その範囲を伏せた画像を作り、以降の処理には伏せた画像を使います

6番目は、この題材に固有の手当てです。 減免の審査に個人番号は要りません。要らない番号を生成AIへ渡さないために、読み取りの直後に伏せます。

Step5

AIに処理させる

させるのは2つです。 1つ目は、申請書の読み取り結果を台帳の項目にそろえること。2つ目は、添付書類の各ページについて、書類の種類を辞書から当て、根拠にした文字列を写すことです。

見るものさせること判断できないときの扱い
記号番号・電話番号・生年月日読み取った文字をそのまま写す信頼度が低ければ unreadable
世帯主と被保険者表の行ごとに氏名・続柄・生年月日を写す行が読めなければその行だけ unreadable
減免の理由チェック欄の状態をそのまま写す。説明の欄の文を写す2つ以上にチェックがあれば両方を写す
添付書類のチェック欄申請者がチェックした書類を写す―
添付書類の各ページ表題・発行元から種類を辞書の中から選び、根拠の文字列を写す辞書に無ければ other
申請日・署名申請日を写し、署名欄の記入の有無を写す日付が2つあれば ambiguous

右端の列が大事です。 missing は付いていない、unreadable は付いているが読めない、ambiguous は候補が複数ある、という区別で、前者は申請者に連絡するもの、後の2つは職員が紙を見れば済むものです。

させないこと理由
減免に当たるかの判断条例と基準に照らして審査の担当が決める
減免の割合の計算所得や損害の程度から市の表で決める
所得の金額の合計や見込みの計算給与明細から足し上げると、読み違いがそのまま見込みになる
理由の推測(説明の欄から理由のチェックを補う)申請者が選んだ理由を書き換えない
番号・日付の補完桁を足す、それらしい日付に直さない
病気・収容の事情の要約審査に要らない機微な情報を台帳に広げない

4行目が、いちばん起きやすい失敗です。 説明の欄に「会社を辞めました」と書かれ、理由のチェックが無いとき、AIは「所得の急な減少」にチェックを補おうとします。申請者がどの理由で申請したかは、申請者が決めることです。 チェックが無ければ「理由のチェックなし」と記録し、職員が申請者に確かめます。

Step6

指示内容を固定する

あなたは市の国保年金課で、国民健康保険税の減免申請の受付を補助する立場です。
OCRが返した読み取り結果だけを使ってください。推測で埋めないでください。

【1. 申請書の項目】
次の項目を、読み取り結果の欄から写してください。
- insured_no, head_name, head_address, head_phone
- members(氏名、続柄、生年月日)
- reasons(チェックが入っている減免の理由。チェック欄の状態をそのまま写す)
- reason_text(理由の説明の欄の文。要約せずに写す)
- attach_checked(申請者がチェックした添付書類)
- applied_on, signature_present

【2. 添付書類の各ページ】
ページごとに、書類の種類を【書類の種類の辞書】から1つ選び、
根拠にした文字列(表題や発行元)を evidence にそのまま写してください。
辞書に当てはまらなければ other とし、表題の文字列を写してください。

【status の選び方】
- ok ......... 値が読み取れている
- missing .... 欄が空、またはチェックが無い
- unreadable . 文字は検出されているが信頼度が低く、値として確定できない
- ambiguous .. 候補が複数あり、1つに決められない
迷ったときに ok を選ばないでください。

【厳守事項】
- 記号番号、電話番号、生年月日は、読み取った文字をそのまま写してください。
  桁を補う、記号を足す、それらしい値に直すことをしないでください。
- 減免の理由のチェックが無いときに、reason_text から理由を補わないでください。
  reasons を空にし、status を missing にしてください。
- 減免に当たるか、減免の割合、所得の見込みを書かないでください。
- 給与明細や通帳の金額を合計したり、計算したりしないでください。
- 診断書の病名、収容された施設の名前、処分の内容を出力に写さないでください。
  書類の種類と表題だけを写してください。
- 伏せ字(■)になっている数字を復元しようとしないでください。
- confidence は OCR が返した値をそのまま入れてください。
- 申請書でない書類が1ページ目にあると判断した場合は、document_type に種類を書き、
  項目を埋めずに返してください。

【書類の種類の辞書】{doc_types}
【申請書の読み取り結果】{form_result}
【添付書類の読み取り結果(ページごと)】{attachment_pages}

「理由を補わない」を明記しないと、親切に補います。 禁じるのは、申請者の選択を推測で置き換えることそのものです。

「病名や施設の名前を写さない」を書くのは、審査台帳を係の全員が開くからです。 指示が無いと、AIは根拠として表題の下の本文まで写します。

Step7

出力形式を固定する

次の形のJSONで受け取ります。 Azure OpenAI の構造化出力(response_format に json_schema を strict: true で渡す方式)を使い、形を固定します。

{
  "receipt_no": "",
  "document_type": "reduction_application",
  "household": {
    "insured_no": { "value": "", "status": "ok", "confidence": 0 },
    "head_name": { "value": "", "status": "ok", "confidence": 0 },
    "head_phone": { "value": "", "status": "ok", "confidence": 0 },
    "members": [ { "name": "", "relation": "", "birth": "", "status": "ok" } ]
  },
  "reasons": [""],
  "reason_status": "ok | missing | ambiguous",
  "reason_text": "",
  "attach_checked": [""],
  "attachments": [
    { "page": 2, "doc_type": "", "evidence": "", "status": "ok | unreadable" }
  ],
  "applied_on": { "value": "", "status": "ok" },
  "signature_present": true
}

この JSON のあとに、ワークフローが照合の結果を足します。

足す項目決め方
required_docsreasons から、求める書類の一覧を引く
doc_check書類ごとに present(種類が当たったページがある)/missing(無い)/unreadable(読めないページがあり、種類が決まらない)
checked_but_absent申請者がチェックしたのに、該当するページが無い書類
household_match記号番号で賦課の書き出しを引き、世帯主の氏名と被保険者の数が合うか(matched/not_found/mismatch)
next_actionready(審査へ)/request_docs(不足の連絡)/needs_human(読めない・合わない)

1つ目の理由は、AIの読み取りと書類の過不足の判定を別の層に置けることです。 求める書類の一覧が年度の途中で変わっても、直すのは一覧だけです。AIが返した attachments を読み直せば、過去の申請の判定もやり直せます。

2つ目は、checked_but_absent で入れ忘れを拾えることです。 連絡の文面が「同封されていませんでした」と具体的になります。

Step8

システムへ連携する

つなぎ先方式内容
保管場所Azure Functions のトリガーPDF の保存を検知する
Azure AI Document IntelligenceAPI呼び出し申請書と添付書類の読み取り
Azure OpenAIAPI呼び出し台帳の項目へのそろえ、書類の種類の当てはめ
賦課の書き出しCSV の読み取り記号番号で世帯を引く
審査台帳行の追加「確認待ち」で登録する
依頼文の下書き文書ファイル不足の書類を申請者に頼む文面

審査台帳には「確認待ち」の状態でだけ書き込みます。 職員が確かめるまで、審査の担当の一覧には出しません。賦課のシステムには書き込みません。 減免の決定は、審査を経た職員の操作で行います。

Step9

人が確認する

人が全件を確かめます。 確かめ方は、申請書の画像と台帳の行を左右に並べた画面で、黄色の印の付いた欄から見ていく形にします。

  1. needs_human を先に見る … 1ページ目が申請書でない、記号番号が賦課の書き出しに無い、読めない欄がある、のいずれかです。多くは紙を見れば数秒で済みます
  2. 番号と生年月日を画像と照らす … 信頼度が高くても、記号番号・電話番号・生年月日の3つは画像と並べて目で確かめます
  3. 書類の過不足を確かめる … missing の書類が本当に同封されていないかを、紙の束で確かめます。連絡は紙を見てから出します
  4. 理由のチェックが無い申請を確かめる … 申請者に電話して、どの理由で申請するかを聞きます
  5. 判定を覆したら記録する … どの欄を、どの値に直したかを残します

3番目を省かないでください。 missing は、そのまま申請者への連絡になります。送ったはずの書類を求められた申請者は、市に書類を失くされたと思います。

目標は、120件をならして1件5分です。 5分を超える月は、スキャンの解像度か、求める書類の一覧が曖昧になっています。

Step10

例外に対処する

起きること対応
1ページ目が申請書でない束の順が崩れている。needs_human にして、並べ直して再投入
パスワード付きの PDF提出前にロックを外す必要がある。印刷してスキャンし直す
文字が小さすぎる1024×768の画像で12ピクセルが下限。300dpiでスキャンし直す
記号番号が賦課の書き出しに無い加入の手続き中か、書き間違い。not_found で職員へ
被保険者の数が合わない世帯の異動の直後か、書き漏れ。mismatch で職員へ
理由が2つ以上両方の求める書類を照らす。どちらで審査するかは職員が決める
理由のチェックが無いreason_status を missing にし、照合をせずに職員へ
添付書類が別の封筒で後から届く同じ受付番号で追加の PDF として投入し、照合をやり直す
読み取りサービスが応答しない保管場所に残す。処理済みへ移すのは成功時だけ

後から届く添付書類の扱いを、最初に決めておきます。 依頼文に受付番号を書き添えてもらう案内を入れないと、後から届いた書類が新しい申請として台帳に並びます。

Step11

記録を残す

  • 申請書と添付書類の PDF(個人番号を伏せる前の原本と、伏せたあとの画像を分けて保管)
  • 読み取りサービスが返した JSON の全文と、Azure OpenAI に渡した入力と返ってきた JSON
  • 照合の結果(required_docs、doc_check、household_match、next_action)と、そのとき使った求める書類の一覧の版
  • 人が判定を覆した記録 … どの欄を、どの値に直したか
  • 不足の連絡をした日と方法、書類が届いた日
  • 書類の種類ごとの unreadable の発生率

3つ目で一覧の版を残すのは、一覧が年度の途中で変わるからです。 求める書類を足した日の前と後で、同じ申請の判定が変わります。どの版で判定したかが残っていないと、監査のときに説明できません。

04実装レベルの3段階

最小構成:伏せた見本を Studio で読み取り、生成AIに項目と書類の種類を返させる / 読み取りと書類の種類の当てはめの確かめ
半自動化:上記+市の様式でテンプレートモデルを学習させ、スキャンの保存から台帳の「確認待ち」の行と不足の一覧まで自動で作る / 転記、書類の照合、不足の洗い出し
本格構成:上記+賦課の書き出しとの照合、後から届いた書類の自動の再照合、依頼文の下書き、版つきの求める書類の一覧の管理 / 受付から審査に回すまでの下ごしらえ全体

最小構成は、確かめるための段階です。 1件ずつ画面で操作するので、月120件には使えません。 半自動化で、1件15分が5分程度になります。この段階が本記事の想定です。 本格構成では、不足の連絡から書類がそろうまでの追いかけが軽くなります。

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

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

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

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

AI活用について相談する

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

向いている
  1. 国民健康保険の税(または料)の減免を条例で定め、災害・所得の急な減少・刑事施設等への収容・旧被扶養者・生活困窮などの理由で、手書きの減免申請書を窓口と郵送で受け付けている市町村の国保年金課・保険年金課。申請書と添付書類を職員が1件ずつ読んで審査台帳に転記し、減免の理由ごとに必要な書類がそろっているかを目で照らしているため、書類の不足に気づくのが審査の段階になり、申請者への連絡が遅れている場合。申請書の様式が市で決まっている場合。
向いていない
  1. 減免の申請が月に十数件で、目視で足りる町村。申請の受付が電子申請に移っており、手書きの申請書がほとんど届かない場合。自治体の情報セキュリティの規程で、住民の所得や病歴・収容の事実を含む書類をクラウドの読み取りサービスへ送る経路を作れない場合。なお、減免に当たるか、減免の割合、所得の見込みの妥当性の判断は職員と市の基準が行うもので、この構成では代替できません。

07最小構成で試す方法

  1. 先月受け付けた減免申請から20件を選ぶ(うち数件は、書類が足りずに連絡したものを入れる)
  2. その20件について、当時どの書類が足りなかったか、どの欄が読みにくかったかを台帳から拾う
  3. 申請書と添付書類を個人番号と氏名を伏せた見本の画像にし、Document Intelligence Studio のレイアウトモデルで読み取る
  4. 読み取った文字を、検証用の環境の Azure OpenAI に渡し、「申請書の欄を台帳の項目に写し、添付書類の各ページの書類の種類を辞書から選んでください。推測で補わないでください」と指示する
  5. 出てきた結果を、当時の台帳と不足の連絡の記録と突き合わせる

20件は必ずやってください。 学習の前に、「手書きの欄が読めるのか」「書類の種類が表題から当たるのか」を確かめます。 試す段階でも伏せた見本で行い、庁内の手続きを先に通します。

出てきた内容判断
当時と同じ不足が出たテンプレートモデルの学習と照合の一覧づくりに進む
理由のチェックを説明の欄から補った指示の書き方で直る。構成は有効
給与明細や通帳の写しが読めないスキャンの設定が先。 AIの問題ではない

3行目は、郵送の申請で多く出ます。 失敗ではなく、職員が書類を読むのに時間をかけていた理由が1つ分かったということです。

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

問題対策
理由のチェックを説明の欄から補う指示で禁じ、reason_status を missing のまま職員へ回す
missing と unreadable が混ざる信頼度で分ける。混ぜると、送った書類を申請者にもう一度求める
給与明細の金額を足し上げる計算を禁じる。所得の見込みは審査の担当が原本から確かめる
記号番号の1字違いで別の世帯を引く氏名と被保険者の数でも照らし、合わなければ mismatch
古い様式の申請書で欄がずれる様式ごとに5件以上の見本で学習させ、組み合わせる
求める書類の一覧が担当者ごとに違う一覧を1つにし、版を付けて管理する
病名や施設名が台帳に写る種類と表題だけを写させ、出力の項目にも本文の欄を作らない
個人番号が生成AIに渡る読み取りの直後に12桁の数字の並びを伏せる
依頼文が自動で郵送される下書きまでにする。 送付は職員が住所を確かめてから行う
減免の可否まで台帳に出そうとする出さない。審査は条例と基準に照らして職員が行う

上の3行が、この構成の失敗のほとんどです。 どれも「親切に補う」ことから起きます。

下の2行も同じくらい効いてきます。 減免の可否を台帳に出すと、審査の担当がその欄を追認しがちになります。

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

この構成で扱うデータ: 世帯主と被保険者の氏名・住所・電話・生年月日、国保の記号番号、所得の金額、勤め先と退職の事情、病歴が分かる診断書、刑事施設等に収容された事実が分かる証明書、通帳の写しです。

  1. 要配慮個人情報が入ることを前提に設計する … 個人情報の保護に関する法律では、本人の病歴や犯罪の経歴などが含まれる個人情報を「要配慮個人情報」としています。台帳に写さない、生成AIに渡す範囲を絞る、閲覧できる人を限るの3つを最初から入れます
  2. 個人番号を外部へ渡さない … 添付書類の写しに写り込んだ個人番号は、読み取りの直後に伏せ、伏せた画像だけを生成AIに渡します
  3. クラウドへ送る経路を庁内の規程で決める … 住民の情報を外部のサービスで処理してよいか、どのネットワークの区分から送るかは、自治体の情報セキュリティの規程と、個人情報の保護の担当の判断に従います。 この記事はその判断を代わりに行いません
  4. 減免の判断をAIに寄せない … 地方税法では、市町村長は条例の定めるところにより国民健康保険税を減免できるとされています(第717条、国民健康保険税は第706条で「水利地益税等」に含まれる)。減免に当たるかは条例と基準の問題で、この構成が出すのは書類がそろっているかどうかという事実だけです
  5. 不足の連絡を自動で送らない … 連絡の文面は下書きまでにし、紙の束を確かめてから職員が送ります
  6. 賦課の書き出しを生成AIへ渡さない … 照合は庁内の側の処理で行います

誤りが起きた場合のリスクは、不足を見落とすことと、そろっている書類を不足として求めることの2つです。 どちらも missing と unreadable の区別から出ているので、そこだけは設計で守ります。

10まず何から始めるか

1週目:求める書類の一覧を作る

減免の理由ごとに、必須の書類と、状況によって求める書類を表にします。係の3名が思い浮かべる書類を出し合い、食い違うところを条例と要綱に照らして決めます。

2週目:20件で試す

伏せた見本の20件で、理由を補っていないか、金額を足し上げていないかを最優先で見ます。

3週目:庁内の手続きを通す

情報セキュリティの担当と個人情報の保護の担当に、送る範囲・経路・保管の場所を示して相談します。 ここが通らないうちに組んでも動かせません。

4週目:テンプレートモデルを学習させる

市の申請書の様式で、見本に欄の名前を付けて学習させます。欄の名前は台帳の列名と同じにします。

2か月目: スキャンの保存から台帳の「確認待ち」の行と不足の一覧までをつなぎ、全件を職員が確かめます。3か月目以降: 賦課の書き出しとの照合と、後から届いた書類の再照合を足し、1件15分が何分になったかを実測します。書類の種類ごとの unreadable の発生率を見て、スキャンの設定と郵送の案内を見直した時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-08/最終更新:2026-10-08
確認した内容情報源確認日
国民健康保険税の減免を受けるには必ず申請が必要なこと。減免の理由として災害、旧被扶養者、収監、事業廃止や病気等による所得の激減、低所得による生活困窮があること。必要書類が、災害はり災証明など、収監は収監証明書、所得の激減は退職証明書・診断書等の所得減少要因が確認できるもの・給与明細等・所得見込額申告書(各自の状況により異なる)、生活困窮は賃貸借契約書等・預貯金通帳・給与明細等・生活状況申告書と同意書であること。所得の激減と生活困窮の減免が申請日以後に到来する年度内納期に適用されることさいたま市: 国民健康保険税の減免2026-10-08
水利地益税、共同施設税、宅地開発税及び国民健康保険税を「水利地益税等」ということ(第706条)。地方団体の長が、天災その他特別の事情がある場合等に限り、条例の定めるところにより水利地益税等を減免できること(第717条)e-Gov 法令API: 地方税法2026-10-08
「要配慮個人情報」が、本人の人種、信条、社会的身分、病歴、犯罪の経歴、犯罪により害を被った事実その他の記述等が含まれる個人情報をいうこと(第2条第3項)e-Gov 法令API: 個人情報の保護に関する法律2026-10-08
カスタムテンプレートモデルがレイアウトの手がかりで値を取り出し、決まった見た目の様式に向くこと。キーと値、選択マーク、表、署名、範囲の指定に対応すること。様式の違いごとに5件以上の見本で学習させ、モデルを組み合わせられること。学習データがテンプレートモデルで500ページまでであること。buildMode を template にして学習させることMicrosoft Learn: Custom template document model2026-10-08
レイアウトモデルが文字・表・選択マーク・文書の構造を取り出し、行ごとに手書きの書体かどうかを信頼度つきで返すこと。PDF と TIFF が最大2,000ページ(Free は最初の2ページのみ)、ファイルサイズが S0 で 500MB、F0 で 4MB であること。画像が 50×50 から 10,000×10,000 ピクセル、文字の最小の高さが 1024×768 の画像で 12 ピクセル(150dpi で約8ポイント)であること。パスワード付きの PDF は提出前にロックを外す必要があることMicrosoft Learn: Document layout analysis2026-10-08
カスタムテンプレートモデルとカスタムニューラルモデルの手書きの対応言語に日本語(ja)が含まれること(v4.0)Microsoft Learn: Language and locale support for custom models2026-10-08
構造化出力が渡した JSON Schema に従わせる機能で、Chat Completions では response_format に json_schema を strict: true で指定すること。すべての項目を必須にし、additionalProperties を false にすることMicrosoft Learn: How to use structured outputs with Azure OpenAI in Microsoft Foundry Models2026-10-08

減免に当たるか、減免の割合、求める書類の範囲、住民の情報を外部のサービスで処理してよいかの判断は、市の条例・基準・規程に沿って職員と担当部署が行うものです。 本記事はさいたま市の案内、法令の条文、各製品の公式ページで確認できた範囲だけを扱っています。

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

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

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

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