# E Tax

> >

- **Type:** Skill
- **Install:** `agentstack add skill-kazukinagata-shinkoku-e-tax`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [kazukinagata](https://agentstack.voostack.com/s/kazukinagata)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [kazukinagata](https://github.com/kazukinagata)
- **Source:** https://github.com/kazukinagata/shinkoku/tree/main/skills/e-tax

## Install

```sh
agentstack add skill-kazukinagata-shinkoku-e-tax
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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  --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.md` の `status` を確認する:
   - `status: interrupted` の場合 → 下記「中断・再開プロトコル」の **再開手順** に従う
   - `status: completed` の場合 → ユーザーに完了済みである旨を伝え、再実行の意図を確認する
4. 計算結果がまだ存在しない場合は、先に `/income-tax` や `/settlement` の実行を案内する

## 中断・再開プロトコル

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

### 中断手順

1. **現在のステップの入力内容を確認する** — 未保存の入力がないか確認
2. **.data ファイルのダウンロードを案内する** — AskUserQuestion で以下を表示:

```
作成コーナーの入力データを .data ファイルとして保存することを推奨します。
画面上部の「入力データの一時保存」ボタン（またはページ下部の「ここまでの入力データを保存する」リンク）
をクリックし、ファイルをダウンロードしてください。

ダウンロードが完了したら「ダウンロード済み」を選択してください。
```

- 選択肢: 「ダウンロード済み」 / 「スキップ（保存しない）」
- 「スキップ」が選ばれた場合は、次回は最初からやり直しになる可能性がある旨を警告する

3. **進捗ファイルを記録する** — `.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からやり直す
```

4. **ユーザーに中断完了を報告** — 次回の再開方法を案内して終了する

### 再開手順

`.shinkoku/progress/10-etax.md` で `status: interrupted` を検出した場合:

1. 中断時の情報（`last_completed_step`, `data_file_saved`）を読み取る
2. AskUserQuestion で以下を表示:

```
前回の e-Tax 入力はステップ{N}で中断されています。

再開方法を選択してください。
```

- 選択肢:
  - 「.data ファイルから再開する」（`data_file_saved: true` の場合のみ表示）
  - 「最初からやり直す」
  - 「中断記録を破棄して終了する」

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

4. **最初からやり直す場合**:
   - ステップ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'` でなければ以下を手動実行する:
```javascript
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 のフィールド:
- `uriageKingaku1`〜`uriageKingaku12`: 月別売上
- `siireKingaku1`〜`siireKingaku12`: 月別仕入
- `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 | 任意科目 | `keihiNiniKingaku3`〜`6` | 科目名: `keihiNiniKamoku3`〜`6` |
| 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「

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [kazukinagata](https://github.com/kazukinagata)
- **Source:** [kazukinagata/shinkoku](https://github.com/kazukinagata/shinkoku)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-kazukinagata-shinkoku-e-tax
- Seller: https://agentstack.voostack.com/s/kazukinagata
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
