luca-jp 0.2.4 → 0.12.0

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.
@@ -19,9 +19,9 @@ module Luca
19
19
  tax[:houjin][:chihou] = (地方法人税 / 100).floor * 100
20
20
 
21
21
  tax[:kenmin][:houjinzei], tax[:shimin][:houjinzei] = 法人税割(法人税額)
22
- tax[:kenmin][:kintou], tax[:shimin][:kintou] = 均等割
22
+ tax[:kenmin][:kintou], tax[:shimin][:kintou] = 均等割 if @report_category
23
23
  tax[:kenmin][:shotoku] = 所得割400万以下(所得) + 所得割800万以下(所得) + 所得割800万超(所得)
24
- tax[:kenmin][:tokubetsu] = 地方法人特別税(tax[:kenmin][:shotoku])
24
+ tax[:kenmin][:tokubetsu] = 特別法人事業税(tax[:kenmin][:shotoku])
25
25
  end
26
26
  end
27
27
 
@@ -74,11 +74,12 @@ module Luca
74
74
 
75
75
  # 税引前当期利益をもとに計算
76
76
  # 消費税を租税公課に計上している場合、控除済みの金額
77
- # 未払事業税は精算時に認識
77
+ # 事業税は仮払経理の場合にも納付時損金/還付時益金
78
78
  #
79
79
  def 当期所得金額
80
80
  _, 納付事業税 = 未納事業税期中増減
81
- LucaSupport::Code.readable(@pl_data.dig('GA') - 納付事業税)
81
+ 事業税中間納付 = prepaid_tax('1854') + prepaid_tax('1855') + prepaid_tax('1856') + prepaid_tax('1857') + prepaid_tax('1858')
82
+ LucaSupport::Code.readable(@pl_data.dig('GA') - 納付事業税 - 事業税中間納付 + 還付事業税)
82
83
  end
83
84
 
84
85
  # -----------------------------------------------------
@@ -112,74 +113,143 @@ module Luca
112
113
  # -----------------------------------------------------
113
114
 
114
115
  def 均等割
115
- if config.dig('jp', 'eltax', 'office_23ku')
116
- [70_000, 0]
117
- else
118
- [20_000, 50_000]
119
- end
116
+ tax = if 地方税資本金等の額 <= 10_000_000
117
+ city = @employee > 50 ? 120_000 : 50_000
118
+ [20_000, city]
119
+ elsif 地方税資本金等の額 <= 100_000_000
120
+ city = @employee > 50 ? 150_000 : 130_000
121
+ [50_000, city]
122
+ elsif 地方税資本金等の額 <= 1_000_000_000
123
+ city = @employee > 50 ? 400_000 : 160_000
124
+ [130_000, city]
125
+ elsif 地方税資本金等の額 <= 5_000_000_000
126
+ city = @employee > 50 ? 1_750_000 : 410_000
127
+ [540_000, city]
128
+ else
129
+ city = @employee > 50 ? 3_000_000 : 410_000
130
+ [800_000, city]
131
+ end
132
+ tokyo23? ? [tax.sum, 0] : tax
120
133
  end
121
134
 
135
+ # 100円未満切り捨て
122
136
  def 法人税割(法人税 = nil)
123
137
  課税標準 = if 法人税
124
138
  (法人税 / 1000).floor * 1000
125
139
  else
126
140
  法人税割課税標準
127
141
  end
128
- if config.dig('jp', 'eltax', 'office_23ku')
129
- [(課税標準 * 7 / 100).floor, 0]
130
- else
131
- [(課税標準 * 1 / 100).floor, (課税標準 * 6 / 100).floor]
132
- end
142
+ 県税率, 市税率 = 法人税割税率(課税標準)
143
+ [
144
+ (課税標準 * 県税率 / 100 / 100).floor * 100,
145
+ (課税標準 * 市税率 / 100 / 100).floor * 100
146
+ ]
147
+ end
148
+
149
+ def 法人税割税率(法人税 = nil)
150
+ return [@houjinzeiwari_rate.to_f, @houjinzeiwari_rate.to_f] if @houjinzeiwari_rate
151
+
152
+ 課税標準 = if 法人税
153
+ (法人税 / 1000).floor * 1000
154
+ else
155
+ 法人税割課税標準
156
+ end
157
+ rate = if 期末資本金 > 100_000_000 || 課税標準 > 10_000_000
158
+ [2.0, 8.4]
159
+ else
160
+ [1.0, 6.0]
161
+ end
162
+ tokyo23? ? [rate.sum, 0] : rate
163
+ end
164
+
165
+ # 100円未満切り捨て
166
+ def 所得割400万以下(所得 = nil)
167
+ ((所得400万以下(所得) * 所得割税率400万以下(所得) / 100) / 100).floor * 100
133
168
  end
