luca-jp 0.16.1 → 0.16.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a6dbb648afd83fd8f7240fcda13d1ab94f7cbff8d3499edfd3dba0641a94ab6
4
- data.tar.gz: '087559b7426943953b6ece1cfc8e25b3dfed1da12a0047fbc6367884751e1bb9'
3
+ metadata.gz: 4a2439c73cf61040d39604aba50f3765abd94a42ca9a6a3f531864993856e2c6
4
+ data.tar.gz: 6ecf8ad72b8fe7c6ac1a68c04360f0a5dc4f7c5ec754291c728d4a172319c6fe
5
5
  SHA512:
6
- metadata.gz: 290000091d4b1fcbff40cbd11ed97d477d4a3c6144bc668cc93ad4d40568869ad1ad69bf0bdad3df1301dcc76c3c4322eff30bb4f602ede1d120f579801af8da
7
- data.tar.gz: 1fc13e4658ed8735f80abdb087cfae9f3abbc18dfed81709d9174b0e70a10ceb0bb11ec535e690ca4c1ea414b4c6d183c6ef5dae25dd71b49cb1af4a1cee63e4
6
+ metadata.gz: d9983fbb9704f1867813024e0da0653d2079443190673c62964074d4c81cac6d92a5a8a6a86c1c8b4988b6f1e0db7d974ba9ed504ff0c35176961dd8e755c63f
7
+ data.tar.gz: 7e0303ee440175e577d7ef1c563f06278edf4f48e42a4e9c4a930c92cd353f9e7a511dcea715491c37e6f31af72b46dc687b3f31ff08949bc7cca9c12e9bd64b
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Luca
4
4
  module Jp
5
- VERSION = '0.16.1'
5
+ VERSION = '0.16.2'
6
6
  end
7
7
  end
@@ -49,7 +49,7 @@ def 給与支払報告明細行(slip, company, year)
49
49
  支払を受ける者の詳細(slip, year),
50
50
  company['tax_id'], # 法人番号
51
51
  支払を受ける者の扶養情報(slip['profile'], year),
52
- slip['911'], # 基礎控除の額
52
+ slip['911'] == 480_000 ? nil : slip['911'], # 基礎控除の額、48万の場合記載しない
53
53
  nil, # 所得金額調整控除額 TODO: 未実装 措法41の3の3
54
54
  nil, # ひとり親
55
55
  提出先判定(slip), # 必須:作成区分(国税のみ0, 地方のみ1, 両方2)
@@ -82,6 +82,7 @@ end
82
82
 
83
83
  def 支払(slip, year)
84
84
  配偶者控除等 = [slip['916'], slip['917']].compact.sum
85
+ 扶養対象 = 扶養親族分類(slip.dig('profile', 'family'), year)
85
86
  [
86
87
  '給料', # 種別
87
88
  slip['1'], # 支払金額
@@ -93,12 +94,12 @@ def 支払(slip, year)
93
94
  配偶者控除等 > 0 ? 1 : 2, # 控除対象配偶者の有無 TODO: 従たる給与
94
95
  老人控除対象配偶者(slip.dig('profile', 'spouse'), year),
95
96
  配偶者控除等, # 配偶者控除の額
96
- nil, # 控除対象扶養親族の数 特定 主
97
+ 扶養対象['特定'].length, # 控除対象扶養親族の数 特定 主
97
98
  nil, # 控除対象扶養親族の数 特定 従
98
- nil, # 控除対象扶養親族の数 老人 主
99
+ 扶養対象['老人'].length, # 控除対象扶養親族の数 老人 主
99
100
  nil, # 控除対象扶養親族の数 老人 上の内訳
100
101
  nil, # 控除対象扶養親族の数 老人 従
101
- nil, # 控除対象扶養親族の数 その他 主
102
+ 扶養対象['その他'].length, # 控除対象扶養親族の数 その他 主
102
103
  nil, # 控除対象扶養親族の数 その他 従
103
104
  nil, # 障害者の数 特別障害者
104
105
  nil, # 障害者の数 上の内訳 NOTE: 同居・同一生計
@@ -122,7 +123,7 @@ def 支払を受ける者の詳細(slip, year)
122
123
  nil, # 地震保険料の控除額
123
124
  nil, # 住宅借入金等特別控除等の額
124
125
  nil, # 旧個人年金保険料の額
125
- slip.dig('spouse', 'income'), # 配偶者の合計所得
126
+ slip.dig('profile', 'spouse', 'income', year), # 配偶者の合計所得
126
127
  nil, # 旧長期損害保険料の額
127
128
  生年月日[0], # 必須:受給者の生年月日 元号
128
129
  生年月日[1], # 必須:受給者の生年月日 年
@@ -174,7 +175,7 @@ def 支払を受ける者の扶養情報(profile, year)
174
175
  nil, # 青色専従者
175
176
  nil, # 条約免除
176
177
  半角変換(profile['katakana']), # 必須:支払を受ける者のフリガナ(半角)
177
- nil, # 需給者番号
178
+ nil, # 受給者番号
178
179
  profile.dig('resident', 'area_code'), # 必須:提出先市町村コード
179
180
  profile.dig('resident', 'tax_id'), # 指定番号
180
181
  ]
@@ -203,17 +204,27 @@ end
203
204
  def 扶養親族分類(family, year)
204
205
  return {} if family.nil?
205
206
 
206
- { '16才以上' => [], '16才未満' => [] }.tap do |result|
207
+ this_year = Date.new(year, 12, -1)
208
+ { '16才以上' => [], '16才未満' => [], '老人' => [], '特定' => [], 'その他' => [] }.tap do |result|
207
209
  family.each do |p|
208
210
  if !p['birth_date']
209
211
  result['16才以上'] << p
212
+ result['その他'] << p
210
213
  else
211
214
  date = p['birth_date']
212
215
  date = Date.parse(date) if date.is_a?(String)
213
- if date.next_year(16) < Date.new(year, 12, -1)
216
+ if date.next_year(16) <= this_year
214
217
  result['16才以上'] << p
218
+ if date.next_year(70) <= this_year
219
+ result['老人'] << p
220
+ elsif date.next_year(19) <= this_year and date.next_year(23) > this_year
221
+ result['特定'] << p
222
+ else
223
+ result['その他'] << p
224
+ end
215
225
  else
216
226
  result['16才未満'] << p
227
+ result['その他'] << p
217
228
  end
218
229
  end
219
230
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luca-jp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro