Token导航 LogoToken导航TokenDH.com
待分类只读github未标认证来源可访问许可证需确认审计通过

income-tax所得税

Agent Skill

income-tax 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

7,288

周安装

292

GitHub Stars

336

下载量

2,359
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:income-tax(所得税)
来源仓库:https://github.com/kazukinagata/shinkoku
仓库路径:skills/income-tax
安装命令:
npx skills add https://github.com/kazukinagata/shinkoku --skill income-tax
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/kazukinagata/shinkoku --skill income-tax

简介

income-tax 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适用于围绕仓库状态、代码变更和协作事项进行整理分析。
  • 通过 npx skills add 命令从 GitHub 仓库安装并使用该技能。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件操作。
  • 建议结合原始 README 文档进一步核验具体用法和功能边界。

SKILL.md

所得税計算(Income Tax Calculation)

事業所得・各種控除から所得税額を計算するスキル。 settlement スキルで決算書の作成が完了していることを前提とする。 計算結果は /e-tax スキル(Claude in Chrome)で確定申告書等作成コーナーに入力する。

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

  1. shinkoku.config.yaml を Read ツールで読み込む
  2. ファイルが存在しない場合は /setup スキルの実行を案内して終了する
  3. 設定値を把握し、相対パスは CWD を基準に絶対パスに変換する:

- db_path: CLI スクリプトの --db-path 引数に使用 - output_dir: 進捗ファイル等の出力先ベースディレクトリ - 各ディレクトリ: ファイル参照時に使用

パス解決の例

config の db_path./shinkoku.db で CWD が /home/user/tax-2025/ の場合:

  • shinkoku tax calc-income --input /home/user/tax-2025/output/income_input.json

進捗情報の読み込み

設定の読み込み後、引継書ファイルを読み込んで前ステップの結果を把握する。

  1. .shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合)
  2. 以下の引継書を Read ツールで読み込む(存在する場合):

- .shinkoku/progress/06-settlement.md - .shinkoku/progress/02-assess.md - .shinkoku/progress/05-furusato.md

  1. 読み込んだ情報を以降のステップで活用する(ユーザーへの再質問を避ける)
  2. ファイルが存在しない場合はスキップし、ユーザーに必要情報を直接確認する

基本方針

  • settlement スキルで青色申告決算書が完成しているか確認してから開始する
  • 所得の計算 → 控除の計算 → 税額の計算 の順序で進める
  • 各ステップの計算結果をユーザーに提示し、確認を得る
  • references/form-b-fields.md の各欄に正しく値を設定する
  • 端数処理ルールを厳守する:

- 課税所得: 1,000円未満切捨て(国税通則法118条) - 復興特別所得税: 1円未満切捨て(復興財源確保法13条) - ㊺ 所得税及び復興特別所得税の額: 端数処理なし - 申告納税額(納付の場合のみ): 100円未満切捨て(国税通則法119条) - 還付金: 1円単位・切捨てなし(国税通則法120条)

前提条件の確認

所得税計算を開始する前に以下を確認する:

  1. 青色申告決算書が完成しているか: settlement スキルの出力を確認する
  2. 納税者プロファイルの読み込み: uv run shinkoku profile --config {config_path} で config から納税者情報を取得する

- 氏名・住所・税務署名 → 確定申告書等作成コーナーへの入力に使用 - 寡婦/ひとり親・障害者・勤労学生の状態 → 人的控除の計算に使用

  1. 事業所得以外の所得: 給与所得・雑所得・配当所得・一時所得等がある場合は情報を収集する
  2. 源泉徴収票: 給与所得がある場合は取り込みを案内する
  3. 各種控除の適用状況: 適用可能な控除を網羅的に確認する
  4. 予定納税額: assess で確認済みの予定納税額を取得する

- 未確認の場合は、前年の確定申告書(㊺欄)から判定する - 予定納税額は源泉徴収税額とは別に管理する

  1. 分離課税の確認: 株式・FX の分離課税(第三表)は対象外。該当する場合は税理士への相談を案内する

必須確認チェックリスト(スキップ不可)

所得税計算を開始する前に、以下の項目がすべて確認済みであることを検証する。 config・引継書に記載がない項目は、ユーザーに直接確認してから先に進む。

  • 家族構成: 配偶者の有無・扶養親族の有無を確認済みか?

