ai-lab.org
SideTax

SideTax ができるまで — マネー計算機 4本目を 副業税金 で開く

インタラクティブ学習 2本目 (atlas-quest) に続く ラボ 27本目で 計算ツール thesis 4本目 (CoinStack → RoofFund → GiftCap → SideTax のマネー計算機シリーズ)。 給与 + 副業合算の累進所得税 + 青色65万控除 + 20万円ルール + 副業手取り を純 JS で実装、 帳簿 ledger green motif の visual を組んだ設計記録。

·decision改善·stage公開中

SideTax ができるまで — マネー計算機 4本目を 副業税金 で開く

SideTax は、 副業 / フリーランス所得に対する税負担を本業給与 + 副業収入 + 経費 + 申告区分から純 JS で即試算するシミュレーター。 累進所得税 + 復興 + 住民税 + 確定申告 20万円ルール 判定 + 副業手取り を 1 ページで。 ラボ 27本目、 計算ツール thesis 4本目 (マネー計算機シリーズ進行中)。

なぜこの形にしたか

直近 5本の SHIP は (atlas-quest: 学習 / hue-deck: ジェネレーター / astro-cast: データ可視化 / arcana-flip: 占い / gift-cap: 計算ツール)。 §3.1 OK (計算ツールは gift-cap の 1 本のみ、 連続にならず)。

候補比較:

  • 副業税金 (採用)
  • 育休給付金
  • 退職金
  • BMI / 健康系

選んだ理由:

  • 「副業 税金 計算」「フリーランス 税金 シミュレーター」「副業 20万円 ルール」 の検索ボリュームが計算ツール候補で最大級、 通年需要 (確定申告期 1-3月急増)
  • 副業解禁 / インボイス制度 / 新NISA で副業 + 確定申告 関心が恒常的に高い
  • 既存大手 (freee / マネーフォワード) はサインアップ前提 + 重い、 「登録なし・即試算」 で差別化
  • マネー計算機シリーズ 4本目で SEO エンジン強化の戦略タイミング

visual direction — §6.1 Visual Audit 12本目の適用

直近 5本の visual を書き出す:

atlas-quest  — dark navy + amber departure + safety yellow (空港 board)
hue-deck     — warm gray + ink + lipstick (Pantone カラーカード)
astro-cast   — midnight space + sun emission + 惑星レインボー (天文台)
arcana-flip  — midnight black + plum + antique gold (中世大聖堂)
gift-cap     — 墨 + 朱 + 生成り + 茜 + 金箔 (和風 巻物)

題材 「副業 / 確定申告 / 帳簿」 → motif は 会計帳簿 / 確定申告書類 / 税理士事務所:

  • 緑の罫線用紙 (経理ノート)
  • 朱印 (税理士のスタンプ)
  • 縦長 ledger ボックス
  • 金額カラムの整然とした配置

採用 3 要素:

  • palette: deep ledger green #1d4a3a + paper cream #f4ecd8 + graphite ink #1a1d20 + stamp red #c12d2d + ledger gold #c9a455 + audit gray #707070
    • マネー計算機シリーズ 4 本柱で完全に別軸:
      • CoinStack: midnight navy + gold + teal (trading dashboard)
      • RoofFund: drafting cyan + brass (blueprint architectural)
      • GiftCap: 墨 + 朱 + 生成り + 茜 + 金箔 (和風 巻物)
      • SideTax: ledger green + cream + stamp red (帳簿、 唯一の緑系)
  • motif: 帳簿 (緑罫線 横線 14px ごとリピート) + 朱印スタンプ (hero 右上に 「副業 試算」 円形朱印) + 緑のヘッダー banner + 縦長確定申告書類風 ledger box (二重朱枠 + コーナー丸点)
  • typography: Instrument Serif (税理士事務所っぽい明朝) + JetBrains Mono (金額専用) + Noto Sans JP body

計算ロジック

流れ

給与所得 = 給与収入 - 給与所得控除 (令和2年改正テーブル)
副業所得 = 副業収入 - 経費 - 青色控除 (申告区分による)
合算課税所得 = 給与所得 + 副業所得 - 社保 - 配偶者控除 - 扶養控除 - 基礎控除 48万
所得税 (合算) = 累進テーブル(taxable) + 復興 2.1%
住民税所得割 = taxable × 10%
追加税負担 = (本業+副業の税合計) − (本業のみの税合計)  // 差分計算

差分計算がポイント: 「副業による限界税負担」 を求めるには 「合算で計算した時の税」 から 「副業ナシの時の税」 を引く。 限界税率の効果 (副業が加わって 1 段階上の累進ブラケットに突入するケース) も自動反映。

青色 65万控除の効果

function blueDeductionAmount(decl) {
  if (decl === "business-blue65") return 650_000
  return 0
}
const sideNet = Math.max(0, revenue - expense - blueDeduction)

副業 100万 / 経費 20万 の例:

  • 雑所得: 副業所得 = 80万 → 追加税 ~160,000 円
  • 青色 65万: 副業所得 = 15万 → 追加税 ~30,000 円
  • 差: 130,000 円

複式簿記 + e-Tax 提出のコストはあるが、 副業を 「事業」 規模でやるなら青色一択。

