luca-jp 0.20.4 → 0.20.5

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: ea7c42dee2cf6b8002de5606bf2056714154a68bd4212762580029644f2f6607
4
- data.tar.gz: f759cb53bf48adfe8148eb5f68f6f95a71c8b2decc103d63cfb6e4dce3fac2c9
3
+ metadata.gz: c08c93c99340c765ef5a6f54e7d32a08da995925a42d9217b987e432b3a83cde
4
+ data.tar.gz: b1bfd83cec6fc56050f7a70a0578de2942fcf74e539249faef30bc1da6f05ddb
5
5
  SHA512:
6
- metadata.gz: 3a5e412b5cb291bd2be9e39350385969e7ad6bb9f13b8f67c62b52bdc23a5f8aa226eee59cba6684d9d787bb0e6dff14b6b711113f9e5d2291d2e467419f7c7e
7
- data.tar.gz: 92333c73665f5e7a06a6830a4e79f4cf67ee82b3f04f715efcd1136fe66ebdb3daee355693ceecfec1199b6f8c763ecd95c5af9d2907b0a6aefdfaf2ad10236e
6
+ metadata.gz: 504a1bdfcccdf1e2b1881b44c928a8b62ab5cd640eb262d6082a9ff290c1d73184575540a9e661a0b88fd126fdeb397bc7ef56dc4f5ca268f5d42d1cd16c4d68
7
+ data.tar.gz: cb95c8d8bca2d4aee9442f6253b7159ae9b8c24df12dd255d887de889a00312c894af39608772a38191f999db215d7a0846ad78c70ada84c755accfef632f1fc
data/lib/luca/jp/util.rb CHANGED
@@ -21,6 +21,10 @@ module Luca
21
21
  end
22
22
  end
23
23
 
24
+ def alphadigit_ja(str)
25
+ str.tr('A-Z0-9\- ', 'A-Z0-9ー ')
26
+ end
27
+
24
28
  # TODO: customerオプションを適切に扱うには
25
29
  # 納付時にx-customerを付加していないケースの考慮が必要
26
30
  def prepaid_tax(code, customer = nil)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Luca
4
4
  module Jp
5
- VERSION = '0.20.4'
5
+ VERSION = '0.20.5'
6
6
  end
7
7
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LucaSalaryJp
4
- VERSION = '0.2.1'
4
+ VERSION = '0.2.2'
5
5
  end
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
  require 'luca_salary'
3
3
  require 'luca_support/const'
4
+ require 'luca/jp/util'
5
+
4
6
  require 'csv'
5
7
  require 'open3'
6
8
 
@@ -39,7 +41,7 @@ end
39
41
  private
40
42
 
41
43
  def 給与支払報告明細行(slip, company, year)
42
- [
44
+ record = [
43
45
  315, # 法定資料の種類
44
46
  提出義務者(company),
45
47
  0, # 提出区分(新規0, 追加1, 訂正2, 取消3)
@@ -49,18 +51,20 @@ def 給与支払報告明細行(slip, company, year)
49
51
  支払を受ける者の詳細(slip, year),
50
52
  company['tax_id'], # 法人番号
51
53
  支払を受ける者の扶養情報(slip['profile'], year),
52
- slip['911'] == 480_000 ? nil : slip['911'], # 基礎控除の額、48万の場合記載しない
54
+ (year <= 2024 && slip['911'] == 480_000) ? nil : slip['911'], # 基礎控除の額
53
55
  nil, # 所得金額調整控除額 TODO: 未実装 措法41の3の3
54
56
  nil, # ひとり親
55
- 提出先判定(slip), # 必須:作成区分(国税のみ0, 地方のみ1, 両方2)
56
- ].flatten
57
+ ]
58
+ record << [nil, nil, nil] if year >= 2025 # 特定親族控除 TODO: 未実装
59
+ record << 提出先判定(slip) # 必須:作成区分(国税のみ0, 地方のみ1, 両方2)
60
+ record.flatten
57
61
  end
58
62
 
59
63
  def 提出義務者(company)
60
64
  [
61
65
  nil, # 整理番号1
62
66
  nil, # 本支店等区分番号
63
- ['address', 'address2'].map { |attr| company[attr] }
67
+ ['address', 'address2'].map { |attr| Luca::Jp::Util.alphadigit_ja(company[attr]) }
64
68
  .compact.join(' '), # 必須:住所又は所在地
65
69
  company['name'], # 必須:氏名又は名称
66
70
  company['tel'], # 電話番号
@@ -72,7 +76,7 @@ end
72
76
 
73
77
  def 支払を受ける者(profile)
74
78
  [
75
- ['address', 'address2'].map { |attr| profile[attr] }
79
+ ['address', 'address2'].map { |attr| Luca::Jp::Util.alphadigit_ja(profile[attr]) }
76
80
  .compact.join(' '), # 必須:住所又は居所
77
81
  nil, # 国外住所表示(国内は"0"、国外は"1")
78
82
  profile['name'], # 必須:氏名
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luca-jp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.4
4
+ version: 0.20.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-09 00:00:00.000000000 Z
11
+ date: 2026-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lucabook