134
169
 
135
170
  def 所得400万以下(所得 = nil)
136
171
  所得 ||= 所得金額
137
172
  return 0 if 所得 < 0
138
173
 
139
- if 所得 >= 4_000_000
140
- 4_000_000
174
+ total = if 所得 >= 4_000_000
175
+ 4_000_000
176
+ else
177
+ (所得 / 1000).floor * 1000
178
+ end
179
+ 事業税の分割課税標準(total)
180
+ end
181
+
182
+ def 所得割税率400万以下(所得 = nil)
183
+ return @shotyoku399.to_f if @shotoku399
184
+
185
+ 所得 ||= 所得金額
186
+ if 期末資本金 > 100_000_000 || 所得 > 25_000_000
187
+ 軽減税率不適用法人 ? 7.48 : 3.75
141
188
  else
142
- (所得 / 1000).floor * 1000
189
+ 軽減税率不適用法人 ? 7.0 : 3.5
143
190
  end
144
191
  end
145
192
 
146
- def 所得割400万以下(所得 = nil)
147
- ((所得400万以下(所得) * 3.5 / 100) / 100).floor * 100
193
+ # 100円未満切り捨て
194
+ def 所得割800万以下(所得 = 0)
195
+ ((所得800万以下(所得) * 所得割税率800万以下(所得) / 100) / 100).floor * 100
148
196
  end
149
197
 
150
198
  def 所得800万以下(所得 = nil)
151
199
  所得 ||= 所得金額
152
200
  return 0 if 所得 < 0
153
201
 
154
- if 所得 <= 4_000_000
155
- 0
156
- elsif 所得 >= 8_000_000
157
- 4_000_000
202
+ total = if 所得 <= 4_000_000
203
+ 0
204
+ elsif 所得 >= 8_000_000
205
+ 4_000_000
206
+ else
207
+ ((所得 - 4_000_000) / 1000).floor * 1000
208
+ end
209
+ 事業税の分割課税標準(total)
210
+ end
211
+
212
+ def 所得割税率800万以下(所得 = nil)
213
+ return @shotyoku401.to_f if @shotoku401
214
+
215
+ 所得 ||= 所得金額
216
+ if 期末資本金 > 100_000_000 || 所得 > 25_000_000
217
+ 軽減税率不適用法人 ? 7.48 : 5.665
158
218
  else
159
- ((所得 - 4_000_000) / 1000).floor * 1000
219
+ 軽減税率不適用法人 ? 7.0 : 5.3
160
220
  end
161
221
  end
162
222
 
163
- def 所得割800万以下(所得 = nil)
164
- ((所得800万以下(所得) * 5.3 / 100) / 100).floor * 100
223
+ # 100円未満切り捨て
224
+ def 所得割800万超(所得 = 0)
225
+ ((所得800万超(所得) * 所得割税率800万超(所得) / 100) / 100).floor * 100
165
226
  end
166
227
 
167
228
  def 所得800万超(所得 = nil)
168
229
  所得 ||= 所得金額
169
230
  return 0 if 所得 < 0
170
231
 
171
- if 所得 <= 8_000_000
232
+ total = if 所得 <= 8_000_000
172
233
  0
173
234
  else
174
235
  ((所得 - 8_000_000) / 1000).floor * 1000
175
236
  end
237
+ 事業税の分割課税標準(total)
176
238
  end
177
239
 
