luca-jp 0.1.1 → 0.1.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: 5c6d1f716fed87d639d11ba925e383a2b1d338a901dd148508c39d56664b1a36
4
- data.tar.gz: e82fd1948e7df170d163fe15f790d58b61809319d6e2f9aba62499bbabbf6be3
3
+ metadata.gz: 5c49087082344b219aa575860edc352d9aeaa9f6ec330198ca6564144625b1b5
4
+ data.tar.gz: '058ea66e0a93be29b3fdcdb6639b28589de79b40159e49c59f4dab1ea36563f7'
5
5
  SHA512:
6
- metadata.gz: 3501fc606dc9955b03b8e0cde1c3ebc4b4ff1374fa88e53218b4a66d2c48028325e49709e722aea835dd8b21cb0f4224036a77366665c1e6a46131e5648a8f06
7
- data.tar.gz: ba151aeb2da6ab8f5334067804cb7d64d23ab218878b944f2bbd099749b452d322c9695817b44296b9dfd6e2fe6bcca34bfd9f18c38fc87e38a1c43b05bc9f16
6
+ metadata.gz: 021d11b98374b99a0cdcc34f305a4858d615190b9911e37c4b33c80106c973997f2614d3d2e5ab0eb7a78b8bab21494bf99a4f3d009a65718ebe210a2a617679
7
+ data.tar.gz: 65477750f24b8e4c2f5d9a4cbe0268686e58999620d3beb1bd2ff2be5375dd1771923d1ee58e5bbf86b7f4d9779a7a482757c37aeb861e438072e2ff3f71ec41
data/lib/luca/jp.rb CHANGED
@@ -9,6 +9,7 @@ module Luca
9
9
  autoload :Syouhizei, 'luca/jp/syouhizei'
10
10
  autoload :Chihouzei, 'luca/jp/chihouzei'
11
11
  autoload :Common, 'luca/jp/common'
12
+ autoload :ItPart, 'luca/jp/it_part'
12
13
  autoload :Util, 'luca/jp/util'
13
14
  end
14
15
  end
data/lib/luca/jp/aoiro.rb CHANGED
@@ -14,6 +14,7 @@ module Luca
14
14
  include LucaSupport::View
15
15
  include LucaSupport::Code
16
16
  include Luca::Jp::Common
17
+ include Luca::Jp::ItPart
17
18
  include Luca::Jp::Util
18
19
 
19
20
  @dirname = 'journals'
@@ -25,13 +26,14 @@ module Luca
25
26
  @issue_date = Date.today
26
27
  @company = CGI.escapeHTML(LucaSupport::CONFIG.dig('company', 'name'))
27
28
  @software = 'LucaJp'
28
- @法人税中間納付 = prepaid_tax('1851')
29
- @地方法人税中間納付 = prepaid_tax('1852')
29
+ @税額 = 税額計算
30
+ @確定法人税額 = @税額.dig(:houjin, :kokuzei)
30
31
  @法人税額 = 中小企業の軽減税額 + 一般区分の税額
31
- @確定法人税額 = (@法人税額 / 100).floor * 100
32
32
  @地方法人税課税標準 = (@法人税額 / 1000).floor * 1000
33
33
  @地方法人税額 = 地方法人税額(@地方法人税課税標準)
34
- @確定地方法人税額 = (@地方法人税額 / 100).floor * 100
34
+ @確定地方法人税額 = @税額.dig(:houjin, :chihou)
35
+ @法人税中間納付 = prepaid_tax('1851')
36
+ @地方法人税中間納付 = prepaid_tax('1852')
35
37
 
36
38
  if export
