市民課に郵送で届く手書きの証明書の請求書を読み取り、請求者・種類・通数・同封の定額小為替を受付台帳にそろえて、記入漏れと不足額を拾う
郵送で届く住民票の写しや戸籍証明書の請求書と、同封の定額小為替・本人確認書類の写しを読み取り、受付台帳の項目にそろえます。記入漏れと手数料の不足額を拾い、職員が交付を判断する前の下ごしらえを済ませます。
- 生成AI
- Azure OpenAI Service/ChatGPT/Claude
- AIサービス
- Azure AI/Google Document AI
- 対象業界
- 自治体
- 対象部門
- 総務
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 人手が足りない/入力作業が多い/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 届いた封筒を開け、請求書・本人確認書類の写し・小為替・返信用封筒・委任状を仕分ける
- 請求書を読み、請求者・対象者・証明書の種類・通数・使用目的を受付台帳に入力する
- 小為替を1枚ずつ見て、額面・発行日・受取人の欄を確かめ、合計を台帳に入力する
- 料金表と見比べて手数料を出し、小為替の合計との過不足を計算する
- 記入漏れ(連絡先、生年月日、使用目的など)と、本人確認書類・委任状の有無を確かめる
- 不足があれば請求者に電話するか、不足の連絡の文書を作る
- そろったものを基幹の仕組みで発行し、返信用封筒で送る
- 人封筒を開け、請求書・本人確認書類の写し・小為替・委任状を1件分ずつまとめてスキャンする
- 自動スキャンした画像が Cloud Storage に保存され、それをきっかけに処理が動く
- 自動OCRが請求書と同封物の文字、キーと値、チェックボックス、画像の品質の点数を返す
- 自動生成AIが、書類の種類を見分け、台帳の項目に値をそろえ、根拠の文字列を添える
- 自動プログラムが、料金表から手数料を出し、小為替の額面の合計との過不足を計算する
- 自動プログラムが、必須の項目の有無、小為替の発行日と受取人の欄、委任状の有無に印を付ける
- 自動受付台帳の案と、印の一覧(`ok` / `missing` / `unreadable` / `fee_short` / `needs_staff`)を出す
- 人職員が、印の付いた請求を開き、原本と見比べて台帳を確定する
- 人職員が、交付してよいかを判断し、基幹の仕組みで発行する。不足の連絡は下書きを直して送る
各工程の詳しい説明を読む
- 届いた封筒を開け、請求書・本人確認書類の写し・小為替・返信用封筒・委任状を仕分ける
- 請求書を読み、請求者・対象者・証明書の種類・通数・使用目的を受付台帳に入力する
- 小為替を1枚ずつ見て、額面・発行日・受取人の欄を確かめ、合計を台帳に入力する
- 料金表と見比べて手数料を出し、小為替の合計との過不足を計算する
- 記入漏れ(連絡先、生年月日、使用目的など)と、本人確認書類・委任状の有無を確かめる
- 不足があれば請求者に電話するか、不足の連絡の文書を作る
- そろったものを基幹の仕組みで発行し、返信用封筒で送る
(a)手書きの読み取りに時間がかかる。 便箋の請求書は、どこに何が書かれているかが決まっていません。必要な項目を探すところから始まり、癖のある字は読み直します。 戸籍の請求では本籍と筆頭者を正確に読まないと、別の人の戸籍を探すことになります。
(b)不足額の計算を間違える。 戸籍謄本と除籍謄本と附票を合わせて請求されると、種類ごとに手数料が違います。小為替が数枚あると、額面の足し算と料金の計算を両方頭の中でします。 間違えると、余分に受け取ったものを返す手間か、不足の連絡の手間が後から生じます。
(c)記入漏れを見落とす。 昼間の連絡先が無いと、不足があっても請求者に確かめられません。記入漏れの確認は、忙しい日ほど省かれます。 見落としたまま基幹の仕組みで照会し、そこで初めて足りないことが分かります。
(d)受付が一部の職員に偏る。 小為替の扱いと戸籍の請求の読み方に慣れた職員は限られます。年度末や相続の手続きが重なる時期は、その職員の机に封筒が積み上がります。
- 【人】 封筒を開け、請求書・本人確認書類の写し・小為替・委任状を1件分ずつまとめてスキャンする
- 【自動】 スキャンした画像が Cloud Storage に保存され、それをきっかけに処理が動く
- 【自動】 OCRが請求書と同封物の文字、キーと値、チェックボックス、画像の品質の点数を返す
- 【自動】 生成AIが、書類の種類を見分け、台帳の項目に値をそろえ、根拠の文字列を添える
- 【自動】 プログラムが、料金表から手数料を出し、小為替の額面の合計との過不足を計算する
- 【自動】 プログラムが、必須の項目の有無、小為替の発行日と受取人の欄、委任状の有無に印を付ける
- 【自動】 受付台帳の案と、印の一覧(
ok/missing/unreadable/fee_short/needs_staff)を出す - 【人】 職員が、印の付いた請求を開き、原本と見比べて台帳を確定する
- 【人】 職員が、交付してよいかを判断し、基幹の仕組みで発行する。不足の連絡は下書きを直して送る
8番目が、この設計の分かれ目です。 職員が開くのは印の付いた請求だけで、ok のものは台帳の案を流し見て確定します。ただし、9番目の交付の判断は全件を職員が行います。 自動にしたのは入力と計算で、判断ではありません。
5番目と6番目をプログラムに置くのは、料金表と規則で決まることだからです。 料金表は市区町村ごとに違い、改定もあるので、AIの知識ではなく、自分の市の料金表で計算します。
02今回想定するシステム構成
郵送の請求(請求書・本人確認書類の写し・小為替・委任状) │ 職員が1件分ずつまとめてスキャン ▼【トリガー】Cloud Storage への保存(object finalized) Cloud Run functions ── 形式・サイズ・ページ数の確認 ▼ Google Document AI ├─ Form Parser(市の様式の請求書。キーと値、チェックボックス) └─ Enterprise Document OCR(便箋の請求書・小為替・委任状。手書き、画像の品質の点数) ▼ Claude API ── 書類の種類の見分けと、台帳の項目への値のそろえ(根拠付き) ▼ Cloud Run functions ── 手数料の計算、過不足、必須項目と小為替の規則の確認 ▼ 受付台帳の案 + 印の一覧 + 不足の連絡の下書き ▼ 【職員が印の付いた請求を確認】→【職員が交付を判断】→ 基幹の仕組みで発行
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Form Parser と Enterprise Document OCR) | Azure AI Document Intelligence |
| 生成AI | Claude API(書類の種類の見分け、台帳の項目へのそろえ、連絡の下書き) | Azure OpenAI、OpenAI API |
| 連携 | Cloud Run functions(起動、手数料の計算、規則の確認) | Cloud Workflows |
| 保管 | Cloud Storage(スキャン画像と読み取り結果) | ― |
基幹の仕組みには、この構成からつながりません。 証明書の発行は従来どおり職員が基幹の仕組みで行います。この構成が出すのは受付台帳の案までです。
読み取りは2つのプロセッサを使い分けます。 Form Parser は、キーと値のペア、表、チェックボックス、一般的なエンティティ(日付、住所、人名、金額など)を取り出すプロセッサで、市の様式のように「氏名:__」と欄が決まった書類に向きます。 Enterprise Document OCR は文字とレイアウトを取り出し、手書きの読み取り、画像の品質の点数、言語と手書きのヒントを持ちます。公式の対応言語の一覧では、日本語の手書きは両方のプロセッサで対応とされています。
注意が要るのは、空欄の扱いです。 Form Parser の制約として、値が空のキーと値のペア(記入されていない様式など)は確実には取り出せないとされています。記入漏れを見つけたいこの題材では、キーと値が返らなかったことを「空欄」と読みません。 必須の項目の一覧を別に持ち、読み取った文字の中に値があるかを確かめます。
もう一つは、処理する場所です。 Form Parser と Enterprise Document OCR の対応地域は、米国・欧州のマルチリージョンと、ムンバイ、シンガポール、シドニー、ロンドン、フランクフルト、モントリオールで、日本のリージョンはありません。 住民の個人情報を扱うので、第13章で扱います。
03どうやって実装するのか
処理の起点を決める
Cloud Storage のバケットにスキャン画像が保存されたことを起点にします。 Cloud Run では、Eventarc を通じて、オブジェクトが作成・上書きされたとき(google.cloud.storage.object.v1.finalized)にサービスや関数を呼び出せます。関数とバケットは同じ Google Cloud のプロジェクトに置く必要があります。
スキャンは、封筒1通分を1つのPDFにまとめるのが決まりです。請求書と小為替と本人確認書類が別のファイルになると、どれが同じ請求かを後から結びつける手間が生じます。スキャナーの設定で、封筒ごとに区切りの白紙を挟むか、1通ずつスキャンします。
ファイル名には、受付日と受付の連番を付けます。連番は封筒に手で書いた番号と同じにし、原本の封筒と台帳の行がいつでも突き合わせられるようにします。
1日1回の定時処理にはしません。 午前に届いた郵便を午前のうちに読み取れば、午後には不足の連絡ができます。連絡が1日早まると、請求者に証明書が届く日も1日早まります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| スキャン画像 | 請求書、本人確認書類の写し、小為替、委任状、返信用封筒の表 | Cloud Storage |
| 読み取り結果 | 文字、キーと値、チェックボックス、一般的なエンティティ、画像の品質の点数 | Google Document AI |
| 料金表 | 証明書の種類ごとの手数料(住民票の写し、戸籍謄抄本、除籍・改製原戸籍、附票など) | 市の料金表(設定ファイル) |
| 必須の項目の一覧 | 請求の種類ごとに必要な記載事項 | 市が案内している記載事項を一覧にしたもの |
| 小為替の規則 | 有効期間、受取人の欄の扱い、額面の種類 | ゆうちょ銀行の案内を元に市が決めた規則 |
質を決めるのは、下の3つです。 料金表が無ければ過不足が出せません。必須の項目の一覧が無ければ、何が書かれていないのかを言えません。 小為替の規則が無ければ、期限の切れた小為替を受け取ってしまいます。
料金表は、自分の市のものを使います。 堺市の案内では、住民票の写しが1通300円、戸籍謄抄本が450円、除籍・改製原戸籍の謄抄本が750円、戸籍の附票が300円とされ、手数料は市区町村によって異なると書かれています。他の市の料金表を流用しないでください。
データの取得方法を決める
請求書の形で、使うプロセッサを分けます。 市の様式はページの見出しで見分けられるので、様式なら Form Parser、それ以外は Enterprise Document OCR に送ります。小為替・本人確認書類・委任状は Enterprise Document OCR で読みます。
| 取るもの | どのプロセッサで | 何に使うか |
|---|---|---|
| 様式の欄の値 | Form Parser のキーと値 | 請求者・対象者・連絡先などの値の候補 |
| 証明書の種類の印 | Form Parser のチェックボックス | 住民票・戸籍・附票などのどれに印があるか |
| 日付・住所・人名 | Form Parser の一般的なエンティティ | 生年月日、住所、氏名の候補 |
| 便箋の文字 | Enterprise Document OCR | 書き方の決まっていない請求の全文 |
| 画像の品質の点数 | Enterprise Document OCR | 「読めなかった」の判断の材料 |
Enterprise Document OCR には、言語と手書きのヒントを渡します。 郵送の請求は日本語の手書きが中心なので、日本語と手書きのヒントを付けると読み取りの精度を上げられるとされています。
画像の品質の点数は、ページ単位で8つの観点(ぼやけ、小さすぎる文字、反射など)から返ります。この点数が低いページの空欄は、「書かれていない」ではなく「読めなかった」として扱います。
ページ数の上限にも気を付けます。同期の処理は Form Parser も Enterprise Document OCR も15ページまでです。封筒1通で15ページを超えることはまずありませんが、まとめてスキャンしてしまった束はバッチ処理に回すか、分けます。
AIへ渡す前に整形する
- 形式の確認 … Enterprise Document OCR は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP を扱います
- サイズとページ数の確認 … 同期の処理でファイル40MB、15ページまで。画像は40メガピクセルが上限です
- 向きの確認 … 封筒から出した紙は向きがそろっていません。Enterprise Document OCR の回転の補正を使います
- 書類の区切り … 1つのPDFの中で、請求書・小為替・本人確認書類・委任状がどのページかを見分けます
- 本人確認書類の伏せ字の確認 … 健康保険の資格確認書の写しは、保険者番号と記号・番号を黒く塗るよう案内されています。塗られていないものは、読み取り結果からその部分を消して保管します
- 重複の確認 … 同じ請求者・同じ対象者・同じ種類の請求が直近にあれば、二重に届いた可能性として印を付けます
4番目は、生成AIに任せます。 ページの文字から「請求書」「定額小為替証書」「運転免許証」「委任状」のどれかを見分けさせます。見分けに迷うページは unknown とし、職員が見ます。
AIに処理させる
させるのは、書類の種類を見分け、台帳の項目に値をそろえ、根拠の文字列を添えることだけです。
| 台帳の項目 | 中身 | 判断できないときの扱い |
|---|---|---|
| 請求者 | 住所、氏名、生年月日、昼間の連絡先 | 欄が無い・空なら missing、読めなければ unreadable |
| 請求者の立場 | 本人/同じ世帯/代理人/第三者 | 書かれていなければ missing。推し量らない |
| 対象者 | 住所または本籍、氏名、筆頭者(戸籍の場合) | 候補が複数なら ambiguous |
| 証明書 | 種類と通数(種類ごとに1行) | 種類が読み取れなければ unreadable |
| 使用目的と提出先 | 書かれた文字列のまま | 書かれていなければ missing |
| 小為替 | 1枚ごとの額面、発行日、受取人の欄に記入があるか | 額面が読めなければ unreadable |
| 同封物 | 本人確認書類の写し、委任状、返信用封筒の有無 | 見つからなければ not_enclosed |
請求者の立場を推し量らせないのが、この構成でいちばん大事なところです。 請求者と対象者の姓が同じでも、同じ世帯とは限りません。立場の判断は交付の判断そのものなので、書かれた文字だけを返させます。
| させないこと | 理由 |
|---|---|
| 手数料の計算と過不足の計算 | 料金表で機械的に決まる。プログラムが行う |
| 交付してよいかの判断 | 請求者の資格、第三者の正当な理由、本人確認は職員が判断する |
| 請求者の立場の推測 | 姓や住所が同じでも同じ世帯とは限らない |
| 読めない字の補完 | 氏名や本籍を「それらしい」字で埋めると、別の人の証明書を探すことになる |
| 本人確認書類の真偽の判断 | 写しで真偽は分からない。職員が規程に沿って確かめる |
4行目が、いちばん起きやすい失敗です。 氏名の1字が読めないとき、AIはよくある字で埋めます。埋めた字が正しくても誤っていても、読めなかったという事実が消えます。 読めない字は ? のまま残させ、職員が原本を見ます。
指示内容を固定する
あなたは市民課の郵送の受付担当として、郵送で届いた証明書の請求を
受付台帳の項目にそろえます。
OCRが返した読み取り結果だけを見てください。推測で埋めないでください。
【まず、ページごとに書類の種類を見分けてください】
request(請求書)/ money_order(定額小為替証書)/ id_copy(本人確認書類の写し)/
proxy(委任状)/ envelope(返信用封筒)/ unknown
【台帳の項目】
1. 請求者(住所、氏名、生年月日、昼間の連絡先)
2. 請求者の立場(本人/同じ世帯/代理人/第三者)
3. 対象者(住所または本籍、氏名、筆頭者)
4. 証明書の種類と通数(種類ごとに1行)
5. 使用目的と提出先
6. 小為替(1枚ごとに、額面、発行日、受取人の欄に記入があるか)
7. 同封物の有無
【status の選び方】
- ok ............ 値が読み取れている
- missing ....... 欄が無い、または欄が空である
- unreadable .... 文字はあるが読み取れない(画像の品質の点数が低い場合を含む)
- ambiguous ..... 候補が複数あり、1つに決められない
- not_enclosed .. 同封物が見つからない
迷ったときに ok を選ばないでください。
【厳守事項】
- 読めない字を補わないでください。読めない字は ? のまま value に入れ、
status を unreadable にしてください。
- 請求者の立場は、請求書に書かれた文字だけで決めてください。
姓や住所が同じことを理由に「同じ世帯」としないでください。
書かれていなければ missing にしてください。
- 手数料、合計、過不足を計算しないでください。
小為替の額面は、証書に書かれた数字をそのまま返してください。
- 交付してよいか、本人確認が足りているかを書かないでください。
- evidence には、根拠にした文字列をそのまま写してください。
- 本人確認書類の写しからは、氏名・住所・生年月日だけを返し、
番号は返さないでください。
【読み取り結果】{ocr_result}
【ページごとの画像の品質の点数】{quality_scores}
【市の様式かどうか】{is_city_form}
「姓や住所が同じことを理由にしない」を書かないと、立場が埋まります。 請求者と対象者の姓が同じなら、AIは「同じ世帯」と書きます。そう書かれた台帳を見ると、職員は委任状の有無を確かめずに進めてしまいます。
「番号は返さない」も意図して書いています。 本人確認書類の写しには、免許証の番号などが写っています。照合に要るのは氏名・住所・生年月日だけで、番号を台帳に残す理由はありません。
出力形式を固定する
次の形のJSONで受け取ります。 Claude API の構造化出力(output_config.format に json_schema)で形を守らせます。
{
"receipt_no": "",
"pages": [ { "page": 1, "doc_type": "request" } ],
"fields": [
{ "item": "requester_name", "status": "ok | missing | unreadable | ambiguous",
"value": "", "evidence": "", "page": 1 }
],
"certificates": [ { "type": "", "copies": 0, "status": "ok", "evidence": "" } ],
"money_orders": [
{ "face_value": 0, "issue_date": "", "payee_filled": "yes | no | unreadable",
"status": "ok" }
],
"enclosures": { "id_copy": "found | not_enclosed", "proxy": "found | not_enclosed",
"envelope": "found | not_enclosed" }
}
1つ目の理由は、過不足をプログラムが計算できることです。 certificates の種類と通数に料金表を掛け、money_orders の額面を足して比べます。不足なら fee_short、多ければ返す額を台帳に書きます。 目黒区の案内では、未使用分は定額小為替で返すとされています。
2つ目は、小為替の規則を機械的に当てられることです。
| 規則 | 印 |
|---|---|
| 発行日から6か月を過ぎている(有効期間は発行日から6か月) | needs_staff(使えない小為替) |
| 受取人の欄に記入がある(何も書かないよう案内している) | needs_staff |
| 額面が12種類(50円〜1,000円)のどれにも当たらない | unreadable(読み違いの疑い) |
3つ目は、印の決め方を規則の側に置けることです。 どの項目が欠けたら電話で確かめ、どれなら原本を見るだけでよいかは市の取り決めです。取り決めが変わっても、直すのは規則だけです。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Cloud Storage | Eventarc で Cloud Run functions を起動 | スキャン画像の保存を検知する |
| Google Document AI | API呼び出し | 様式は Form Parser、それ以外は Enterprise Document OCR |
| Claude API | API呼び出し | 書類の見分けと台帳の項目へのそろえ |
| 受付台帳 | 表計算への書き出し | 案として行を足す。確定は職員 |
| 基幹の仕組み | つながない | 発行は職員が従来どおり行う |
基幹の仕組みにつながないのは、意図してのことです。 住民記録と戸籍の仕組みは、外部のクラウドと切り離して運用するのが前提です。台帳の案を職員が見て、基幹の仕組みには職員が入力します。
人が確認する
職員が開くのは、印の付いた請求です。 ok の請求も、台帳の案を流し見て確定の印を付けます。交付の判断は、印の有無にかかわらず全件を職員が行います。
unreadableを先に見る … 原本の封筒を出して、読めなかった字を確かめます。多くはこれで片付きますmissingを見る … 本当に書かれていないかを原本で確かめ、必要なら請求者に電話しますfee_shortと小為替の印を見る … 不足の連絡の下書きを直して送ります- 請求者の立場と同封物を見る … 代理人なら委任状、第三者なら理由の資料を確かめ、交付してよいかを判断します
目標は、600件をならして1件3分です。 1分はスキャン、残りが台帳の確定と印の確認です。印が付くのは2割前後という想定で、それより多い月は、スキャンの設定か必須の項目の一覧を見直します。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像の品質の点数が低い | 空欄を unreadable として扱い、原本を見る。スキャンし直す |
| 便箋の請求で項目の場所が決まらない | Enterprise Document OCR の全文から生成AIがそろえる。迷えば ambiguous |
| キーと値が返らない欄がある | 空欄と即断しない。 全文から値を探し、無ければ missing |
| 小為替の発行日が読めない | unreadable。職員が証書を見る |
| 切手・収入印紙・小切手が同封されている | 小為替の代わりにならない。needs_staff で職員へ |
| キャッシュレスの決済を選んだ請求 | 小為替が無いのが正しい。支払方法の欄を見てから fee_short を付ける |
| 他の市区町村の本籍の戸籍の請求 | 本籍地の市区町村に請求するもの。needs_staff で職員へ |
| 1つのPDFに複数の請求が入っている | 書類の区切りが合わない。分けて入れ直す |
| 処理が失敗する | Cloud Storage に残し、処理済みへ移すのは成功時だけ |
6行目は、新しく起きている例外です。 目黒区の案内では、2026年4月から住民票の郵送請求でクレジットカード決済・PayPay決済が使えるとされています。小為替が無いことを一律に不足とすると、支払済みの請求に不足の連絡を送ってしまいます。
記録を残す
- スキャン画像と、受付日・受付の連番
- Document AI の結果のJSON全文と、画像の品質の点数
- Claude API の出力(
fields、certificates、money_orders、enclosures) - 計算に使った料金表の版と、過不足の計算の結果
- 職員が値を直した記録と、交付の判断をした職員
- 不足の連絡を送った日時と、返事が届いた日時
4つ目で料金表の版を残すのは、改定があるからです。 改定の前に届いた請求を改定の後に処理すると、どちらの料金で計算したかが分からなくなります。
本人確認書類の写しの保管期間は、市の文書の取り扱いの規程に合わせます。 読み取り結果のJSONにも氏名や住所が残るので、画像と同じ期間で消すようにします。
04実装レベルの3段階
本記事が想定するのは半自動化です。 スキャンは職員が行い、基幹の仕組みへの入力も職員が行います。この2つを残すのは、原本と基幹の仕組みに職員が必ず触れるようにするためです。 本格構成は、半自動化を3か月回してからにします。 missing と fee_short の件数と、そのうち誤りだったものの割合を見てから、不足の連絡の下書きを使うかを決めます。 誤った不足の連絡は、請求者に余計な小為替を買わせることになります。
05工数削減シミュレーション
導入後 600件 × 3分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 住民票の写しや戸籍証明書の郵送請求を月に数百件受け付け、請求書の読み取りと受付台帳への入力、定額小為替の額の確認を職員が手作業で行っている市区町村の市民課・戸籍住民課。自治体の様式だけでなく便箋に手書きした請求も多く、記入漏れの確認と、手数料の不足で請求者に連絡する件数が多い場合。郵送の受付を一部の職員に任せていて、繁忙期に処理が遅れる場合。
- 郵送請求が月に数十件で、目視で足りる場合。請求の大半がオンライン申請やコンビニ交付に移っている場合。自治体の情報セキュリティの規程で、住民の個人情報を国外のリージョンで処理するクラウドサービスに渡せない場合(この構成の読み取りサービスには日本のリージョンがありません)。なお、証明書を交付してよいか(請求者の資格、第三者請求の正当な理由、本人確認)の判断は職員が行うもので、この構成では代替できません。
07最小構成で試す方法
- 先月届いた郵送の請求から20件を選ぶ(便箋の請求、記入漏れのあったもの、不足額のあったものを入れる)
- その20件について、当時の受付台帳の行と、不足の連絡をしたかを集める
- 個人情報を伏せた見本(職員が書いた模擬の請求書)を20件作り、手元のAIサービスの画面に貼り付ける
- 「この請求書から、請求者・対象者・証明書の種類と通数・使用目的・小為替の額面と発行日を取り出してください。読めない字は ? のままにしてください。計算はしないでください」と指示する
- 出てきた結果を、当時の台帳と突き合わせる
3番目で本物の請求書を使わないでください。 住民の個人情報を、契約や規程の確認の済んでいないサービスに貼ることになります。職員が実物の癖をまねて書いた模擬の請求書で十分に試せます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の台帳と同じ項目がそろった | OCRの連携に進む |
| 読めない字を補った | 指示の書き方で直る。構成は有効 |
| 請求者の立場を推し量った | 「書かれた文字だけで決める」を重ねて書く |
| 手書きの字がほとんど読めない | スキャンの設定が先。 解像度と濃さを見直す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
空欄なのにキーと値が返らず、ok と読まれる | 空のキーと値は確実には取り出せない。 必須の項目の一覧で値の有無を見る |
| 読めない字が補われる | ? のまま返させ、画像の品質の点数とあわせて unreadable にする |
| 請求者の立場が推し量られる | 書かれた文字だけで決めさせる。立場の判断は交付の判断 |
| 過不足の計算が合わない | 計算をAIにさせない。自分の市の料金表で計算する |
| 期限切れの小為替を受け取る | 発行日から6か月を規則で確かめる |
| キャッシュレス決済の請求に不足の連絡を送る | 支払方法の欄を見てから fee_short を付ける |
| 1通の封筒が複数のファイルに分かれる | 封筒1通を1つのPDFにする。受付の連番を封筒にも書く |
| 本人確認書類の番号が台帳に残る | 番号を返させない。資格確認書の伏せ字の漏れは消して保管する |
| 他の市の料金表で計算している | 料金表は市区町村ごとに違う。版を付けて自分の市のものだけを使う |
上の3行が、この構成の失敗のほとんどです。 どれも、台帳の案が「埋まって見える」ことで、職員が確かめるべきところを素通りするという同じ形をしています。埋まっていないものを埋まっていないまま出すのが、この構成の約束です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 請求者と対象者の氏名・住所・生年月日・連絡先、戸籍の本籍と筆頭者、本人確認書類の写し、委任状です。住民の個人情報そのものです。
- 処理する場所を先に決める … Form Parser と Enterprise Document OCR に日本のリージョンはありません。国外のリージョンで処理してよいかを、市の情報セキュリティの規程と個人情報の取り扱いの判断で先に決めます。 生成AIのサービスについても、同じ確認が要ります
- 基幹の仕組みと切り離す … この構成は基幹の仕組みにつながず、台帳の案を出すだけです。住民記録と戸籍のデータを、この構成の側へ持ち出しません
- 生成AIに渡す範囲を絞る … 本人確認書類からは氏名・住所・生年月日だけを返させ、番号は台帳に残しません
- 交付の判断を自動にしない … 請求者の資格、第三者請求の正当な理由、本人確認は職員が行います。この構成が出すのは、請求書に何が書かれていたかと、手数料が足りているかという事実だけです
- 保管期間をそろえる … スキャン画像と読み取り結果は、市の文書の取り扱いの規程で決めた期間で消します
誤りが起きた場合のリスクは、別の人の証明書を探すことと、足りている請求に不足の連絡を送ることの2つです。 どちらも「埋めない」ことで防げるので、そこは設計で守ります。
10まず何から始めるか
1週目:規程の確認を始める
住民の個人情報を、国外のリージョンで処理するクラウドに渡してよいかを、情報政策の担当と個人情報の担当に確かめます。この答えが出るまでは、本物の請求書を外部のサービスに入れません。
2週目:必須の項目の一覧と料金表を作る
市が案内している記載事項を、請求の種類ごとに一覧にします。料金表には版の番号を付けます。小為替の規則(有効期間、受取人の欄、額面の種類)も文章にします。
3週目:模擬の請求書で試す
職員が実物の癖をまねて、便箋の請求、記入漏れのある請求、不足額のある請求を20件作り、手元のAIサービスで項目を取り出させます。読めない字を補っていないか、請求者の立場を推し量っていないかを最優先で見ます。
4週目:スキャンの手順を決める
封筒1通を1つのPDFにし、受付の連番を封筒とファイル名にそろえる手順を決めます。解像度と濃さの設定も、ここで決めます。
2か月目: 規程の確認が済んだら、Cloud Storage から台帳の案までをつなぎ、missing・unreadable・fee_short の件数を毎週数えます。3か月目以降: 1件10分が何分になったかを実測し、印の誤りの割合を見て、不足の連絡の下書きを使うかを決めた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 申請書、本人確認書類の写し、手数料の定額小為替、返信用封筒を同封すること。記載事項(申請者の住所・氏名・生年月日、昼間の連絡先、必要な人の住所・氏名、証明書と必要数、使用目的と提出先など)が書かれていれば便箋や他区市町村の申請書でも受け付けること。小為替の指定受取人の欄に何も書かないこと。切手・収入印紙・小切手は代わりにならないこと。未使用分は小為替で返すこと。資格確認書の写しは保険者番号等を塗りつぶすこと。2026年4月から住民票の郵送請求でクレジットカード・PayPay決済が使えること | 目黒区: 住民票を郵送で請求するとき | 2026-10-07 |
| 戸籍・住民票の写し等の郵送用の申請書。返信用封筒、本人確認書類の写し、委任状などが必要なこと。手数料が住民票の写し300円、戸籍謄抄本450円、除籍・改製原戸籍の謄抄本750円、戸籍の附票300円などであり、市区町村によって異なること | 堺市: 戸籍・住民票の写し等交付申請書(郵送用) | 2026-10-07 |
| 定額小為替の額面が50円から1,000円までの12種類であること。有効期間が発行日から6か月であること | ゆうちょ銀行: 定額小為替 | 2026-10-07 |
| Form Parser がキーと値のペア、表、チェックボックス、一般的なエンティティ(日付、住所、人名、金額など)を取り出すこと。値が空のキーと値のペア(記入されていない様式など)を確実には取り出せないこと | Google Cloud: Form Parser | 2026-10-07 |
| Enterprise Document OCR が手書きを読み、画像の品質の点数(8つの観点)、言語と手書きのヒント、回転の補正を持つこと。PDF、GIF、TIFF、JPEG、PNG、BMP、WebP を扱うこと | Google Cloud: Enterprise Document OCR | 2026-10-07 |
| Enterprise Document OCR と Form Parser の対応言語の一覧で、日本語の手書きが対応とされていること | Google Cloud: Processor list | 2026-10-07 |
| Form Parser と OCR の対応地域が us、eu と、asia-south1、asia-southeast1、australia-southeast1、europe-west2、europe-west3、northamerica-northeast1 であること | Google Cloud: Regional and multi-regional support | 2026-10-07 |
| 同期の処理のファイルが40MBまで、画像が40メガピクセルまでであること。Form Parser と Enterprise Document OCR の同期の処理が15ページまでであること | Google Cloud: Document AI limits | 2026-10-07 |
Cloud Run が Eventarc で Cloud Storage のイベント(google.cloud.storage.object.v1.finalized)から呼び出せること。サービスとバケットを同じプロジェクトに置くこと | Google Cloud: Create triggers from Cloud Storage events | 2026-10-07 |
構造化出力を output_config.format に json_schema を指定して受け取れること | Claude Docs: Structured outputs | 2026-10-07 |
交付の判断、本人確認、個人情報を外部のサービスで処理してよいかの判断は、市の規程に沿って職員と担当部署が行うものです。 本記事は各自治体とゆうちょ銀行の案内で確認できた範囲と、請求の読み取りと台帳の案までを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0792)についてのご相談はこちらから。
