luca-jp 0.1.1 → 0.1.6

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: 0763c16ddabd7e36e33e3e52d669c7332c96c06413545741dd4901b44d747ecc
4
+ data.tar.gz: 3880f6e68a30de644c7a78f28d57eba1743f983026c6badb96c6d1a83a9b4f4e
5
5
  SHA512:
6
- metadata.gz: 3501fc606dc9955b03b8e0cde1c3ebc4b4ff1374fa88e53218b4a66d2c48028325e49709e722aea835dd8b21cb0f4224036a77366665c1e6a46131e5648a8f06
7
- data.tar.gz: ba151aeb2da6ab8f5334067804cb7d64d23ab218878b944f2bbd099749b452d322c9695817b44296b9dfd6e2fe6bcca34bfd9f18c38fc87e38a1c43b05bc9f16
6
+ metadata.gz: 8e4b891e123e3724cc74b4db3d45b913d2e72c12a339eefbb536d9761b288d3b577c1f48f3d4d3c7f629dcfa33d2e3bc0c3ee1f3eee8d9be7c4fd0a766b45a4d
7
+ data.tar.gz: 2ce89b1ffce83efd18ef5fb63b9e3a9079301cb9e19b64b31de27803a7db81c1da4469317259f80802b4374b0a9359cce1109a711653b99f3a9afba013996ef8
data/lib/luca/jp.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'luca/jp/version'
4
+ require 'luca_support/config'
4
5
 
5
6
  module Luca
6
7
  module Jp
@@ -9,6 +10,14 @@ module Luca
9
10
  autoload :Syouhizei, 'luca/jp/syouhizei'
10
11
  autoload :Chihouzei, 'luca/jp/chihouzei'
11
12
  autoload :Common, 'luca/jp/common'
13
+ autoload :ItPart, 'luca/jp/it_part'
14
+ autoload :Sonshitsu, 'luca/jp/sonshitsu'
12
15
  autoload :Util, 'luca/jp/util'
13
16
  end
17
+
18
+ EX_CONF = begin
19
+ YAML.load_file(Pathname(LucaSupport::PJDIR) / 'config-lucajp.yml')
20
+ rescue Errno::ENOENT
21
+ nil
22
+ end
14
23
  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'
@@ -23,15 +24,17 @@ module Luca
23
24
  set_pl(4)
24
25
  set_bs(4)
25
26
  @issue_date = Date.today
26
- @company = CGI.escapeHTML(LucaSupport::CONFIG.dig('company', 'name'))
27
+ @company = CGI.escapeHTML(config.dig('company', 'name'))
27
28
  @software = 'LucaJp'
28
- @法人税中間納付 = prepaid_tax('1851')
29
- @地方法人税中間納付 = prepaid_tax('1852')
29
+
30
+ @税額 = 税額計算
31
+ @確定法人税額 = @税額.dig(:houjin, :kokuzei)
30
32
  @法人税額 = 中小企業の軽減税額 + 一般区分の税額
31
- @確定法人税額 = (@法人税額 / 100).floor * 100
32
33
  @地方法人税課税標準 = (@法人税額 / 1000).floor * 1000
33
34
  @地方法人税額 = 地方法人税額(@地方法人税課税標準)
34
- @確定地方法人税額 = (@地方法人税額 / 100).floor * 100
35
+ @確定地方法人税額 = @税額.dig(:houjin, :chihou)
36
+ @法人税中間納付 = prepaid_tax('1851')
37
+ @地方法人税中間納付 = prepaid_tax('1852')
35
38
 
36
39
  if export
