E

e-tax

by @kazukinagatav1.0.0
0.0(0)

This skill should be used when the user wants to file their tax return electronically via the 確定申告書等作成コーナー (NTA Tax Return Preparation Corner) using Claude in Chrome, Antigravity Browser Sub-Agent, or Playwright CLI (fallback). It guides the browser-based input of calculated tax data. Trigger phrase

E-TaxTax DeclarationFinancial ComplianceDigital Tax FilingTax SoftwareGitHub
安装方式
npx skills add kazukinagata/shinkoku --skill e-tax
compare_arrows

Before / After 效果对比

0

description 文档


name: e-tax description: > This skill should be used when the user wants to file their tax return electronically via the 確定申告書等作成コーナー (NTA Tax Return Preparation Corner) using Claude in Chrome, Antigravity Browser Sub-Agent, or Playwright CLI (fallback). It guides the browser-based input of calculated tax data. Trigger phrases include: "e-Tax提出", "電子申告", "e-Taxで申告", "作成コーナーに入力", "確定申告書等作成コーナー", "作成コーナー", "申告書を提出".

e-Tax 電子申告 — ブラウザ自動化による確定申告書等作成コーナー入力

shinkoku で計算した確定申告データを、確定申告書等作成コーナー(https://www.keisan.nta.go.jp/)に Claude in Chrome を使ってブラウザ上で入力・提出するためのスキル。

前提条件

  • /income-tax スキルで所得税の計算が完了していること
  • /settlement スキルで決算書(PL/BS)の作成が完了していること
  • /consumption-tax スキルで消費税の計算が完了していること(該当者のみ)
  • shinkoku.config.yaml が設定済みであること
  • ブラウザ自動化ツールがいずれか利用可能であること(下記「ブラウザ自動化方式の選択」参照)

ブラウザ自動化方式の選択

確定申告書等作成コーナーへの入力には、以下の3つの方式がある。

方式 A: Claude in Chrome(推奨)

| 項目 | 内容 | |-----|------| | 対象環境 | Windows / macOS のネイティブ Chrome | | 前提 | Claude in Chrome 拡張機能がインストール済み | | 利点 | OS 検出の問題なし。追加設定不要 |

方式 B: Antigravity Browser Sub-Agent

| 項目 | 内容 | |-----|------| | 対象環境 | Windows / macOS / Linux(Antigravity IDE) | | 前提 | Antigravity IDE がインストール済みで browser_subagent ツールが利用可能 | | 利点 | ネイティブ Chrome を使用するため OS 偽装不要。Linux でも動作 |

方式 C: Playwright CLI(フォールバック)

| 項目 | 内容 | |-----|------| | 対象環境 | WSL / Linux、または Claude in Chrome・Antigravity が利用できない環境 | | 前提 | @playwright/cli + Playwright CLI スキル + etax-stealth.js(OS 偽装スクリプト) | | 制限 | headed モード必須(QR コード認証に物理操作が必要) |

判定ロジック

1. Claude in Chrome のツール(browser_navigate 等)が利用可能か?
   → はい: 方式 A を使用
   → いいえ: 次へ

2. Antigravity の browser_subagent ツールが利用可能か?
   → はい: 方式 B を使用
   → いいえ: 次へ

3. Bash ツールで `playwright-cli` コマンドが利用可能か?
   → はい: 方式 C を使用(headed モードで起動)
   → いいえ: エラー表示

   エラーメッセージ:
   「確定申告書等作成コーナーへの入力には、Claude in Chrome、
    Antigravity Browser Sub-Agent、または Playwright CLI が必要です。
    セットアップ方法は README.md の『ブラウザ自動化』セクションを参照してください。」

方式 B 使用時の操作方法

Antigravity の browser_subagent は高レベルなタスク記述で操作する。 各ステップの入力操作を自然言語で記述し、browser_subagent に委任する。

例:

  • 「https://www.keisan.nta.go.jp/kyoutu/ky/sm/top_web#bsctrl を開く」
  • 「『マイナンバーカードをお持ちですか』で『はい』のラジオボタンをクリック」
  • 「name='sonekiKeisansyoFromMonth' の入力欄に '1' を入力」

※ Antigravity はネイティブ Chrome を使用するため、etax-stealth.js による OS 偽装は不要。

方式 C 使用時のセッション開始手順

Playwright CLI でブラウザを開く際の手順:

  1. 環境変数を設定: PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.js
  2. ブラウザ起動: playwright-cli -s=etax open <url> --headed --browser=chrome
  3. 以降のコマンドは -s=etax セッション指定で実行

設定の読み込み(最初に実行)

  1. shinkoku.config.yaml を Read ツールで読み込む
  2. ファイルが存在しない場合は /setup スキルの実行を案内して終了する
  3. 設定値を把握する:
    • 納税者プロファイル(氏名・住所・マイナンバー等)
    • 事業情報(屋号・業種等)
    • 申告方法(e-Tax/郵送/窓口)

進捗情報の読み込み

  1. .shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合)
  2. 以下の引継書を Read ツールで読み込む(存在する場合):
    • .shinkoku/progress/06-settlement.md — 決算結果(PL/BS データ)
    • .shinkoku/progress/07-income-tax.md — 所得税計算結果
    • .shinkoku/progress/08-consumption-tax.md — 消費税計算結果
    • .shinkoku/progress/02-assess.md — 課税判定結果
  3. .shinkoku/progress/10-etax.mdstatus を確認する:
    • status: interrupted の場合 → 下記「中断・再開プロトコル」の 再開手順 に従う
    • status: completed の場合 → ユーザーに完了済みである旨を伝え、再実行の意図を確認する
  4. 計算結果がまだ存在しない場合は、先に /income-tax/settlement の実行を案内する

中断・再開プロトコル

全ステップ共通のルール。ユーザーが中断を要求した場合(「中断したい」「今日はここまで」「また続きから」等)、以下の手順に従う。

中断手順

  1. 現在のステップの入力内容を確認する — 未保存の入力がないか確認
  2. .data ファイルのダウンロードを案内する — AskUserQuestion で以下を表示:
作成コーナーの入力データを .data ファイルとして保存することを推奨します。
画面上部の「入力データの一時保存」ボタン(またはページ下部の「ここまでの入力データを保存する」リンク)
をクリックし、ファイルをダウンロードしてください。

ダウンロードが完了したら「ダウンロード済み」を選択してください。
  • 選択肢: 「ダウンロード済み」 / 「スキップ(保存しない)」
  • 「スキップ」が選ばれた場合は、次回は最初からやり直しになる可能性がある旨を警告する
  1. 進捗ファイルを記録する.shinkoku/progress/10-etax.md に以下の形式で Write ツールで出力:
---
step: 10
skill: e-tax
status: interrupted
last_completed_step: "{最後に完了したステップ番号(例: 3)}"
last_url: "{中断時のブラウザURL}"
data_file_saved: {true/false}
interrupted_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---

# e-Tax 電子申告(中断)

## 中断時点の状況

- 最後に完了したステップ: ステップ{N}
- 中断時のURL: {URL}
- .data ファイル保存: {済/未}

## 次回の再開方法

1. `/e-tax` スキルを再実行する
2. .data ファイルがある場合は「保存データを利用して作成」から再開する
3. .data ファイルがない場合はステップ0からやり直す
  1. ユーザーに中断完了を報告 — 次回の再開方法を案内して終了する

再開手順

.shinkoku/progress/10-etax.mdstatus: interrupted を検出した場合:

  1. 中断時の情報(last_completed_step, data_file_saved)を読み取る
  2. AskUserQuestion で以下を表示:
前回の e-Tax 入力はステップ{N}で中断されています。