- 未確認 → ユーザーに確認し、ステップ1.5 で詳細を登録する - 確認済み(該当なし)→ ステップ1.5 をスキップ可

  • 住宅ローン控除: 適用有無を確認済みか?

- 未確認 → ユーザーに確認する - 適用あり(初年度)→ ステップ3.7 で明細書を作成する

  • 予定納税: 有無・金額を確認済みか?

- 未確認 → 前年の確定申告書(㊺欄)から判定するようユーザーに確認する - 金額未確定 → estimated_tax_payment パラメータに正しい値を設定できるまで進まない

ステップ1: 源泉徴収票の取り込み

給与所得がある場合、源泉徴収票からデータを取り込む。

import_data.py import-withholding の呼び出し

shinkoku import import-withholding --input withholding_input.json

入力 JSON:

{
  "file_path": "path/to/withholding_slip.pdf"
}

出力:

{
  "payer_name": "支払者名",
  "payment_amount": 5000000,
  "deduction_amount": 3560000,
  "income_tax_withheld": 100000,
  "social_insurance": 700000,
  "life_insurance": 50000,
  "spouse_deduction": 0
}

画像ファイルの場合: OCR 読み取り

extracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-withholding スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。

結果照合: 両方の読み取り結果から payment_amount, withheld_tax, social_insurance を比較する

一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告

不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:

  • 差異のあるフィールドを明示する
  • A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する

取り込み後の検算(必須):

OCR 結果の整合性を検証するため、「所得控除の額の合計額」と各内訳の合計を照合する:

検算: 所得控除の額の合計額 ≟ 社会保険料等の金額          ← 小規模企業共済等掛金を含む(内数)
                            + 生命保険料の控除額
                            + 地震保険料の控除額
                            + 配偶者(特別)控除の額
                            + 扶養控除額                ← 人数×単価から算出(特定63万/老人48万or58万/その他38万)
                            + 障害者控除                ← 人数×単価から算出(一般27万/特別40万/同居特別75万)
                            + 寡婦控除(27万)またはひとり親控除(35万) ← 該当時
                            + 勤労学生控除(27万)       ← 該当時
                            + 基礎控除の額              ← 源泉徴収票の記載額を使用。未記載なら所得と年度から算出

注意:

  • 「(うち小規模企業共済等掛金の額)」は社会保険料等の金額の内数。別途加算すると二重計上になる
  • 扶養控除・障害者控除は金額欄ではなく人数欄で記載されるため、人数×単価で算出する
  • 基礎控除の額は源泉徴収票に記載があればその値を使う。未記載の場合は合計所得と年度に応じて算出する(令和7・8年は特例加算あり、令和9年以降は一律58万)
  • 一致の場合: 各フィールドの OCR 精度が確認できたものとして採用する
  • 不一致の場合: 差額を明示し、どのフィールドが誤読の可能性があるかユーザーに提示する。元画像と突き合わせて修正する

その他の確認事項:

  1. 複数の勤務先がある場合は各社分を取り込む
  2. 年末調整済みの控除を確認し、追加控除の有無を判定する

ステップ1.5: 扶養親族・配偶者情報の確認

所得控除の計算前に、扶養親族の情報を収集する。 まず DB に登録済みのデータを確認し、不足があれば追加入力する。

DB からの読み込み

  1. ledger.py get-spouse --db-path DB_PATH で配偶者情報を取得する(登録済みの場合)
  2. ledger.py list-dependents --db-path DB_PATH で扶養親族のリストを取得する(登録済みの場合)

未登録の場合の確認項目

  1. 配偶者: 配偶者の有無と年間所得金額を確認する

- 所得48万円以下 → 配偶者控除(38万円) - 所得48万円超133万円以下 → 配偶者特別控除(段階的) - 納税者の所得が1,000万円超 → 配偶者控除なし - 確認後 ledger.py set-spouse --db-path DB_PATH --input spouse.json で DB に登録する

  1. 扶養親族: 以下の情報を収集する

