Receber por email
← Voltar para o catálogo

income-tax

This skill should be used when the user needs to calculate their income tax (所得税), compute deductions, or import withholding slips. Trigger phrases include: "所得税を計算", "確定申告書を作成", "控除を計算", "源泉徴収票を取り込む", "所得税額", "納付額を計算", "還付額を計算", "第一表", "第二表", "申告書B", "所得控除", "税額控除".

343estrelas
Atualizado há 7 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add kazukinagata/shinkoku

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/income-tax/svg)](https://www.skillteca.com.br/skills/income-tax)
#ai

Skills relacionadas

Ver todas de Outros →

Alerta por categoria

Receba novas skills de Outros toda segunda

1 email curto, só com as skills novas de Outros. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

所得税計算(Income Tax Calculation)

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

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

  1. shinkoku.config.yaml を Read ツールで読み込む
  2. ファイルが存在しない場合は /setup スキルの実行を案内して終了する
  3. 設定値を把握し、相対パスは CWD を基準に絶対パスに変換する:
  4. db_path: CLI スクリプトの --db-path 引数に使用
  5. output_dir: 進捗ファイル等の出力先ベースディレクトリ
  6. 各ディレクトリ: ファイル参照時に使用

パス解決の例

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 ツールで読み込む(存在する場合):
  3. .shinkoku/progress/06-settlement.md
  4. .shinkoku/progress/02-assess.md
  5. .shinkoku/progress/05-furusato.md
  6. 読み込んだ情報を以降のステップで活用する(ユーザーへの再質問を避ける)
  7. ファイルが存在しない場合はスキップし、ユーザーに必要情報を直接確認する

基本方針

  • 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 から納税者情報を取得する
  3. 氏名・住所・税務署名 → 確定申告書等作成コーナーへの入力に使用
  4. 寡婦/ひとり親・障害者・勤労学生の状態 → 人的控除の計算に使用
  5. 事業所得以外の所得: 給与所得・雑所得・配当所得・一時所得等がある場合は情報を収集する
  6. 源泉徴収票: 給与所得がある場合は取り込みを案内する
  7. 各種控除の適用状況: 適用可能な控除を網羅的に確認する
  8. 予定納税額: assess で確認済みの予定納税額を取得する
  9. 未確認の場合は、前年の確定申告書(㊺欄)から判定する
  10. 予定納税額は源泉徴収税額とは別に管理する
  11. 分離課税の確認: 株式・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. 配偶者: 配偶者の有無と年間所得金額を確認する
  2. 所得48万円以下 → 配偶者控除(38万円)
  3. 所得48万円超133万円以下 → 配偶者特別控除(段階的)
  4. 納税者の所得が1,000万円超 → 配偶者控除なし
  5. 確認後 ledger.py set-spouse --db-path DB_PATH --input spouse.json で DB に登録する
  1. 扶養親族: 以下の情報を収集する
  2. 氏名、続柄、生年月日、年間所得、障害の有無、同居の有無
  3. 16歳未満: 扶養控除なし(児童手当対象)
  4. 16歳以上: 一般扶養38万円
  5. 19歳以上23歳未満: 特定扶養63万円
  6. 70歳以上: 老人扶養48万円(同居58万円)
  7. 確認後 ledger.py add-dependent --db-path DB_PATH --input dependent.json で各人を DB に登録する
  1. マイナンバーの収集(申告書B第二表に記載が必要):
  2. 配偶者のマイナンバー(12桁)
  3. 扶養親族(16歳以上)全員のマイナンバー
  4. 16歳未満の子供のマイナンバー(住民税に関する事項の記載に必要)
  5. 取扱注意: DB に保存するが、ツール出力やログには表示しない
  1. 事業専従者の確認:
  2. 配偶者が青色事業専従者として給与を受けている場合 → 配偶者控除の対象外
  3. 扶養親族が青色事業専従者・白色事業専従者の場合 → 扶養控除の対象外
  4. 該当する場合は控除計算から除外し、ユーザーに明示する
  1. 障害者控除: 扶養親族に障害がある場合
  2. 一般障害者: 27万円、特別障害者: 40万円、同居特別障害者: 75万円

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

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

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

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

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

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

  1. iDeCo(個人型確定拠出年金)の年間掛金を確認する
  2. 小規模企業共済等掛金払込証明書から金額を確認
  3. 全額が所得控除(上限: 自営業者は年額81.6万円)
  4. 小規模企業共済の掛金がある場合も同様に確認する

画像ファイルの場合: 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 で登録する:

``json { "fiscal_year": 2025, "detail": { "date": "2025-03-15", "patient_name": "山田太郎", "medical_institution": "ABC病院", "amount": 150000, "insurance_reimbursement": 0, "description": null } } ``

  1. 集計結果(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 で取引先別の源泉徴収情報を登録する:

``json { "fiscal_year": 2025, "detail": { "client_name": "取引先名", "gross_amount": 1000000, "withholding_tax": 102100 } } ``

  1. ledger.py list-business-withholding --db-path DB_PATH --input query.json で登録済み情報を確認する
  2. 源泉徴収税額の合計を 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 で登録する:

``json { "fiscal_year": 2025, "detail": { "payer_address": "支払者住所", "payer_name": "税理士名", "fee_amount": 300000, "expense_deduction": 0, "withheld_tax": 30630 } } ``

  1. 源泉徴収税額は `business_withh
Compartilhar X LinkedIn