Claudeでふるさと納税の上限額を試算する — 控除の式をArtifactにする手順
総務省が示す控除の式から上限額の計算式を導き、Claudeに頼んでArtifactの計算機にする手順です。入力項目の集め方と、公式の数字との突き合わせ方も扱います。
ふるさと納税の上限額は、住民税の特例分で決まる
ふるさと納税の自己負担を2,000円に収められる寄附額の上限は、総務省が示す控除の式から逆算できます。式さえ分かれば、Claudeに頼んで入力欄つきの計算機をArtifactとして作れます。
ただし、Claudeに「上限額を計算して」と丸投げすると、根拠の分からない数字が返ってきます。ここでは式を先に固め、その式をArtifactに閉じ込める順で進めます。出てくる数字はあくまで目安です。最終的な上限は、お住まいの市区町村や公式のツールで確かめる前提で読んでください。
総務省が示す控除の式
総務省の「税金の控除について」のページは、控除額を次の3つに分けています。寄附額を「ふるさと納税額」と書くと、式は次のとおりです。
| 控除 | 式 | 上限 |
|---|---|---|
| 所得税 | 式(ふるさと納税額−2,000円)×所得税の税率 | 上限総所得金額等の40% |
| 住民税(基本分) | 式(ふるさと納税額−2,000円)×10% | 上限総所得金額等の30% |
| 住民税(特例分) | 式(ふるさと納税額−2,000円)×(100%−10%−所得税の税率) | 上限特例分の控除額が所得割額の2割まで |
所得税の税率は、令和19年中の寄附までは復興特別所得税の税率を加えた率です。適用される税率は課税所得の増加に応じて上がるので、人によって違います。
特例分には別の式もあります。特例分が住民税所得割額の2割を超える場合は、特例分が「住民税所得割額×20%」で頭打ちになります。この場合は3つの控除を足しても、寄附額から2,000円を引いた全額は控除されません。実質負担は2,000円を超えます。
つまり上限額の正体は「特例分がちょうど所得割額の2割に届く寄附額」です。
式を上限額の形に直す
2,000円を超える部分が全額控除される境目は、特例分が所得割額の2割に等しくなるところです。上の表の特例分の式から、寄附額を求める式へ変形します。
上限額 = 住民税所得割額 × 20% ÷ (90% − 所得税の税率) + 2,000円ここでいう所得税の税率は、復興特別所得税を含めた率です。国税庁の解説では、復興特別所得税は原則として基準所得税額の2.1%とされています。所得税の税率を1.021倍して使うと、式に取り込めます。
この変形は総務省の式からの計算です。総務省のページに上限額の公式が載っているわけではないので、後で公式値との突き合わせが要ります。
倍率の1.021は、2027年の所得から変わる
国税庁の「所得税の税率」のページは、令和9年1月1日以後に生ずる所得の扱いを変えると書いています。復興特別所得税の税率は1.1%に下がり、防衛特別所得税(源泉徴収すべき所得税の額の1%相当額)が併せて源泉徴収されます。総務省の控除のページは、令和19年中の寄附まで復興特別所得税を加えた率を使うと書くだけで、防衛特別所得税には触れていません。
2026年の寄附に使う倍率は1.021で足ります。2027年以降の寄附に同じ倍率を使い続けてよいかは、年が替わったときの総務省のページの式で決まります。Artifactの倍率は定数として切り出しておくと、後から差し替えやすくなります。
課税所得は1,000円未満を切り捨てて判定する
所得税の税率は、課税所得を国税庁の速算表に当てて決めます。
| 課税される所得金額 | 税率 |
|---|---|
| 1,000円〜1,949,000円 | 税率5% |
| 1,950,000円〜3,299,000円 | 税率10% |
| 3,300,000円〜6,949,000円 | 税率20% |
| 6,950,000円〜8,999,000円 | 税率23% |
| 9,000,000円〜17,999,000円 | 税率33% |
| 18,000,000円〜39,999,000円 | 税率40% |
| 40,000,000円以上 | 税率45% |
速算表の「課税される所得金額」は、1,000円未満の端数を切り捨てた後の金額です(国税庁の説明)。1,949,500円を入れると、切り捨てで1,949,000円になり、5%の区分に入ります。切り捨てを忘れて区分の上限と直接比べると、10%の区分と判定してしまいます。
Artifactの中では、この7段の判定が一つの関数になります。端数の切り捨ては関数の最初の1行に置きます。
入力項目はどこから集めるか
計算機に入れる値は、多くて4つです。手元の書類のどこにあるかを先に決めておくと、入力で迷いません。
| 入力項目 | 使い道 | 目安の入手先 |
|---|---|---|
| 課税される所得金額 | 使い道所得税の税率を決める | 目安の入手先源泉徴収票の「給与所得控除後の金額」から「所得控除の額の合計額」を引いた額 |
| 住民税所得割額 | 使い道特例分の2割を出す | 目安の入手先住民税の税額通知書に記載の所得割額(年のずれに注意。下の年表を参照) |
| 総所得金額等 | 使い道40%・30%の頭打ちを確認する | 目安の入手先源泉徴収票の「給与所得控除後の金額」 |
| 寄附予定額 | 使い道実質負担の確認用 | 目安の入手先自分で決める |
給与所得だけの人なら、源泉徴収票とお住まいの自治体の住民税の通知書で足ります。ただし、右列の入手先は一般的な目安です。書類の欄の名前や数字の拾い方は、自治体や税務署の案内で確かめてください。
通知書の所得割額は、年がずれる
総務省のページによると、今年の寄附で決まる控除は翌年度の住民税から引かれます。
寄附から控除までの流れ
- 寄附をした年上限の計算に使う所得はこの年のもの
控除が引かれる翌年度の住民税は、この年の所得をもとに決まります。所得税分は、その年の所得税から控除(還付)されます。
- 翌年3月15日まで確定申告の期限
寄附金控除の申告は、住所地等の所轄の税務署へ出します。ワンストップ特例を申請した人は、この申告が不要です。
- 翌年度住民税から控除される
住民税分(基本分と特例分)が、翌年度の住民税から差し引かれます。
手元の通知書に載っているのは、通常は前年の所得をもとにした所得割額と考えられます。転職・昇給・副業などで今年の収入が前年と大きく違う人は、通知書の値をそのまま使いません。今年の見込みの所得から所得割額を見積もって入れ替えます。見積もりに自信がなければ、市区町村に問い合わせます。
なお、数字を入れるのは自分のブラウザ上の画面です。氏名や住所は計算に要らないので、入力しません。
Claudeに計算機のArtifactを作らせる
Artifactを使うには、設定の「Capabilities」で、クラウド上のコード実行とファイル作成をオンにします。Free・Pro・Maxは個人設定、Team・Enterpriseは組織設定です。前提はClaude Artifactsで個人サイトを作る方法の有効化の節にまとまっています。
Claudeへの依頼は、式と入力項目をこちらから渡すのが要点です。次のように書きます。
ふるさと納税の上限額の目安を出すArtifactを作ってください。
入力: 課税される所得金額(円)/ 住民税所得割額(円)/
総所得金額等(円)/ 寄附予定額(円)
所得税率: 課税所得を1,000円未満切り捨てにしたうえで、
国税庁の速算表(5・10・20・23・33・40・45%)で判定し、
復興特別所得税分として1.021倍する(倍率は定数にする)
上限額 = 所得割額×0.2 ÷ (0.9 − 所得税率) + 2,000 を千円未満切り捨て
寄附予定額が上限を超えたら実質負担の目安を警告として表示
「あくまで目安。最終確認は市区町村へ」と画面に常に表示速算表の区分と式を自分で渡すことで、Claudeが記憶で書いた数字ではなく、確認済みの式でコードが組まれます。返ってくるコードの核は、例えば次のような形です。公式の式を反映させた例で、頼み方によって実際の出力は変わります。
const brackets = [
[1949000, 0.05], [3299000, 0.10], [6949000, 0.20],
[8999000, 0.23], [17999000, 0.33], [39999000, 0.40],
[Infinity, 0.45],
];
const SURTAX = 1.021; // 復興特別所得税。年が替わったら見直す
function incomeTaxRate(taxable) {
const t = Math.floor(taxable / 1000) * 1000; // 1,000円未満切り捨て
return brackets.find(([max]) => t <= max)[1] * SURTAX;
}
function donationLimit(residentTax, taxable) {
const r = incomeTaxRate(taxable);
const limit = (residentTax * 0.2) / (0.9 - r) + 2000;
return Math.floor(limit / 1000) * 1000;
}生成されたコードを読めなくても構いません。次の節の検算で、式が正しく入っているかを確かめられます。
仮の数字で計算機を検算する
Artifactとは別に、式を一段ずつ自分で計算して、出てくる数字が正しいかを確かめます。次の値は説明用の仮のものです。
- 課税される所得金額: 3,500,000円(速算表では20%の区分)
- 住民税所得割額: 300,000円
所得税の税率は20%に1.021をかけて20.42%です。上限額は次のとおりです。
- 300,000円×20%=60,000円
- 90%−20.42%=69.58%
- 60,000円÷0.6958=約86,231円
- 86,231円+2,000円=約88,231円
千円未満を切り捨てると、目安は88,000円です。Artifactに同じ2つの値を入れて、この数字が出れば式は合っています。
区分をまたぐ入力も試すと、判定の抜けを見つけられます。次の表は、上と同じ式を手で当てた仮の組です。
| 課税所得 | 所得割額 | 税率(×1.021後) | 上限額の目安 |
|---|---|---|---|
| 1,500,000円 | 所得割額150,000円 | 税率(×1.021後)5.105% | 上限額の目安37,000円 |
| 7,000,000円 | 所得割額650,000円 | 税率(×1.021後)23.483% | 上限額の目安197,000円 |
| 1,949,500円 | 所得割額100,000円 | 税率(×1.021後)5.105% | 上限額の目安25,000円 |
| 1,950,000円 | 所得割額100,000円 | 税率(×1.021後)10.21% | 上限額の目安27,000円 |
下の2行は、課税所得が500円違うだけで税率の区分が変わる組です。1,949,500円で27,000円と出たら、1,000円未満の切り捨てが抜けています。課税所得に0円を入れたときは、税率0%の別扱いになるかを見ます(下の読み替えの表を参照)。
総所得金額等の40%・30%という頭打ちも、計算機に入れておくと安心です。寄附予定額が総所得金額等に比べて大きいときの警告になります。
公式の数字と突き合わせる
計算機の数字は、そのまま寄附額の根拠にしません。次の3段で照らします。
計算機の数字を公式と照らす順番
- 1
市区町村に聞く
総務省の説明では、上限の具体的な計算は市区町村への問い合わせ先とされています。ただし、自治体によっては控除の対象となる寄附額の上限に答えられない場合もあります。
- 2
シミュレーターに同じ入力を入れる
自治体やふるさと納税のポータルサイトが用意するシミュレーターに、同じ入力を入れて比べます。
- 3
申告書の作成用サイトで税額を見る
寄附後に確定申告をするなら、国税庁が提供する申告書の作成用サイトで、金額を入力すると税額が自動計算されます。
差が出たときに疑う点は、総務省のページに書かれているものから拾えます。
| ずれの原因 | 計算機で見る場所 |
|---|---|
| 特例分の2割 | 計算機で見る場所所得割額の入力値と、式の「×0.2」の部分 |
| ワンストップ特例 | 計算機で見る場所控除額の表示で、所得税分を0円にしているか |
| 復興特別所得税 | 計算機で見る場所コードの定数 SURTAX(1.021) |
| 課税所得の端数 | 計算機で見る場所incomeTaxRate の最初の1行 |
特例分の税率のずれは、下の読み替えの表にあります。
差が数百円から数千円なら、上の表の項目から見直します。桁が違うときは、入力値、特に課税所得の求め方から見直します。
式が目安にならないケースの読み替え
ここまでの式は、給与所得だけで、所得税と住民税の課税所得がほぼ揃っている人を前提にしています。前提が外れる場合は、次のように読み替えます。
| ケース | 何が起きるか | 読み替え |
|---|---|---|
| 課税所得が0円 | 何が起きるか速算表は1,000円以上の区分から始まるので、0円は表に当たらず税率は0%になる | 読み替え例示のコードは0円でも5%の区分と判定するので、0円は別扱いにする。税率0%なら式の分母は90%になる |
| 年末調整などで所得税が0円 | 何が起きるか所得税の控除は働かず、住民税からのみ控除を受ける | 読み替え総務省のページでは、住民税に関する申告書を市区町村に出す必要があるとされている。手続きは自治体に聞く |
| 副業・医療費控除・住宅ローン控除がある | 何が起きるか課税所得や所得税額が変わる。総務省のページに個別の扱いは書かれていない | 読み替え課税所得は控除後の額で入れ直す。計算機の値は大まかな目安と割り切り、申告書の作成用サイトや市区町村で確かめる |
| 基準所得金額が3億3,000万円を超える | 何が起きるか国税庁の解説に、令和7年分から特例加算があるとの注記がある。式はこの加算を考えていない | 読み替え高所得の人は式の数字が目安から外れるので、税務署や市区町村で確かめる |
| 特例分の税率が所得税率とずれる | 何が起きるか特例分の税率は、住民税の課税総所得金額から人的控除差の調整額を引いた金額で決まる | 読み替え式の所得税率を、その金額で判定した率に置き換える。所得税側の税率とは区分が違うことがある |
いずれも、計算機が返す数字は正確な上限ではなく、上限に近い目安です。数字が自分の状況に当てはまるかどうかで迷う点は、市区町村に問い合わせる項目にします。
ワンストップ特例を使うときの読み替え
上限額の計算式そのものは、ワンストップ特例の有無で変わりません。変わるのは、控除がどの税から返ってくるかです。
確定申告とワンストップ特例の違い
確定申告
寄附先の自治体が発行する寄附の証明書や受領書を添えて、税務署へ申告します。
ワンストップ特例
確定申告が不要な給与所得者等で、寄附先が5団体以内の場合に使えます。寄附先の各自治体に申請します。
ワンストップ特例の申請は、令和4年中の寄附から、一部の自治体でマイナンバーカードを使ったオンライン申請ができます。対応するかどうかは寄附先の自治体ごとに違います。
計算機の画面に「所得税分・住民税分の控除額」まで出したいときは、Claudeに次のように頼みます。
ワンストップ特例を使う場合のトグルを追加してください。
オンのときは所得税からの控除を0円とし、控除の全額を
住民税からの控除として表示してください。つまずきやすい点
課税所得の入れ間違い。源泉徴収票の支払金額を入れると、所得税率が実際より高く判定されます。上限額は式の分母が小さくなるので、実際より大きく出ます。
所得割額の拾い間違い。住民税の年税額や均等割と混ぜると、上限額がずれます。所得割額の欄だけを使います。
式の更新。令和19年中の寄附までという復興特別所得税の期間や、税率の区分は制度改正で変わることがあります。年が替わったら、総務省のページを開いてArtifactの式と見比べます。Claudeに「式を最新の総務省ページに合わせて直して」と頼むときは、ページの文面を貼って渡します。
入力値を保存したいときと共有するとき
Artifactは最初は自分だけのものですが、共有すると他の人が開けます。入力欄に本名や源泉徴収票の全項目を持たせる設計は避けます。
Claudeのヘルプには、Artifactにデータを保存する機能の説明があります。保存先は個人用と共有用に分かれ、個人用は本人だけに見え、共有用は使う全員が同じデータを見ます。どちらを使うかは、Artifactを作る側が決めます。Claudeのウェブ版とデスクトップ版の、Pro・Max・Team・Enterpriseで使え、保存できるのはArtifactごとに20MBまでのテキストだけです。共有用の保存を初めて使うときは、データが他の人にも見えるという確認がClaudeから出ます。
この計算機は、値をその場で計算して表示するだけで足ります。前回の入力を残したいときは、次のように頼むと個人用の保存に限定できます。
入力値の保存は個人用のストレージだけを使い、
共有用のストレージは使わないでください。Claudeに任せる範囲と、人が確かめる範囲
計算機づくりは、式と入力項目を渡せば、入力欄の設計、端数処理、警告の文言までをまとめて任せられる作業です。反対に、自分の課税所得を正しく求める作業や、自治体ごとの上限の確認は、人が書類を見て確かめる領域です。
確定申告の下書きそのものをClaudeに任せる場合の注意点は、Claudeで確定申告・年末調整の下書きを作るときの注意点にまとめています。控除の疑問を整理して税務署や税理士に聞く準備をするなら、Claudeで確定申告の疑問を整理して質問リストを作る手順が向きます。
同じように、式を渡して小さな計算機をArtifactに仕立てる考え方は、Opus 5.5のタスクコストを試算する方法にも見られます。
まとめ
この計算機が返すのは上限の目安です。寄附額を決める前に、手計算・シミュレーター・市区町村の三つで数字が合うかを見比べます。