再開方法を選択してください。
  • 選択肢:
    • 「.data ファイルから再開する」(data_file_saved: true の場合のみ表示)
    • 「最初からやり直す」
    • 「中断記録を破棄して終了する」
  1. .data ファイルから再開する場合:

    • 確定申告書等作成コーナーのトップページにアクセス
    • 「保存データを利用して作成」→「作成再開」を選択
    • .data ファイルのアップロードを案内
    • 読み込み完了後、last_completed_step の次のステップから再開する
  2. 最初からやり直す場合:

    • ステップ0 から通常通り開始する

ステップ0: 必須データの検証

確定申告書等作成コーナーへの入力に必要なデータが揃っているか検証する。

検証項目

[1] 税額計算済み
    - .shinkoku/progress/07-income-tax.md が存在し、status: completed であること

[2] プロファイル完備
    - 氏名(姓・名)が登録されているか
    - 住所が登録されているか
    - 所轄税務署名が登録されているか

[3] 決算書データ
    - PL/BS の計算結果が取得可能であること

[4] 消費税(該当者のみ)
    - .shinkoku/progress/08-consumption-tax.md が存在し、status: completed であること

[5] サニティチェック
    - `tax_calc.py sanity-check` を実行する
    - error > 0 の場合: 入力を中止し、`/income-tax` スキルで修正を促す
    - warning > 0 の場合: ユーザーに確認してから続行する

画面遷移フロー全体像

┌─────────────────────────────────────────────────────┐
│ CC-AA-010 税務署への提出方法の選択                      │
│   マイナンバーカード: はい → スマホ: はい               │
│   → 「スマートフォンを使用する」                        │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-090 作成する申告書等の選択                        │
│   「決算書・収支内訳書(+所得税)」を選択              │
│   → doSubmitCMW0900(2,'25')                           │
│                                                         │
│   ※ 消費税のみ別途作成する場合:                        │
│   → doSubmitCMW0900(3,'25')                           │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-600 マイナポータル連携の選択                      │
│   → 「マイナポータル連携を利用しない」                  │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-024 e-Taxを行う前の確認                           │
│   → 「利用規約に同意して次へ」                          │
└──────────────┬──────────────────────────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-440 QRコード認証                                  │
│   ★ ユーザーの物理的認証が必要                         │
│   スマートフォンでQRコード読み取り                      │
│   → マイナンバーカード認証完了後、自動遷移              │
└──────────────┬──────────────────────────────────────┘
               ▼
       ┌───────┴───────┐
       ▼               ▼
  決算書コーナー    所得税コーナー
  (事業所得あり)    (給与のみ等)

決算書コーナーのフロー

/kessan/ac/r7/top → ac0300(種類選択)→ aa0200(P/L入力)
  → aa0100(青色特別控除)→ preAoiroCalc(B/S入力)
  → aa0700(所得確認)→ ac0500(住所氏名)→ 印刷/保存
  → 所得税コーナーへ遷移

所得税コーナーのフロー

SS-AA-010a(所得選択)→ SS-AA-050(収入入力ハブ)
  → SS-CA-010(給与入力) / SS-CB-xxx(事業所得) / 雑所得
  → SS-AA-070a(控除1/2)→ SS-AA-080(控除2/2)
  → SS-AA-090(計算結果確認)
  → SS-AC-010a(納付方法)→ SS-AC-020a(住民税等)
  → SS-AC-030(基本情報)→ SS-AC-040(マイナンバー)
  → ステップ5.5(意思決定ゲート)→ ステップ6(電子署名・送信プロトコル)

消費税コーナーのフロー(所得税完了後)

所得税完了 → 「消費税の申告書作成はこちら」

2割特例:
  ac0100(条件判定) → ac0250(所得区分選択) → 売上入力hub → 売上入力detail
  → 売上入力hub → 中間納付 → ac0300(計算結果) → 納税地等
  → ステップ6.5(電子署名・送信プロトコル)

簡易課税:
  ac0100(条件判定) → ac0250(所得区分・事業区分選択) → 売上入力hub → 売上入力detail
  → 売上入力hub → ak2140(仕入税額控除方式選択)※ → 中間納付 → ac0300(計算結果)
  → 納税地等 → ステップ6.5(電子署名・送信プロトコル)
  ※ 2種以上の事業がある場合のみ

一般課税:
  ac0100(条件判定) → ac0250(所得区分選択) → 売上・仕入入力hub → 売上入力detail
  → ai3610(決算額テーブル)※ → 売上・仕入入力hub → 中間納付 → ac0300(計算結果)
  → 納税地等 → ステップ6.5(電子署名・送信プロトコル)
  ※ 積上げ計算選択時のみ

ステップ1: 確定申告書等作成コーナーへのアクセス

開始URL

https://www.keisan.nta.go.jp/kyoutu/ky/sm/top_web#bsctrl

CC-AA-010: 税務署への提出方法の選択

画面番号: CC-AA-010

  1. 「マイナンバーカードをお持ちですか」→ 「はい」 ラジオボタンをクリック
  2. 「マイナンバーカード読み取りに対応したスマートフォン又はICカードリーダライタをお持ちですか」→ 「はい」 をクリック
  3. 「スマートフォンを使用する」 をクリック
    • JS: doSubmitCSW0100('1','3','/ky/sm/csw0100_myno_qr')

CC-AE-090: 作成する申告書等の選択

画面番号: CC-AE-090

選択肢(令和7年分):

  • 所得税doSubmitCMW0900(1,'25')
  • 決算書・収支内訳書(+所得税)doSubmitCMW0900(2,'25') ← 事業所得ありの場合
  • 消費税doSubmitCMW0900(3,'25')
  • 贈与税doSubmitCMW0900(4,'25')

判断基準:

  • 事業所得あり → 「決算書・収支内訳書(+所得税)」
  • 事業所得なし(給与のみ等)→ 「所得税」
  • 消費税は所得税完了後に別途作成

CC-AE-600: マイナポータル連携の選択

「マイナポータル連携を利用しない」 をクリック

CC-AA-024: e-Taxを行う前の確認

「利用規約に同意して次へ」 をクリック

※ 環境チェック termnalInfomationCheckOS_myNumberLinkage() が実行される。 Windows/macOS の Chrome/Edge であれば問題なし。

CC-AA-440: QRコード認証

★ ユーザー操作待ち — ブラウザ操作を一時停止

この画面ではエージェントがブラウザを操作してはならない。 AskUserQuestion ツールで一時停止し、ユーザーが認証完了を報告するまで絶対に次のステップに進まないこと。

AskUserQuestion で以下を表示する:

QRコード認証画面が表示されました。
スマートフォンのマイナポータルアプリでQRコードを読み取り、
マイナンバーカードで認証してください。

認証が完了したら「認証完了」を選択してください。
  • 選択肢: 「認証完了」 / 「QRコードが表示されない」
  • 「QRコードが表示されない」が選ばれた場合は下記の ⚠️ Playwright CLI 使用時の注意 を参照して対処する
  • ユーザーが「認証完了」を選択するまで、一切のブラウザ操作・画面遷移を行わない

認証完了後、自動的に次の画面に遷移する。

⚠️ Playwright CLI 使用時の注意: PLAYWRIGHT_MCP_INIT_SCRIPT 環境変数で etax-stealth.js を指定することで サーバーベイク関数パッチが自動適用されるが、QR コードが表示されない場合はコンソールで getClientOS() の 戻り値を確認し、'Windows' でなければ以下を手動実行する:

window.getClientOS = function() { return 'Windows'; };
displayQrcode();

ステップ2: 青色申告決算書の入力(事業所得がある場合)

⚠️ ネイティブダイアログ注意: 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。

/kessan/ac/pre/ac0300: 決算書の種類選択

ラジオボタン:

  • 青色申告決算書 ← 青色申告の場合
  • 収支内訳書(白色申告の場合)
  • 青色申告決算書(現金主義用)

/kessan/ac/aa0200: 損益計算書(P/L)の入力