- 氏名、続柄、生年月日、年間所得、障害の有無、同居の有無 - 16歳未満: 扶養控除なし(児童手当対象) - 16歳以上: 一般扶養38万円 - 19歳以上23歳未満: 特定扶養63万円 - 70歳以上: 老人扶養48万円(同居58万円) - 確認後 ledger.py add-dependent --db-path DB_PATH --input dependent.json で各人を DB に登録する

  1. マイナンバーの収集(申告書B第二表に記載が必要):

- 配偶者のマイナンバー(12桁) - 扶養親族(16歳以上)全員のマイナンバー - 16歳未満の子供のマイナンバー(住民税に関する事項の記載に必要) - 取扱注意: DB に保存するが、ツール出力やログには表示しない

  1. 事業専従者の確認:

- 配偶者が青色事業専従者として給与を受けている場合 → 配偶者控除の対象外 - 扶養親族が青色事業専従者・白色事業専従者の場合 → 扶養控除の対象外 - 該当する場合は控除計算から除外し、ユーザーに明示する

  1. 障害者控除: 扶養親族に障害がある場合

- 一般障害者: 27万円、特別障害者: 40万円、同居特別障害者: 75万円

重要: 16歳未満の扶養親族も必ず登録する

16歳未満の子供は扶養控除の対象外だが、以下の理由で申告書への記載が必要:

  • 住民税の非課税限度額の判定(扶養人数に16歳未満も含む)
  • 住民税の均等割の非課税判定
  • 申告書B第二表「住民税に関する事項 - 16歳未満の扶養親族」欄への記載

ledger.py add-dependent で登録する際、16歳未満でもスキップせずに登録すること。

ステップ1.6: iDeCo・小規模企業共済の確認

掛金払込証明書がある場合は import_data.py import-deduction-certificate で取り込むことができる。

  1. iDeCo(個人型確定拠出年金)の年間掛金を確認する

- 小規模企業共済等掛金払込証明書から金額を確認 - 全額が所得控除(上限: 自営業者は年額81.6万円)

  1. 小規模企業共済の掛金がある場合も同様に確認する

画像ファイルの場合: OCR 読み取り

extracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-deduction-cert スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。

結果照合: 両方の読み取り結果から annual_premium, certificate_type を比較する

一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告

不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:

  • 差異のあるフィールドを明示する
  • A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する

ステップ1.7: 医療費明細の集計

医療費控除を適用する場合、明細を集計する。

医療費の登録・集計

  1. ledger.py list-medical-expenses --db-path DB_PATH --input query.json で登録済み医療費明細を取得する
  2. 未登録の医療費がある場合は ledger.py add-medical-expense --db-path DB_PATH --input medical.json で登録する: {"fiscal_year": 2025, "detail": {"date": "2025-03-15", "patient_name": "山田太郎", "medical_institution": "ABC病院", "amount": 150000, "insurance_reimbursement": 0, "description": null}}
  3. 集計結果(total_amount - total_reimbursement)を医療費控除の計算に使用する

ステップ1.8: 事業所得の源泉徴収(支払調書)

取引先から受け取った支払調書の情報を登録する。

支払調書の取り込み

  1. import_data.py import-payment-statement --input payment_input.json で支払調書PDF/画像からデータを抽出する

画像ファイルの場合: OCR 読み取り

extracted_text が空の場合(画像ファイルまたはスキャン PDF)、画像の読み取りは /reading-payment-statement スキルを使用する。 スキルの指示に従い、デュアル検証(2つの独立した読み取り結果の照合)を行って結果を取得する。

結果照合: 両方の読み取り結果から gross_amount, withholding_tax, payer_name を比較する

一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告

不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:

  • 差異のあるフィールドを明示する
  • A を採用 / B を採用 / 手動入力 の3択を AskUserQuestion で提示する
  1. ledger.py add-business-withholding --db-path DB_PATH --input withholding.json で取引先別の源泉徴収情報を登録する: {"fiscal_year": 2025, "detail": {"client_name": "取引先名", "gross_amount": 1000000, "withholding_tax": 102100}}
  2. ledger.py list-business-withholding --db-path DB_PATH --input query.json で登録済み情報を確認する
  3. 源泉徴収税額の合計を business_withheld_tax として所得税計算に使用する

ステップ1.8.5: 税理士等報酬の登録

税理士・弁護士等に報酬を支払っている場合、報酬明細を登録する。

  1. ledger.py list-professional-fees --db-path DB_PATH --input query.json で登録済みの税理士等報酬を確認する
  2. 未登録の場合は ledger.py add-professional-fee --db-path DB_PATH --input fee.json で登録する: {"fiscal_year": 2025, "detail": {"payer_address": "支払者住所", "payer_name": "税理士名", "fee_amount": 300000, "expense_deduction": 0, "withheld_tax": 30630}}
  3. 源泉徴収税額は business_withheld_tax に合算する

ステップ1.9: 損失繰越の確認

前年以前に事業で損失が発生し、青色申告している場合、繰越控除を適用できる。

  1. ledger.py list-loss-carryforward --db-path DB_PATH --input query.json で登録済みの繰越損失を確認する
  2. 未登録の場合は ledger.py add-loss-carryforward --db-path DB_PATH --input loss.json で登録する: {"fiscal_year": 2025, "detail": {"loss_year": 2023, "amount": 500000}}
  3. 繰越損失の合計を loss_carryforward_amount として所得税計算に使用する

ステップ1.10: その他の所得の確認(雑所得・配当所得・一時所得・年金所得・退職所得)

事業所得・給与所得以外の総合課税の所得を確認・登録する。

公的年金等の雑所得

公的年金等の収入がある場合、年金控除を計算して雑所得を求める。

  1. 年金収入の有無を確認する
  2. uv run shinkoku tax calc-pension --input pension_input.json で公的年金等控除を計算する: uv run shinkoku tax calc-pension --input pension_input.json 入力 JSON: {"pension_income": 2000000, "is_over_65": true, "other_income": 0} 出力: {"pension_income": 2000000, "deduction_amount": 1100000, "taxable_pension_income": 900000, "other_income_adjustment": 0}
  3. taxable_pension_income を雑所得として misc_income に加算する
  4. 令和7年改正: 65歳未満の最低保障額60万→70万、65歳以上の最低保障額110万→130万

退職所得

退職金を受け取った場合、退職所得を計算する。

  1. 退職金の有無を確認する
  2. uv run shinkoku tax calc-retirement --input retirement_input.json で退職所得を計算する: uv run shinkoku tax calc-retirement --input retirement_input.json 入力 JSON: {"severance_pay": 10000000, "years_of_service": 20, "is_officer": false, "is_disability_retirement": false} 出力: {"severance_pay": 10000000, "retirement_income_deduction": 8000000, "taxable_retirement_income": 1000000, "half_taxation_applied": true}
  3. 退職所得は原則分離課税(退職時に源泉徴収済み)だが、確定申告で精算する場合もある
  4. 役員等の短期退職(勤続5年以下)は1/2課税が適用されない

雑所得(miscellaneous)

副業の原稿料、暗号資産の売却益、その他の雑収入。

  1. ledger.py list-other-income --db-path DB_PATH --input query.json で登録済み雑所得を確認する
  2. 未登録の収入がある場合は ledger.py add-other-income --db-path DB_PATH --input other_income.json で登録する: {"fiscal_year": 2025, "detail": {"income_type": "miscellaneous", "description": "収入の内容", "revenue": 500000, "expenses": 50000, "withheld_tax": 51050, "payer_name": "支払者名"}}
  3. 雑所得 = 収入 - 経費(特別控除なし)

仮想通貨(暗号資産)

暗号資産の売却益は雑所得(総合課税)として申告する。

  1. ledger.py list-crypto-income --db-path DB_PATH --input query.json で登録済み仮想通貨所得を確認する
  2. 未登録の場合は ledger.py add-crypto-income --db-path DB_PATH --input crypto.json で取引所別に登録する: {"fiscal_year": 2025, "detail": {"exchange_name": "取引所名", "gains": 300000, "expenses": 10000}}
  3. 合計を雑所得として total_income に加算する

配当所得(総合課税選択分)

総合課税を選択した配当は配当控除(税額控除)の対象となる。

  1. ledger.py list-other-income --db-path DB_PATH --input query.jsonincome_type: "dividend_comprehensive" を確認する
  2. 未登録の場合は ledger.py add-other-income --db-path DB_PATH --input dividend.json で登録する
  3. 配当控除: 課税所得1,000万以下の部分 → 配当の10%、超える部分 → 5%

一時所得

