luca-jp 0.2.4 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"/>