luca-jp 0.16.1 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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