37
40
  {
@@ -48,16 +51,24 @@ module Luca
48
51
  @procedure_code = 'RHO0012'
49
52
  @procedure_name = '内国法人の確定申告(青色)'
50
53
  @version = '20.0.2'
54
+ @都道府県民税法人税割中間納付 = prepaid_tax('1859')
55
+ @都道府県民税均等割中間納付 = prepaid_tax('185A')
56
+ @都道府県民税中間納付 = @都道府県民税法人税割中間納付 + @都道府県民税均等割中間納付
57
+ @市民税法人税割中間納付 = prepaid_tax('185D')
58
+ @市民税均等割中間納付 = prepaid_tax('185E')
59
+ @市民税中間納付 = @市民税法人税割中間納付 + @市民税均等割中間納付
51
60
  @法人税期中増, @法人税期中減 = 未納法人税期中増減
52
61
  @都道府県民税期中増, @都道府県民税期中減 = 未納都道府県民税期中増減
53
62
  @市民税期中増, @市民税期中減 = 未納市民税期中増減
54
63
  @事業税期中増, @事業税期中減 = 未納事業税期中増減
64
+ @事業税中間納付 = prepaid_tax('1854') + prepaid_tax('1855') + prepaid_tax('1856') + prepaid_tax('1857') + prepaid_tax('1858')
55
65
  @納税充当金期中増, @納税充当金期中減 = 納税充当金期中増減
66
+ @翌期還付法人税 = 中間還付税額(@確定法人税額 + @確定地方法人税額, @法人税中間納付 + @地方法人税中間納付)
56
67
  @概況売上 = gaikyo('A0')
57
- @form_sec = ['HOA112', 'HOA116', 'HOA201', 'HOA420', 'HOA511', 'HOA522', 'HOE200', 'HOE990', 'HOI010', 'HOI100', 'HOI141', 'HOK010'].map{ |c| form_rdf(c) }.join('')
68
+ @form_sec = ['HOA112', 'HOA116', 'HOA201', 'HOA420', 'HOA511', 'HOA522', 別表七フォーム, 'HOE200', 適用額明細フォーム, 'HOI010', 'HOI100', 'HOI141', 'HOK010'].compact.map{ |c| form_rdf(c) }.join('')
58
69
  #@extra_form_sec = ['HOI040', 'HOI060', 'HOI090', 'HOI110']
59
70
  @it = it_part
60
- @form_data = [別表一, 別表一次葉, 別表二, 別表四簡易, 別表五一, 別表五二, 別表十五, 適用額明細, 預貯金内訳, 仮受金内訳, 役員報酬内訳, 概況説明].join("\n")
71
+ @form_data = [別表一, 別表一次葉, 別表二, 別表四簡易, 別表五一, 別表五二, 別表七, 別表十五, 適用額明細, 預貯金内訳, 仮受金内訳, 役員報酬内訳, 概況説明].compact.join("\n")
61
72
  render_erb(search_template('aoiro.xtx.erb'))
62
73
  end
63
74
  end
@@ -77,7 +88,7 @@ module Luca
77
88
  else
78
89
  item['credit'] << { 'label' => '未払法人税', 'amount' => dat[:kokuzei][:zeigaku] - dat[:kokuzei][:chukan] }
79
90
  end
80
- item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:kokuzei][:zeigaku] }
91
+ item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:kokuzei][:zeigaku] } if dat[:kokuzei][:zeigaku] > 0
81
92
  if dat[:chihou][:chukan] > 0
82
93
  item['credit'] << { 'label' => '仮払法人税(地方)', 'amount' => dat[:chihou][:chukan] }
83
94
  end
@@ -86,7 +97,7 @@ module Luca
86
97
  else
87
98
  item['credit'] << { 'label' => '未払法人税', 'amount' => dat[:chihou][:zeigaku] - dat[:chihou][:chukan] }
88
99
  end
89
- item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:chihou][:zeigaku] }
100
+ item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:chihou][:zeigaku] } if dat[:chihou][:zeigaku] > 0
90
101
  item['x-editor'] = 'LucaJp'
91
102
  res << item
92
103
  puts JSON.dump(res)
@@ -110,8 +121,17 @@ module Luca
110
121
  @当期純損益 = readable(@pl_data.dig('HA'))
111
122
  @法人税等 = readable(@pl_data.dig('H0'))
112
123
  _, @納付事業税 = 未納事業税期中増減
