【確定申告】どの控除が受けられるの?という方の為に判定サイト作成しました

2019/02/03

確定申告の際、税金を計算する所得から、または計算結果の金額から差し引ける金額のことを「控除」といいます。
この控除を活用しないと、所得税・住民税・事業税・国民健康保険料等がとても高くなります。
そうはいっても、控除にはいろいろな種類があり、大きく分けて「所得控除」「税額控除」の2種でその中に医療費控除や生命保険料控除などの各種控除があります。ふるさと納税でお得に返礼品をもらえるのも、ふるさと納税をすると寄付した金額に対して控除されるからお得なんですね。
だがしかし、控除は所得控除だけでも14種、税額控除で9種もありその条件をすべて把握するのはなかなか厳しいです。

所得税・住民税・事業税・国民健康保険料の計算シミュレーションを作成する際に色々調査しましたがとても大変でしたし、いざ確定申告書を作成しようと事務作業を進めてみても、これってどうなるんだ?ということが度々ありました。

上記の経緯もあってい、もっと簡単に適用可能な控除を判別できるといいのになぁと思い、パッとした思い付きで作ってみました!

判定してみたいという方は、こちらからアクセスするか、画面上部のメニューからアクセスしてください。

「控除判定サービス」はどのようなものにするか?

なにはともあれ要件定義です。とりあえず、頭の中にある考えをざっくりまとめていきます。

要件定義

  • 質問に対して「はい」「いいえ」で答えるだけ。
  • 各控除には細かな条件があるけど簡単な質問にし、詳細は国税庁のサイトで確認する形式へ。(丸投げ!)
  • 画面は「質問ページ」と「結果ページ」の2種。
  • 質問内容や結果のリンク集はDBを用意するほどでもないので、JSONで用意する。
  • 仕事に加え、確定申告の準備や新しい技術の習得・家庭サービスと日々忙しいので、1日位でサクッと作りたい。

このような感じですすめます。その次は何で作るかを決めていきます。

実装方法

画面は質問と結果のページの2種しかないので、PHPでサーバサイドまで作るのも大げさだし、JSONであればJSの方が楽だろうということで以下のように決めました。

  • vue-cli 3 がとても便利なので、Vue.jsで作成。
  • 回答内容等を保持するためにあると管理が楽そうなので、Vuexは使う。
  • 2種のページしかないので、vue-routerまではいらない。
  • デザインは、no jsな「Bulma.css」で。

これなら1日位でできそうかな。

質問内容のまとめ

一番大変だったのが、各種控除の判定を行う質問の文言です。詳細な条件があるので、それを全部含めてしまうと長文になりそれなら国税庁のサイトでOKの状態になります。
あくまでも、簡単に回答できることが大事なのでそこに気を付けながら質問をまとめていきました。

質問の一覧

質問の横の控除名は、質問に対して「はい」と返答した場合に対応する控除です。ちなみに、社会保険料控除はよっぽどのことがない限り対象外となることはないので、質問自体作成しませんでした。結果に必ず表示されます。

  • あなたは青色申告者ですか? → 青色申告特別控除
  • 災害や盗難で事業用資産に損害が発生しましたか? → 雑損控除
  • 病院などで医療費を10万円以上の支払いがありますか?→ 医療費控除
  • 小規模企業共済や確定拠出年金(iDeCo)に加入していますか? → 小規模企業共済等掛金控除
  • 現在、国民年金保険・国民健康保険‘以外‘の保険に加入していますか? → 生命保険料控除
  • 地震保険に加入していますか? → 地震保険料控除
  • 現在結婚している、または過去に結婚したことがありますか?
    • 現在配偶者と離婚または死別していますか? → 寡婦控除、寡夫控除
      • 配偶者の年収が103万円以内ですか? → 配偶者控除
      • 配偶者の年収が201万円以内ですか? → 配偶者特別控除
  • 16歳以上で、年間の合計所得金額が38万円以内の扶養親族(配偶者は含まれません)がいますか? → 扶養控除
  • 納税者自身、配偶者または扶養親族に障害者がいますか? → 障害者所得
  • 株や投資信託等の配当金を受け取りましたか? → 配当控除
  • 国外での所得や外国株の配当金を受け取りましたか? → 外国税額控除
  • ふるさと納税をしましたか? → 寄付金控除
  • 政党・認定NPO法人・公益社団法人に寄付しましたか? → 政党等寄附金特別控除制度、認定NPO法人等寄付金特別控除
  • 現在のお住まいは持ち家ですか? → (特定増改築等)住宅借入金等特別控除、住宅耐震改修特別控除、住宅特定改修特別税額控除、認定住宅新築等特別税額控除
  • 事業主と生計を一緒にする親族に仕事を手伝ってもらい、給与を支払ってますか? → 専従者控除
  • 年間の利益が赤字または、前年からの繰越している赤字分(繰越損失)がありますか? → 損失の繰越控除
  • 震災・風水害・火災などの災害により事業用資産に損害を受けましたか? → 被災事業用資産の損失の繰越控除
  • 事業に使っていた機械・工具・車両などを譲渡し、損失が発生しましたか? → 事業用資産の譲渡損失の控除、事業用資産の譲渡損失の繰越控除

完成版の説明!

ということで、実際に完成したので画面イメージとともにご説明していきます。

1.回答フォーム部にある「判定開始」ボタンをクリックします。
判定開始

2.質問が表示されますので「はい」「いいえ」で回答してください。
質問

回答すると、画面遷移せずアニメーションで質問が切り替わります。

次の質問

3.最後まで回答すると以下のような結果の画面が表示されます。

結果には、適用可能性のある控除の一覧と詳細ページへのリンク(主に国税庁へのリンク)と確定申告時に必要な書類を表示します。

結果

実際にかかった工数

1日じゃできませんでした。。公開するまで3日かかりました。。

作業内容 工数
環境作成
(vue-cli3によるプロジェクト作成やbulma.css組み込みなど)
0.5h
控除の種類や条件調査 3h
JSONデータ作成 1h
vue.jsによる実装 4h
デザイン組み込み 6h
テスト 0.5h
合計 15h

vue.jsによる実装は予定通りサクッと終わったのですが、控除の調査とデザイン組み込みで時間かかりすぎました。。
デザイン力がほんとないので、改めてデザイナーさんすごいなぁと感じますね。
我ながらツッコミどころ満載なデザインですが、これ以上時間かけれない!

JSONデータ作成はこちらのCSV to JSONがめっちゃ便利でした。Google スプレッドシートで作成したリストをCSVで出力し、「CSV to JSON」で変換。これでJSONを直接作成する必要なく、簡単に作成できました。

まとめ

Vue.jsであれば、簡単なシステムであればサクッと作成でき、公開もサーバにアップロードするだけなのでとても簡単ですね。
vue-routerまで使わずとも、アニメーションを使ったコンポーネント切り替えで、サクッと実装できますし。
もうjQueryには戻れない。

スポンサーリンク