37
39
  {
@@ -48,6 +50,8 @@ module Luca
48
50
  @procedure_code = 'RHO0012'
49
51
  @procedure_name = '内国法人の確定申告(青色)'
50
52
  @version = '20.0.2'
53
+ @都道府県民税中間納付 = prepaid_tax('1859') + prepaid_tax('185A')
54
+ @市民税中間納付 = prepaid_tax('185D') + prepaid_tax('185E')
51
55
  @法人税期中増, @法人税期中減 = 未納法人税期中増減
52
56
  @都道府県民税期中増, @都道府県民税期中減 = 未納都道府県民税期中増減
53
57
  @市民税期中増, @市民税期中減 = 未納市民税期中増減
@@ -254,6 +258,22 @@ module Luca
254
258
  [readable(r[:credit] || 0), readable(r[:debit] || 0)]
255
259
  end
256
260
 
261
+ # 中間納付した金額のうち税額とならず、還付されるべき額
262
+ #
263
+ def 法人税仮払納付額
264
+ [(@法人税中間納付 + @地方法人税中間納付 - @確定法人税額 - @確定地方法人税額), 0].max
265
+ end
266
+
267
+ # 中間納付した金額のうち税額として確定した額
268
+ #
269
+ def 法人税損金納付額
270
+ [@法人税中間納付 + @地方法人税中間納付, @確定法人税額 + @確定地方法人税額].min
271
+ end
272
+
273
+ def 確定都道府県住民税
274
+ @税額.dig(:kenmin, :kintou) + @税額.dig(:kenmin, :houjinzei)
275
+ end
276
+
257
277
  def 期首未納都道府県民税
258
278
  readable(@start_balance.dig('5153')) || 0
259
279
  end
@@ -267,6 +287,18 @@ module Luca
267
287
  [readable(r[:credit] || 0), readable(r[:debit] || 0)]
268
288
  end
269
289
 
290
+ def 都道府県民税仮払納付
291
+ [(@都道府県民税中間納付 - 確定都道府県住民税), 0].max
292
+ end
293
+
294
+ def 都道府県民税損金納付
295
+ [確定都道府県住民税, @都道府県民税中間納付].min
296
+ end
297
+
298
+ def 確定市民税
299
+ @税額.dig(:shimin, :kintou) - @税額.dig(:shimin, :houjinzei)
300
+ end
301
+
270
302
  def 期首未納市民税
271
303
  readable(@start_balance.dig('5154')) || 0
272
304
  end
@@ -280,6 +312,14 @@ module Luca
280
312
  [readable(r[:credit] || 0), readable(r[:debit] || 0)]
281
313
  end
282
314
 
315
+ def 市民税仮払納付
316
+ [0, (@市民税中間納付 - 確定市民税)].max
317
+ end
318
+
319
+ def 市民税損金納付
320
+ [@市民税中間納付, 確定市民税].min
321
+ end
322
+
283
323
  def 別表五一期首差引金額
284
324
  期首繰越損益 + 期首納税充当金 - 期首未納法人税 - 期首未納都道府県民税 - 期首未納市民税
285
325
  end
@@ -325,36 +365,6 @@ module Luca
325
365
  [readable(r[:credit] || 0), readable(r[:debit] || 0)]
326
366
  end
327
367
 
328
- def 中小企業の軽減税率対象所得
329
- if 所得金額 >= 8_000_000
330
- 8_000_000
331
- elsif 所得金額 < 0
332
- 0
333
- else
334
- (所得金額 / 1000).floor * 1000
335
- end
336
- end
337
-
338
- def 中小企業の軽減税額
339
- 中小企業の軽減税率対象所得 * 15 / 100
340
- end
341
-
342
- def 中小企業の軽減税率対象を超える所得
343
- if 所得金額 <= 8_000_000
344
- 0
345
- else
346
- ((所得金額 - 8_000_000) / 1000).floor * 1000
347
- end
348
- end
349
-
350
- def 一般区分の税額
351
- (中小企業の軽減税率対象を超える所得 * 23.2 / 100).to_i
352
- end
353
-
354
- def 地方法人税額(地方法人税課税標準)
355
- (地方法人税課税標準 * 10.3 / 100).to_i
356
- end
357
-
358
368
  def 概況月(idx)
359
369
  @start_date.next_month(idx).month
360
370
  end
@@ -27,14 +27,15 @@ module Luca
27
27
  @jimusho_code = LucaSupport::CONFIG.dig('jp', 'eltax', 'jimusho_code')
28
28
  @jimusho_name = '都税事務所長'
29
29
 
30
- @均等割 = 70000
30
+ @税額 = 税額計算
31
+ @均等割 = @税額.dig(:kenmin, :kintou)
31
32
  @法人税割課税標準 = 法人税割課税標準
32
- @確定法人税割 = (法人税割 / 100).floor * 100
33
+ @確定法人税割 = (@税額.dig(:kenmin, :houjinzei) / 100).floor * 100
33
34
  @地方特別法人事業税中間納付 = prepaid_tax('1854')
34
35
  @所得割中間納付 = prepaid_tax('1855')
35
36
  @法人税割中間納付 = prepaid_tax('1859')
36
37
  @均等割中間納付 = prepaid_tax('185A')
37
- @所得割 = 所得割400万以下 + 所得割800万以下 + 所得割800万超
38
+ @所得割 = @税額.dig(:kenmin, :shotoku)
38
39
  if export
39
40
  {
40
41
  jigyouzei: {
@@ -43,7 +44,7 @@ module Luca
43
44
  chukan: @所得割中間納付
44
45
  },
45
46
  tokubetsu: {
46
- zeigaku: 地方法人特別税(@所得割),
47
+ zeigaku: @税額.dig(:kenmin, :tokubetsu),
47
48
  chukan: @地方特別法人事業税中間納付
48
49
  },
49
50
  },
@@ -119,52 +120,6 @@ module Luca
119
120
  (national_tax[:kokuzei][:zeigaku] / 1000).floor * 1000
120
121
  end
121
122
 
122
- def 法人税割
123
- (@法人税割課税標準 * 7 / 100).floor
124
- end
125
-
126
- def 地方法人特別税(事業税)
127
- ((事業税 * 37 / 100) / 100).floor * 100
128
- end
129
-
130
- def 所得400万以下
131
- if 所得金額 >= 4_000_000
132
- 4_000_000
133
- else
134
- (所得金額 / 1000).floor * 1000
135
- end
136
- end
137
-
138
- def 所得割400万以下
139
- ((所得400万以下 * 3.5 / 100) / 100).floor * 100
140
- end
141
-
142
- def 所得800万以下
143
- if 所得金額 <= 4_000_000
144
- 0
145
- elsif 所得金額 >= 8_000_000
146
- 4_000_000
147
- else
148
- ((所得金額 - 4_000_000) / 1000).floor * 1000
149
- end
150
- end
151
-
152
- def 所得割800万以下
153
- ((所得800万以下 * 5.3 / 100) / 100).floor * 100
154
- end
155
-
156
- def 所得800万超
157
- if 所得金額 <= 8_000_000
158
- 0
159
- else
160
- ((所得金額 - 8_000_000) / 1000).floor * 1000
161
- end
162
- end
163
-
164
- def 所得割800万超
165
- ((所得800万超 * 7.0 / 100) / 100).floor * 100
166
- end
167
-
168
123
  def 事業税中間納付
169
124
  @所得割中間納付
170
125
  end
@@ -7,6 +7,60 @@ module Luca
7
7
  module Common
8
8
  module_function
9
9
 
10
+ # 法人税、地方税の当期確定税額の計算
11
+ #
12
+ def 税額計算
13
+ 所得 = 所得金額
14
+ { houjin: {}, kenmin: {}, shimin: {} }.tap do |tax|
15
+ 法人税額 = 中小企業の軽減税額(所得) + 一般区分の税額(所得)
16
+ tax[:houjin][:kokuzei] = (法人税額 / 100).floor * 100
17
+ 地方法人税課税標準 = (法人税額 / 1000).floor * 1000
18
+ 地方法人税 = 地方法人税額(地方法人税課税標準)
19
+ tax[:houjin][:chihou] = (地方法人税 / 100).floor * 100
20
+
21
+ tax[:kenmin][:houjinzei], tax[:shimin][:houjinzei] = 法人税割(法人税額)
22
+ tax[:kenmin][:kintou], tax[:shimin][:kintou] = 均等割
23
+ tax[:kenmin][:shotoku] = 所得割400万以下(所得) + 所得割800万以下(所得) + 所得割800万超(所得)
24
+ tax[:kenmin][:tokubetsu] = 地方法人特別税(tax[:kenmin][:shotoku])
25
+ end
26
+ end
27
+
28
+ # -----------------------------------------------------
29
+ # :section: 法人税額の計算
30
+ # -----------------------------------------------------
31
+
32
+ def 中小企業の軽減税率対象所得(所得 = nil)
33
+ 所得 ||= 所得金額
34
+ if 所得 >= 8_000_000
35
+ 8_000_000
36
+ elsif 所得 < 0
37
+ 0
38
+ else
39
+ (所得 / 1000).floor * 1000
40
+ end
41
+ end
42
+
43
+ def 中小企業の軽減税額(所得 = nil)
44
+ 中小企業の軽減税率対象所得(所得) * 15 / 100
45
+ end
46
+
47
+ def 中小企業の軽減税率対象を超える所得(所得 = nil)
48
+ 所得 ||= 所得金額
49
+ if 所得 <= 8_000_000
50
+ 0
51
+ else
52
+ ((所得 - 8_000_000) / 1000).floor * 1000
53
+ end
54
+ end
55
+
56
+ def 一般区分の税額(所得 = nil)
57
+ (中小企業の軽減税率対象を超える所得(所得) * 23.2 / 100).to_i
58
+ end
59
+
60
+ def 地方法人税額(地方法人税課税標準)
61
+ (地方法人税課税標準 * 10.3 / 100).to_i
62
+ end
63
+
10
64
  # 税引前当期利益をもとに計算
11
65
  # 消費税を租税公課に計上している場合、控除済みの金額
12
66
  # 未払/未収事業税は精算時に認識
@@ -16,6 +70,76 @@ module Luca
16
70
  LucaSupport::Code.readable(@pl_data.dig('GA') - 納付事業税 + 還付事業税)
17
71
  end
18
72
 
73
+ # -----------------------------------------------------
74
+ # :section: 地方税額の計算
75
+ # -----------------------------------------------------
76
+
77
+ def 均等割
78
+ if LucaSupport::CONFIG.dig('jp', 'eltax', 'office_23ku')
79
+ [70_000, 0]
80
+ else
81
+ [20_000, 50_000]
82
+ end
83
+ end
84
+
85
+ def 法人税割(法人税 = nil)
86
+ 課税標準 = if 法人税
87
+ (法人税 / 1000).floor * 1000
88
+ else
89
+ @法人税割課税標準
90
+ end
91
+ if LucaSupport::CONFIG.dig('jp', 'eltax', 'office_23ku')
92
+ [(課税標準 * 7 / 100).floor, 0]
93
+ else
94
+ [(課税標準 * 1 / 100).floor, (課税標準 * 6 / 100).floor]
95
+ end
96
+ end
97
+
98
+ def 所得400万以下(所得 = nil)
99
+ 所得 ||= 所得金額
100
+ if 所得 >= 4_000_000
101
+ 4_000_000
102
+ else
103
+ (所得 / 1000).floor * 1000
104
+ end
105
+ end
106
+
107
+ def 所得割400万以下(所得 = nil)
108
+ ((所得400万以下(所得) * 3.5 / 100) / 100).floor * 100
109
+ end
110
+
111
+ def 所得800万以下(所得 = nil)
112
+ 所得 ||= 所得金額
113
+ if 所得 <= 4_000_000
114
+ 0
115
+ elsif 所得 >= 8_000_000
116
+ 4_000_000
117
+ else
118
+ ((所得 - 4_000_000) / 1000).floor * 1000
119
+ end
120
+ end
121
+
122
+ def 所得割800万以下(所得 = nil)
123
+ ((所得800万以下(所得) * 5.3 / 100) / 100).floor * 100
124
+ end
125
+
126
+ def 所得800万超(所得 = nil)
127
+ 所得 ||= 所得金額
128
+ if 所得 <= 8_000_000
129
+ 0
130
+ else
131
+ ((所得 - 8_000_000) / 1000).floor * 1000
132
+ end
133
+ end
134
+
135
+ def 所得割800万超(所得 = nil)
136
+ ((所得800万超(所得) * 7.0 / 100) / 100).floor * 100
137
+ end
138
+
139
+ def 地方法人特別税(事業税)
140
+ ((事業税 * 37 / 100) / 100).floor * 100
141
+ end
142
+
19
143
  def 消費税課税売上高(税率 = 10)
20
144
  LucaSupport::Code.readable(@pl_data.dig('A0') * 100 / (100 + 税率).floor || 0)
21
145
  end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'luca_support'
4
+ require 'luca_support/config'
5
+
6
+ module Luca
7
+ module Jp
8
+ module ItPart
9
+ def it_part
10
+ entries = ['<IT VR="1.4" id="IT">']
11
+ entries.concat(['zeimusho']
12
+ .map{ |key| render_it_tag(key) })
13
+ entries << teisyutsu_day
14
+ entries.concat(['nozeisha_id', 'nozeisha_bango']
15
+ .map{ |key| render_it_tag(key) })
16
+ entries.concat(['nozeisha_nm_kn', 'nozeisha_nm', 'nozeisha_zip', 'nozeisha_adr_kn', 'nozeisha_adr', 'nozeisha_tel']
17
+ .map{ |key| render_it_tag(key) })
18
+ entries.concat(['shihon_kin', 'jigyo_naiyo', 'kanpu_kinyukikan']
19
+ .map{ |key| render_it_tag(key) })
20
+ entries.concat(['daihyo_nm_kn', 'daihyo_nm', 'daihyo_zip', 'daihyo_adr', 'daihyo_tel']
21
+ .map{ |key| render_it_tag(key) })
22
+ entries << %Q(<TETSUZUKI ID="TETSUZUKI"><procedure_CD>#{@procedure_code}</procedure_CD><procedure_NM>#{@procedure_name}</procedure_NM></TETSUZUKI>)
23
+ entries.concat([jigyo_nendo_from, jigyo_nendo_to, kazei_kikan_from, kazei_kikan_to])
24
+ entries << render_it_tag('keiri_sekininsha')
25
+ entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>1</kubun_CD></SHINKOKU_KBN>'
26
+ entries << '</IT>'
27
+ entries.compact.join("\n")
28
+ end
29
+
30
+ def render_it_tag(key)
31
+ content = LucaSupport::CONFIG.dig('jp', 'it_part', key)
32
+ return nil if content.nil?
33
+
34
+ case key
35
+ when 'zeimusho'
36
+ content = parse_zeimusho(content)
37
+ when 'nozeisha_tel', 'daihyo_tel'
38
+ content = parse_tel(content)
39
+ when 'nozeisha_zip', 'daihyo_zip'
40
+ content = parse_zip(content)
41
+ when 'nozeisha_bango'
42
+ content = parse_houjinbango(content)
43
+ when 'kanpu_kinyukikan'
44
+ content = parse_kinyukikan(content)
45
+ end
46
+
47
+ tag = key.to_s.upcase
48
+ %Q(<#{tag} ID="#{tag}">#{content}</#{tag}>)
49
+ end
50
+
51
+ def parse_zeimusho(str)
52
+ items = str.split('-')
53
+ %Q(<gen:zeimusho_CD>#{items[0]}</gen:zeimusho_CD><gen:zeimusho_NM>#{items[1]}</gen:zeimusho_NM>)
54
+ end
55
+
56
+ def parse_houjinbango(str)
57
+ %Q(<gen:hojinbango>#{str}</gen:hojinbango>)
58
+ end
59
+
60
+ def parse_kinyukikan(str)
61
+ items = str.split('-')
62
+ %Q(<gen:kinyukikan_NM kinyukikan_KB="1">#{items[0]}</gen:kinyukikan_NM><gen:shiten_NM shiten_KB="2">#{items[1]}</gen:shiten_NM><gen:yokin>#{items[2]}</gen:yokin><gen:koza>#{items[3]}</gen:koza>)
63
+ end
64
+
65
+ def parse_tel(str)
66
+ num = str.split('-')
67
+ %Q(<gen:tel1>#{num[0]}</gen:tel1><gen:tel2>#{num[1]}</gen:tel2><gen:tel3>#{num[2]}</gen:tel3>)
68
+ end
69
+
70
+ def parse_zip(str)
71
+ num = str.split('-')
72
+ %Q(<gen:zip1>#{num[0]}</gen:zip1><gen:zip2>#{num[1]}</gen:zip2>)
73
+ end
74
+
75
+ def teisyutsu_day
76
+ %Q(<TEISYUTSU_DAY ID="TEISYUTSU_DAY"><gen:era>#{gengou(@issue_date)}</gen:era><gen:yy>#{wareki(@issue_date)}</gen:yy><gen:mm>#{@issue_date.month}</gen:mm><gen:dd>#{@issue_date.day}</gen:dd></TEISYUTSU_DAY>)
77
+ end
78
+
79
+ def jigyo_nendo_from
80
+ %Q(<JIGYO_NENDO_FROM ID="JIGYO_NENDO_FROM"><gen:era>#{gengou(@start_date)}</gen:era><gen:yy>#{wareki(@start_date)}</gen:yy><gen:mm>#{@start_date.month}</gen:mm><gen:dd>#{@start_date.day}</gen:dd></JIGYO_NENDO_FROM>)
81
+ end
82
+
83
+ def jigyo_nendo_to
84
+ %Q(<JIGYO_NENDO_TO ID="JIGYO_NENDO_TO"><gen:era>#{gengou(@end_date)}</gen:era><gen:yy>#{wareki(@end_date)}</gen:yy><gen:mm>#{@end_date.month}</gen:mm><gen:dd>#{@end_date.day}</gen:dd></JIGYO_NENDO_TO>)
85
+ end
86
+
87
+ def kazei_kikan_from
88
+ %Q(<KAZEI_KIKAN_FROM ID="KAZEI_KIKAN_FROM"><gen:era>#{gengou(@start_date)}</gen:era><gen:yy>#{wareki(@start_date)}</gen:yy><gen:mm>#{@start_date.month}</gen:mm><gen:dd>#{@start_date.day}</gen:dd></KAZEI_KIKAN_FROM>)
89
+ end
90
+
91
+ def kazei_kikan_to
92
+ %Q(<KAZEI_KIKAN_TO ID="KAZEI_KIKAN_TO"><gen:era>#{gengou(@end_date)}</gen:era><gen:yy>#{wareki(@end_date)}</gen:yy><gen:mm>#{@end_date.month}</gen:mm><gen:dd>#{@end_date.day}</gen:dd></KAZEI_KIKAN_TO>)
93
+ end
94
+ end
95
+ end
96
+ end
@@ -11,9 +11,17 @@
11
11
  <%= render_attr('ARB00020', @当期純損益) %>
12
12
  </ARB00000>
13
13
  <ARC00000>
14
+ <ARC00010>
15
+ <%= render_attr('ARC00020', 法人税損金納付額) %>
16
+ <%= render_attr('ARC00030', 法人税損金納付額) %>
17
+ </ARC00010>
18
+ <ARC00040>
19
+ <%= render_attr('ARC00050', (都道府県民税損金納付 + 市民税損金納付)) %>
20
+ <%= render_attr('ARC00060', (都道府県民税損金納付 + 市民税損金納付)) %>
21
+ </ARC00040>
14
22
  <ARC00100>
15
- <%= render_attr('ARC00110', @法人税等) %>
16
- <%= render_attr('ARC00120', @法人税等) %>
23
+ <%= render_attr('ARC00110', (@法人税等 - 法人税損金納付額 - 都道府県民税損金納付 - 市民税損金納付)) %>
24
+ <%= render_attr('ARC00120', (@法人税等 - 法人税損金納付額 - 都道府県民税損金納付 - 市民税損金納付)) %>
17
25
  </ARC00100>
18
26
  <%= 別表四還付事業税 %>
19
27
  <ARC00325>
@@ -19,10 +19,24 @@
19
19
  <%= render_attr('IEB00160', 期首未納法人税 - @法人税期中減) %>
20
20
  </IEB00010>
21
21
  <IEB00170>
22
+ <% if @法人税中間納付 > 0 %>
23
+ <IEB00180>
24
+ <%= render_attr('IEB00190', @法人税中間納付 + @地方法人税中間納付) %>
25
+ <IEB00200>
26
+ <IEB00240>
27
+ <%= render_attr('IEB00260', 法人税仮払納付額) %>
28
+ </IEB00240>
29
+ <IEB00270>
30
+ <%= render_attr('IEB00290', 法人税損金納付額) %>
31
+ </IEB00270>
32
+ </IEB00200>
33
+ <%= render_attr('IEB00300', (@法人税中間納付 + @地方法人税中間納付 - 法人税仮払納付額 - 法人税損金納付額)) %>
34
+ </IEB00180>
35
+ <% end %>
22
36
  <IEB00310>
23
- <%= render_attr('IEB00320', @法人税期中増) %>
37
+ <%= render_attr('IEB00320', (@確定法人税額 + @確定地方法人税額 - @法人税中間納付 - @地方法人税中間納付)) %>
24
38
  <IEB00330>
25
- <%= render_attr('IEB00350', 期末未納法人税) %>
39
+ <%= render_attr('IEB00350', (@確定法人税額 + @確定地方法人税額 - @法人税中間納付 - @地方法人税中間納付)) %>
26
40
  </IEB00330>
27
41
  </IEB00310>
28
42
  </IEB00170>
@@ -33,6 +47,12 @@
33
47
  <IEB00410>
34
48
  <%= render_attr('IEB00430', @法人税期中減) %>
35
49
  </IEB00410>
50
+ <IEB00440>
51
+ <%= render_attr('IEB00460', 法人税仮払納付額) %>
52
+ </IEB00440>
53
+ <IEB00470>
54
+ <%= render_attr('IEB00490', 法人税損金納付額) %>
55
+ </IEB00470>
36
56
  </IEB00400>
37
57
  <IEB00500>
38
58
  <%= render_attr('IEB00520', 期末未納法人税) %>
@@ -52,8 +72,20 @@
52
72
  <%= render_attr('IEC00160', 期首未納都道府県民税 - @都道府県民税期中減) %>
53
73
  </IEC00010>
54
74
  <IEC00170>
75
+ <IEC00310>
76
+ <%= render_attr('IEC00320', @都道府県民税中間納付) %>
77
+ <IEC00330>
78
+ <IEC00370>
79
+ <%= render_attr('IEC00390', 都道府県民税仮払納付) %>
80
+ </IEC00370>
81
+ <IEC00400>
82
+ <%= render_attr('IEC00420', 都道府県民税損金納付) %>
83
+ </IEC00400>
84
+ </IEC00330>
85
+ <%= render_attr('IEC00430', (@都道府県民税中間納付 - 都道府県民税仮払納付 - 都道府県民税損金納付)) %>
86
+ </IEC00310>
55
87
  <IEC00440>
56
- <%= render_attr('IEC00450', @都道府県民税期中増) %>
88
+ <%= render_attr('IEC00450', (確定都道府県住民税 - @都道府県民税中間納付)) %>
57
89
  <IEC00460>
58
90
  <%= render_attr('IEC00480', 期末未納都道府県民税) %>
59
91
  </IEC00460>
@@ -66,6 +98,12 @@
66
98
  <IEC00540>
67
99
  <%= render_attr('IEC00560', @都道府県民税期中減) %>
68
100
  </IEC00540>
101
+ <IEC00570>
102
+ <%= render_attr('IEC00590', 都道府県民税損金納付) %>
103
+ </IEC00570>
104
+ <IEC00600>
105
+ <%= render_attr('IEC00620', 都道府県民税仮払納付) %>
106
+ </IEC00600>
69
107
  </IEC00530>
70
108
  <IEC00630>
71
109
  <%= render_attr('IEC00650', 期末未納都道府県民税) %>
@@ -85,10 +123,22 @@
85
123
  <%= render_attr('IED00160', 期首未納市民税 - @市民税期中減) %>
86
124
  </IED00010>
87
125
  <IED00170>
126
+ <IED00180>
127
+ <%= render_attr('IED00190', @市民税中間納付) %>
128
+ <IED00200>
129
+ <IED00240>
130
+ <%= render_attr('IED00260', 市民税仮払納付) %>
131
+ </IED00240>
132
+ <IED00270>
133
+ <%= render_attr('IED00290', 市民税損金納付) %>
134
+ </IED00270>
135
+ </IED00200>
136
+ <%= render_attr('IED00300', (@市民税中間納付 - 市民税仮払納付 - 市民税損金納付)) %>
137
+ </IED00180>
88
138
  <IED00310>
89
- <%= render_attr('IED00320', @市民税期中増) %>
139
+ <%= render_attr('IED00320', (確定市民税 - @市民税中間納付)) %>
90
140
  <IED00330>
91
- <%= render_attr('IED00350', 期末未納市民税) %>
141
+ <%= render_attr('IED00350', (確定市民税 - @市民税中間納付)) %>
92
142
  </IED00330>
93
143
  </IED00310>
94
144
  </IED00170>
@@ -99,6 +149,12 @@
99
149
  <IED00410>
100
150
  <%= render_attr('IED00430', @市民税期中減) %>
101
151
  </IED00410>
152
+ <IED00440>
153
+ <%= render_attr('IED00460', 市民税仮払納付) %>
154
+ </IED00440>
155
+ <IED00470>
156
+ <%= render_attr('IED00490', 市民税損金納付) %>
157
+ </IED00470>
102
158
  </IED00400>
103
159
  <IED00500>
104
160
  <%= render_attr('IED00520', 期末未納市民税) %>
data/lib/luca/jp/util.rb CHANGED
@@ -52,11 +52,6 @@ module Luca
52
52
  def etax_date(date)
53
53
  "<gen:era>#{gengou(date)}</gen:era><gen:yy>#{wareki(date)}</gen:yy><gen:mm>#{date.month}</gen:mm><gen:dd>#{date.day}</gen:dd>"
54
54
  end
55
- # TODO: supply instance variables related to each procedure
56
- #
57
- def it_part
58
- render_erb(search_template('it-part.xtx.erb'))
59
- end
60
55
  end
61
56
  end
62
57
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Luca
4
4
  module Jp
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
  end
7
7
  end
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.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-11 00:00:00.000000000 Z
11
+ date: 2021-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lucabook
@@ -83,6 +83,7 @@ files:
83
83
  - lib/luca/jp/aoiro.rb
84
84
  - lib/luca/jp/chihouzei.rb
85
85
  - lib/luca/jp/common.rb
86
+ - lib/luca/jp/it_part.rb
86
87
  - lib/luca/jp/kessan.rb
87
88
  - lib/luca/jp/syouhizei.rb
88
89
  - lib/luca/jp/templates/aoiro.xtx.erb