113
- @還付事業税 = readable(還付事業税 || 0)
114
- @別表四調整所得 = @当期純損益 + @法人税等 + @還付事業税 - @納付事業税
124
+ @別表四調整所得 = @当期純損益 + @法人税等 - @納付事業税
125
+
126
+ @当期還付法人税 = refund_tax('1502')
127
+ @当期還付都道府県住民税 = refund_tax('1503')
128
+ @翌期還付都道府県住民税 = 中間還付税額(@税額.dig(:kenmin, :kintou), @都道府県民税均等割中間納付) + 中間還付税額(@税額.dig(:kenmin, :houjinzei), @都道府県民税法人税割中間納付)
129
+ @当期還付市民税 = refund_tax('1505')
130
+ @翌期還付市民税 = 中間還付税額(@税額.dig(:shimin, :kintou), @市民税均等割中間納付) + 中間還付税額(@税額.dig(:shimin, :houjinzei), @市民税法人税割中間納付)
131
+ @当期還付事業税 = 還付事業税
132
+ @事業税期首残高 = 期首未納事業税 > 0 ? 期首未納事業税 : (@当期還付事業税 * -1)
133
+ @翌期還付事業税 = 中間還付税額(確定事業税, @事業税中間納付)
134
+ @仮払税金 = @翌期還付法人税 + @翌期還付都道府県住民税 + @翌期還付事業税 + @翌期還付市民税
115
135
 
116
136
  render_erb(search_template('beppyo4.xml.erb'))
117
137
  end
@@ -121,10 +141,26 @@ module Luca
121
141
  end
122
142
 
123
143
  def 別表五二
144
+ @消費税中間納付額 = 消費税中間納付額 + 地方消費税中間納付額
145
+ @当期還付消費税 = refund_tax('1501')
146
+ @消費税期首残高 = 期首未納消費税 > 0 ? 期首未納消費税 : (@当期還付消費税 * -1)
147
+ @翌期還付消費税 = 中間還付税額(@消費税期中増, @消費税中間納付額)
124
148
  @その他事業税 = 租税公課
125
149
  render_erb(search_template('beppyo52.xml.erb'))
126
150
  end
127
151
 
152
+ def 別表七フォーム
153
+ return nil if @繰越損失管理.records.length == 0
154
+
155
+ 'HOB710'
156
+ end
157
+
158
+ def 別表七
159
+ return nil if @繰越損失管理.records.length == 0
160
+
161
+ render_erb(search_template('beppyo7.xml.erb'))
162
+ end
163
+
128
164
  def 別表十五
129
165
  @交際費 = readable(@pl_data.dig('C1B') || 0)
130
166
  @限度額 = @交際費 < 4_000_000 ? @交際費 : 4_000_000
@@ -137,7 +173,7 @@ module Luca
137
173
  next unless /^110[0-9A-Z]/.match(k)
138
174
  next unless readable(v || 0) > 0
139
175
 
140
- h[@dict.dig(k)[:label]] = readable(v)
176
+ h[@@dict.dig(k)[:label]] = readable(v)
141
177
  end
142
178
  render_erb(search_template('yokin-meisai.xml.erb'))
143
179
  end
@@ -154,7 +190,15 @@ module Luca
154
190
  render_erb(search_template('yakuin-meisai.xml.erb'))
155
191
  end
156
192
 
193
+ def 適用額明細フォーム
194
+ return nil if @確定法人税額 == 0
195
+
196
+ 'HOE990'
197
+ end
198
+
157
199
  def 適用額明細
200
+ return nil if @確定法人税額 == 0
201
+
158
202
  render_erb(search_template('tekiyougaku.xml.erb'))
159
203
  end
160
204
 
@@ -208,13 +252,72 @@ module Luca
208
252
  end
209
253
 
210
254
  def 租税公課
211
- readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: 'C1I')[:debit]) || 0
255
+ readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: 'C1I')[:debit]['C1I']) || 0
256
+ end
257
+
258
+ def 別表四還付法人税等金額
259
+ refund_tax()
212
260
  end
213
261
 
214
262
  def 別表四還付事業税
215
- return nil if @還付事業税 == 0
263
+ return nil if @当期還付事業税 == 0
216
264
 