URL: https://www.keisan.nta.go.jp/kessan/ac/aa0200#bsctrl

期間の入力

| フィールド | name | デフォルト | |-----------|------|-----------| | 開始月 | sonekiKeisansyoFromMonth | 1 | | 開始日 | sonekiKeisansyoFromDay | 1 | | 終了月 | sonekiKeisansyoToMonth | 12 | | 終了日 | sonekiKeisansyoToDay | 31 |

売上(収入)金額

「入力」ボタン → /kessan/ac/aa0201 売上仕入月別入力サブページに遷移。

aa0201 のフィールド:

  • uriageKingaku1uriageKingaku12: 月別売上
  • siireKingaku1siireKingaku12: 月別仕入
  • kajisyohi: 家事消費等
  • zatusyunyu: 雑収入

合計: uriageKingakuGokei, siireKingakuGokei

経費(行8〜31)

| 行 | 科目 | name(直接入力) | 備考 | |----|------|-------------------|------| | 8 | 租税公課 | sozeiKoka | | | 9 | 荷造運賃 | nidukuriUntin | | | 10 | 水道光熱費 | suidoKonetuhi | | | 11 | 旅費交通費 | ryohiKotuhi | | | 12 | 通信費 | tusinhi | | | 13 | 広告宣伝費 | kokokuSendenhi | | | 14 | 接待交際費 | settaiKosaihi | | | 15 | 損害保険料 | songaiHokenryo | | | 16 | 修繕費 | syuzenhi | | | 17 | 消耗品費 | syomohinhi | | | 18 | 減価償却費 | — | 「入力」→ /kessan/ac/init/aa0203 | | 19 | 福利厚生費 | fukuriKoseihi | | | 20 | 給料賃金 | — | 「入力」→ /kessan/ac/aa0205 | | 21 | 外注工賃 | gaichukotin | | | 22 | 利子割引料 | — | 「入力」→ /kessan/ac/aa0206 | | 23 | 地代家賃 | — | 「入力」→ /kessan/ac/aa0207 | | 24 | 貸倒金 | kasidaorekin | | | 25 | 税理士等の報酬 | keihiNiniKingaku1 | 科目名: keihiNiniKamoku1 | | 26 | 震災関連経費 | keihiNiniKingaku2 | 科目名: keihiNiniKamoku2 | | 27-30 | 任意科目 | keihiNiniKingaku36 | 科目名: keihiNiniKamoku36 | | 31 | 雑費 | zappi | |

集計 hidden フィールド: keihiSannyugakuGokei, kyuryoTinginTotalGokei, risiWaribikiryoGokei, tidaiYatinGokei

繰戻額等

  • kurimodosiNiniKamoku1/kurimodosiNiniKingaku1
  • kurimodosiNiniKamoku2/kurimodosiNiniKingaku2

専従者給与

  • senjusyaKyuyoTotalGokei (hidden、「入力」ボタンで別画面)
  • kasidaoreKuriireGokei (hidden)

計算結果(自動)

  • disp_aoiroKojomaeSyotokuKingaku = 売上 - 売上原価 - 経費 + 繰戻額 - 専従者給与等

/kessan/ac/submit/aa0100: 青色申告特別控除

Q&A形式で控除額を選択:

| 選択肢 | value | 条件 | |--------|-------|------| | 10万円 | 2 | | | 55万円 | 3 | | | 65万円 | 1 | e-Tax送信が必須。書面提出ではエラー KS-E10089 |

フィールド: aoiroTokubetuKojoSentakugaku

65万円を選択する場合、電子帳簿保存または e-Tax 送信が条件。

⚠️ ネイティブダイアログ注意: 65万円を選択して次へ進むと、書面提出の場合は KS-E10089(e-Tax送信が必要)のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。

貸借対照表(B/S)の入力

URL: /kessan/ac/preAoiroCalc

資産の部

配列形式: sisannobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku

| index | 勘定科目 | |-------|----------| | 0 | 現金 | | 1 | 当座預金 | | 2 | 定期預金 | | 3 | その他の預金 | | 4 | 受取手形 | | 5 | 売掛金 | | 6 | 有価証券 | | 7 | 棚卸資産 | | 8 | 前払金 | | 9 | 貸付金 | | 10 | 建物 | | 11 | 建物附属設備 | | 12 | 機械装置 | | 13 | 車両運搬具 | | 14 | 工具器具備品 | | 15 | 土地 | | 16-23 | 任意科目 |

負債・資本の部

配列形式: fusainobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku

| index | 勘定科目 | |-------|----------| | 0 | 支払手形 | | 1 | 買掛金 | | 2 | 借入金 | | 3 | 未払金 | | 4 | 前受金 | | 5 | 預り金 | | 6 | 貸倒引当金 | | 7-15 | 任意科目 | | 16 | 元入金 | | 17 | 事業主借 | | 18 | 事業主貸 | | 19 | 青色申告特別控除前の所得金額(P/Lから自動) |

重要: 資産期末合計 = 負債期末合計 が必須(KS-E40003)

⚠️ ネイティブダイアログ注意: 資産期末合計と負債期末合計が一致しない状態で「次へ」を押すと、KS-E40003 のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。

/kessan/ac/ac0500: 住所・氏名等の入力

| フィールド | name | |-----------|------| | 郵便番号 | jitakuZip | | 都道府県 | jitakuPrefectureId | | 市区町村以下 | jitakuAddress | | 事業所住所(該当者) | jimusyoAddress | | 提出先税務署 | zeimusyoName | | 氏名漢字(姓) | nameKanjiSei | | 氏名漢字(名) | nameKanjiMei | | 業種名 | gyosyuName | | 屋号 | yago | | 提出年月日 | teisyutuYear/teisyutuMonth/teisyutuDay |

決算書完了 → 所得税コーナーへ

印刷・データ保存画面(/kessan/ac/submit/ac0600)の 「所得税の申告書作成はこちら」ボタンで所得税コーナーに遷移(住所氏名引継ぎ)。

⚠️ ネイティブダイアログ注意: このボタンをクリックすると KS-W10035(印刷を確認したか)のネイティブダイアログが表示される場合がある。画面が遷移しない場合はダイアログの有無をユーザーに確認し、「OK」をクリックするよう案内すること。


ステップ3: 所得税の申告書入力

⚠️ ネイティブダイアログ注意: 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。

SS-AA-010a: 申告する所得の選択等

URL: https://www.keisan.nta.go.jp/r7/syotoku/taM010a40_doInitialDisplay#bbctrl

生年月日

| フィールド | name | |-----------|------| | 年 | inOutDto.shnkkBirthymdYy | | 月 | inOutDto.shnkkBirthymdMm | | 日 | inOutDto.shnkkBirthymdDd |

所得種類の選択(チェックボックス)

| 所得 | name | 典型的な選択 | |------|------|-------------| | 給与 | inOutDto.kyuy | 会社員: checked | | 事業(営業等) | inOutDto.jgyoEgyoTo | 個人事業主: checked | | 事業(農業) | inOutDto.jgyoNogyo | | | 不動産 | inOutDto.fdosn | | | 雑(業務・その他) | inOutDto.ztsGyomSnt | 暗号資産等: checked | | 公的年金等 | inOutDto.kotkNnknKgyoNnknEtc | | | 退職金 | inOutDto.tasyku | | | 株式等 | inOutDto.hatoKbshkJyotRsh | | | 先物取引 | inOutDto.skmnTrhk | | | 一時 | inOutDto.ichj | |

shinkoku 対象の典型パターン:

  • 会社員+副業(事業所得): kyuy + jgyoEgyoTo + ztsGyomSnt(暗号資産あれば)
  • 給与所得のみ: kyuy

SS-AA-050: 収入・所得の入力ハブ

選択した所得種類ごとに入力リンクが表示される。各リンクをクリックして個別入力画面へ遷移。

SS-CA-010: 給与所得の源泉徴収票の入力