178
- def 所得割800万超(所得 = nil)
179
- ((所得800万超(所得) * 7.0 / 100) / 100).floor * 100
240
+ def 所得割税率800万超(所得 = nil)
241
+ return @shotyoku801.to_f if @shotoku801
242
+
243
+ 所得 ||= 所得金額
244
+ if 期末資本金 > 100_000_000 || 所得 > 25_000_000
245
+ 7.48
246
+ else
247
+ 7.0
248
+ end
180
249
  end
181
250
 
182
- def 地方法人特別税(事業税)
251
+ # 100円未満切り捨て
252
+ def 特別法人事業税(事業税)
183
253
  ((事業税 * 37 / 100) / 100).floor * 100
184
254
  end
185
255
 
@@ -224,6 +294,62 @@ module Luca
224
294
  def 地方消費税中間納付額
225
295
  prepaid_tax('185C')
226
296
  end
297
+
298
+ # -----------------------------------------------------
299
+ # :section: 外形標準の計算
300
+ # -----------------------------------------------------
301
+ def 資本金等の額
302
+ readable(['911', '913', '916'].map { |cd| @bs_data.dig(cd) }.compact.sum)
303
+ end
304
+
305
+ def 地方税資本金等の額
306
+ [資本金等の額, readable(['911', '9131'].map { |cd| @bs_data.dig(cd) }.compact.sum)].max
307
+ end
308
+
309
+ def 軽減税率不適用法人
310
+ 期末資本金 > 10_000_000 && eltax_config('no_keigen')
311
+ end
312
+
313
+ def 期末資本金
314
+ readable(@bs_data.dig('911'))
315
+ end
316
+
317
+ # -----------------------------------------------------
318
+ # :section: 複数自治体間の分割計算
319
+ # -----------------------------------------------------
320
+ def 事業税の分割課税標準(課税標準)
321
+ case Luca::Jp::Util.eltax_config('reports')
322
+ .filter { |r| レポート種別.include?(r['type']) }.length
323
+ when 0, 1
324
+ 課税標準
325
+ else
326
+ half = (課税標準 / 2 / 1000).floor * 1000
327
+ [
328
+ 事業所数による分割課税標準(half),
329
+ 従業員数による分割課税標準(half)
330
+ ].sum
331
+ end
332
+ end
333
+
334
+ def 従業員数による分割課税標準(課税標準)
335
+ 分割基準の総数 = Luca::Jp::Util.eltax_config('reports')
336
+ .filter { |r| レポート種別.include?(r['type']) }
337
+ .map { |r| (r['employee'] || 1).to_i }.sum
338
+ ((課税標準.to_f / 分割基準の総数).floor(分割基準の総数.to_s.length) * @employee / 1000)
339
+ .floor * 1000
340
+ end
341
+
342
+ def 事業所数による分割課税標準(課税標準)
343
+ 分割基準の総数 = Luca::Jp::Util.eltax_config('reports')
344
+ .filter { |r| レポート種別.include?(r['type']) }
345
+ .map { |r| (r['office_count'] || 1).to_i }.sum
346
+ ((課税標準.to_f / 分割基準の総数).floor(分割基準の総数.to_s.length) * @office_count / 1000)
347
+ .floor * 1000
348
+ end
349
+
350
+ def レポート種別
351
+ @report_category == 'city' ? ['city', '23ku'] : ['prefecture', '23ku']
352
+ end
227
353
  end
228
354
  end
229
355
  end
