Published Date : 2021年3月10日16:29

パート11: 給与所得者の所得税と住民税を計算するAndroidアプリ
Part 11: Android App Calculates Income and Resident Taxes for Salaried Workers


This blog has an English translation


ニコニコ動画にアップした動画のまとめ記事です。

This is a summary blog post about a video I uploaded to NicoNico.

細かい部分は動画を参考にしてください。

Please refer to the video for details.


目次

Table of Contents




① 動画の説明
① Video Description



警告:

今回説明する給与所得者の所得税及び住民税を計算するツールは、あくまで簡易的なお遊び用のツールです。

正確な数値、計算方法は各自で調べて下さい。

このツールは大雑把に大体の見積りを計算して楽しむ為のツールです。

決して従業員の年末調整や個人の確定申告等に使用しないでください。

さらに、税金の計算方法は変更される場合があり、控除についても同様です。

また、控除や税金の計算方法が間違っている可能性もありますので、

あまり信用せずに、各自で調べてから実験してみてください。

このツールを使って何かしらの損害が発生したとしても、私は一切の責任を負いません。

Warning:

​The tool I'm going to show you for calculating income and residence taxes for salaried workers is just a simple tool for playing.

​Please check the exact number and calculation method by yourself.

​This tool is used to calculate rough estimates and enjoy them.

​Do not use for year-end adjustment of employees or for individual tax return.

In addition, the method of calculating taxes and deductions may change.

Also, there is a possibility that the deduction and tax calculation methods are incorrect.

Don't trust it too much, and test it yourself.

​I will not be liable for any damage caused by using this tool.

前回の続きです。

Continued from last time.


Responsive image

給与所得控除の計算用のクラスファイルを作成します。

Create a class file for the employment income deduction calculation.

画面の指示に従って、さらにクラスファイルを作成します。

Follow the on-screen instructions to create more class files.

全体の控除額の計算をするクラスファイルです。

Class file to calculate the amount of the total deduction.

直前に作成した給与所得控除の計算用のクラスファイルを継承してください。

Please inherit the class file we just created for the employment income deduction calculation.

給与所得控除の計算用のクラスファイルに戻りメンバ変数を作成していきます。

Return to the class file for the employment income deduction calculation and create the member variables.

給与収入、みなし給与、給与所得、給与所得控除、課税される給与所得(総所得)と順に作成していきます。

They are prepared in the following order, salary revenue, deemed salary, salary income, employment income deduction, and taxable salary income (gross income).

各メンバ変数のゲッターを作成していきます。

Create getters for each member variable.

コンストラクタを作成します。

Create a constructor.

Map変数を返す計算用のメソッドを作成します。

Create a calculation method that returns a Map variable.

public Map<String, String> income_deduction(int si) {
    salaryIncome = si;
    deemedSalaryIncome = 0;
}

引数には画面に入力された給与収入が渡されます。

The argument is the salary revenue entered on the screen.

税金計算用のアクティビティへ戻ると変更が反映されています。

Return to the activity for tax calculation to see the changes.

給与所得控除の計算用のクラスファイルに戻り、引数の値を基に給与所得控除を計算していきます。

Return to the class file for calculating the employment income deduction and use the argument values to calculate the amount of the employment income deduction.

給与収入が55万1000円未満なら、その額がそのまま給与所得控除額となります。

If the salary revenue is less than 551000 yen, the amount will be deducted as it is.

55万1000円以上161万9000円未満なら、一律55万円の給与所得控除額となります。

If it is 551000 yen or more and less than 1619000 yen, it is uniformly 550,000 yen of employment income deduction.

あとは条件となる金額を細かく設定していきます。

Then, we will set the amount of the condition in detail.

そして給与収入が162万4000円以上660万円未満なら、みなし給与を設定していきます。

And if the salary revenue is more than 1624000 yen and less than 6.6 million yen, the deemed salary will be set.

このあたりはPythonとDjangoを使ったWebアプリのビデオシリーズでも同じことが行われているのでそちらのシリーズの内容を参考にしてください。

This is also the case with the Python and Django web app video series, so check out that series.

ハッシュマップに計算が終わった変数をString.formatを使用して3桁のカンマ区切りの数字文字列として格納してメソッドの返り値とします。

Use String.format to store the computed variable in the HashMap as a three-digit comma-delimited string of numbers as the return value of the method.

税金計算用のアクティビティへ戻り、クラスファイルを宣言、インスタンス化しましょう。

Return to the activity for tax calculation and declare and instantiate a class file.

このクラスはクラスファイルがある場所のパッケージからインポートしてください。

Import this class from the package where the class file is located.

import com.your.package.name.TaxCalc;

続いて基礎控除額の計算用のクラスファイルを作成しましょう。

Next, let's create a class file for calculating basic deductions.

画面の指示に従って、同じようにクラスファイルを作成してください。

Follow the on-screen instructions to create the class file in the same way.

継承するクラスを変えていきます。

Change the classes you inherit.

メンバ変数とゲッター、そしてコンストラクタを作成します。

Create member variables, getters, and a constructor.

コンストラクタ内では親のクラスのコンストラクタを呼び出します。

In the constructor, call the constructor of the parent class.

基礎控除額を計算するメソッドを作成して、親クラスからゲッターを使って給与所得の値を取り出します。

Create a method to calculate the basic deduction and use getters to retrieve the salary income value from the parent class.

後は計算結果をハッシュマップに格納して、返り値として返すだけです。

It simply stores the result in a hashmap and returns it as a return value.

Map<String, String> basicDeductionMap = new HashMap<String, String>() {
    {
        put("基礎控除_所得税", String.format("%,d", basicIncomeDeduction));
        put("基礎控除_住民税", String.format("%,d", basicResidentDeduction));
    }
};

return basicDeductionMap;

税金計算用のアクティビティへ戻り、各クラスのメソッドから返された計算結果の値を画面に表示させていきます。

Return to the activity for tax calculation and display the calculated values returned by the methods of each class.

最終的な所得税額と住民税額と控除額と課税額、手取り年収等を表示させるメソッドを仮で作成しておきます。

We will create a temporary method to display the final amount of income tax, resident tax, deduction, amount of taxable income and resident, and take-home pay.

ここまで作成したアプリの挙動を確かめてみましょう。

Let's take a look at the behavior of the apps we've created so far.


Responsive image

パート12へ続く。

Continue to Part 12.



以上です。お疲れ様です。

That's all. Thank you for your hard work.