物理的な源泉徴収票との対応: 年末調整済みと年末調整未済で別フォーム・別ラベル体系。 年末調整済み = A〜L(12項目)、年末調整未済 = A〜E(5項目)。 物理的な源泉徴収票の「給与所得控除後の金額」「所得控除の額の合計額」欄は、 年末調整済みフォームでは入力不要だが、年末調整未済フォームでは B(自動)・C(入力) として存在する。

年末調整済みフォーム

URL: https://www.keisan.nta.go.jp/r7/syotoku/taS510a10_doAdd_nncyzm#bbctrl

主要入力フィールド

| ラベル | name | 備考 | |--------|------|------| | A: 支払金額 | inOutDto.shhraKngk | 必須 | | B: 源泉徴収税額 | inOutDto.gnsnTyosyuZegk | 2段記載時は下段 | | E: 社会保険料等の金額 | inOutDto.sykaHknryoToKngk | | | K: 支払者の住所 | inOutDto.shhrasyJysyKysyOrSyzach | 28文字以内 | | L: 支払者の氏名又は名称 | inOutDto.shhrasyNameOrMesyo | 28文字以内 |

ラジオボタン(記載有無の選択)

| フィールド | ラベル | name | 値 | |-----------|--------|------|-----| | 控除対象配偶者の記載 | C | inOutDto.kojyTashoHagsyKsaUm | 1(あり)/2(なし) | | 控除対象扶養親族の記載 | D | inOutDto.kojyTashoFyoShnzkKsaUm | 1(あり)/2(なし) | | 生命保険料控除額の記載 | F※ | inOutDto.semeHknryoKojygkKsaUm | 1(あり)/2(なし) | | 地震保険料控除額の記載 | G※ | inOutDto.jshnHknryoKojygkKsaUm | 1(あり)/2(なし) | | 住宅借入金等特別控除額の記載 | H※ | inOutDto.jyutkKrirknToTkbtsKojyGkKsaUm | 1(あり)/0(なし) | | 所得金額調整控除額の記載 | I※ | inOutDto.sytkKngkTyoseKojygkKsaUm | 1(あり)/0(なし) | | 本人が障害者・寡婦等 | J※ | inOutDto.hnninSygsyKfHtriyKnroGkseKsaUm | 1(あり)/2(なし) |

※ F〜J のラベルはフォーム上の並び順からの推定(スクリーンショット未確認)

条件付きフィールド(ラジオ/チェックで「記載あり」選択時に表示)