@@ -24,7 +24,7 @@ module Luca
24
24
  entries << %Q(<TETSUZUKI ID="TETSUZUKI"><procedure_CD>#{@procedure_code}</procedure_CD><procedure_NM>#{@procedure_name}</procedure_NM></TETSUZUKI>)
25
25
  entries.concat([jigyo_nendo_from, jigyo_nendo_to, kazei_kikan_from, kazei_kikan_to])
26
26
  entries << render_it_tag('keiri_sekininsha')
27
- entries << '<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>30</kubun_CD></SHINKOKU_KBN>'
27
+ entries << %Q(<SHINKOKU_KBN ID="SHINKOKU_KBN"><kubun_CD>#{@shinkoku_kbn}</kubun_CD></SHINKOKU_KBN>)
28
28
  entries.concat(['eltax_id'].map{ |key| render_it_tag(key) })
29
29
  entries << '</IT>'
30
30
  entries.compact.join("\n")
@@ -27,6 +27,7 @@ module Luca
27
27
  @issue_date = Date.today
28
28
  @company = CGI.escapeHTML(config.dig('company', 'name'))
29
29
  @software = 'LucaJp'
30
+ @shinkoku_kbn = '1' # 確定申告
30
31
  税率 = BigDecimal('7.8') # percent
31
32
  地方税率 = BigDecimal('2.2')
32
33
 
@@ -52,7 +53,8 @@ module Luca
52
53
  else
53
54
  @procedure_code = 'RSH0040'
54
55
  @procedure_name = '消費税及び地方消費税申告(簡易課税・法人)'
55
- @version = '20.0.0'
56
+ @form_vers = proc_version
57
+ @version = @form_vers['proc']
56
58
  @form_sec = ['SHA020', 'SHB047', 'SHB067'].map{ |c| form_rdf(c) }.join('')
57
59
  @it = it_part
58
60
  @form_data = [申告書簡易課税, 付表四の三, 付表五の三].join("\n")
@@ -142,6 +144,14 @@ module Luca
142
144
  render_attr(tags[0], [amount, share].join(''))
143
145
  end
144
146
 
147
+ def proc_version
148
+ if @end_date >= Date.parse('2021-4-1')
149
+ { 'proc' => '20.0.1', 'SHA020' => '7.1' }
150
+ else
151
+ { 'proc' => '20.0.0', 'SHA020' => '7.0' }
152
+ end
153
+ end
154
+
145
155
  def lib_path
146
156
  __dir__
147
157
  end
@@ -1,4 +1,4 @@
1
- <HOA116 page="1" VR="1.0" id="HOA116" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
1
+ <HOA116 page="1" VR="<%= @form_vers['HOA116'] %>" id="HOA116" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
2
 
3
3
  <QHA00000><QHA00010>
4
4
  <QHA00020 IDREF="JIGYO_NENDO_FROM"/>
@@ -24,7 +24,9 @@
24
24
  <QHC00000>
25
25
  <%= render_attr('QHC00010', @地方法人税課税標準) %>
26
26
  <QHC00030>
27
- <QHC00040><kubun_CD>2</kubun_CD></QHC00040><%# 10.3% %>
27
+ <% if @form_vers['HOA116'] == '1.0' %>
28
+ <QHC00040><kubun_CD>2</kubun_CD></QHC00040><%# 10.3% %>
29
+ <% end %>
28
30
  <%= render_attr('QHC00050', 地方法人税額(@地方法人税課税標準)) %>
29
31
  </QHC00030>
30
32
  </QHC00000>
@@ -1,4 +1,4 @@
1
- <HOA112 page="1" VR="2.0" id="HOA112" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
1
+ <HOA112 page="1" VR="<%= @form_vers['HOA112'] %>" id="HOA112" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
2
  <BGA00000>
3
3
  <BGA00010 IDREF="TEISYUTSU_DAY"/>
4
4
  <BGA00020 IDREF="ZEIMUSHO"/>
@@ -7,10 +7,12 @@
7
7
  <VAA00040 IDREF="NOZEISHA_NM"/>
8
8
  </VAA00000>
9
9
  <VAB00000>
10
+ <%= render_attr('VAB00005', beppyo2_config('own_shares')) %>
10
11
  <%= render_attr('VAB00010', beppyo2_config('total_shares')) %>
11
12
  <%= render_attr('VAB00020', 別表二上位株数) %>
12
13
  <%= render_attr('VAB00030', 別表二上位株割合) %>
13
14
  <VAB00040>
15
+ <%= render_attr('VAB00050', beppyo2_config('no_votes')) %>
14
16
  <%= render_attr('VAB00060', beppyo2_config('total_votes')) %>
15
17
  </VAB00040>
16
18
  <%= render_attr('VAB00070', 別表二上位議決権数) %>
@@ -1,4 +1,4 @@
1
- <HOA420 page="1" VR="19.0" id="HOA420" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
1
+ <HOA420 page="1" VR="<%= @form_vers['HOA420'] %>" id="HOA420" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
2
  <ARA00000>
3
3
  <ARA00010>
4
4
  <ARA00020 IDREF="JIGYO_NENDO_FROM"/>
@@ -7,82 +7,107 @@
7
7
  <ARA00040 IDREF="NOZEISHA_NM"/>
8
8
  </ARA00000>
9
9
  <ARB00000>
10
- <%= render_attr('ARB00010', @当期純損益) %>
11
- <%= render_attr('ARB00020', @当期純損益) %>
10
+ <% ['ARB00010', 'ARB00020'].each do |code| %>
11
+ <%= render_attr(code, @当期純損益) %>
12
+ <% end %>
12
13
  </ARB00000>
13
14
  <ARC00000>
14
15
  <ARC00010>
15
- <%= render_attr('ARC00020', 法人税損金納付額 + 法人税仮払納付額) %>
16
- <%= render_attr('ARC00030', 法人税損金納付額 + 法人税仮払納付額) %>
16
+ <% ['ARC00020', 'ARC00030'].each do |code| %>
17
+ <%= render_attr(code, 法人税損金納付額 + 法人税仮払納付額) %>
18
+ <% end %>
17
19
  </ARC00010>
18
20
  <ARC00040>
19
- <%= render_attr('ARC00050', (都道府県民税損金納付 + 市民税損金納付 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
20
- <%= render_attr('ARC00060', (都道府県民税損金納付 + 市民税損金納付 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
21
+ <% ['ARC00050', 'ARC00060'].each do |code| %>
22
+ <%= render_attr(code, [都道府県民税損金納付, 市民税損金納付, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
23
+ <% end %>
21
24
  </ARC00040>
22
25
  <ARC00100>
23
- <%= render_attr('ARC00110', (@法人税等 - 法人税損金納付額 - 都道府県民税損金納付 - 市民税損金納付 - 事業税損金納付)) %>
24
- <%= render_attr('ARC00120', (@法人税等 - 法人税損金納付額 - 都道府県民税損金納付 - 市民税損金納付 - 事業税損金納付)) %>
26
+ <% ['ARC00110', 'ARC00120'].each do |code| %>
27
+ <%= render_attr(code, (@法人税等 - [法人税損金納付額, 都道府県民税損金納付, 市民税損金納付, 事業税損金納付].compact.sum)) %>
28
+ <% end %>
25
29
  </ARC00100>
26
30
  <%= 別表四還付事業税 %>
27
31
  <% if (@当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税) > 0 %>
28
32
  <ARC00220>
29
33
  <%= render_attr('ARC00230', '前期仮払税金否認') %>
30
- <%= render_attr('ARC00240', (@当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税)) %>
31
- <%= render_attr('ARC00250', (@当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税)) %>
34
+ <% ['ARC00240', 'ARC00250'].each do |code| %>
35
+ <%= render_attr(code, [@当期還付法人税, @当期還付都道府県住民税, @当期還付市民税].compact.sum) %>
36
+ <% end %>
32
37
  </ARC00220>
33
38
  <% end %>
34
39
  <ARC00325>
35
- <%= render_attr('ARC00330', @法人税等 + @当期還付事業税 + 法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付) %>
36
- <%= render_attr('ARC00340', @法人税等 + @当期還付事業税 + 法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付) %>
40
+ <% ['ARC00330', 'ARC00340'].each do |code| %>
41
+ <%= render_attr(code, [@法人税等, @当期還付事業税, 法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
42
+ <% end %>
37
43
  </ARC00325>
38
44
  </ARC00000>
39
45
  <ARD00000>
40
46
  <ARD00040>
41
- <%= render_attr('ARD00050', @納付事業税) %>
42
- <%= render_attr('ARD00060', @納付事業税) %>
47
+ <% ['ARD00050', 'ARD00060'].each do |code| %>
48
+ <%= render_attr(code, @納付事業税) %>
49
+ <% end %>
43
50
  </ARD00040>
44
51
  <ARD00100>
45
- <%= render_attr('ARD00110', @当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税) %>
46
- <%= render_attr('ARD00120', @当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税) %>
52
+ <% ['ARD00110', 'ARD00120'].each do |code| %>
53
+ <%= render_attr(code, [@当期還付法人税, @当期還付都道府県住民税, @当期還付市民税].compact.sum) %>
54
+ <% end %>
47
55
  </ARD00100>
48
56
  <% if (法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付) > 0 %>
49
57
  <ARD00215>
50
58
  <%= render_attr('ARD00220', '仮払税金認定損') %>
51
- <%= render_attr('ARD00230', (法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
52
- <%= render_attr('ARD00240', (法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
59
+ <% ['ARD00230', 'ARD00240'].each do |code| %>
60
+ <%= render_attr(code, [法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
61
+ <% end %>
62
+ </ARD00215>
63
+ <% end %>
64
+ <% if @翌期還付事業税 > 0 %>
65
+ <ARD00215>
66
+ <%= render_attr('ARD00220', '仮払事業税認定損') %>
67
+ <% ['ARD00230', 'ARD00240'].each do |code| %>
68
+ <%= render_attr(code, @翌期還付事業税) %>
69
+ <% end %>
53
70
  </ARD00215>
54
71
  <% end %>
55
72
  <ARD00280>
56
- <%= render_attr('ARD00290', (@納付事業税 + 法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
57
- <%= render_attr('ARD00300', (@納付事業税 + 法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付)) %>
73
+ <% ['ARD00290', 'ARD00300'].each do |code| %>
74
+ <%= render_attr(code, [@納付事業税, @翌期還付事業税, 法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
75
+ <% end %>
58
76
  </ARD00280>
59
77
  </ARD00000>
60
78
  <ARE00000>
61
- <%= render_attr('ARE00010', @別表四調整所得) %>
62
- <%= render_attr('ARE00020', @別表四調整所得) %>
79
+ <% ['ARE00010', 'ARE00020'].each do |code| %>
80
+ <%= render_attr(code, @別表四調整所得) %>
81
+ <% end %>
63
82
  </ARE00000>
64
83
  <ARZ10000>
65
- <%= render_attr('ARZ10010', @別表四調整所得) %>
66
- <%= render_attr('ARZ10020', @別表四調整所得) %>
84
+ <% ['ARZ10010', 'ARZ10020'].each do |code| %>
85
+ <%= render_attr(code, @別表四調整所得) %>
86
+ <% end %>
67
87
  </ARZ10000>
68
88
  <ARK00000>
69
- <%= render_attr('ARK00010', @別表四調整所得) %>
70
- <%= render_attr('ARK00020', @別表四調整所得) %>
89
+ <% ['ARK00010', 'ARK00020'].each do |code| %>
90
+ <%= render_attr(code, @別表四調整所得) %>
91
+ <% end %>
71
92
  </ARK00000>
72
93
  <ARM00000>
73
- <%= render_attr('ARM00010', @別表四調整所得) %>
74
- <%= render_attr('ARM00020', @別表四調整所得) %>
94
+ <% ['ARM00010', 'ARM00020'].each do |code| %>
95
+ <%= render_attr(code, @別表四調整所得) %>
96
+ <% end %>
75
97
  </ARM00000>
76
98
  <ARS00000>
77
- <%= render_attr('ARS00010', @別表四調整所得) %>
78
- <%= render_attr('ARS00020', @別表四調整所得) %>
99
+ <% ['ARS00010', 'ARS00020'].each do |code| %>
100
+ <%= render_attr(code, @別表四調整所得) %>
101
+ <% end %>
79
102
  </ARS00000>
80
103
  <ART00000>
81
- <%= render_attr('ART00010', @繰越損失管理.deduction) %>
82
- <%= render_attr('ART00020', @繰越損失管理.deduction) %>
104
+ <% ['ART00010', 'ART00020'].each do |code| %>
105
+ <%= render_attr(code, @繰越損失管理.deduction) %>
106
+ <% end %>
83
107
  </ART00000>
84
108
  <ARV00000>
85
- <%= render_attr('ARV00010', @別表四調整所得 - @繰越損失管理.deduction) %>
86
- <%= render_attr('ARV00020', @別表四調整所得 - @繰越損失管理.deduction) %>
109
+ <% ['ARV00010', 'ARV00020'].each do |code| %>
110
+ <%= render_attr(code, @別表四調整所得 - @繰越損失管理.deduction) %>
111
+ <% end %>
87
112
  </ARV00000>
88
113
  </HOA420>
@@ -73,20 +73,50 @@
73
73
  </ICB00000>
74
74
  <ICC00000>
75
75
  <ICC00010>
76
- <%= render_attr('ICC00020', 期首資本金) %>
76
+ <%= render_attr('ICC00020', @期首資本金) %>
77
77
  <ICC00030>
78
- <%= render_attr('ICC00040', 期首資本金) %>
79
- <%= render_attr('ICC00050', 期末資本金) %>
78
+ <%= render_attr('ICC00040', @資本金期中減) %>
79
+ <%= render_attr('ICC00050', @資本金期中増) %>
80
80
  </ICC00030>
81
81
  <%= render_attr('ICC00060', 期末資本金) %>
82
82
  </ICC00010>
83
+ <ICC00070>
84
+ <%= render_attr('ICC00080', @期首資本準備金) %>
85
+ <ICC00090>
86
+ <%= render_attr('ICC00100', @資本準備金期中減) %>
87
+ <%= render_attr('ICC00110', @資本準備金期中増) %>
88
+ </ICC00090>
89
+ <%= render_attr('ICC00120', @期末資本準備金) %>
90
+ </ICC00070>
91
+ <% unless [@期首その他資本剰余金, @その他資本剰余金期中減, @その他資本剰余金期中増, @期末その他資本剰余金].reject { |i| i == 0 }.compact.empty? %>
92
+ <ICC00130>
93
+ <%= render_attr('ICC00140', 'その他資本剰余金') %>
94
+ <%= render_attr('ICC00150', @期首その他資本剰余金) %>
95
+ <ICC00160>
96
+ <%= render_attr('ICC00170', @その他資本剰余金期中減) %>
97
+ <%= render_attr('ICC00180', @その他資本剰余金期中増) %>
98
+ </ICC00160>
99
+ <%= render_attr('ICC00190', @期末その他資本剰余金) %>
100
+ </ICC00130>
101
+ <% end %>
102
+ <% unless [@期首自己株式, @自己株式期中減, @自己株式期中増, @期末自己株式].reject { |i| i == 0 }.compact.empty? %>
103
+ <ICC00130>
104
+ <%= render_attr('ICC00140', '自己株式') %>
105
+ <%= render_attr('ICC00150', @期首自己株式) %>
106
+ <ICC00160>
107
+ <%= render_attr('ICC00170', @自己株式期中減) %>
108
+ <%= render_attr('ICC00180', @自己株式期中増) %>
109
+ </ICC00160>
110
+ <%= render_attr('ICC00190', @期末自己株式) %>
111
+ </ICC00130>
112
+ <% end %>
83
113
  <ICC00200>
84
114
  <%= render_attr('ICC00210', 別表五一期首資本) %>
85
115
  <ICC00220>
86
- <%= render_attr('ICC00230', 別表五一期首資本) %>
87
- <%= render_attr('ICC00240', 別表五一期末資本) %>
116
+ <%= render_attr('ICC00230', @資本金等の額期中減) %>
117
+ <%= render_attr('ICC00240', @資本金等の額期中増) %>
88
118
  </ICC00220>
89
- <%= render_attr('ICC00250', 別表五一期末資本) %>
119
+ <%= render_attr('ICC00250', 資本金等の額) %>
90
120
  </ICC00200>
91
121
  </ICC00000>
92
122
  </HOA511>
@@ -1,4 +1,4 @@
1
- <HOA522 page="1" VR="6.0" id="HOA522" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
1
+ <HOA522 page="1" VR="<%= @form_vers['HOA522'] %>" id="HOA522" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
2
  <IEA00000>
3
3
  <IEA00010>
4
4
  <IEA00020 IDREF="JIGYO_NENDO_FROM"/>