Project_OKI’s diary

エンジニアの勉強ブログ

知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税計算)

ふるさと納税で確定申告とワンストップ納税計算

1.目的

目次

 

3.ふるさと納税で、税金から引かれる金額の計算

今回は、この税金から引かれる金額について、

ふるさと納税をすると、いくら引かれるのか。

また、ワンストップ納税と、確定申告でいくら差が出るのかを計算する。

 

下記サイトより、控除額の計算式は

① 所得税からの控除額 = (ふるさと納税額 - 2000) * 所得税の税率

② 住民税からの控除額(基本分) = (ふるさと納税額 - 2000)*10%

③ 住民税からの控除(特例分) = (ふるさと納税額 -2000) ×(100-10-所得税率)

合計控除額 = ① + ② + ③

このうちの、①の分が、ワンストップ納税だと、住民税控除として控除される。

 

参考:

総務省|ふるさと納税のしくみ|税金の控除について

ふるさと納税 控除の目安と限度額の計算方法・シミュレーション - ふるさと納税の「ふるさとぷらす」

総務省|ふるさと納税のしくみ|ふるさと納税の流れ

 

※実際には復興税率が所得税率にかかるが、2.1%と低く、計算した結果の100円未満は切り捨てられるので、ここでは計算に入れない。

 

所得税率:

 

プログラムの仕様を簡単に考える。

4.算出するプログラムをC言語で作成する。

#include <stdio.h>

#define res_taxrate 10 //住民税率

int main(void){
    // Your code here!
    //入力
    int anu;    //年収[万円]:annual income
    int tax;    //ふるさと納税額: tax amount
    int inc_taxrate;    //所得税率:income tax rate
    
    //出力
    int inc_tax;        //所得税控除額:income tax
    int res_taxba;      //住民税控除額(基本):Resident tax(basic portion)
    int res_taxsp;      //住民税控除額(特例):Resident tax(special portion)
    int onestop;        //ワンストップ納税時の控除額:One-stop tax payment
    int taxre;          //確定申告時の控除額:tax return
    int taxdiff;         //ワンストップ納税時と確定申告時の差額:tax difference
    
    //年収の入力[万円]
    anu = 400;
    //ふるさと納税額を入力[円]
    tax = 40000;
    
    //所得税率を設定
    if(0.1 <= anu && anu < 195){
        inc_taxrate = 5;
    }else if(195 <= anu && anu < 330){
        inc_taxrate = 10;
    }else if(330 <= anu && anu < 695){
        inc_taxrate = 20;
    }else if(695 <= anu && anu < 900){
        inc_taxrate = 23;
    }else if(900 <= anu && anu < 1800){
        inc_taxrate = 33;
    }else if(1800 <= anu && anu < 4000){
        inc_taxrate = 40;
    }else if(4000 < anu){
        inc_taxrate = 45;
    }else{ //1000円以下
        inc_taxrate = 0;
    }
     printf("inc_taxrate:%d\n",inc_taxrate);
    //所得税控除額の計算
    inc_tax = (tax - 2000)* inc_taxrate/100;
    //住民税控除額(基本分)の計算
    res_taxba = (tax - 2000)* res_taxrate/100;
    //住民税控除額(特例分)の計算
    res_taxsp = (tax - 2000)* (100 - res_taxrate - inc_taxrate)/100;

    //ワンストップ納税時の控除額の計算
    onestop = res_taxba + res_taxsp;
    //確定申告時の控除額の計算
    taxre = onestop + inc_tax;
    //確定申告時とワンストップ納税時の差額計算
    //所得税控除額と同じ
    taxdiff = taxre - onestop;
    
  //出力
  printf("所得税控除額:%d\n",inc_tax); printf("住民税控除額(基本分):%d\n",res_taxba); printf("住民税控除額(特例分):%d\n",res_taxsp); printf("ワンストップ納税時の控除額:%d\n",onestop); printf("確定申告時の控除額:%d\n",taxre); printf("確定申告時とワンストップ納税時の差額:%d\n",taxdiff); }

作成したプログラム:https://paiza.io/projects/tAKdI_xUjmn26E3oGZf-rg

 

詳しくは:

今さら聞けない、ふるさと納税/(3)所得控除と税額控除の違い | コラム | 大和証券

所得控除の種類とそれぞれの対象者、金額、計算方法とは? | 給与計算ソフト マネーフォワード クラウド

 

いくらまでふるさと納税できるか:

いくらまで寄附できる?シミュレーションと計算方法(限度額の目安) | ふるさと納税サイト「ふるなび」