| ラベル | name | 表示条件 | |--------|------|----------| | B': 源泉徴収税額(内書き) | inOutDto.gnsnTyosyuZegkUchgk | チェック時 | | 社会保険料等(内書き) | inOutDto.sykaHknryoToUchgk | チェック時 | | 生命保険料控除額 | inOutDto.semeHknryoKojygk | F「記載あり」時 | | 新生命保険料金額 | inOutDto.shnSemeHknryoKngk | F「記載あり」時 | | 旧生命保険料金額 | inOutDto.kyuSemeHknryoKngk | F「記載あり」時 | | 介護医療保険料金額 | inOutDto.kagIryoHknryoKngk | F「記載あり」時 | | 新個人年金保険料金額 | inOutDto.shnKjnNnknHknryoKngk | F「記載あり」時 | | 旧個人年金保険料金額 | inOutDto.kyuKjnNnknHknryoKngk | F「記載あり」時 | | 地震保険料控除額 | inOutDto.jshnHknryoKojygk | G「記載あり」時 | | 旧長期損害保険料金額 | inOutDto.kyuCyokSngaHknryoKngk | G「記載あり」時 | | H: 住宅借入金等特別控除額 | inOutDto.jyutkKrirknToTkbtsKojyGk | H「記載あり」時 | | H': 住宅借入金等特別控除可能額 | inOutDto.jyutkKrirknToTkbtsKojyknoGk | H「記載あり」時 | | H'': 住宅借入金年末残高1回目 | inOutDto.jyutkKrirknToNnmtszndkIkkam | H「記載あり」時 | | H''': 住宅借入金年末残高2回目 | inOutDto.jyutkKrirknToNnmtszndkNkam | チェック時 | | 寡婦チェック | inOutDto.ksaArKforkf | J「記載あり」時 | | 勤労学生チェック | inOutDto.ksaArKnroGkse | J「記載あり」時 |

年末調整未済フォーム

URL: 要確認

入力フィールド

| ラベル | name | 備考 | |--------|------|------| | A: 支払金額 | inOutDto.shhraKngk | 必須 | | B: 給与所得控除後の金額 | (自動計算) | 入力不可。A から自動算出 | | C: 所得控除の額の合計額 | 要確認 | 入力欄あり。源泉徴収票に記載があれば入力 | | D: 源泉徴収税額 | inOutDto.gnsnTyosyuZegk | | | E: 住宅借入金等特別控除額 | inOutDto.jyutkKrirknToTkbtsKojyGk | |

SS-AA-070a: 控除の入力(1/2)— 支出系控除

入力リンクのハブ画面。各控除をクリックして個別入力画面に遷移。

対応控除:

  • 社会保険料控除(源泉徴収票入力済みの場合「入力あり」表示)
  • 小規模企業共済等掛金控除(iDeCo等)
  • 生命保険料控除
  • 地震保険料控除
  • 雑損控除・災害減免
  • 医療費控除
  • 寄附金控除(ふるさと納税含む — ワンストップ特例分も要入力)

SS-AA-080: 控除の入力(2/2)— 人的控除・住宅控除等

対応控除:

  • 配偶者(特別)控除
  • 扶養控除・特定親族特別控除
  • 寡婦・ひとり親控除
  • 勤労学生控除
  • 障害者控除
  • 基礎控除(自動計算表示)
  • 住宅借入金等特別控除
  • 住宅耐震改修特別控除等
  • 予定納税額
  • 繰越損失額

SS-AA-090: 計算結果の確認

入力内容から計算された所得税額の確認画面。

表示項目:

  • 収入金額・所得金額(所得種類別)
  • 所得控除合計
  • 課税される所得金額(1,000円未満切捨て)
  • 上記に対する税額(速算表適用)
  • 差引所得税額
  • 復興特別所得税額(基準所得税額の2.1%)
  • 所得税及び復興特別所得税の額
  • 源泉徴収税額
  • 申告納税額(100円未満切捨て)/ 還付される税金

ここで shinkoku の計算結果と照合する(後述「ステップ5: 申告内容の確認」参照)。

各セクションに「訂正する」ボタンがあり、前画面に戻れる。

SS-AC-010a: 納付方法等の入力

納付金額が発生した場合に表示。還付の場合は還付口座入力画面(SS-AB-010a)が表示される。

| フィールド | type | name | 備考 | |-----------|------|------|------| | 延納を届け出る | checkbox | — | 利子税がかかる旨の注意あり | | 納付方法 | select | inOutDto.nofHoho | 必須 |

納付方法の選択肢:

| value | 方法 | |-------|------| | 1 | 振替納税(期限内申告の場合に利用可) | | 2 | 電子納税(ダイレクト納付/インターネットバンキング) | | 3 | クレジットカード納付 | | 5 | コンビニ納付 | | 6 | 金融機関等での窓口納付 |

還付の場合は還付口座情報の入力:

  • 金融機関名、支店名、口座番号、口座名義

SS-AC-020a: 財産債務・住民税等

住民税に関する設定(給与からの特別徴収 or 自分で納付 等)。

SS-AC-030: 基本情報の入力

| ラベル | name | 備考 | |--------|------|------| | 氏名フリガナ(姓) | inOutDto.nameKnSe | 11文字以内 | | 氏名フリガナ(名) | inOutDto.nameKnMe | | | 氏名漢字(姓) | inOutDto.nameKnjSe | 10文字以内 | | 氏名漢字(名) | inOutDto.nameKnjMe | | | 電話番号(種別) | inOutDto.rnrkSkKbn | 自宅/勤務先/携帯 | | 電話番号(市外) | inOutDto.shgaKykbn | | | 電話番号(市内) | inOutDto.shnaKykbn | | | 電話番号(番号) | inOutDto.knyusyBngo | | | 納税地区分 | inOutDto.nozeCh | 1=住所地, 2=事業所等 | | 郵便番号 | inOutDto.yubnBngoGnzaAddress | 7桁 | | 都道府県 | inOutDto.tdofknGnzaAddress | select | | 市区町村 | inOutDto.shkcyosnGnzaAddress | 都道府県連動 select | | 丁目番地等 | inOutDto.cyomBnchToGnzaAddress | 28文字以内 | | 建物名 | inOutDto.ttmnMeGoshtsGnzaAddress | 28文字以内 | | 提出先税務署(県) | inOutDto.tesytSkZemsyTdofkn | select | | 提出先税務署 | inOutDto.tesytSkZemsyZemsy | 県連動 select | | 職業 | inOutDto.job | 11文字以内 | | 屋号・雅号 | inOutDto.ygoGgo | 30文字以内 | | 世帯主の氏名 | inOutDto.stanshNameKnj | | | 続柄 | inOutDto.stanshKrTsdkgr | select | | 提出年月日 | inOutDto.tesytYmdYy/Mm/Dd | |

SS-AC-040: マイナンバーの入力

マイナンバー(12桁)を入力する画面。チェックディジットアルゴリズムによる検証あり。


ステップ4: 消費税の申告書入力(該当者のみ)

⚠️ ネイティブダイアログ注意: 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。

所得税申告書の完了後、「他の申告書等を作成する」→ doSubmitCSW0900(3,'25') で消費税コーナーに遷移。

ac0100: 条件判定等

URL: https://www.keisan.nta.go.jp/syouhi/ac0100/submit.htmj#bsctrl

| フィールド | name | 備考 | |-----------|------|------| | 基準期間の課税売上高 | kijunKazeiUriage | R5年分 | | インボイス発行事業者 | invoice | true/false | | 簡易課税制度選択 | kani | true/false | | 経理方式 | zeikomi | 税込/税抜 |

インボイス=はい の場合に追加表示

| フィールド | name | 備考 | |-----------|------|------| | 新たに課税事業者か | newKazeiJigyosya | true/false | | 2割特例を適用するか | niwariTokurei | true/false |

一般課税の場合に追加表示

| フィールド | name | 備考 | |-----------|------|------| | 仕入税額の計算方法 | siireKeisanHouhou | warimodosi/tumiage |

条件判定画面の表示ロジック(基準期間による分岐)

kijunKazeiUriage(基準期間の課税売上高)の値によって表示される選択肢が変化する:

| 条件 | 新規課税事業者? | 2割特例? | 簡易課税? | |------|---------------|---------|---------| | 基準期間=0, invoice=はい | 表示 | 表示 | 非表示 | | 基準期間=3,000,000, invoice=はい | 表示 | 表示 | 表示 | | 基準期間=60,000,000, invoice=はい | 非表示 | 非表示 | 表示 |

一般課税のみ: 「税額の計算方法として積上げ計算を選択する方」ボタン(折りたたみセクション内)

分岐ロジック

| 条件 | 遷移先ルート | |------|-------------| | インボイス=はい & 2割特例=はい | 2割特例 | | 簡易課税=はい | 簡易課税 | | 上記以外 | 一般課税 |

ac0250: 所得区分の選択

URL: https://www.keisan.nta.go.jp/syouhi/ac0250/submit.htmj#bsctrl

該当する所得区分を全て選択する。ヘッダに課税方式(一般課税/簡易課税)と経理方式(税込/税抜)が表示される。

| ラベル | name | 備考 | |--------|------|------| | 事業所得(営業等) | jigyoSyotokuEigyo | メインターゲット | | 事業所得(農業) | jigyoSyotokuNogyo | | | 不動産所得 | fudosanSyotoku | | | 雑所得(原稿料等) | zatuSyotoku | | | 業務用固定資産等の譲渡所得 | jotoSyotoku | 一般課税のみ表示 |

簡易課税のみ: 事業区分の選択

簡易課税の場合、各所得区分に対して事業区分(第1種〜第6種)のサブ選択がある:

| フィールド | name | 備考 | |-----------|------|------| | 事業区分(第1種) | jigyoSyotokuEigyoJigyoKubun1 | 卸売業 | | 事業区分(第2種) | jigyoSyotokuEigyoJigyoKubun2 | 小売業 | | 事業区分(第3種) | jigyoSyotokuEigyoJigyoKubun3 | 製造業等 | | 事業区分(第4種) | jigyoSyotokuEigyoJigyoKubun4 | その他 | | 事業区分(第5種) | jigyoSyotokuEigyoJigyoKubun5 | サービス業等 | | 事業区分(第6種) | jigyoSyotokuEigyoJigyoKubun6 | 不動産業 |

一般課税のみ: 業務用固定資産等

| フィールド | name | 備考 | |-----------|------|------| | 業務用固定資産等の購入がある | gyomuyosisanKonyu | checkbox |

売上入力(全ルート共通フォーム)

URL パターン:

  • 2割特例: /syouhi/at3600/inputEigyo.htmj
  • 簡易課税: /syouhi/ak3600/inputEigyo.htmj
  • 一般課税: /syouhi/ai3600/inputEigyo.htmj

| フィールド | name | 備考 | |-----------|------|------| | 売上(収入)金額 | uriageWari | 必須。税込総額 | | 免税売上 | menzeiUriageWari | | | 非課税売上 | hikazeiUriageWari | | | 不課税取引 | jigyoFukazeiUriageWari | | | 軽減税率(6.24%)適用分 | kazeiUriage624PercentWari | | | 返還等対価(軽減) | uriageTaikaKeigen.uriageTaika624Percent | | | 返還等対価(標準) | uriageTaikaKeigen.uriageTaika78Percent | | | 貸倒れ発生(軽減) | kasidaoreKeigen.occurredKasidaore624Percent | 2割特例・簡易課税のみ | | 貸倒れ発生(標準) | kasidaoreKeigen.occurredKasidaore78Percent | 2割特例・簡易課税のみ | | 貸倒れ回収(軽減) | kasidaoreKeigen.recoveredKasidaore624Percent | 2割特例・簡易課税のみ | | 貸倒れ回収(標準) | kasidaoreKeigen.recoveredKasidaore78Percent | 2割特例・簡易課税のみ | | 貸倒れ発生有無 | kasidaore.occurredKasidaoreAns | 2割特例・簡易課税のみ (radio) |

一般課税のみの追加フィールド

| フィールド | name | 備考 | |-----------|------|------| | 非課税返還 | uriageTaikaKeigen.hikazeiHenkan | | | 非課税資産の輸出等返還 | uriageTaikaKeigen.hikazeiSisanHenkan | |

中間納付税額等の入力(全ルート共通)

| name | 備考 | |------|------| | chukanNofuZei | 中間納付消費税額 | | chukanNofuJotoWari | 中間納付譲渡割額 |

一般課税(積上げ計算)専用: 決算額テーブル

URL: /syouhi/ai3610/submit.htmj

積上げ計算選択時のみ表示される大規模フォーム(194項目)。 青色申告決算書の各勘定科目に対して、決算額・課税取引金額・軽減税率分・免税事業者等取引分を入力。

フィールド名パターン: {科目略称}{列略称}Wari (割戻し) / {科目略称}{列略称}Tumi (積上げ)

列略称: Kessan(決算額), KazeiIgai(課税取引にならないもの), Keigen624(軽減税率分), MenzeiKeigen(免税事業者等/軽減), Menzei(免税事業者等/標準)

| 科目 | プレフィックス | |------|---------------| | 仕入金額 | siire | | 租税公課 | sozeiKoka | | 荷造運賃 | nidukuri | | 水道光熱費 | suido | | 旅費交通費 | ryohi | | 通信費 | tusin | | 広告宣伝費 | kokoku | | 接待交際費 | settai | | 損害保険料 | songai | | 修繕費 | syuzen | | 消耗品費 | syomohin | | 減価償却費 | genkasyokyaku | | 福利厚生費 | fukurikosei | | 給料賃金 | kyuryo | | 外注工賃 | gaichu | | 利子割引料 | risiWaribiki | | 地代家賃 | jidai | | 貸倒金 | kasidaore | | 任意科目 | niniKamoku2530 | | 雑費 | zappi |

テーブル下の Yes/No 質問(一般課税のみ)

| フィールド | name | 内容 | |-----------|------|------| | 発生した貸倒金 | kasidaoreKeigen.occurredKasidaoreAns | radio | | 回収した貸倒金 | kasidaoreKeigen.recoveredKasidaoreAns | radio | | 保税地域からの引取貨物 | hozeiKeigenIppan.hozeiAns | radio | | 課税仕入れに係る対価の返還等 | siireTaikaKeigenIppan.siireTaikaAns | radio | | 課税事業者になった方の棚卸高調整 | tanaorosiKeigenIppan.oldMenzeiJigyoshaAns | radio | | 免税事業者になる方の棚卸高調整 | tanaorosiKeigenIppan.newMenzeiJigyoshaAns | radio |

簡易課税のみ: 仕入税額控除の控除方式の選択

URL: /syouhi/ak2140/submit.htmj

2種以上の事業を営む場合に表示される。以下から選択:

  • 原則計算
  • 特例計算(2種特例/3種特例/75%特例)

ac0300: 消費税計算結果の確認

全ルート共通の結果画面。ヘッダ部で「2割特例」「簡易課税」「一般課税」を表示。

表示項目:

  • 課税標準額
  • 消費税額
  • 控除税額小計
  • 差引税額(100円未満切捨て)
  • 中間納付税額
  • 納付税額
  • 地方消費税 譲渡割額(= 差引税額 × 22/78、100円未満切捨て)
  • 中間納付譲渡割額
  • 合計納付税額

一般課税のみの追加表示項目

  • 「控除過大調整税額」
  • 「課税売上割合」セクション(課税資産の譲渡等の対価の額 / 資産の譲渡等の対価の額)

消費税 納税地等の入力

URL パターン(ルートごとに異なる):

  • 2割特例: /syouhi/at1400/submit.htmj
  • 簡易課税: /syouhi/ak1400/submit.htmj
  • 一般課税: /syouhi/ai1400/submit.htmj

画面は全ルートで同一構造(pageId=ac0400)。

| フィールド | name | type | 備考 | |-----------|------|------|------| | 納付方法 | nofuHohoType | select | | | 納税地区分 | nozeitiKubun | radio | | | 郵便番号1 | nozeitiZipCode1 | text | | | 郵便番号2 | nozeitiZipCode2 | text | | | 都道府県 | nozeitiPrefectureCode | select | 住所用コード: 13=東京都 | | 市区町村 | municipalityCode | select | | | 丁目番地等 | nozeiti1ElaseMunicipal | text | | | 税務署都道府県 | prefectureCode | select | 税務署用コード: 15=東京都 ← 住所と異なるコード体系! | | 税務署 | sinkokuZeimusyoCode | select | | | 氏名カナ(姓) | simeiKanaSei | text | | | 氏名カナ(名) | simeiKanaMei | text | | | 氏名漢字(姓) | simeiKanjiSei | text | | | 氏名漢字(名) | simeiKanjiMei | text | | | マイナンバー1 | myNumber1 | password | | | マイナンバー2 | myNumber2 | password | | | マイナンバー3 | myNumber3 | password | | | 電話番号1 | telNumber1 | text | | | 電話番号2 | telNumber2 | text | | | 電話番号3 | telNumber3 | text | |

⚠️ 注意: 住所の都道府県コード(nozeitiPrefectureCode: 13=東京都)と税務署の都道府県コード(prefectureCode: 15=東京都)で異なるコード体系が使用されている。

消費税 計算結果のテストデータ

| 項目 | 2割特例 (売上5M) | 簡易課税 第5種 (売上5M) | 一般課税 (売上66M, 仕入0) | |-----|----------------|----------------------|------------------------| | 課税標準額 | 4,545,000円 | 4,545,000円 | 60,000,000円 | | 消費税額 | 354,510円 | 354,510円 | 4,680,000円 | | 控除税額 | 283,608円 (×80%) | 177,255円 (×50%) | 0円 | | 差引税額 | 70,900円 | 177,200円 | 4,680,000円 | | 地方消費税譲渡割額 | 19,900円 | 49,900円 | 1,320,000円 | | 合計納付 | 90,800円 | 227,100円 | 6,000,000円 |

3ルートの計算方式の違い

| 項目 | 2割特例 | 簡易課税 | 一般課税 | |------|---------|----------|----------| | 控除税額 | 消費税額×80% | みなし仕入率 | 実額(割戻し or 積上げ) | | 仕入入力 | 不要 | 不要 | 割戻し: 不要 / 積上げ: 決算額テーブル | | URL prefix | /at**** | /ak**** | /ai**** |

⚠️ ネイティブダイアログ注意: 消費税コーナー終了時は 2段階のネイティブダイアログが表示される — #otherTax(他の申告書等を作成しますか?)と #end(終了してもよろしいですか?)。画面が遷移しない場合はダイアログの有無をユーザーに確認し、それぞれ適切にクリックするよう案内すること。


ステップ5: 申告内容の確認

作成コーナーの確認画面で、shinkoku の計算結果と一致しているか検証する。

検証項目

□ 合計所得金額が一致するか
□ 所得控除合計が一致するか
□ 課税所得金額が一致するか
□ 算出税額が一致するか
□ 税額控除が一致するか
□ 復興特別所得税が一致するか
□ 申告納税額(または還付額)が一致するか
□ 消費税の納付税額が一致するか(該当者のみ)

不一致がある場合は、差異の原因を調査し、ユーザーに報告する。


ステップ5.5: .data ファイルの保存と次ステップの選択(意思決定ゲート)

★ ユーザー確認待ち — 明示的な指示なくステップ6(電子署名・送信)に進んではならない

2段階ゲート構造: ステップ5.5 は「送信フェーズに進むかどうかの意思決定ゲート」。 ステップ6-3 は「送信ボタン直前の操作ゲート(AI は送信しない、ユーザーが手動で送信する)」。 両方のゲートを通過しない限り、送信は実行されない。

申告内容の確認が完了した時点で、以下の手順を実行する。

.data ファイルのダウンロード案内

ユーザーに .data ファイルの保存を案内する:

申告内容の入力と確認が完了しました。

電子署名・送信に進む前に、入力データを .data ファイルとして保存することを強く推奨します。
画面上部の「入力データの一時保存」ボタン(またはページ下部の「ここまでの入力データを保存する」リンク)
をクリックし、ファイルをダウンロードしてください。

次の操作の選択

AskUserQuestion で以下を表示する:

次の操作を選択してください。
  • 選択肢:
    • 「電子署名・送信に進む」→ ステップ6 へ
    • 「入力内容を見直す」→ 見直したいステップを確認し、該当ステップに戻る
    • 「ここで中断する」→ 中断・再開プロトコルの中断手順に従い終了する

重要: ユーザーが「電子署名・送信に進む」を明示的に選択するまで、絶対にステップ6に進まないこと。


ステップ6: 電子署名と送信(所得税)

前提: ステップ5.5 でユーザーが「電子署名・送信に進む」を選択済みであること。この前提が満たされていない場合はステップ5.5 に戻る。

6-1: 電子署名(ユーザーの手動操作)

マイナンバーカードで電子署名する。署名用パスワード(6〜16桁の英数字)が必要。

★ ユーザー操作待ち — ブラウザ操作を一時停止

AskUserQuestion で以下を表示する:

電子署名の画面に進みます。
マイナンバーカードで電子署名を行ってください。

署名が完了したら「署名完了」を選択してください。
  • 選択肢: 「署名完了」 / 「署名で問題が発生した」
  • ユーザーが「署名完了」を選択するまで、一切のブラウザ操作を行わない

6-2: 送信前確認ページでの一次確認

電子署名完了後、送信前の最終確認ページが表示される。

  1. ブラウザ上の確認ページの内容を読み取る
  2. 主要項目をユーザーに報告する(収入・所得・税額・納付/還付額など)
  3. shinkoku の計算結果との照合結果を報告する

6-3: ブラウザ操作の一時停止(送信はユーザー操作)

★★★ 絶対に AI が送信ボタンをクリックしてはならない ★★★ ★★★ ユーザーが「送信完了」を選択するまで、一切のブラウザ操作を行わない ★★★

★ ユーザー操作待ち — ブラウザ操作を一時停止

AskUserQuestion で以下を表示する:

送信前の申告内容確認ページが表示されています。
上記の内容をご確認ください。

問題がなければ、ご自身の操作で画面上の「送信を実行する」ボタンを
クリックしてください。

送信が完了したら「送信完了」を選択してください。
  • 選択肢: 「送信完了」 / 「入力内容を見直したい」
  • 「入力内容を見直したい」が選ばれた場合は、見直したい箇所を確認し、該当ステップに戻る

6-4: 送信後の処理(Claude 再開)

ユーザーが「送信完了」を選択したら:

  1. 受付番号の記録 — 画面から受付番号を読み取って記録する
  2. 受信通知の確認 — メッセージボックスで受信通知を確認する
  3. 消費税の申告 — 消費税の申告が必要な場合はステップ6.5 に進む。不要な場合はステップ7 に進む

注意事項

  • 送信後の修正は「修正申告」として再提出が必要
  • ★★★ 送信操作は必ずユーザーの手動操作で行う — エージェントが送信ボタンを自動クリックすることは絶対に禁止 ★★★

ステップ6.5: 消費税の電子署名と送信(該当者のみ)

消費税の申告が必要な場合、所得税の送信完了後に消費税コーナーで申告書を作成する(ステップ4)。 消費税の入力・確認が完了したら、以下の送信プロトコルに従う。

6.5-1: 消費税の送信フェーズに進む前の確認

消費税の計算結果確認(ac0300)と納税地等の入力が完了した時点で、以下を実行する。

★ ユーザー確認待ち — 明示的な指示なく電子署名・送信に進んではならない

AskUserQuestion で以下を表示する:

消費税の申告内容の入力と確認が完了しました。

電子署名・送信に進む前に、入力データを .data ファイルとして保存することを強く推奨します。
画面上部の「入力データの一時保存」ボタンをクリックし、ファイルをダウンロードしてください。

次の操作を選択してください。
  • 選択肢:
    • 「電子署名・送信に進む」→ 6.5-2 へ
    • 「入力内容を見直す」→ 見直したい箇所を確認し、該当ステップに戻る
    • 「ここで中断する」→ 中断・再開プロトコルの中断手順に従い終了する

重要: ユーザーが「電子署名・送信に進む」を明示的に選択するまで、絶対に送信フェーズに進まないこと。

6.5-2: 電子署名(ユーザーの手動操作)

マイナンバーカードで電子署名する。

★ ユーザー操作待ち — ブラウザ操作を一時停止

AskUserQuestion で以下を表示する:

消費税の電子署名の画面に進みます。
マイナンバーカードで電子署名を行ってください。

署名が完了したら「署名完了」を選択してください。
  • 選択肢: 「署名完了」 / 「署名で問題が発生した」
  • ユーザーが「署名完了」を選択するまで、一切のブラウザ操作を行わない

6.5-3: 送信前確認ページでの一次確認

電子署名完了後、送信前の最終確認ページが表示される。

  1. ブラウザ上の確認ページの内容を読み取る
  2. 主要項目をユーザーに報告する(課税標準額・消費税額・差引税額・地方消費税・合計納付税額など)
  3. shinkoku の計算結果との照合結果を報告する

6.5-4: ブラウザ操作の一時停止(送信はユーザー操作)

★★★ 絶対に AI が送信ボタンをクリックしてはならない ★★★ ★★★ ユーザーが「送信完了」を選択するまで、一切のブラウザ操作を行わない ★★★

★ ユーザー操作待ち — ブラウザ操作を一時停止

AskUserQuestion で以下を表示する:

消費税の送信前確認ページが表示されています。
上記の内容をご確認ください。

問題がなければ、ご自身の操作で画面上の「送信を実行する」ボタンを
クリックしてください。

送信が完了したら「送信完了」を選択してください。
  • 選択肢: 「送信完了」 / 「入力内容を見直したい」
  • 「入力内容を見直したい」が選ばれた場合は、見直したい箇所を確認し、該当ステップに戻る

6.5-5: 送信後の処理(Claude 再開)

ユーザーが「送信完了」を選択したら:

  1. 受付番号の記録 — 画面から受付番号を読み取って記録する
  2. 受信通知の確認 — メッセージボックスで受信通知を確認する
  3. ステップ7 の .data ファイル保存案内に進む

ステップ7: .data ファイルの保存案内

作成コーナーでは申告データを .data ファイルとして保存できる。

送信後の .data ファイル再保存(推奨)

送信完了後の .data ファイルには受付番号・送信日時等の追加情報が含まれる。 ステップ5.5 で保存済みであっても、送信後に改めて .data ファイルを再保存することを推奨する。

AskUserQuestion で以下を表示する:

送信が完了しました。送信後の .data ファイルには受付番号等の情報が追加されています。
「入力データを保存する」で .data ファイルを再度ダウンロードすることを推奨します。

ダウンロードが完了したら「ダウンロード済み」を選択してください。
  • 選択肢: 「ダウンロード済み」 / 「スキップ」

.data ファイルの用途

  • .data ファイルがあれば、次回は「保存データを利用して作成」から途中再開できる
  • 控えとしても有用(来年の申告時に前年データとして参照可能)
  • 修正申告が必要になった場合、.data ファイルから入力データを復元できる

技術的な知見

SPA構造

  • jQuery 3 + jQuery UI ベース
  • ページ遷移はフォーム POST(document.forms[formName].submit()
  • ハッシュ #bsctrl(決算書コーナー)/ #bbctrl(所得税コーナー)はページ管理用
  • <input type="button"> が多用されており、id="input_xxx" で JS .click() 操作

URL体系

| コーナー | URL パターン | |---------|-------------| | 共通(認証等) | /kyoutu/ky/sm/*** | | 決算書 | /kessan/ac/*** | | 所得税 | /r7/syotoku/*** | | 消費税(共通) | /syouhi/ac**** | | 消費税(2割特例) | /syouhi/at**** | | 消費税(一般課税) | /syouhi/ai**** | | 消費税(簡易課税) | /syouhi/ak**** |

主要ナビゲーション関数

  • doSubmitCSW0100(qrCodeReadingFlag, reportType, url) — 認証方法選択
  • doSubmitCMW0900(zeimokuType, year) — 申告書種類選択(1=所得税, 2=決算書, 3=消費税, 4=贈与税)

確認ダイアログ

| コード | 内容 | 対応 | |--------|------|------| | KS-W90011 | 入力データが初期化される | OK で続行 | | KS-W90006 | 入力データをクリアする | OK で続行 | | KS-W10035 | 印刷を確認したか | OK で続行 | | KS-E10089 | e-Tax送信が必要(65万円控除) | e-Tax ルートで再実行 | | KS-E10001 | 必須入力チェック | 入力漏れを修正 | | KS-E40003 | B/S 資産期末合計 ≠ 負債期末合計 | 金額を修正 |

終了ダイアログフロー

消費税コーナー終了時は2段階のダイアログが表示される:

  1. #otherTax — 「他の申告書等を作成しますか?」
  2. #end — 「終了してもよろしいですか?」

※ 書面提出選択時はサーベイダイアログが毎回表示される(セッション間で記憶されない)

ネイティブダイアログの検知と対処

Claude in Chrome は alert() / confirm() / prompt() によるネイティブダイアログを検知できない。 ダイアログが表示されている間、ブラウザの DOM 操作はブロックされるため、エージェントの操作が無応答になる。

検知ヒューリスティック

ボタンクリック後に以下の状態が続く場合、ネイティブダイアログが表示されている可能性がある:

  • URL が変化しない
  • DOM の内容が変化しない(新しい画面に遷移しない)
  • ボタンのクリックが何も起こさないように見える

対処手順

  1. ダイアログの可能性を検知したら、AskUserQuestion で以下を表示する:
ボタンをクリックしましたが、画面が遷移しません。
ブラウザにポップアップ(確認ダイアログ)が表示されていませんか?

表示されている場合は、ダイアログの内容(コード番号がある場合はそれも)を教えてください。
  • 選択肢: 「ダイアログが表示されている」 / 「ダイアログは表示されていない」
  1. ダイアログが表示されている場合:

    • ユーザーにダイアログのメッセージ内容を確認する
    • 既知のコード(上記「確認ダイアログ」テーブルの KS-W*, KS-E* 等)に該当するか照合する
    • KS-W 系(警告): ユーザーに「OK」をクリックするよう案内
    • KS-E 系(エラー): エラー内容に応じた修正を案内
    • 不明なダイアログ: ユーザーにメッセージ全文を共有してもらい、対処を判断
  2. ダイアログが表示されていない場合:

    • ネットワークエラーやページ読み込み中の可能性を調査する
    • ページの再読み込みを試みる

ダイアログが発生しやすい操作

| 操作 | 想定ダイアログ | ステップ | |------|--------------|---------| | 「次へ進む」クリック全般 | KS-E10001(必須入力チェック) | 2, 3, 4 | | 65万円控除の選択 | KS-E10089(e-Tax送信必須) | 2 | | B/S 入力後の「次へ」 | KS-E40003(資産≠負債) | 2 | | 決算書完了→所得税遷移 | KS-W10035(印刷確認) | 2→3 | | 消費税コーナー終了 | #otherTax + #end(2段階) | 4 | | データクリア・初期化操作 | KS-W90011, KS-W90006 | 全般 |

環境チェック(参考)

確定申告書等作成コーナーの推奨環境:

  • Windows 11 + Chrome / Edge
  • macOS + Safari

Linux は公式非対応。OS 検出は 2層 で行われるため、回避にも2層の偽装が必要:

  1. クライアントサイド検出: CC-AA-024 の画面遷移時に termnalInfomationCheckOS_myNumberLinkage()navigator.platform / navigator.userAgent を検査し、Linux 環境では isTransition=false となり QR コード認証画面(CC-AA-440)への遷移がブロックされる。

  2. サーバーサイド OS ベイク: サーバーが HTTP リクエストの User-Agent / sec-ch-ua-platform ヘッダ から OS を判定し、レスポンス内の getClientOS() 関数に const os = "Linux" のようにハードコードする (サーバーサイドレンダリング)。addInitScript による navigator プロパティ偽装ではこのベイク値は変わらない。 CC-AA-440 の displayQrcode() でも getClientOS() が呼ばれ、oStUseType を決定する (Win='3', Mac='4')。Linux だと undefined になり QR コードが描画されない。

etax-stealth.js の2層偽装

PLAYWRIGHT_MCP_INIT_SCRIPT 環境変数で etax-stealth.js を指定して回避可能:

PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.js \
  playwright-cli -s=etax open https://www.keisan.nta.go.jp/ --headed --browser=chrome

層 1: navigator プロパティ偽装addInitScript で実行、ページ読み込み前)

| プロパティ | 偽装値 | |-----------|--------| | navigator.platform | 'Win32' | | navigator.userAgent | Windows Chrome 131 UA | | navigator.userAgentData | Windows Chrome Client Hints | | navigator.webdriver | false | | navigator.plugins | Chrome 標準プラグイン | | navigator.languages | ['ja', 'en-US', 'en'] |

層 2: サーバーベイク関数のパッチDOMContentLoaded で実行、ページスクリプト後)

| パッチ対象 | 偽装値 | 目的 | |-----------|--------|------| | getClientOS() | 'Windows' | サーバーベイク値の上書き | | getClientOSVersionAsync() | 'Windows 11' | OS バージョン判定の回避 | | isRecommendedOsAsEtaxAsync() | true | 推奨 OS 判定の回避 | | isRecommendedBrowserAsEtaxAsync() | 'OK' | 推奨ブラウザ判定の回避 |

トラブルシューティング: QR コードが表示されない

CC-AA-440 で QR コードが表示されない場合、displayQrcode() 内で getClientOS()'Linux' 等を返し、 oStUseTypeundefined になっている可能性がある。

確認方法: ブラウザコンソールで getClientOS() の戻り値を確認。'Windows' でなければパッチが適用されていない。

手動対処(Playwright CLI の場合):

playwright-cli -s=etax run-code 'window.getClientOS = function() { return "Windows"; }; displayQrcode();'

検証済み画面遷移フロー

CC-AA-010 → CC-AE-090 → CC-AE-600 → CC-AA-024 → CC-AA-440(QR 表示確認済み)

詳細は docs/wsl-os-detection-workaround.md を参照。


引継書の出力

全ステップ完了後、以下のファイルを Write ツールで出力する。

ステップ別ファイルの出力

.shinkoku/progress/10-etax.md に以下の形式で出力する:

---
step: 10
skill: e-tax
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---

# e-Tax 電子申告の結果

## 提出方法

- 確定申告書等作成コーナー(Claude in Chrome 入力代行)

## 税額サマリー

- 事業所得: {金額}円
- 課税所得: {金額}円
- 所得税額: {金額}円
- 申告納税額: {金額}円({納付/還付})
- 消費税納付額: {金額}円(該当者のみ)

## 送信結果

- 受付番号: {受付番号}
- 送信日時: {日時}

## 次のステップ

/submit で提出後のチェックリストを確認する

進捗サマリーの更新

.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):

  • YAML frontmatter: fiscal_year、last_updated(当日日付)、current_step: e-tax
  • テーブル: 全ステップの状態を更新(e-tax を completed に)

免責事項

  • 確定申告書等作成コーナーの画面構成・フォーム要素は国税庁の更新により変更される可能性がある
  • Claude in Chrome の入力代行はユーザーの目視確認を前提とする — 自動送信は行わない
  • マイナンバーカードの操作(電子署名)はユーザーの手動操作が必要
  • 最終的な申告内容は税理士等の専門家に確認することを推奨する

調査資料

詳細なセレクタ情報・スクリーンショットは skills/e-tax/research/ ディレクトリを参照:

  • 00-screen-flow-summary.md — 画面遷移マップ
  • 0105 — 認証フロー画面
  • 0614 — 決算書コーナー画面
  • 3041 — 所得税コーナー画面
  • 5055 — 消費税コーナー画面(初期調査)
  • 8487 — 消費税 2割特例(条件判定、売上入力、計算結果)
  • 8993 — 消費税 簡易課税(条件判定、事業区分、売上入力、控除方式、計算結果)
  • 9498 — 消費税 一般課税(条件判定、所得区分、売上入力、決算額テーブル、計算結果)

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例0 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月17日
最后更新2026年3月17日