保険満期金、懸賞金等の一時的な所得。

  1. ledger.py list-other-income --db-path DB_PATH --input query.jsonincome_type: "one_time" を確認する
  2. 未登録の場合は ledger.py add-other-income --db-path DB_PATH --input one_time.json で登録する
  3. 一時所得 = max(0, (収入 - 経費 - 特別控除50万円)) × 1/2

calc_income_tax への反映

上記のその他所得は以下のパラメータで calc_income_tax に渡す:

  • misc_income: 雑所得合計(仮想通貨含む)
  • dividend_income_comprehensive: 配当所得(総合課税選択分)
  • one_time_income: 一時所得の収入金額(1/2 計算は内部で実施)
  • other_income_withheld_tax: その他所得の源泉徴収税額合計

ステップ1.11: (対象外)分離課税

分離課税(株式・FX の第三表)は対象外。該当する場合は税理士への相談を案内する。

ステップ1.12: 社会保険料の種別別内訳の登録

所得控除の内訳書に種別ごとの記載が必要なため、社会保険料を種別別に登録する。

社会保険料の控除証明書がある場合は import_data.py import-deduction-certificate で取り込むことができる。

  1. ledger.py list-social-insurance-items --db-path DB_PATH --input query.json で登録済み項目を確認する
  2. 未登録の場合は ledger.py add-social-insurance-item --db-path DB_PATH --input insurance.json で種別ごとに登録する: {"fiscal_year": 2025, "detail": {"insurance_type": "national_health", "name": "保険者名", "amount": 300000}} insurance_type: national_health / national_pension / national_pension_fund / nursing_care / labor_insurance / other
  3. 合計額を social_insurance として控除計算に使用する

ステップ1.13: 保険契約の保険会社名の登録

所得控除の内訳書に保険会社名の記載が必要なため、保険契約を登録する。

控除証明書の画像・PDFがある場合は import_data.py import-deduction-certificate で取り込むことができる。 取り込み後、抽出データに基づいて ledger.py add-insurance-policy で登録する。

  1. ledger.py list-insurance-policies --db-path DB_PATH --input query.json で登録済み項目を確認する
  2. 未登録の場合は ledger.py add-insurance-policy --db-path DB_PATH --input policy.json で登録する: {"fiscal_year": 2025, "detail": {"policy_type": "life_general_new", "company_name": "保険会社名", "premium": 80000}} policy_type: life_general_new / life_general_old / life_medical_care / life_annuity_new / life_annuity_old / earthquake / old_long_term
  3. 生命保険料は life_insurance_detail パラメータに、地震保険料は earthquake_insurance_premium に反映する

ステップ1.14: ふるさと納税以外の寄附金の確認

政治活動寄附金、認定NPO法人、公益社団法人等への寄附金を確認する。

  1. ledger.py list-donations --db-path DB_PATH --input query.json で登録済み寄附金を確認する
  2. 未登録の場合は ledger.py add-donation --db-path DB_PATH --input donation.json で登録する: {"fiscal_year": 2025, "detail": {"donation_type": "npo", "recipient_name": "寄附先名", "amount": 50000, "date": "2025-06-01", "receipt_number": null}} donation_type: political / npo / public_interest / specified / other
  3. 寄附金控除の計算:

- 所得控除: 全寄附金 - 2,000円(総所得金額の40%上限) - 税額控除(政治活動寄附金): (寄附金 - 2,000円) × 30%(所得税額の25%上限) - 税額控除(認定NPO等): (寄附金 - 2,000円) × 40%(所得税額の25%上限)

  1. calc_deductionsdonations パラメータに寄附金レコードのリストを渡す

ステップ2: 所得控除の計算

tax_calc.py calc-deductions の呼び出し

shinkoku tax calc-deductions --input deductions_input.json

入力 JSON:

{
  "total_income": 5000000,
  "social_insurance": 700000,
  "life_insurance_premium": 80000,
  "earthquake_insurance_premium": 30000,
  "medical_expenses": 200000,
  "furusato_nozei": 50000,
  "housing_loan_balance": 0,
  "spouse_income": null,
  "ideco_contribution": 276000,
  "dependents": [],
  "fiscal_year": 2025,
  "housing_loan_detail": null,
  "donations": null
}

