司法書士事務所で、登記の依頼ごとに受け取る固定資産評価証明書を読み取り、物件の表示と価格を申請書の下書きと登録免許税の計算表に転記する
登記の依頼ごとに受け取る固定資産評価証明書を読み取り、物件ごとの所在・地番・地目・地積・家屋番号・床面積・価格を取り出します。それを申請書の「不動産の表示」の下書きと、登録免許税の計算表に転記します。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Document AI
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 不動産/士業
- 対象部門
- 法務
- 対象業務
- データ入力・転記/書類作成
- 主な課題
- 入力作業が多い/属人化している/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 依頼者から評価証明書の写しを受け取るか、事務所で取得し、案件のフォルダにPDFで保存する
- 補助者が証明書を開き、物件ごとに所在・地番・地目・地積(建物なら家屋番号・種類・構造・床面積)を申請書の「不動産の表示」に写す
- 同じ物件の価格を計算表に写し、登記の目的に合わせて税率を選ぶ
- 持分の移転なら持分を入れ、複数の物件をまとめる申請なら合計の行を確かめる
- 登記事項証明書の物件の表示と、写した内容を見比べる
- 司法書士が、申請書と計算表と証明書を並べて照合する
- 誤りが見つかれば補助者が直し、もう一度照合する
- 人補助者が評価証明書のPDFを案件のフォルダの「評価証明書」に保存し、案件の一覧に登記の目的と持分を入れる
- 自動Google Apps Script が数分おきにフォルダを見て、新しいファイルを拾う
- 自動Document AI の Form Parser が、項目名と値の組、表、信頼度を返す
- 自動Gemini API が、物件ごとに所在・地番・地目・地積・家屋番号・種類・構造・床面積・価格を取り出し、どの列から取ったかを残す
- 自動Apps Script が、登記事項証明書から写した物件の表示と突き合わせ、一致しない項目に印を付ける
- 自動Apps Script が、計算表の規則(1,000円未満の切り捨て、税率、100円未満の切り捨て)で登録免許税の下書きを計算する
- 自動物件ごとに `ok` / `no_value` / `mismatch` / `needs_review` を付け、申請書の下書きと計算表に書き込む
- 人補助者が `ok` 以外の物件と、税率の軽減・免税の候補を確かめる
- 人司法書士が、申請書の下書き・計算表・証明書を照合する
- 人申請書を登記の申請ソフトに取り込み、申請する
各工程の詳しい説明を読む
- 依頼者から評価証明書の写しを受け取るか、事務所で取得し、案件のフォルダにPDFで保存する
- 補助者が証明書を開き、物件ごとに所在・地番・地目・地積(建物なら家屋番号・種類・構造・床面積)を申請書の「不動産の表示」に写す
- 同じ物件の価格を計算表に写し、登記の目的に合わせて税率を選ぶ
- 持分の移転なら持分を入れ、複数の物件をまとめる申請なら合計の行を確かめる
- 登記事項証明書の物件の表示と、写した内容を見比べる
- 司法書士が、申請書と計算表と証明書を並べて照合する
- 誤りが見つかれば補助者が直し、もう一度照合する
(a)「価格」と「課税標準額」の取り違え。 証明書には、価格の隣に固定資産税・都市計画税の課税標準額が並んでいることが多く、住宅用地の特例がかかった土地では、課税標準額が価格より大きく下がっています。3番目でこちらを写すと、登録免許税が低く計算されます。
(b)登記の地目・地積と、現況の地目・地積。 多くの証明書には、登記上の地目・地積と、課税上の現況の地目・地積が並んでいます。申請書に写すのは登記上のものですが、2つの列が並ぶと取り違えが起きます。
(c)筆が多い案件で、行がずれる。 7物件が並ぶ証明書で、1行ずらして地番と価格を組み合わせると、申請書も計算表も、見た目は整ったまま誤ります。
(d)照合が司法書士に集中する。 6番目は、司法書士3名が月120件を見ることになります。決済の日が重なる月末には、照合の待ちが申請の遅れにつながります。
- 【人】 補助者が評価証明書のPDFを案件のフォルダの「評価証明書」に保存し、案件の一覧に登記の目的と持分を入れる
- 【自動】 Google Apps Script が数分おきにフォルダを見て、新しいファイルを拾う
- 【自動】 Document AI の Form Parser が、項目名と値の組、表、信頼度を返す
- 【自動】 Gemini API が、物件ごとに所在・地番・地目・地積・家屋番号・種類・構造・床面積・価格を取り出し、どの列から取ったかを残す
- 【自動】 Apps Script が、登記事項証明書から写した物件の表示と突き合わせ、一致しない項目に印を付ける
- 【自動】 Apps Script が、計算表の規則(1,000円未満の切り捨て、税率、100円未満の切り捨て)で登録免許税の下書きを計算する
- 【自動】 物件ごとに
ok/no_value/mismatch/needs_reviewを付け、申請書の下書きと計算表に書き込む - 【人】 補助者が
ok以外の物件と、税率の軽減・免税の候補を確かめる - 【人】 司法書士が、申請書の下書き・計算表・証明書を照合する
- 【人】 申請書を登記の申請ソフトに取り込み、申請する
8番目が、この設計の分かれ目です。 補助者は全物件を写し直すのではなく、印の付いた物件だけを証明書と見比べます。 写す作業を残すと、30.0時間はほとんど減りません。
9番目の司法書士の照合は、減らしません。 変わるのは照合の中身で、数字を1つずつ追う照合から、印の付いた物件と税率の選択を確かめる照合になります。
02今回想定するシステム構成
固定資産評価証明書(PDF・スキャン・写真) │ 補助者が案件のフォルダへ保存 ▼【トリガー】Google Apps Script の時間主導型トリガー(数分おき) Google Apps Script ── 形式・ページ数の確認、案件の特定 ▼ Google Document AI(Form Parser) │ 項目名と値の組・表・信頼度を返す ▼ Gemini API ── 物件ごとの項目の取り出し │ 所在/地番/地目(登記)/地積(登記)/家屋番号/床面積/価格 ▼ Google Apps Script ── 登記事項証明書との突き合わせ、税額の計算、状態の付与 │ ok/no_value/mismatch/needs_review ├──▶ 申請書の「不動産の表示」の下書き(ドキュメント) └──▶ 登録免許税の計算表(スプレッドシート) ▼ 【補助者が印の付いた物件を確認】──▶【司法書士が照合】──▶ 申請ソフトへ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Document AI(Form Parser) | Azure AI Document Intelligence |
| 生成AI | Gemini API(物件ごとの項目の取り出しと、列の対応付け) | Claude API、OpenAI API |
| 連携 | Google Apps Script(フォルダの監視、突き合わせ、計算表への書き込み) | Python |
| 保管 | Google ドライブ、Google スプレッドシート | 事務所の案件管理システム |
登記の申請ソフトと計算表は、新しく足すものではありません。 この構成からは申請ソフトに書き込まず、下書きを補助者が取り込みます。 新しく作るのは、市区町村ごとの様式メモです。「この市の証明書は、価格の列の右に課税標準額の列がある」「この区は登記地積と現況地積が上下に並ぶ」といった、補助者が覚えている癖を1自治体1行で書き出します。
土台は Document AI の Form Parser です。 公式のプロセッサ一覧では、OCRのテキストに加えて、キーと値のペア、表、一般的なエンティティを抽出するとされ、200を超える言語に対応します。言語の一覧には日本語(ja)があります。ページの上限は同期処理で15ページ、バッチ処理で100ページです。
Form Parser は事前学習済みで、追加で学習させることはできないとされています。市区町村ごとに学習させない代わりに、どの様式でも項目名と値の組と表を返します。 返る項目名は文書に書かれた文字そのもので、「価格」「評価額」「令和8年度価格」は別のキーとして返ります。そろえるのは後段の Gemini API と様式メモの仕事です。
表の読み取りには限りがあります。 Form Parser の表の抽出は、行や列をまたぐセルのない単純な表が対象とされています。評価証明書は「地目」の見出しの下に「登記」と「現況」が分かれるような結合セルが多く、表として崩れたときは、全文のテキストと座標から列を組み直し、その物件を needs_review にします。
Custom Extractor を本命にしない理由も書いておきます。 生成AIで項目を抽出するプロセッサですが、公式には、生成AIで抽出する場合にサポートされる言語は英語だけとされています。日本語の証明書は Form Parser で読み、項目の取り出しは Gemini API に任せます。
03どうやって実装するのか
処理の起点を決める
Google Apps Script の時間主導型トリガーで、数分おきに案件のフォルダの「評価証明書」を見ます。 決済の日は月末と月初に集中し、その数日前に証明書がまとまって届くため、1日1回の定時実行にはしません。 まとめて処理すると、印の付いた物件を確かめる時間が決済の前日に押し込まれます。
入る経路は3つです。依頼者から受け取った写しをスキャンしたもの、事務所で取得してPDFにしたもの、依頼者がメールで送ってきた写真です。どれも同じ「評価証明書」のフォルダに保存し、そこから先は区別しません。
案件の一覧に、登記の目的と持分が入っていることを処理の条件にします。 目的が空のまま動かすと、税率を選べないまま計算表が埋まります。目的が空の案件は読み取りだけ行い、計算は止めて needs_review にします。 処理が終わったファイルには処理済みの印を付け、印を付けるのは書き込みまで成功したときだけにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 評価証明書のファイル | PDFまたは画像。年度、所有者、物件の一覧 | 案件のフォルダ |
| 読み取り結果 | 項目名と値の組、表のセル、全文のテキスト、項目ごとの信頼度 | Document AI(Form Parser) |
| 案件の情報 | 登記の目的(売買・相続・贈与・保存など)、申請日の予定、持分、物件の数 | 案件の一覧(スプレッドシート) |
| 登記事項証明書の物件の表示 | 所在、地番、地目、地積、家屋番号、種類、構造、床面積 | 補助者が案件の一覧に写したもの |
| 市区町村の様式メモ | 価格の列の位置、課税標準額の列の位置、登記と現況の並び方 | 事務所で用意する一覧 |
質を決めるのは、下の2つです。 登記事項証明書の表示がなければ、証明書から読んだ地番が正しいかを突き合わせる先がありません。様式メモがなければ、価格と課税標準額のどちらがどの列かを、AIが様式ごとに推し量ることになります。
登記事項証明書の表示を、評価証明書から作らないでください。 2つは別の役所が出す別の書類で、食い違いを見つけるために突き合わせます。 片方から片方を作ると、突き合わせる意味がなくなります。
データの取得方法を決める
読み取りは、Apps Script から Document AI の処理のAPIを呼ぶだけです。ファイルを渡すと、Document という形の応答が返ります。
| 取るもの | 応答のどこから | 何に使うか |
|---|---|---|
| 項目名と値の組 | pages[].formFields[] の fieldName と fieldValue | 年度、所有者、証明日などのヘッダー |
| 表 | pages[].tables[] の headerRows と bodyRows | 物件ごとの行と、価格・課税標準額の列 |
| 全文のテキスト | text と、各要素の textAnchor | 表として崩れた部分の組み直し |
| 信頼度 | 各要素の layout の confidence | 地番と価格の読み取りが確かかの判定 |
表は見出しの行ごと取ります。 headerRows に「価格」「課税標準額」「登記」「現況」がどう並んでいるかが、どの列を写すかの根拠になります。見出しを捨てて値だけを渡すと、列の意味が分からなくなります。
案件の一覧と登記事項証明書の表示は、スプレッドシートを読むだけで足ります。 突き合わせの順は、所在と地番が先、地目と地積が後です。建物は所在と家屋番号で引きます。
AIへ渡す前に整形する
- 形式の確認 … Form Parser の対象は PDF、GIF、TIFF、JPEG、PNG、BMP、WebP です。それ以外は PDF にします
- ページ数の確認 … 同期処理は15ページまでです。物件の多い証明書で超えるものは、バッチ処理に回します
- 写真の補正 … スマートフォンの写真は、傾きと影を直してからPDFにします。影のかかった数字は、価格の読み違いに直結します
- 案件の特定 … フォルダの名前から案件番号を取り、案件の一覧の行を引きます
- 様式の推定 … 1ページ目の発行者の名称から市区町村を推定し、様式メモを引きます
- 課税明細書との区別 … 依頼者が課税明細書の写しを送ってくることがあります。書類の種類を先に判定し、種類ごとに様式メモを引き分けます
- 重複の検知 … 同じ案件に同じ年度の証明書が2つあれば、新しいほうを使い、古いほうに印を付けます
3番目と6番目を軽く見ないでください。 法務局の案内では、課税標準になる価格は毎年届く課税明細書に記載されているとされ、依頼者が課税明細書を送ってくるのは自然なことです。 ただし書類の並びは評価証明書と違うため、同じ様式メモでは列を取り違えます。
AIに処理させる
させるのは、物件ごとに項目を取り出し、どの見出しの列から取ったかを書き出すことだけです。
| 取り出すもの | 取り方 | 判断できないときの扱い |
|---|---|---|
| 所在・地番 / 家屋番号 | 行ごとに読み取った文字をそのまま | 読めなければ空にして needs_review |
| 地目・地積 | 登記上の列から取る。現況の列は current_ として別に残す | 登記と現況の区別がつかなければ needs_review |
| 種類・構造・床面積 | 建物の行から取る。床面積は階ごとに | 階の区別がつかなければ needs_review |
| 価格 | 「価格」「評価額」の列から取る | 空欄・「非課税」の表示なら no_value |
| 課税標準額 | 別の項目として残す(計算には使わない) | 読めなくても止めない |
| 年度 | ヘッダーから | 読めなければ needs_review |
価格と課税標準額の両方を取らせるのは、取り違えを機械で見つけるためです。 両方を別の項目に入れさせておくと、価格より課税標準額が大きい、両方が同じ値といった並びを計算表の側で検出できます。 価格だけを取らせると、取り違えたときにそれが分かりません。
| させないこと | 理由 |
|---|---|
| 登録免許税の計算 | 端数処理と税率は法務局の計算方法どおりに、計算表で行う |
| 税率の選択 | 登記の目的と軽減の要件で決まる。司法書士が確かめる |
| 空欄の価格を埋める | 価格がなければ登記所が認定する価額になる。近くの数字で埋めない |
| 地番の補完 | 似た地番に寄せると、別の土地の価格が付く |
| 現況の地目を申請書に書く | 申請書に写すのは登記上の地目 |
3行目がいちばん起きやすい失敗です。 私道の行の価格が空欄で、隣の行に価格があると、AIは行を詰めて隣の価格を持ってくることがあります。その瞬間、地番と価格の組み合わせが1行ずつずれます。
指示内容を固定する
あなたは司法書士事務所の補助者で、固定資産評価証明書から
登記の申請書と登録免許税の計算表に写す項目を取り出す立場です。
OCRが返した読み取り結果だけを見てください。推測で埋めないでください。
【やること】
証明書に並んでいる物件を1件ずつ、次の項目に分けて取り出してください。
土地:所在、地番、地目(登記)、地積(登記)、地目(現況)、地積(現況)、価格、課税標準額
建物:所在、家屋番号、種類、構造、床面積(階ごと)、価格、課税標準額
各項目について、どの見出しの列から取ったかを source_header に写してください。
【厳守事項】
- price には「価格」または「評価額」の見出しの列の値を入れてください。
「課税標準額」「固定資産税課税標準額」「都市計画税課税標準額」の列の値は
tax_base に入れ、price に入れないでください。
- 地目と地積は、登記の列と現況の列を分けてください。どちらか分からなければ
status を needs_review にしてください。
- 価格の欄が空欄、または「非課税」などと書かれている物件は、price を空にし、
status を no_value にしてください。隣の行や別の列の数字で埋めないでください。
- 行を詰めないでください。読めない行があっても、行の順番を保ってください。
- 地番・家屋番号・数字は読み取った文字列をそのまま写してください。
桁を補う、似た番号に直すことをしないでください。
- 税額の計算、税率の選択、端数の処理をしないでください。
- 固定資産評価証明書でない書類(課税明細書、名寄帳、登記事項証明書)と
判断した場合は、document_type に種類を書いてください。
【読み取り結果】{ocr_result}
【市区町村の様式メモ】{format_note}
「price に課税標準額を入れない」を、列の名前を3つ挙げて書いているのは、名前の違いで抜けるからです。 「課税標準額」とだけ書くと、「固定資産税課税標準額」を別のものと見て price に入れることがあります。禁じる列は、証明書に出てくる表記のまま並べます。
「行を詰めない」を書くのも同じ理由です。 読めない行を飛ばして次の行を詰めると、それより下の物件がすべてずれます。順番を保たせれば、ずれは1行で止まります。
出力形式を固定する
Gemini API の構造化出力で、次の形のJSONに固定して受け取ります。 公式には、指定したJSONスキーマに従う応答を生成させられ、enum で値の候補を限り、required で必須の項目を決められるとされています。
{
"document_type": "valuation_certificate",
"fiscal_year": "",
"issuer": "",
"properties": [
{ "kind": "land | building", "row_no": 0,
"location": "", "lot_or_house_no": "",
"registered_category": "", "registered_area": "",
"current_category": "", "current_area": "",
"price": "", "tax_base": "",
"source_header": { "price": "", "tax_base": "" },
"status": "ok | no_value | needs_review", "confidence": 0 }
]
}
1つ目の理由は、AIの仕事と計算の仕事を別の層に置けることです。 properties はAIが埋め、税額は Apps Script が計算表の規則で出します。法務局の計算例では、同じ税率の物件は価格を合計してから1,000円未満を切り捨て、税率の違う土地と建物はそれぞれに税率を掛けて合計してから100円未満を切り捨てています。 この手順を規則として書いておけば、AIの出力がどうであれ計算は同じになります。
| 状態(Apps Script が付ける) | 条件 |
|---|---|
ok | 登記事項証明書の表示と一致し、価格と課税標準額の並びに不自然な点がない |
no_value | 価格がない。登記所が認定する価額を司法書士が確かめる |
mismatch | 所在・地番・地目(登記)・地積(登記)のどれかが登記事項証明書と違う |
needs_review | 信頼度が基準を下回る、登記と現況の区別がつかない、課税標準額が価格以上 |
2つ目の理由は、スキーマに合っていても値が正しいとは限らないことです。 公式にも、出力は構文として正しいJSONでも、値はアプリケーションの側で必ず検証するよう書かれています。物件の数が案件の一覧の数と合わなければ、全物件を needs_review にします。
3つ目は、source_header で確認が速くなることです。 価格をどの見出しの列から取ったかが残っていれば、画像を開く前に列の取り違えに気づけます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 案件のフォルダ | Apps Script の時間主導型トリガー | 新しい証明書を拾う |
| Document AI | API呼び出し | 項目名と値の組・表・信頼度を返す |
| Gemini API | API呼び出し(構造化出力) | 物件ごとの項目の取り出し |
| 案件の一覧 | スプレッドシートの読み取り | 登記の目的、持分、登記事項証明書の表示 |
| 計算表 | スプレッドシートへの書き込み | 物件ごとの価格、課税標準、税額の下書き、状態 |
| 申請書の下書き | ドキュメントへの書き込み | 「不動産の表示」と課税価格・登録免許税の欄 |
| 登記の申請ソフト | 書き込まない | 補助者が確認後に取り込む |
税率は、案件の一覧の登記の目的から規則で引きます。 売買なら土地と建物で別の率、相続や保存は別の率というように、登記の目的と物件の種類の組で1つの率に決まる表を持ちます。 軽減や免税の候補になる案件には印を付けるだけで、適用は司法書士が要件を確かめてから入れます。
申請ソフトへは書き込みません。 下書きは、補助者と司法書士の確認を通ってから申請ソフトに取り込みます。書き込みを足すと、取り違えた価格がそのまま申請書になります。
人が確認する
補助者が開くのは、ok 以外の物件と、軽減・免税の候補の案件だけです。 ok の物件は一覧で地番と価格を流し見ます。
needs_reviewを先に見る … 証明書の画像で価格と課税標準額の列を確かめます。多くは列の取り違えか、写真の影ですmismatchを登記事項証明書と照らす … 分筆・合筆の後の証明書か、地番の読み違いかを見ます。登記事項証明書の取り直しが要ることもありますno_valueを司法書士に回す … 登記所に価額を確かめるか、評価額のない建物の認定基準で計算するかを決めます- 税率の軽減・免税の候補を確かめる … 住宅用家屋の証明書の有無、相続の土地の免税の要件を見ます
- 直したら記録する … どの物件の、どの項目を、何から何へ直したかを残します
司法書士の照合は、この後に行います。 補助者の確認を省いて照合に回すと、照合が数字を追う作業に戻ります。
目標は、120件をならして1件4分です。 印の付く物件が全体の2割前後という想定で、それより多い月は、様式メモに無い市区町村の証明書が増えています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 価格の欄が空欄・非課税 | no_value。価格がない場合は登記所が認定した価額になる。 司法書士が確かめる |
| 評価額のない新築の建物 | 法務局の新築建物課税標準価格認定基準表などで計算する。計算は司法書士が行う |
| 課税標準額が価格以上 | 列の取り違えの疑い。needs_review |
| 表の結合セルが崩れる | 全文のテキストから組み直し、needs_review |
| 物件の数が案件と合わない | 証明書の取り漏れか、余分な物件。全物件を needs_review |
| 課税明細書が届いた | 書類の種類で様式メモを引き分ける |
| 年度が申請に使えるか分からない | 読み取った年度を残し、使えるかは管轄の法務局の扱いで司法書士が決める |
| 登記の目的が空 | 読み取りだけ行い、計算を止める |
| APIが応答しない、6分を超える | 処理済みの印を付けずに残し、次の実行で拾い直す |
上の2行は、AIでは決められません。 法務局の案内では、固定資産課税台帳の価格がない場合は登記所が認定した価額とされ、東京法務局は評価額のない建物について認定基準表で算出した価格が課税標準になるとしています。どちらも、計算の前に司法書士が判断することです。
記録を残す
- 元の評価証明書のファイルと、受け取った経路(依頼者の写し/職務上の取得/写真)
- Document AI が返した
DocumentのJSONの全文 - Gemini API が返した
propertiesと、そのとき使った様式メモの版 - Apps Script が付けた状態と、そのとき突き合わせた登記事項証明書の表示
- 計算表の税率の表の版と、税額の下書き
- 補助者と司法書士が直した記録
税率の表の版を残すのは、軽減の期限で率が変わるためです。 国税庁の税額表では、土地の売買の税率が令和11年3月31日までの間は1,000分の15とされています。期限をまたいだ案件をあとから見直すとき、当時どの率で計算したかが残っていないと、誤りかどうかが決まりません。
04実装レベルの3段階
最小構成では件数がさばけません。 確かめるための段階です。 半自動化で、1件15分が8分程度になります。 価格の転記は自動になりますが、申請書の物件の表示と登記事項証明書との見比べが残ります。本格構成で4分になり、この段階が本記事の想定です。 差が大きいのは、物件の表示の転記と見比べが、筆の数だけ繰り返す手作業だからです。 段階を飛ばさないでください。 半自動化の計算表を1か月見ると、needs_review の多い市区町村が先に分かります。様式メモをそこで直してから本格構成に進むほうが、照合の戻りが減ります。
05工数削減シミュレーション
導入後 120件 × 4分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 売買・相続・贈与などの所有権の移転や保存の登記を月に百件前後扱い、依頼ごとに市区町村の固定資産評価証明書(または課税明細書)を受け取っている司法書士事務所。補助者が証明書の物件の表示と価格を申請書と計算表に手で写し、司法書士が照合している場合。土地と建物、複数の筆、持分の移転が混ざる案件が多く、転記と端数処理の誤りを照合で見つけている場合。Google Workspace で案件のフォルダと計算表を管理している場合。
- 扱う登記が抵当権の設定・抹消や住所変更などに偏り、固定資産の価格を使う案件が少ない場合。月の件数が十数件で、手で写せば足りる場合。登記の申請ソフトがすでに証明書の読み取りと税額の計算まで備えている場合。なお、税率の軽減や免税を適用できるか、評価額のない物件の価額をどう扱うかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の案件から、土地の筆が多いもの、建物を含むもの、私道を含むものを中心に15件を選ぶ
- その15件の申請書と計算表を、正解として手元に置く
- 証明書を1件ずつ手元のAIサービスの画面に貼り付ける
- 「この固定資産評価証明書から、物件ごとに所在・地番・地目(登記)・地積(登記)・価格を表にしてください。価格は『価格』または『評価額』の列から取り、『課税標準額』の列は別の列にしてください。価格が空欄の物件は空のままにしてください。計算はしないでください」と指示する
- 出てきた表を、正解の申請書と計算表と突き合わせる
私道を含む案件を入れるのが要です。 価格のある物件だけで試すと、空欄を埋める失敗が見えません。
| 出てきた内容 | 判断 |
|---|---|
| 正解と同じ物件の表示と価格になった | OCRと計算表の連携に進む |
| 価格と課税標準額を取り違えた | 指示と様式メモで直る。構成は有効 |
| 空欄の価格を隣の行の数字で埋めた | 「行を詰めない」の指示を足す。直らなければ表の読み取りから見直す |
2行目が出ることは珍しくありません。 それが出た市区町村の様式から、様式メモを書き始めてください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 価格と課税標準額を取り違える | 両方を別の項目で取らせ、並びの不自然さを検出する |
| 登記と現況の地目・地積が混ざる | 列を分けて取らせ、登記事項証明書と突き合わせる |
| 空欄の価格を隣の数字で埋める | 「行を詰めない」を指示に明記する |
| 結合セルの表が崩れる | 単純な表が対象。全文のテキストから組み直す |
| 課税明細書が混ざる | 書類の種類を先に判定し、様式メモを引き分ける |
| 写真の影で数字を読み違える | 補正してからPDFにする。信頼度で人へ回す |
| 端数処理を物件ごとにしてしまう | 同じ税率の物件は合計してから切り捨てる(法務局の計算例) |
| 軽減税率を自動で当てる | 候補の印だけにし、要件は司法書士が確かめる |
| 税率の期限を過ぎても古い率が残る | 税率の表に適用期間を持たせ、版を残す |
| 登記事項証明書の表示を評価証明書から作る | 別の書類として突き合わせる |
上の3行が、この構成の失敗のほとんどです。 どれも、正しく読めた数字を、違う場所に置く失敗です。読み取りの精度を上げても防げず、列と行の対応を出力に残しているかどうかで決まります。
7行目は、AIの外で起きる失敗です。 法務局の計算例では、同じ申請書で複数の土地を申請するとき、価格の合計から1,000円未満を切り捨てています。物件ごとに切り捨ててから合計すると、数百円の差が出ます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 所有者の氏名と住所、物件の所在と地番、価格、そして相続の案件では被相続人と相続人の関係が読み取れる情報です。依頼者の財産の内容がそのまま分かる書類です。
- 有料の利用区分で使う … Gemini API の追加利用規約では、有料のサービスではプロンプトと応答を製品の改善に使わないとされ、無料のサービスでは改善に使われ、人が読むことがあるとされています。無料のサービスには機密の情報を送らないよう書かれています
- AIに渡す範囲を絞る … 物件の項目の取り出しに、所有者の氏名と住所は要りません。読み取り結果から所有者の欄を除いてから渡す設計にできます
- 税率の選択と軽減の適用を自動で決めない … 国税庁の税額表では、住宅用家屋の軽減や相続の土地の免税に期限と要件があるとされています。要件を満たすかは、証明書の有無と事実関係を見て司法書士が決めることです
- 評価額のない物件の価額を自動で決めない … 登記所の認定や、認定基準表による計算は、司法書士が根拠を残して行います
- 案件のフォルダの権限を案件ごとに絞る … 補助者全員がすべての案件の証明書を見られる状態は避けます。処理するアカウントにだけ読み取りの権限を与えます
誤りが起きた場合のリスクは、登録免許税を少なく納めることと、多く納めることの2つです。 前者は価格と課税標準額の取り違えで起き、後者は空欄を隣の数字で埋めると起きます。どちらも、列と行の対応を出力に残すことで防ぎます。
10まず何から始めるか
1週目:様式メモと税率の表を作る
依頼の多い市区町村の上位10か所について、価格の列、課税標準額の列、登記と現況の並び方を1自治体1行で書き出します。あわせて、登記の目的と物件の種類の組ごとに税率を引く表を、適用期間の列つきで作ります。
2週目:15件で試す
筆の多い案件、建物を含む案件、私道を含む案件を中心に15件を選び、手元のAIサービスに物件ごとの表を作らせます。価格と課税標準額の取り違えと、空欄の埋め方を最優先で見ます。
3週目:確認の分担を決める
no_value と軽減の候補を誰がどう確かめるかを、司法書士と補助者で決めます。 あわせて、案件の一覧に登記の目的と持分を必ず入れる運用にします。
4週目:フォルダから計算表までをつなぐ
Apps Script でフォルダを見張り、Document AI と Gemini API を呼び、物件ごとの表を計算表に書き出すところまで作ります。この時点では税額の計算を既存の計算表の式に任せ、読み取りだけを見ます。
2か月目: 登記事項証明書との突き合わせと状態の付与を足し、needs_review と mismatch の件数を毎週数えます。3か月目以降: 申請書の下書きを足し、1件15分が何分になったかを実測します。様式メモに無い市区町村の証明書が月に数件まで減った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 課税標準が固定資産課税台帳の価格であり、課税明細書の「価格」「評価額」の価格で「固定資産税課税標準額」ではないこと。価格がない場合は登記所が認定した価額であること。1,000円未満と100円未満の切り捨て。同じ申請書の複数の土地は価格を合計してから切り捨て、土地と建物は税率ごとに計算して合算してから切り捨てる計算例。税率(土地の売買は令和11年3月31日まで1,000分の15、建物の売買1,000分の20、相続1,000分の4、保存1,000分の4) | 法務局: 登録免許税の計算 | 2026-10-06 |
| 不動産の登記の税率と、住宅用家屋の軽減、相続による土地の移転の免税措置に期限と要件があること | 国税庁: No.7191 登録免許税の税額表 | 2026-10-06 |
| 評価額のない建物について、令和6年4月1日から新築建物課税標準価格認定基準表などで算出した価格が課税標準となること | 東京法務局: 評価額のない建物の課税標準について | 2026-10-06 |
| Form Parser がキーと値のペア、表、一般的なエンティティを抽出し、200を超える言語に対応すること。言語の一覧に日本語があること。ページ上限が同期15、バッチ100であること。Custom Extractor の生成AIによる抽出は英語のみが公式サポートであること | Google Cloud: Processor list | 2026-10-06 |
| Form Parser が事前学習済みで追加の学習ができないこと。表の抽出が行や列をまたぐセルのない単純な表を対象とすること | Google Cloud: Form Parser | 2026-10-06 |
formFields が fieldName と fieldValue を持ち、キーが文書に書かれた文字そのものであること。表が headerRows と bodyRows で返ること | Google Cloud: Handle the processing response | 2026-10-06 |
指定したJSONスキーマに従う応答を生成させられ、enum と required を使えること。値はアプリケーションで検証すべきこと | Gemini API: Structured outputs | 2026-10-06 |
| 有料サービスではプロンプトと応答を製品の改善に使わず、無料サービスでは改善に使われ人が読むことがあること | Gemini API 追加利用規約 | 2026-10-06 |
| Apps Script の1回の実行が6分までであること | Apps Script: Quotas for Google Services | 2026-10-06 |
税率の軽減・免税の適用と、評価額のない物件の価額の扱いは、管轄の法務局と司法書士の判断で決めてください。 本記事は公的機関と各製品の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0455)についてのご相談はこちらから。