217
- "<ARC00220><ARC00230>仮払事業税消却(未収計上した還付事業税)</ARC00230>#{render_attr('ARC00240', @還付事業税)}#{render_attr('ARC00250', @還付事業税)}</ARC00220>\n"
265
+ "<ARC00220><ARC00230>仮払事業税消却(未収計上した還付事業税)</ARC00230>#{render_attr('ARC00240', @当期還付事業税)}#{render_attr('ARC00250', @当期還付事業税)}</ARC00220>\n"
266
+ end
267
+
268
+ def 別表五一仮払税金
269
+ 未収仮払税金 = [@start_balance['1502'], @start_balance['1503'], @start_balance['1504'], @start_balance['1505']].compact.sum
270
+ 還付税金 = [@当期還付法人税, @当期還付都道府県住民税, @当期還付事業税, @当期還付市民税].compact.sum
271
+ return '' if 未収仮払税金 == 0 && 還付税金 == 0 && @仮払税金 == 0
272
+
273
+ %Q(<ICB00140>
274
+ #{render_attr('ICB00150', '仮払税金')}
275
+ #{render_attr('ICB00160', 未収仮払税金 * -1)}
276
+ <ICB00170>
277
+ #{render_attr('ICB00190', 還付税金 * -1)}
278
+ #{render_attr('ICB00200', @仮払税金 * -1)}
279
+ </ICB00170>
280
+ #{render_attr('ICB00210', @仮払税金 * -1)}
281
+ </ICB00140>)
282
+ end
283
+
284
+ def 別表五一還付法人税
285
+ return '' if (@start_balance['1502']||0) == 0 && @翌期還付法人税 == 0
286
+
287
+ %Q(<ICB00220>
288
+ #{render_attr('ICB00230', @start_balance['1502'] || 0)}
289
+ <ICB00240>
290
+ #{render_attr('ICB00250', @当期還付法人税)}
291
+ #{render_attr('ICB00260', @翌期還付法人税)}
292
+ </ICB00240>
293
+ #{render_attr('ICB00270', @翌期還付法人税)}
294
+ </ICB00220>)
295
+ end
296
+
297
+ def 別表五一還付都道府県住民税
298
+ return '' if (@start_balance['1503']||0) == 0 && @翌期還付都道府県住民税 == 0
299
+
300
+ %Q(<ICB00280>
301
+ #{render_attr('ICB00290', @start_balance['1503'] || 0)}
302
+ <ICB00300>
303
+ #{render_attr('ICB00310', @当期還付都道府県住民税)}
304
+ #{render_attr('ICB00320', @翌期還付都道府県住民税)}
305
+ </ICB00300>
306
+ #{render_attr('ICB00330', @翌期還付都道府県住民税)}
307
+ </ICB00280>)
308
+ end
309
+
310
+ def 別表五一還付市民税
311
+ return '' if (@start_balance['1505']||0) == 0 && @翌期還付市民税 == 0
312
+
313
+ %Q(<ICB00340>
314
+ #{render_attr('ICB00350', @start_balance['1505'] || 0)}
315
+ <ICB00360>
316
+ #{render_attr('ICB00370', @当期還付市民税)}
317
+ #{render_attr('ICB00380', @翌期還付市民税)}
318
+ </ICB00360>
319
+ #{render_attr('ICB00390', @翌期還付市民税)}
320
+ </ICB00340>)
218
321
  end
219
322
 
220
323
  def 期首繰越損益
@@ -229,16 +332,11 @@ module Luca
229
332
  readable(@start_balance.dig('515')) || 0
230
333
  end
231
334
 
232
- def 期末納税充当金
233
- readable(@bs_data.dig('515')) || 0
234
- end
235
-
236
335
  def 納税充当金期中増減