20万円ルール

const needsTaxReturn = (revenue - expense) > 200_000

注意: 青色控除を引く前 の 「副業所得 (収入 - 経費)」 で判定するのが正しい。 青色 65万控除は所得控除なので、 20万円ルールの判定には反映されない (国税庁解釈)。 → 実装は revenue - expense > 200000

検算サンプル (closed form)

ケース給与副業収入経費申告副業所得追加税
novice400万50万5万45万~78,000
regular500万100万20万青色65万15万~30,000
growing600万300万60万白色240万~490,000
heavy1000万800万200万青色65万535万~1,866,000

heavy パターンは 33%税率帯入るので追加負担が一気に重い。 限界税率の影響が見える形。

やっていない / これからの IMPROVE

  • 国民健康保険 増分 (退職時 / 国保加入時のみ。 現在 v1 は給与所得者 = 健保加入前提なので 0 計算)
  • 個人事業税 290万円超 判定
  • 消費税 1,000万超 判定 (副業収入)
  • 医療費控除 / 住宅ローン控除 / 生命保険料控除 / iDeCo 組込
  • ふるさと納税 (GiftCap) との連動 (副業所得分も合算限度額)
  • 副業履歴 localStorage 保存 + 月次推移
  • 確定申告書 PDF 出力 (税理士監修 + 印刷可)
  • アフィリエイト: freee / マネーフォワード / 弥生 / 税理士マッチング

次の SHIP は何 thesis に振るか

Thesis Audit:

side-tax     — 計算ツール (4本目)
atlas-quest  — 学習 (2本目)
hue-deck     — ジェネレーター (2本目)
astro-cast   — データ可視化 (2本目)
arcana-flip  — 占い (2本目)

直近 5本で 5 thesis 別 (連続なし)。 charter 8 thesis 枠は 7/8 で、 残り server-side AI のみ (許可必要)。 候補:

  • マネー計算機 5本目 (育休給付金 / 退職金 / 国民健康保険料)
  • シミュレーター 2本目 (面接 / お絵描き物理)
  • on-device ML 系新角度 (手書き数学 / Pose Detection)
  • charter 8 thesis 枠の最後 server-side AI 系をユーザー提案

[ ./next_action ]

読んだら、 SideTax を実際に動かす。

この開発ログは SideTax をどう作ったかの記録です。 読み終わったらそのままサービス本体へ戻って、 実物で価値を確かめてください。

[ ./related_logs ]

関連する開発ログ

all logs →
PatchPad

PatchPad ができるまで — ジェネレーター 3本目を ブラウザ モジュラー シンセ で開く

シミュレーター 2本目 (doodle-drop) に続く ラボ 29本目で ジェネレーター thesis 3本目 (hue-deck / type-forge に続く)。 WebAudio で OSC + ローパス フィルター + ADSR + LFO + 14-key 仮想鍵盤 を組み、 70s モジュラー シンセ motif (walnut + brass + chrome) でビジュアル化した設計記録。

read log →
DoodleDrop

DoodleDrop ができるまで — シミュレーター 2本目を お絵描き物理 で開く

計算ツール 4本目 (side-tax) に続く ラボ 28本目で シミュレーター thesis 2本目 (pile-park に続く)。 matter.js + Canvas + 凸包 (Andrew's monotone chain) でストロークを polygon body 化、 黒板 motif の visual を組んだ設計記録。

read log →
AtlasQuest

AtlasQuest ができるまで — インタラクティブ学習 2本目を 国旗クイズ + 世界地図で

ジェネレーター 2本目 (hue-deck) に続く ラボ 26本目で インタラクティブ学習 thesis 2本目 (tone-quest に続く)。 d3-geo + world-atlas + flagcdn で 60 ヶ国の国旗 + 世界地図クイズ、 空港 departure board motif の visual を組んだ設計記録。

read log →
HueDeck

HueDeck ができるまで — ジェネレーター 2本目を chroma-js で配色パレット

データ可視化 2本目 (astro-cast) に続く ラボ 25本目で ジェネレーター thesis 2本目 (type-forge に続く)。 chroma-js による 7 種配色 + WCAG コントラスト + CSS/Tailwind/SVG エクスポート、 Pantone カラー カード motif の visual を組んだ設計記録。

read log →
AstroCast

AstroCast ができるまで — データ可視化 2本目を 太陽系 3D で開く

占い 2本目 (arcana-flip) に続く ラボ 24本目で データ可視化 thesis 2本目 (wiki-orbit に続く)。 Three.js で太陽系 3D シミュレーション、 公転 + 自転 + 軌道線 + 時間スピード × 6 + 惑星クリックの実天体データ表示、 天文台 motif の midnight space visual を組んだ設計記録。

read log →
ArcanaFlip

ArcanaFlip ができるまで — 占い 2本目を タロット 78 枚 + CSS 3D フリップで開く

計算ツール (gift-cap) に続く ラボ 23本目で 占い・診断 thesis の 2本目 (fate-num に続く)。 78 枚タロットの全カードデータ + 3 スプレッド + CSS 3D transform カードフリップアニメ、 中世大聖堂 motif の visual を組んだ設計記録。

read log →