出力 (DeductionsResult):

  • income_deductions: 所得控除の一覧(basic_deduction, social_insurance_deduction, life_insurance_deduction, earthquake_insurance_deduction, ideco_deduction, medical_deduction, furusato_deduction, donation_deduction, spouse_deduction, dependent_deduction, disability_deduction)
  • tax_credits: 税額控除の一覧(housing_loan_credit, political_donation_credit, npo_donation_credit)
  • total_income_deductions: 所得控除合計
  • total_tax_credits: 税額控除合計

各控除の確認事項:

  • 基礎控除: 合計所得金額に応じた段階的控除(令和7年分の改正を反映、132万以下=95万)
  • 社会保険料控除: 国民年金・国民健康保険・その他の年間支払額
  • 生命保険料控除: 新旧制度 × 3区分(一般/介護医療/個人年金)で計算する

- life_insurance_detail パラメータで5区分の保険料を指定: - general_new: 一般(新制度)、general_old: 一般(旧制度) - medical_care: 介護医療(新制度のみ) - annuity_new: 個人年金(新制度)、annuity_old: 個人年金(旧制度) - 各区分の上限: 新制度 40,000円 / 旧制度 50,000円 / 合算上限 40,000円 - 3区分合計の上限: 120,000円 - 源泉徴収票に生命保険料5区分の記載がある場合はそのまま使用する

  • 地震保険料控除: 地震保険(上限5万円)+ 旧長期損害保険(上限1.5万円)、合算上限5万円

- old_long_term_insurance_premium パラメータで旧長期損害保険料を指定可能

  • 小規模企業共済等掛金控除: 3サブタイプ個別追跡

- iDeCo(個人型確定拠出年金) - 小規模企業共済 - 心身障害者扶養共済 - small_business_mutual_aid パラメータで小規模企業共済掛金を指定

  • 医療費控除: 支払額から保険金等の補填額を差し引き、10万円(または所得の5%)を超える部分

- セルフメディケーション税制との選択適用: OTC医薬品の購入額 - 12,000円(上限 88,000円) - 医療費控除とセルフメディケーションは併用不可。有利な方を選択する

  • 配偶者控除/特別控除: 配偶者の所得に応じて段階的に控除額が変動
  • 扶養控除: 年齢区分に応じた控除額(一般38万/特定63万/老人48万or58万)
  • 障害者控除: 障害の程度に応じた控除額
  • 人的控除(config の納税者情報から自動判定):

- 寡婦控除: 27万円(所得500万以下) - ひとり親控除: 35万円(所得500万以下) - 障害者控除(本人): 一般 27万円 / 特別 40万円 - 勤労学生控除: 27万円(所得75万以下)

  • ふるさと納税: 寄附金 − 2,000円(確定申告ではワンストップ特例分も含める)
  • 住宅ローン控除: 住宅区分別の年末残高上限と控除率0.7%(令和4年以降入居)

ステップ3: 所得税額の計算

tax_calc.py calc-income の呼び出し

shinkoku tax calc-income --input income_input.json

入力 JSON (IncomeTaxInput):

{
  "fiscal_year": 2025,
  "salary_income": 5000000,
  "business_revenue": 3000000,
  "business_expenses": 1000000,
  "blue_return_deduction": 650000,
  "social_insurance": 700000,
  "life_insurance_premium": 80000,
  "earthquake_insurance_premium": 30000,
  "medical_expenses": 0,
  "furusato_nozei": 50000,
  "housing_loan_balance": 0,
  "spouse_income": null,
  "ideco_contribution": 276000,
  "withheld_tax": 100000,
  "business_withheld_tax": 30000,
  "estimated_tax_payment": 0,
  "loss_carryforward_amount": 0
}

出力 (IncomeTaxResult):

  • salary_income_after_deduction: 給与所得控除後の金額
  • business_income: 事業所得
  • total_income: 合計所得金額(繰越損失適用後)
  • total_income_deductions: 所得控除合計
  • taxable_income: 課税所得金額(1,000円未満切り捨て)
  • income_tax_base: 算出税額
  • total_tax_credits: 税額控除合計
  • income_tax_after_credits: 税額控除後
  • reconstruction_tax: 復興特別所得税(基準所得税額 x 2.1%)
  • total_tax: 所得税及び復興特別所得税の額(端数処理なし)
  • withheld_tax: 源泉徴収税額(給与分)
  • business_withheld_tax: 事業所得の源泉徴収税額
  • estimated_tax_payment: 予定納税額
  • loss_carryforward_applied: 適用した繰越損失額
  • tax_due: 申告納税額(= total_tax - withheld_tax - business_withheld_tax - estimated_tax_payment)