237
- r = LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '515')
238
- [
239
- readable(r[:credit] || 0) + @法人税期中増 + @都道府県民税期中増 + @市民税期中増 + @事業税期中増,
240
- readable(r[:debit] || 0) + @法人税期中減 + @都道府県民税期中減 + @市民税期中減 + @事業税期中減
241
- ]
336
+ r = debit_amount('515', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
337
+ 納付 = 納付税額(@確定法人税額 + @確定地方法人税額, @法人税中間納付 + @地方法人税中間納付) + 期末未納都道府県民税 + 期末未納市民税 + 納付税額(確定事業税, @事業税中間納付)
338
+
339
+ [納付, readable(r)]
242
340
  end
243
341
 
244
342
  def 期首未納法人税
@@ -246,12 +344,28 @@ module Luca
246
344
  end
247
345
 
248
346
  def 期末未納法人税
249
- readable(@bs_data.dig('5151')) || 0
347
+ 納付税額(@確定法人税額 + @確定地方法人税額, @法人税中間納付 + @地方法人税中間納付)
250
348
  end
251
349
 
252
350
  def 未納法人税期中増減
253
- r = LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5151')
254
- [readable(r[:credit] || 0), readable(r[:debit] || 0)]
351
+ r = debit_amount('5151', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
352
+ [(@確定法人税額 + @確定地方法人税額), readable(r)]
353
+ end
354
+
355
+ # 中間納付した金額のうち税額とならず、還付されるべき額
356
+ #
357
+ def 法人税仮払納付額
358
+ [(@法人税中間納付 + @地方法人税中間納付 - @確定法人税額 - @確定地方法人税額), 0].max
359
+ end
360
+
361
+ # 中間納付した金額のうち税額として確定した額
362
+ #
363
+ def 法人税損金納付額
364
+ [@法人税中間納付 + @地方法人税中間納付, @確定法人税額 + @確定地方法人税額].min
365
+ end
366
+
367
+ def 確定都道府県住民税
368
+ @税額.dig(:kenmin, :kintou) + @税額.dig(:kenmin, :houjinzei)
255
369
  end
256
370
 
257
371
  def 期首未納都道府県民税
@@ -259,12 +373,25 @@ module Luca
259
373
  end
260
374
 
261
375
  def 期末未納都道府県民税
262
- readable(@bs_data.dig('5153')) || 0
376
+ 納付税額(@税額.dig(:kenmin, :kintou), @都道府県民税均等割中間納付) + 納付税額(@税額.dig(:kenmin, :houjinzei), @都道府県民税法人税割中間納付)
263
377
  end
264
378
 
265
379
  def 未納都道府県民税期中増減
266
- r = LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5153')
267
- [readable(r[:credit] || 0), readable(r[:debit] || 0)]
380
+ r = debit_amount('5153', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
381
+ [確定都道府県住民税, readable(r)]
382
+ end
383
+
384
+ def 都道府県民税仮払納付
385
+ [(@都道府県民税中間納付 - 確定都道府県住民税), 0].max
386
+ 中間還付税額(@税額.dig(:kenmin, :kintou), @都道府県民税均等割中間納付) + 中間還付税額(@税額.dig(:kenmin, :houjinzei), @都道府県民税法人税割中間納付)
387
+ end
388
+
389
+ def 都道府県民税損金納付
390
+ [@都道府県民税均等割中間納付, @税額.dig(:kenmin, :kintou)].min + [@都道府県民税法人税割中間納付, @税額.dig(:kenmin, :houjinzei)].min
391
+ end
392
+
393
+ def 確定市民税
394
+ @税額.dig(:shimin, :kintou) - @税額.dig(:shimin, :houjinzei)
268
395
  end
269
396
 
270
397
  def 期首未納市民税
@@ -272,12 +399,28 @@ module Luca
272
399
  end
273
400
 
274
401
  def 期末未納市民税
275
- readable(@bs_data.dig('5154')) || 0
402
+ 納付税額(@税額.dig(:shimin, :kintou), @市民税均等割中間納付) + 納付税額(@税額.dig(:shimin, :houjinzei), @市民税法人税割中間納付)
276
403
  end
277
404
 
278
405
  def 未納市民税期中増減
279
- r = LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5154')
280
- [readable(r[:credit] || 0), readable(r[:debit] || 0)]
406
+ r = debit_amount('5154', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
407
+ [確定市民税, readable(r)]
408
+ end
409
+
410
+ def 市民税仮払納付
411
+ 中間還付税額(@税額.dig(:shimin, :kintou), @市民税均等割中間納付) + 中間還付税額(@税額.dig(:shimin, :houjinzei), @市民税法人税割中間納付)
412
+ end
413
+
414
+ def 市民税損金納付
415
+ [@市民税均等割中間納付, @税額.dig(:shimin, :kintou)].min + [@市民税法人税割中間納付, @税額.dig(:shimin, :houjinzei)].min
416
+ end
417
+
418
+ def 確定事業税
419
+ @税額.dig(:kenmin, :shotoku) + @税額.dig(:kenmin, :tokubetsu)
420
+ end
421
+
422
+ def 事業税損金納付
423
+ [@事業税中間納付, 確定事業税].min
281
424
  end
282
425
 
283
426
  def 別表五一期首差引金額
@@ -285,15 +428,42 @@ module Luca
285
428
  end
286
429
 
287
430
  def 別表五一期末差引金額
288
- 期末繰越損益 + 期末納税充当金 - 期末未納法人税 - 期末未納都道府県民税 - 期末未納市民税
431
+ 期末繰越損益 + @納税充当金期中増 - 期末未納法人税 - 期末未納都道府県民税 - 期末未納市民税 - @翌期還付事業税
289
432
  end
290
433
 
291
434
  def 別表五一期中減差引金額
292
- 期首繰越損益 + @納税充当金期中減 - @法人税期中減 - @都道府県民税期中減 - @市民税期中減
435
+ 期首繰越損益 + @納税充当金期中減 - @法人税期中減 - @都道府県民税期中減 - @市民税期中減 - @翌期還付法人税 - @翌期還付都道府県住民税 - @翌期還付市民税
293
436
  end
294
437
 
295
438
  def 別表五一期中増差引金額
296
- 期末繰越損益 + @納税充当金期中増 - @法人税期中増 - @都道府県民税期中増 - @市民税期中増
439
+ 期末繰越損益 + 納付税額(確定事業税, @事業税中間納付) - @法人税中間納付 - @地方法人税中間納付 - @都道府県民税中間納付 - @市民税中間納付 - @翌期還付事業税
440
+ end
441
+
442
+ def 期末未収税金(code)
443
+ readable((@bs_data[code] || 0) * -1)
444
+ end
445
+
446
+ def 別表七各期青色損失
447
+ tags = @繰越損失管理.records
448
+ .filter { |record| record['start_date'] > @end_date.prev_year(10) && record['end_date'] < @start_date }
449
+ .map do |record|
450
+ deduction = record['decrease']&.filter{ |r| r['date'] >= @start_date }&.dig(0, 'val') || 0
451
+ next if deduction == 0 && record['amount'] == 0
452
+
453
+ %Q(<MCB00110>
454
+ <MCB00120>
455
+ #{render_attr('MCB00130', etax_date(record['start_date']))}
456
+ #{render_attr('MCB00140', etax_date(record['end_date']))}
457
+ </MCB00120>
458
+ <MCB00150>
459
+ <MCB00160><kubun_CD>1</kubun_CD></MCB00160>
460
+ </MCB00150>
461
+ #{render_attr('MCB00190', deduction + record['amount'])}
462
+ #{render_attr('MCB00200', deduction)}
463
+ #{render_attr('MCB00210', record['amount'])}
464
+ </MCB00110)
465
+ end
466
+ tags.compact.join("\n")
297
467
  end
298
468
 
299
469
  def 期首資本金
@@ -321,38 +491,9 @@ module Luca
321
491
  end
322
492
 
323
493
  def 未納消費税期中増減
324
- r = LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '516')
325
- [readable(r[:credit] || 0), readable(r[:debit] || 0)]
326
- end
327
-
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
494
+ increase = debit_amount('C1I1', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
495
+ r = debit_amount('516', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
496
+ [readable(increase), readable(r)]
356
497
  end
357
498
 
358
499
  def 概況月(idx)
@@ -377,13 +518,13 @@ module Luca
377
518
 
378
519
  def 概況月源泉徴収(idx)
379
520
  target = @start_date.next_month(idx)
380
- readable(LucaBook::State.gross(target.year, target.month, code: '5191')[:credit] || 0)
381
- + readable(LucaBook::State.gross(target.year, target.month, code: '5193')[:credit] || 0)
521
+ readable(LucaBook::State.gross(target.year, target.month, code: '5191')[:credit]['5191'] || 0)
522
+ + readable(LucaBook::State.gross(target.year, target.month, code: '5193')[:credit]['5193'] || 0)
382
523
  end
383
524
 
384
525
  def 概況源泉徴収
385
- readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5191')[:credit] || 0)
386
- + readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5193')[:credit] || 0)
526
+ readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5191')[:credit]['5191'] || 0)
527
+ + readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: '5193')[:credit]['5193'] || 0)
387
528
  end
388
529
 
389
530
  def gaikyo(code)