【エンジニア向け】所得税の「10種類の所得」をオブジェクト指向で完全理解

こんにちは。ゆうせいです。

あなたは新人エンジニアとして、日々のコーディングやデバッグに追われている頃でしょうか。

プログラムの世界では、変数の「型(Type)」が合っていないとエラーが出たり、予期せぬ挙動をしたりしますよね。整数型の変数に文字列を入れようとすれば、コンパイラに怒られてしまいます。

実は、税金の世界もこれと全く同じだということをご存知でしたか。

日本の所得税法という巨大なレガシーシステムには、「所得」という名のクラスが10種類も定義されているのです。

「お金はお金でしょ? int型ひとつでいいじゃん」

そう思いたくなる気持ち、痛いほどわかります。しかし、この国の仕様(法律)では、収入が発生したプロセスごとに厳密に型定義されており、それによって税金の計算アルゴリズムが変わってくるのです。

もし、この型を間違えて申告してしまうと、税務署という厳格なLinter(静的解析ツール)から「Type Error」の通知が届き、追徴課税というペナルティを受けることになります。

今日は、そんな複雑怪奇な「10種類の所得」について、エンジニアの皆さんに馴染み深い例えを使って解説していきます。

さあ、税金という名の仕様書を一緒に読み解いていきましょう!

なぜ10種類にも分かれているのか

そもそも、なぜこんなに細かく分類する必要があるのでしょうか。

それは、所得によって「担税力(税金を負担する力)」が異なると考えられているからです。

たとえば、汗水垂らして毎日働いて得た「給与」と、宝くじのような運で得た「一時的な収入」では、税金の重みを変えるべきだという設計思想があります。

エンジニア的に言えば、「データの発生源や性質によって、適用する処理ロジック(課税方法)を分岐させるため」に、これだけのクラスが用意されているのです。

10種類の所得クラス一覧

それでは、10種類の所得をエンジニア用語に翻訳しながら見ていきましょう。

大きく分けると、資産運用系、労働系、特殊イベント系の3つにグルーピングできます。

1. 利子所得(インカムゲイン・クラス)

預貯金や公社債の利子です。

エンジニアで言えば、「ステーキング報酬」のようなものです。元本(トークン)を預けているだけで、チャリンチャリンと増えていくログのような所得です。基本的に経費(コスト)は認められません。

2. 配当所得(株主還元クラス)

株を持っていると企業からもらえる配当金です。

これは「プロジェクトの利益分配」に近いですね。投資信託の収益分配金などもここに含まれます。

3. 不動産所得(インフラ貸出クラス)

土地や建物を貸して得る家賃収入です。

サーバーエンジニアなら「AWSやVPSのホスティング費用を受け取る側」と想像してください。自分が構築したインフラ(アパート)をユーザー(入居者)に使わせて、使用料をもらうイメージです。

4. 事業所得(メイン・ビジネスクラス)

農業、漁業、製造業、サービス業など、継続的なビジネスから生じる所得です。

フリーランスエンジニアとしての報酬は、まさにこれです。「自社開発のSaaSを運用して得る売上」と考えるとわかりやすいでしょう。

5. 給与所得(定期実行ジョブクラス)

会社員やアルバイトがもらう給料や賞与です。

これは「Cron(定期実行)で毎月確実に振り込まれる固定給」です。勤務先というメインシステムに依存しており、安定性は抜群ですが、経費の計上には厳しい制限(給与所得控除という固定パラメーター)があります。

6. 退職所得(プロセス終了クラス)

退職時に一度だけもらえる手当です。

長期間稼働した「プロセスのKill(終了)時に吐き出されるログ」のようなもので、長年の貢献に報いるために、税金がめちゃくちゃ安くなる優遇措置(強力なバフ)がかかっています。

7. 山林所得(長期アーカイブクラス)

これが一番特殊かもしれません。山林を伐採して譲渡したり、立木のままで譲渡したりすることによる所得です。

「5年以上コールドストレージ(Glacier)に寝かせておいたデータを、ようやくリストアして売却した」ようなイメージです。育てるのに長い時間がかかるため、他の所得とは完全に別のロジックで計算されます。

8. 譲渡所得(アセット売却クラス)

土地、建物、株式、ゴルフ会員権、そして時には特許権などを売った時の利益です。

「保有していたハードウェアやドメインを売却した益」と考えましょう。何を持っていた期間(短期保有か長期保有か)によって、税率が変わる条件分岐が存在します。

9. 一時所得(突発イベントクラス)

懸賞金、福引の賞金、生命保険の一時金などです。

「バグバウンティ(脆弱性報奨金)で思わぬ高額報酬をゲットした」、あるいは「ハッカソンの優勝賞金」などがこれに当たります。継続性がなく、労働の対価でもない、ラッキーな収入です。

10. 雑所得(その他・例外クラス)

上記の9種類のどれにも当てはまらない所得です。

プログラミングで言うところの default ケース、あるいは else ブロックです。

「副業のアフィリエイト収入」や「暗号資産(仮想通貨)の取引利益」、そして前回解説した「小規模な講師料」などは、とりあえずこのバケツに放り込まれます。

所得の計算式(疑似コード)

これらの所得は、それぞれのルールに従って計算されますが、基本構造は共通しています。

収入 - 必要経費 = 所得

ただし、給与所得のように「必要経費」の実費計算が認められず、代わりに「控除額」という固定値を使うクラスもあります。

それぞれの所得が出揃ったら、最後にそれらを合算(集計処理)します。これを「総所得金額」と言います。

総所得金額 = 利子 + 配当 + 不動産 + 事業 + 給与 ++ 一時 \dots

※退職所得など、一部合算しない(分離課税)ものもあります。

この「総所得金額」に対して税率を掛けることで、最終的な税額(Output)が算出されるのです。

メリットとデメリットの視点

エンジニアとして知っておくべきは、「どのクラスにインスタンス化されるかで、手取りが変わる」という事実です。

たとえば、副業でWebアプリを作って売上が上がったとします。

  • 事業所得として認められれば:青色申告特別控除という強力なライブラリが使え、税金を大幅に圧縮できます。また、赤字が出た場合に給与所得と相殺(損益通算)して、会社のお給料から引かれた税金を取り戻すことができます。
  • 雑所得と判定されれば:上記のメリットは使えません。赤字は null 扱いされ、他の所得と混ぜることができません。

つまり、あなたの活動実態に合わせて正しいクラス(所得区分)を選び、適切に運用設計を行うことが、最大のパフォーマンスチューニング(節税)になるのです。

まとめ

10種類の所得について、イメージは掴めましたでしょうか。

  • 所得税法は厳格な型定義を持つシステムである
  • 収入の性質によって10種類のクラスに分類される
  • default ケースである「雑所得」と、メインの「事業所得」の境界線は特に重要

エンジニアのあなたは、仕様を理解してシステムを最適化するプロフェッショナルですよね。

ぜひご自身の収入についても、「これはどのクラスに属するデータだろう?」と分析してみてください。

まずは、あなたの給与明細や副業の入金履歴を見ながら、「これは給与所得クラス」「これは雑所得クラス」とラベリングしてみることから始めてみてはいかがでしょうか。

意外なバグ(節税のチャンス)が見つかるかもしれませんよ!

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。