寄附金控除の反映:

ふるさと納税以外の寄附金控除(ステップ1.14で登録)は、calc_deductions の結果に含まれている。 calc_income_tax は内部で calc_deductions を呼び出すため、以下のパラメータが正しく渡されていれば自動的に反映される:

  • furusato_nozei: ふるさと納税の寄附金合計
  • 政治活動寄附金・認定NPO等の税額控除は calc_deductionsdonations パラメータ経由で計算される

所得税計算前に calc_deductions を個別に呼び出す場合は、donations パラメータにステップ1.14で登録した寄附金レコードのリストを必ず渡すこと。

青色申告特別控除の自動キャップ:

blue_return_deduction は config の値をそのまま渡してよい。計算エンジンが事業利益を上限として自動キャップする(租特法25条の2)。 結果の effective_blue_return_deductionwarnings を必ず確認すること。

計算結果の確認:

  1. 合計所得金額の内訳を表示する
  2. effective_blue_return_deduction を確認し、自動調整があれば warnings の内容を表示する
  3. 繰越損失が適用されている場合はその額を明示する
  4. 所得税の速算表の適用が正しいか確認する
  5. 復興特別所得税が正しく加算されているか確認する
  6. 源泉徴収税額(給与分 + 事業分)が正しく控除されているか確認する
  7. 予定納税額が正しく控除されているか確認する
  8. 最終的な納付額(または還付額)を明示する

所得税の速算表・配偶者控除テーブル・住宅ローン限度額等は references/deduction-tables.md を参照。

ステップ3.1: サニティチェック(必須)

calc-income の結果を自動検証する。このステップはスキップ不可。

tax_calc.py sanity-check の呼び出し

shinkoku tax sanity-check --input sanity_input.json

入力 JSON:

{
  "input": { ... },
  "result": { ... }
}
  • input: ステップ3で calc-income に渡した IncomeTaxInput
  • result: ステップ3で calc-income から返された IncomeTaxResult

出力 (TaxSanityCheckResult):

  • passed: true/false
  • items: チェック項目のリスト(severity, code, message)
  • error_count: エラー件数
  • warning_count: 警告件数

結果に応じた対応

  • error > 0: 計算結果に問題があります。エラー内容を確認し、入力を修正してステップ3を再実行してください
  • warning > 0: 警告内容をユーザーに提示し、確認してから続行してください
  • passed = true: 問題なし。次のステップに進む

ステップ3.5: 住宅ローン控除明細の DB 登録(該当者のみ)

