Module: JP::IncomeTax::Kouran2020
- Defined in:
- lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb
Class Method Summary collapse
- .effective_date ⇒ Object
-
.monthly_kouran(その月の社会保険料等控除後の給与等の金額, 配偶者 = false, 控除対象扶養親族の数 = 0) ⇒ Object
月額表の甲欄を適用する給与等につき、電子計算機等を使用して源泉徴収税額を計算する方法.
- .基礎控除の額(その月の社会保険料等控除後の給与等の金額) ⇒ Object
- .扶養控除の額(控除対象扶養親族の数) ⇒ Object
- .税額(その月の課税給与所得金額) ⇒ Object
- .給与所得控除の額(その月の社会保険料控除後の給与等の金額) ⇒ Object
- .配偶者控除の額 ⇒ Object
Class Method Details
.effective_date ⇒ Object
10 11 12 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 10 def effective_date Date.parse("2020-01-01") end |
.monthly_kouran(その月の社会保険料等控除後の給与等の金額, 配偶者 = false, 控除対象扶養親族の数 = 0) ⇒ Object
月額表の甲欄を適用する給与等につき、電子計算機等を使用して源泉徴収税額を計算する方法
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 17 def monthly_kouran (その月の社会保険料等控除後の給与等の金額, 配偶者 = false, 控除対象扶養親族の数 = 0) b = その月の社会保険料等控除後の給与等の金額 配偶者控除の額及び扶養控除の額 = 扶養控除の額 (控除対象扶養親族の数) 配偶者控除の額及び扶養控除の額 += 配偶者控除の額 if 配偶者 課税給与所得金額 = b - 配偶者控除の額及び扶養控除の額 - 給与所得控除の額(b) - 基礎控除の額(b) 源泉徴収額 = 税額(課税給与所得金額).to_i if 源泉徴収額 > 0 源泉徴収額 else 0 end end |
.基礎控除の額(その月の社会保険料等控除後の給与等の金額) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 67 def 基礎控除の額 (その月の社会保険料等控除後の給与等の金額) case その月の社会保険料等控除後の給与等の金額 when 0 .. 2_162_499 40_000 when 2_162_500 .. 2_204_166 26_667 when 2_204_167 .. 2_245_833 13_334 else 0 end end |
.扶養控除の額(控除対象扶養親族の数) ⇒ Object
62 63 64 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 62 def 扶養控除の額 (控除対象扶養親族の数) 31_667 * 控除対象扶養親族の数 end |
.税額(その月の課税給与所得金額) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 83 def 税額 (その月の課税給与所得金額) case その月の課税給与所得金額 when 0 .. 162_500 (その月の課税給与所得金額 * BigDecimal("0.05105")).round(0, BigDecimal::ROUND_HALF_UP) when 162_501 .. 275_000 (その月の課税給与所得金額 * BigDecimal("0.10210")).round(0, BigDecimal::ROUND_HALF_UP) - 8_296 when 275_001 .. 579_166 (その月の課税給与所得金額 * BigDecimal("0.20420")).round(0, BigDecimal::ROUND_HALF_UP) - 36_374 when 579_001 .. 750_000 (その月の課税給与所得金額 * BigDecimal("0.23483")).round(0, BigDecimal::ROUND_HALF_UP) - 54_113 when 750_001 .. 1_500_000 (その月の課税給与所得金額 * BigDecimal("0.33693")).round(0, BigDecimal::ROUND_HALF_UP) - 130_688 when 1_500_001 .. 3_333_333 (その月の課税給与所得金額 * BigDecimal("0.40840")).round(0, BigDecimal::ROUND_HALF_UP) - 237_893 else (その月の課税給与所得金額 * BigDecimal("0.45945")).round(0, BigDecimal::ROUND_HALF_UP) - 408_061 end end |
.給与所得控除の額(その月の社会保険料控除後の給与等の金額) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 37 def 給与所得控除の額 (その月の社会保険料控除後の給与等の金額) case その月の社会保険料控除後の給与等の金額 when 0 .. 135_416 45_834 when 135_417 .. 149_999 (その月の社会保険料控除後の給与等の金額 * BigDecimal("0.4")).ceil - 8_333 when 150_000 .. 299_999 (その月の社会保険料控除後の給与等の金額 * BigDecimal("0.3")).ceil + 6_667 when 300_000 .. 549_999 (その月の社会保険料控除後の給与等の金額 * BigDecimal("0.2")).ceil + 36_667 when 550_000 .. 708_330 (その月の社会保険料控除後の給与等の金額 * BigDecimal("0.1")).ceil + 91_667 else 162_500 end end |
.配偶者控除の額 ⇒ Object
57 58 59 |
# File 'lib/luca_salary/jp-national-tax/income-tax/income_kouran_2020.rb', line 57 def 配偶者控除の額 31_667 end |