住宅ローン控除(初年度)を適用する場合、詳細情報を DB に登録する。

  1. ledger.py add-housing-loan-detail --db-path DB_PATH --input housing.json で住宅ローン控除の明細を登録する: {"fiscal_year": 2025, "detail": {"housing_type": "new_custom", "housing_category": "certified", "move_in_date": "2024-03-15", "year_end_balance": 30000000, "is_new_construction": true, "is_childcare_household": false, "has_pre_r6_building_permit": false, "purchase_date": "2024-01-20", "purchase_price": 40000000, "total_floor_area": 8000, "residential_floor_area": 8000, "property_number": null, // 不動産番号(13桁)を入力すると登記事項証明書の添付省略可(令和3年度改正) "application_submitted": false}}

住宅区分別の年末残高上限テーブルは references/deduction-tables.md を参照。

ステップ6: 計算結果サマリーの提示

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
所得税の計算結果(令和○年分)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ 所得金額(総合課税)
  事業所得:           ○○○,○○○円
  給与所得:           ○○○,○○○円
  雑所得:             ○○○,○○○円(該当者のみ)
  配当所得:           ○○○,○○○円(総合課税分、該当者のみ)
  一時所得:           ○○○,○○○円(該当者のみ)
  合計所得金額:       ○○○,○○○円

■ 所得控除
  社会保険料控除:     ○○○,○○○円
  生命保険料控除:      ○○,○○○円
  基礎控除:           480,000円
  [その他の控除...]
  所得控除合計:       ○○○,○○○円

■ 税額計算
  課税所得金額:       ○○○,○○○円
  算出税額:           ○○○,○○○円
  税額控除:            ○○,○○○円
  復興特別所得税:       ○,○○○円
  所得税及び復興特別所得税: ○○○,○○○円
  源泉徴収税額:       ○○○,○○○円
  予定納税額:          ○○,○○○円
  ---------------------------------
  申告納税額:          ○○,○○○円(納付 / 還付)

■ 次のステップ:
  → /consumption-tax で消費税の計算を行う
  → /e-tax で確定申告書等作成コーナーに入力する(Claude in Chrome)
  → /submit で提出準備を行う
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

引継書の出力

サマリー提示後、以下のファイルを Write ツールで出力する。 これにより、セッションの中断や Compact が発生しても次のステップで結果を引き継げる。

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

.shinkoku/progress/07-income-tax.md に以下の形式で出力する:

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

# 所得税計算・確定申告書作成の結果

## 所得金額の内訳

- 事業所得: {金額}円
- 給与所得: {金額}円
- 雑所得: {金額}円(該当者のみ、仮想通貨含む)
- 配当所得(総合課税): {金額}円(該当者のみ)
- 一時所得: {金額}円(該当者のみ)
- 合計所得金額: {金額}円

## 扶養親族・配偶者

- 配偶者控除/特別控除: {適用あり(控除額)/適用なし}
- 扶養控除: {適用あり(控除額、人数)/適用なし}

## iDeCo・小規模企業共済

- 小規模企業共済等掛金控除: {金額}円({iDeCo/小規模企業共済/なし})

## 医療費控除

- 適用: {あり/なし}
- 医療費控除額: {金額}円

## 事業所得の源泉徴収

- 源泉徴収税額(事業分): {金額}円

## 損失繰越控除

- 適用: {あり/なし}
- 繰越損失控除額: {金額}円

## 所得控除の内訳

| 控除項目 | 金額 |
|---------|------|
| 基礎控除 | {金額}円 |
| 社会保険料控除 | {金額}円 |
| 生命保険料控除 | {金額}円 |
| 地震保険料控除 | {金額}円 |
| 小規模企業共済等掛金控除 | {金額}円 |
| 医療費控除 | {金額}円 |
| 寄附金控除 | {金額}円 |
| 配偶者控除/特別控除 | {金額}円 |
| 扶養控除 | {金額}円 |
| 障害者控除 | {金額}円 |
| **所得控除合計** | **{金額}円** |

## 税額計算

- 課税所得金額: {金額}円
- 算出税額: {金額}円
- 税額控除(住宅ローン控除等): {金額}円
- 復興特別所得税: {金額}円
- 所得税及び復興特別所得税: {金額}円
- 源泉徴収税額(給与分): {金額}円
- 源泉徴収税額(事業分): {金額}円
- 予定納税額: {金額}円
- **申告納税額: {金額}円({納付/還付})**

## 次のステップ

/consumption-tax で消費税の計算を行う
/e-tax で確定申告書等作成コーナーに入力する(Claude in Chrome)
/submit で提出準備を行う

進捗サマリーの更新

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

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

出力後の案内

ファイルを出力したらユーザーに以下を伝える:

  • 「引継書を .shinkoku/progress/ に保存しました。セッションが中断しても次のスキルで結果を引き継げます。」
  • 次のステップの案内

Additional Resources

Reference Files

詳細なテーブル・パラメータは以下を参照:

  • references/form-b-fields.md — 確定申告書B様式の各欄の対応
  • references/deduction-tables.md — 所得税速算表、配偶者控除テーブル、基礎控除テーブル、住宅ローン限度額、生命保険料控除等

免責事項

  • この計算は一般的な所得税の計算ロジックに基づく
  • 分離課税(株式・FX)は対象外 — 第三表の計算は行わない
  • 白色申告(収支内訳書)は対象外
  • 不動産所得、譲渡所得(不動産売却等)、退職所得は現時点で未対応
  • 最終的な申告内容は税理士等の専門家に確認することを推奨する

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.74%
按下载量换算843

Claude

30.25%
按下载量换算714

Cursor

19.62%
按下载量换算463

Gemini CLI

9.43%
按下载量换算222

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills