luca-jp 0.16.2 → 0.17.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.
@@ -11,11 +11,11 @@ module Luca
11
11
  #
12
12
  def 税額計算
13
13
  所得 = 所得金額
14
+ 法人税額 = 中小企業の軽減税額(所得) + 一般区分の税額(所得)
15
+ 地方法人税課税標準 = (法人税額 / 1000).floor * 1000
16
+ 地方法人税 = 地方法人税額(地方法人税課税標準)
14
17
  { houjin: {}, kenmin: {}, shimin: {} }.tap do |tax|
15
- 法人税額 = 中小企業の軽減税額(所得) + 一般区分の税額(所得)
16
18
  tax[:houjin][:kokuzei] = (法人税額 / 100).floor * 100
17
- 地方法人税課税標準 = (法人税額 / 1000).floor * 1000
18
- 地方法人税 = 地方法人税額(地方法人税課税標準)
19
19
  tax[:houjin][:chihou] = (地方法人税 / 100).floor * 100
20
20
 
21
21
  tax[:kenmin][:houjinzei], tax[:shimin][:houjinzei] = 法人税割(法人税額)
@@ -68,18 +68,45 @@ module Luca
68
68
  # 繰越損失適用後の所得金額
69
69
  #
70
70
  def 所得金額
71
- @繰越損失管理 = Sonshitsu.load(@end_date).update(当期所得金額).save if @繰越損失管理.nil?
71
+ @繰越損失管理 = Sonshitsu.load(@end_date).update(@別表四調整所得).save if @繰越損失管理.nil?
72
72
  @繰越損失管理.profit
73
73
  end
74
74
 
75
- # 税引前当期利益をもとに計算
76
75
  # 消費税を租税公課に計上している場合、控除済みの金額
77
76
  # 事業税は仮払経理の場合にも納付時損金/還付時益金
78
77
  #
79
- def 当期所得金額
80
- _, 納付事業税 = 未納事業税期中増減
81
- 事業税中間納付 = prepaid_tax('1854') + prepaid_tax('1855') + prepaid_tax('1856') + prepaid_tax('1857') + prepaid_tax('1858')
82
- LucaSupport::Code.readable(@pl_data.dig('GA') - 納付事業税 - 事業税中間納付 + 還付事業税)
78
+ def 別表四所得調整(ext_config = nil)
79
+ @税引前損益 = readable(@pl_data.dig('GA'))
80
+
81
+ if ext_config
82
+ @減価償却の償却超過額 = ext_config.dig('損金不算入', '減価償却')
83
+ @役員給与の損金不算入額 = ext_config.dig('損金不算入', '役員給与')
84
+ @交際費等の損金不算入額 = ext_config.dig('損金不算入', '交際費')
85
+ @減価償却超過額の当期認容額 = ext_config.dig('益金不算入', '減価償却')
86
+ @受取配当金の益金不算入額 = ext_config.dig('益金不算入', '受取配当金')
87
+ @受贈益の益金不算入額 = ext_config.dig('益金不算入', '受贈益')
88
+ end
89
+
90
+ @当期還付事業税 = refund_tax('1504')
91
+ @損金不算入額税額未確定 = [
92
+ @減価償却の償却超過額,
93
+ @役員給与の損金不算入額,
94
+ @交際費等の損金不算入額,
95
+ @当期還付事業税
96
+ ].compact.sum
97
+
98
+ _, @納付事業税 = 未納事業税期中増減
99
+ @事業税中間納付 = ['1854', '1855', '1856', '1857', '1858']
100
+ .map{ |k| prepaid_tax(k) }.compact.sum
101
+ @益金不算入額税額未確定 = [
102
+ @納付事業税,
103
+ @事業税中間納付,
104
+ @減価償却超過額の当期認容額,
105
+ @受取配当金の益金不算入額,
106
+ @受贈益の益金不算入額,
107
+ ].compact.sum
108
+
109
+ @別表四調整所得 = @税引前損益 + @損金不算入額税額未確定 - @益金不算入額税額未確定
83
110
  end
84
111
 
85
112
  # -----------------------------------------------------
@@ -113,6 +140,10 @@ module Luca
113
140
  # -----------------------------------------------------
114
141
 
115
142
  def 均等割
143
+ if @employee.nil?
144
+ STDERR.puts "地方税の提出先設定に従業員人数がないため、1名とみなして計算"
145
+ @employee ||= 1
146
+ end
116
147
  tax = if 地方税資本金等の額 <= 10_000_000
117
148
  city = @employee > 50 ? 120_000 : 50_000
118
149
  [20_000, city]
@@ -273,10 +304,6 @@ module Luca
273
304
  end
274
305
  end
275
306
 
276
- def 還付事業税
277
- refund_tax('1504')
278
- end
279
-
280
307
  def 未納事業税期中増減
281
308
  r = gross_amount('5152', @start_date.year, @start_date.month, @end_date.year, @end_date.month)
282
309
  [LucaSupport::Code.readable(r[1]), LucaSupport::Code.readable(r[0])]
@@ -318,6 +345,8 @@ module Luca
318
345
  # :section: 複数自治体間の分割計算
319
346
  # -----------------------------------------------------
320
347
  def 事業税の分割課税標準(課税標準)
348
+ return 課税標準 if ! Luca::Jp::Util.eltax_config('reports')
349
+
321
350
  case Luca::Jp::Util.eltax_config('reports')
322
351
  .filter { |r| レポート種別.include?(r['type']) }.length
323
352
  when 0, 1
@@ -26,7 +26,7 @@ module Luca
26
26
  @profit = 0
27
27
  end
28
28
 
29
- # sonshitsu format is as bellows:
29
+ # sonshitsu format is as follows:
30
30
  #
31
31
  # - start_date: 2020-01-01
32
32
  # end_date: 2020-12-31
@@ -37,7 +37,7 @@ module Luca
37
37
  #
38
38
  def self.load(this_year)
39
39
  records = if File.exist?(record_file)
40
- YAML.safe_load(File.read(record_file), permitted_classes: [Date])
40
+ YAML.safe_load(File.read(record_file), permitted_classes: [Date], aliases: true)
41
41
  .filter { |record| record['start_date'] > this_year.prev_year(11) && record['end_date'] < this_year }
42
42
  .sort { |a, b| a['start_date'] <=> b['start_date'] }
43
43
  else
@@ -21,6 +21,7 @@ module Luca
21
21
  # TODO: 軽減税率売上の識別
22
22
  #
23
23
  def kani(export: false)
24
+ @2割特例 = config.dig('jp', 'syouhizei_kubun') == 2023
24
25
  set_pl(4)
25
26
  set_bs(4)
26
27
  @issue_date = Date.today
@@ -32,6 +33,7 @@ module Luca
32
33
 
33
34
  @sales = @pl_data.dig('A0') * 100 / (100 + 税率 + 地方税率).floor
34
35
  @tax_amount = (課税標準額(@sales) * 税率 / 100).floor
36
+ @基準期間の課税売上高 = LucaSupport::Code.readable(基準期間の課税売上高(税率 + 地方税率))
35
37
  @みなし仕入税額 = (@tax_amount * みなし仕入率(config.dig('jp', 'syouhizei_kubun')) / 100).floor
36
38
  @税額 = LucaSupport::Code.readable(((@tax_amount - @みなし仕入税額) / 100).floor * 100)
37
39
  @譲渡割額 = (@税額 * 地方税率 / (税率*100)).floor * 100
@@ -54,9 +56,17 @@ module Luca
54
56
  @procedure_name = '消費税及び地方消費税申告(簡易課税・法人)'
55
57
  @form_vers = proc_version
56
58
  @version = @form_vers['proc']
57
- @form_sec = ['SHA020', 'SHB047', 'SHB067'].map{ |c| form_rdf(c) }.join('')
58
59
  @it = it_part
59
- @form_data = [申告書簡易課税, 付表四の三, 付表五の三].join("\n")
60
+ @form_sec = if @2割特例
61
+ ['SHA020', 'SHB070'].map{ |c| form_rdf(c) }.join('')
62
+ else
63
+ ['SHA020', 'SHB047', 'SHB067'].map{ |c| form_rdf(c) }.join('')
64
+ end
65
+ @form_data = if @2割特例
66
+ [申告書簡易課税, 付表六].join("\n")
67
+ else
68
+ [申告書簡易課税, 付表四の三, 付表五の三].join("\n")
69
+ end
60
70
  render_erb(search_template('consumption.xtx.erb'))
61
71
  end
62
72
  end
@@ -73,6 +83,10 @@ module Luca
73
83
  render_erb(search_template('fuhyo53.xml.erb'))
74
84
  end
75
85
 
86
+ def 付表六
87
+ render_erb(search_template('fuhyo6.xml.erb'))
88
+ end
89
+
76
90
  def export_json
77
91
  dat = kani(export: true)
78
92
  [].tap do |res|
@@ -110,6 +124,16 @@ module Luca
110
124
  (課税資産の譲渡等の対価の額 / 1000).floor * 1000
111
125
  end
112
126
 
127
+ def 基準期間の課税売上高(税率)
128
+ 基準日 = @end_date.prev_year(2)
129
+ from_d, to_d = LucaBook::Util.current_fy(基準日)
130
+ state = LucaBook::State.range(from_d.year, from_d.month, to_d.year, to_d.month)
131
+ state.pl
132
+ (state.pl_data.dig('A0') * 100 / (100 + 税率)).floor
133
+ end
134
+
135
+ # 2023は2割特例
136
+ #
113
137
  def みなし仕入率(事業区分)
114
138
  {
115
139
  1 => 90,
@@ -117,7 +141,8 @@ module Luca
117
141
  3 => 70,
118
142
  4 => 60,
119
143
  5 => 50,
120
- 6 => 40
144
+ 6 => 40,
145
+ 2023 => 80
121
146
  }[事業区分]
122
147
  end
123
148
 
@@ -144,7 +169,9 @@ module Luca
144
169
  end
145
170
 
146
171
  def proc_version
147
- if @end_date >= Date.parse('2021-4-1')
172
+ if @end_date >= Date.parse('2023-10-1')
173
+ { 'proc' => '23.0.0', 'SHA020' => '9.0' }
174
+ elsif @end_date >= Date.parse('2021-4-1')
148
175
  { 'proc' => '20.0.1', 'SHA020' => '7.1' }
149
176
  else
150
177
  { 'proc' => '20.0.0', 'SHA020' => '7.0' }
@@ -1,4 +1,4 @@
1
- <HOA201 page="1" VR="4.0" id="HOA201" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
1
+ <HOA201 page="1" VR="<%= @form_vers['HOA201'] %>" id="HOA201" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
2
  <VAA00000>
3
3
  <VAA00010>
4
4
  <VAA00020 IDREF="JIGYO_NENDO_FROM"/>
@@ -14,55 +14,76 @@
14
14
  <ARC00000>
15
15
  <ARC00010>
16
16
  <% ['ARC00020', 'ARC00030'].each do |code| %>
17
- <%= render_attr(code, 法人税損金納付額 + 法人税仮払納付額) %>
17
+ <%= render_attr(code, @損金経理をした法人税及び地方法人税) %>
18
18
  <% end %>
19
19
  </ARC00010>
20
20
  <ARC00040>
21
21
  <% ['ARC00050', 'ARC00060'].each do |code| %>
22
- <%= render_attr(code, [都道府県民税損金納付, 市民税損金納付, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
22
+ <%= render_attr(code, @損金経理をした道府県民税及び市町村民税) %>
23
23
  <% end %>
24
24
  </ARC00040>
25
25
  <ARC00100>
26
26
  <% ['ARC00110', 'ARC00120'].each do |code| %>
27
- <%= render_attr(code, 当期納税充当金) %>
27
+ <%= render_attr(code, @損金経理をした納税充当金) %>
28
28
  <% end %>
29
29
  </ARC00100>
30
- <%= 別表四還付事業税 %>
31
- <%# ARC00360 通算法人に係る加算額 %>
32
- <% if (@当期還付法人税 + @当期還付都道府県住民税 + @当期還付市民税) > 0 %>
33
- <ARC00275>
34
- <%= render_attr('ARC00280', '前期仮払税金否認') %>
35
- <% ['ARC00290', 'ARC00300'].each do |code| %>
36
- <%= render_attr(code, [@当期還付法人税, @当期還付都道府県住民税, @当期還付市民税].compact.sum) %>
30
+ <% if @減価償却の償却超過額 %>
31
+ <ARC00160>
32
+ <% ['ARC00170', 'ARC00180'].each do |code| %>
33
+ <%= render_attr(code, @減価償却の償却超過額) %>
34
+ <% end %>
35
+ </ARC00160>
36
+ <% end %>
37
+ <% if @役員給与の損金不算入額 %>
38
+ <ARC00190>
39
+ <% ['ARC00200', 'ARC00210'].each do |code| %>
40
+ <%= render_attr(code, @役員給与の損金不算入額) %>
37
41
  <% end %>
38
- </ARC00275>
42
+ </ARC00190>
39
43
  <% end %>
44
+ <% if @交際費等の損金不算入額 %>
45
+ <ARC00213>
46
+ <% ['ARC00215', 'ARC00218'].each do |code| %>
47
+ <%= render_attr(code, @交際費等の損金不算入額) %>
48
+ <% end %>
49
+ </ARC00213>
50
+ <% end %>
51
+ <%# ARC00360 通算法人に係る加算額 %>
52
+ <%= 別表四還付事業税 %>
40
53
  <ARC00325>
41
54
  <% ['ARC00330', 'ARC00340'].each do |code| %>
42
- <%= render_attr(code, [@法人税等, @当期還付事業税, @当期還付法人税, @当期還付都道府県住民税, 法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
55
+ <%= render_attr(code, @損金不算入額) %>
43
56
  <% end %>
44
57
  </ARC00325>
45
58
  </ARC00000>
46
59
  <ARD00000>
60
+ <% if @減価償却超過額の当期認容額 %>
61
+ <ARD00010>
62
+ <% ['ARD00020', 'ARD00030'].each do |code| %>
63
+ <%= render_attr(code, @減価償却超過額の当期認容額) %>
64
+ <% end %>
65
+ </ARD00010>
66
+ <% end %>
47
67
  <ARD00040>
48
68
  <% ['ARD00050', 'ARD00060'].each do |code| %>
49
69
  <%= render_attr(code, @納付事業税) %>
50
70
  <% end %>
51
71
  </ARD00040>
52
- <ARD00100>
53
- <% ['ARD00110', 'ARD00120'].each do |code| %>
54
- <%= render_attr(code, [@当期還付法人税, @当期還付都道府県住民税, @当期還付市民税].compact.sum) %>
55
- <% end %>
56
- </ARD00100>
57
- <%# ARD00400 通算法人に係る減算額 %>
58
- <% if (法人税仮払納付額 + 都道府県民税仮払納付 + 市民税仮払納付) > 0 %>
59
- <ARD00215>
60
- <%= render_attr('ARD00220', '仮払税金認定損') %>
61
- <% ['ARD00230', 'ARD00240'].each do |code| %>
62
- <%= render_attr(code, [法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
72
+ <% if @受取配当金の益金不算入額 %>
73
+ <ARD00070>
74
+ <% ['ARD00080', 'ARD00090'].each do |code| %>
75
+ <%= render_attr(code, @受取配当金の益金不算入額) %>
63
76
  <% end %>
64
- </ARD00215>
77
+ </ARD00070>
78
+ <% end %>
79
+ <% if @受贈益の益金不算入額 %>
80
+ <ARD00340>
81
+ <% ['ARD00350', 'ARD00360'].each do |code| %>
82
+ <%= render_attr(code, @受贈益の益金不算入額) %>
83
+ <% end %>
84
+ </ARD00340>
65
85
  <% end %>
86
+ <%# ARD00400 通算法人に係る減算額 %>
66
87
  <% if @翌期還付事業税 > 0 %>
67
88
  <ARD00215>
68
89
  <%= render_attr('ARD00220', '仮払事業税認定損') %>
@@ -72,51 +93,73 @@
72
93
  </ARD00215>
73
94
  <% end %>
74
95
  <ARD00280>
75
- <% ['ARD00290', 'ARD00300'].each do |code| %>
76
- <%= render_attr(code, [@納付事業税, @翌期還付事業税, @当期還付法人税, @当期還付都道府県住民税, @当期還付市民税, 法人税仮払納付額, 都道府県民税仮払納付, 市民税仮払納付].compact.sum) %>
77
- <% end %>
96
+ <%= render_attr('ARD00290', @益金不算入額) %>
97
+ <%= render_attr('ARD00300', @益金不算入額留保) %>
98
+ <ARD00310>
99
+ <%= render_attr('ARD00330', @益金不算入額社外流出) %>
100
+ </ARD00310>
78
101
  </ARD00280>
79
102
  </ARD00000>
80
103
  <ARE00000>
81
- <% ['ARE00010', 'ARE00020'].each do |code| %>
82
- <%= render_attr(code, @別表四調整所得) %>
83
- <% end %>
104
+ <%= render_attr('ARE00010', @別表四調整所得) %>
105
+ <%= render_attr('ARE00020', @別表四調整所得留保) %>
106
+ <ARE00030>
107
+ <%= render_attr('ARE00050', @別表四調整所得社外流出) %>
108
+ </ARE00030>
84
109
  </ARE00000>
85
110
  <ARZ10000>
86
- <% ['ARZ10010', 'ARZ10020'].each do |code| %>
87
- <%= render_attr(code, @別表四調整所得) %>
88
- <% end %>
111
+ <%= render_attr('ARZ10010', @別表四調整所得) %>
112
+ <%= render_attr('ARZ10020', @別表四調整所得留保) %>
113
+ <ARZ10030>
114
+ <%= render_attr('ARZ10050', @別表四調整所得社外流出) %>
115
+ </ARZ10030>
89
116
  </ARZ10000>
117
+ <%# ARF00000 寄附金の損金不算入額 %>
118
+ <%# ARI00000 法人税額から控除される所得税額 %>
119
+ <%# ARJ00000 税額控除の対象となる外国法人税の額 %>
90
120
  <ARK00000>
91
- <% ['ARK00010', 'ARK00020'].each do |code| %>
92
- <%= render_attr(code, @別表四調整所得) %>
93
- <% end %>
121
+ <%= render_attr('ARK00010', @別表四調整所得) %>
122
+ <%= render_attr('ARK00020', @別表四調整所得留保) %>
123
+ <ARK00030>
124
+ <%= render_attr('ARK00050', @別表四調整所得社外流出) %>
125
+ </ARK00030>
94
126
  </ARK00000>
95
127
  <ARM00000>
96
- <% ['ARM00010', 'ARM00020'].each do |code| %>
97
- <%= render_attr(code, @別表四調整所得) %>
98
- <% end %>
128
+ <%= render_attr('ARM00010', @別表四調整所得) %>
129
+ <%= render_attr('ARM00020', @別表四調整所得留保) %>
130
+ <ARM00030>
131
+ <%= render_attr('ARM00050', @別表四調整所得社外流出) %>
132
+ </ARM00030>
99
133
  </ARM00000>
134
+ <%# ARN10010 中間申告における繰戻しによる還付に係る災害損失欠損金額の益金算入額 %>
135
+ <%# ARR00000 非適格合併又は残余財産の全部分配等による移転資産等の譲渡利益額又は譲渡損失額 %>
100
136
  <ARS00000>
101
- <% ['ARS00010', 'ARS00020'].each do |code| %>
102
- <%= render_attr(code, @別表四調整所得) %>
103
- <% end %>
137
+ <%= render_attr('ARS00010', @別表四調整所得) %>
138
+ <%= render_attr('ARS00020', @別表四調整所得留保) %>
139
+ <ARS00030>
140
+ <%= render_attr('ARS00050', @別表四調整所得社外流出) %>
141
+ </ARS00030>
104
142
  </ARS00000>
105
143
  <%# ARS10000 更生欠損金又は民事再生等評価換えが行われる場合の再生等欠損金の損金算入額 %>
106
144
  <%# ARS20000 通算対象欠損金額の損金算入額又は通算対象所得金額の益金算入額 %>
107
145
  <ARS50000>
108
- <% ['ARS50010', 'ARS50020'].each do |code| %>
109
- <%= render_attr(code, @別表四調整所得) %>
110
- <% end %>
146
+ <%= render_attr('ARS50010', @別表四調整所得) %>
147
+ <%= render_attr('ARS50020', @別表四調整所得留保) %>
148
+ <ARS50030>
149
+ <%= render_attr('ARS50050', @別表四調整所得社外流出) %>
150
+ </ARS50030>
111
151
  </ARS50000>
112
152
  <ART00000>
113
153
  <% ['ART00010', 'ART00020'].each do |code| %>
114
154
  <%= render_attr(code, @繰越損失管理.deduction) %>
115
155
  <% end %>
116
156
  </ART00000>
157
+ <%# ARX00000 残余財産の確定の日の属する事業年度に係る事業税及び特別法人事業税の損金算入額 %>
117
158
  <ARV00000>
118
- <% ['ARV00010', 'ARV00020'].each do |code| %>
119
- <%= render_attr(code, @別表四調整所得 - @繰越損失管理.deduction) %>
120
- <% end %>
159
+ <%= render_attr('ARV00010', @別表四調整所得 - @繰越損失管理.deduction) %>
160
+ <%= render_attr('ARV00020', @別表四調整所得留保) %>
161
+ <ARV00030>
162
+ <%= render_attr('ARV00050', @別表四調整所得社外流出 - @繰越損失管理.deduction) %>
163
+ </ARV00030>
121
164
  </ARV00000>
122
165
  </HOA420>
@@ -7,7 +7,7 @@
7
7
  <ICA00040 IDREF="NOZEISHA_NM"/>
8
8
  </ICA00000>
9
9
  <ICB00000>
10
- <%= 別表五一仮払税金 %>
10
+ <%= 別表五一仮払事業税 %>
11
11
  <%= 別表五一還付法人税 %>
12
12
  <%= 別表五一還付都道府県住民税 %>
13
13
  <%= 別表五一還付市民税 %>
@@ -25,7 +25,7 @@
25
25
  <%= render_attr('ICB00490', 納税充当金期中減) %>
26
26
  <%= render_attr('ICB00500', 当期納税充当金) %>
27
27
  </ICB00480>
28
- <%= render_attr('ICB00510', 当期納税充当金) %>
28
+ <%= render_attr('ICB00510', 期末納税充当金) %>
29
29
  </ICB00460>
30
30
  <ICB00520>
31
31
  <ICB00530>
@@ -46,10 +46,10 @@
46
46
  <%= render_attr('ICB00650', @都道府県民税期中減 + @都道府県民税中間納付) %>
47
47
  <ICB00660>
48
48
  <%= render_attr('ICB00670', @都道府県民税中間納付) %>
49
- <%= render_attr('ICB00680', 確定都道府県住民税) %>
49
+ <%= render_attr('ICB00680', 期末未納都道府県民税) %>
50
50
  </ICB00660>
51
51
  </ICB00640>
52
- <%= render_attr('ICB00700', 確定都道府県住民税) %>
52
+ <%= render_attr('ICB00700', 期末未納都道府県民税) %>
53
53
  </ICB00620>
54
54
  <ICB00710>
55
55
  <%= render_attr('ICB00720', 期首未納市民税) %>
@@ -57,10 +57,10 @@
57
57
  <%= render_attr('ICB00740', @市民税期中減 + @市民税中間納付) %>
58
58
  <ICB00750>
59
59
  <%= render_attr('ICB00760', @市民税中間納付) %>
60
- <%= render_attr('ICB00770', (確定市民税 - 市民税損金納付)) %>
60
+ <%= render_attr('ICB00770', 期末未納市民税) %>
61
61
  </ICB00750>
62
62
  </ICB00730>
63
- <%= render_attr('ICB00790', (確定市民税 - 市民税損金納付)) %>
63
+ <%= render_attr('ICB00790', 期末未納市民税) %>
64
64
  </ICB00710>
65
65
  </ICB00520>
66
66
  <ICB00800>
@@ -100,7 +100,7 @@
100
100
  <%= render_attr('IEC00450', (確定都道府県住民税 - @都道府県民税中間納付)) %>
101
101
  <IEC00460>
102
102
  <%= render_attr('IEC00470', @翌期還付都道府県住民税 * -1) %>
103
- <%= render_attr('IEC00480', (確定都道府県住民税 - 都道府県民税損金納付)) %>
103
+ <%= render_attr('IEC00480', 期末未納都道府県民税) %>
104
104
  </IEC00460>
105
105
  </IEC00440>
106
106
  </IEC00170>
@@ -122,7 +122,7 @@
122
122
  </IEC00530>
123
123
  <IEC00630>
124
124
  <%= render_attr('IEC00640', @翌期還付都道府県住民税 * -1) %>
125
- <%= render_attr('IEC00650', (確定都道府県住民税 - 都道府県民税損金納付)) %>
125
+ <%= render_attr('IEC00650', 期末未納都道府県民税) %>
126
126
  </IEC00630>
127
127
  </IEC00490>
128
128
  </IEC00000>
@@ -159,7 +159,7 @@
159
159
  <%= render_attr('IED00320', (確定市民税 - @市民税中間納付)) %>
160
160
  <IED00330>
161
161
  <%= render_attr('IED00340', @翌期還付市民税 * -1) %>
162
- <%= render_attr('IED00350', (確定市民税 - 市民税損金納付)) %>
162
+ <%= render_attr('IED00350', 期末未納市民税) %>
163
163
  </IED00330>
164
164
  </IED00310>
165
165
  </IED00170>
@@ -181,7 +181,7 @@
181
181
  </IED00400>
182
182
  <IED00500>
183
183
  <%= render_attr('IED00510', @翌期還付市民税 * -1) %>
184
- <%= render_attr('IED00520', (確定市民税 - 市民税損金納付)) %>
184
+ <%= render_attr('IED00520', 期末未納市民税) %>
185
185
  </IED00500>
186
186
  </IED00360>
187
187
  </IED00000>
@@ -225,7 +225,7 @@
225
225
  <%= render_attr('IEE00420', 当期事業税納付 + 事業税損金納付) %>
226
226
  </IEE00400>
227
227
  </IEE00330>
228
- <%= render_attr('IEE00430', 期首未納事業税 - @事業税期中減) %>
228
+ <%= render_attr('IEE00430', 期末未納事業税) %>
229
229
  </IEE00300>
230
230
  </IEE00000>
231
231
  <IEF00000>
@@ -7,9 +7,9 @@
7
7
  <MCA00040 IDREF="NOZEISHA_NM"/>
8
8
  </MCA00000>
9
9
  <MCB00000>
10
- <%= render_attr('MCB00002', 当期所得金額) %>
10
+ <%= render_attr('MCB00002', @別表四調整所得) %>
11
11
  <MCB00004>
12
- <%= render_attr('MCB00008', [当期所得金額, 0].max) %>
12
+ <%= render_attr('MCB00008', [@別表四調整所得, 0].max) %>
13
13
  </MCB00004>
14
14
  <%= 別表七各期青色損失 %>
15
15
  <MCB00220>
@@ -8,8 +8,8 @@
8
8
  <gen:yyyymmdd></gen:yyyymmdd>
9
9
  </AMA_JIGYO_EDATE>
10
10
  <AMA_NAME idref="NAME"></AMA_NAME>
11
- <%= render_attr('AMA00100', 当期所得金額) %>
12
- <%= render_attr('AMA00200', [当期所得金額, 0].max) %>
11
+ <%= render_attr('AMA00100', @別表四調整所得) %>
12
+ <%= render_attr('AMA00200', [@別表四調整所得, 0].max) %>
13
13
  <AMB00110>
14
14
  <gen:era />
15
15
  <gen:yy />
@@ -149,12 +149,12 @@
149
149
  <AAK01100><%= 特別法人事業税(@所得割) - @地方特別法人事業税中間納付 %></AAK01100>
150
150
  <AAK01200 />
151
151
  <AAK01300><%= 特別法人事業税(@所得割) - @地方特別法人事業税中間納付 %></AAK01300>
152
- <%= render_attr('AAF00100', 当期所得金額) %>
152
+ <%= render_attr('AAF00100', @別表四調整所得) %>
153
153
  <AAF00200 />
154
154
  <AAF00300 />
155
155
  <AAF00500 />
156
156
  <AAF00600 />
157
- <%= render_attr('AAF00800', 当期所得金額) %>
157
+ <%= render_attr('AAF00800', @別表四調整所得) %>
158
158
  <%= render_attr('AAF00700', @繰越損失管理.deduction) %>
159
159
  <%= render_attr('AAG00100', 所得金額) %>
160
160
  <AAH00100 />
@@ -0,0 +1,32 @@
1
+ <SHB070 page="1" VR="1.0" id="SHB070" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
2
+ <AYA00000><AYA00010>
3
+ <AYA00020 IDREF="KAZEI_KIKAN_FROM"/>
4
+ <AYA00030 IDREF="KAZEI_KIKAN_TO"/>
5
+ </AYA00010>
6
+ <AYA00040 IDREF="NOZEISHA_NM"/>
7
+ </AYA00000>
8
+ <AYB00000>
9
+ <AYB00010>
10
+ <%= render_attr('AYB00030', LucaSupport::Code.readable(@sales)) %>
11
+ <%= render_attr('AYB00040', LucaSupport::Code.readable(@sales)) %>
12
+ </AYB00010>
13
+ <AYB00050>
14
+ <%= render_attr('AYB00070', 課税標準額(@sales)) %>
15
+ <%= render_attr('AYB00080', 課税標準額(@sales)) %>
16
+ </AYB00050>
17
+ <AYB00090>
18
+ <%= render_attr('AYB00110', @tax_amount) %>
19
+ <%= render_attr('AYB00120', @tax_amount) %>
20
+ </AYB00090>
21
+ <AYB00210>
22
+ <%= render_attr('AYB00230', @tax_amount) %>
23
+ <%= render_attr('AYB00240', @tax_amount) %>
24
+ </AYB00210>
25
+ </AYB00000>
26
+ <AYC00000>
27
+ <AYC00010>
28
+ <%= render_attr('AYC00030', @みなし仕入税額) %>
29
+ <%= render_attr('AYC00040', @みなし仕入税額) %>
30
+ </AYC00010>
31
+ </AYC00000>
32
+ </SHB070>
@@ -69,11 +69,13 @@
69
69
  <%= render_attr('IAE04300', gaikyo_config('software_kaikei') ? '<kubun_CD>1</kubun_CD>' : nil) %>
70
70
  <%= render_attr('IAE04500', gaikyo_config('software_kaikei')) %>
71
71
  <%= render_attr('IAE04600', gaikyo_config('software_mail')) %>
72
+ <% if @form_vers['HOK010'] < '7.0' %>
72
73
  <IAE07000>
73
74
  <%= render_attr('IAE07700', gaikyo_config('data_cloud') ? '<kubun_CD>1</kubun_CD>' : nil) %>
74
75
  <%= render_attr('IAE07800', gaikyo_config('data_media') ? '<kubun_CD>1</kubun_CD>' : nil) %>
75
76
  <%= render_attr('IAE07900', gaikyo_config('data_server') ? '<kubun_CD>1</kubun_CD>' : nil) %>
76
77
  </IAE07000>
78
+ <% end %>
77
79
  </IAE00000>
78
80
  <IAT00000>
79
81
  <IAT01000>
@@ -34,7 +34,10 @@
34
34
  <%= render_attr('ABI00110', @中間納付額) %>
35
35
  <%= render_attr('ABI00120', 納付税額(@税額, @中間納付額)) %>
36
36
  <%= render_attr('ABI00130', 中間還付税額(@税額, @中間納付額)) %>
37
- <%= render_attr('ABI00170', LucaSupport::Code.readable(@sales)) %>
37
+ <% if ! @2割特例 %>
38
+ <%= render_attr('ABI00170', LucaSupport::Code.readable(@sales)) %>
39
+ <% end %>
40
+ <%= render_attr('ABI00180', @基準期間の課税売上高) %>
38
41
  </ABI00000>
39
42
  <ABJ00000>
40
43
  <ABJ00010>
@@ -54,11 +57,16 @@
54
57
  <ABK00030><kubun_CD>2</kubun_CD></ABK00030>
55
58
  <ABK00040><kubun_CD>2</kubun_CD></ABK00040>
56
59
  </ABK00000>
57
- <ABL00000>
58
- <ABL00010><kubun_CD>2</kubun_CD></ABL00010>
59
- <ABL00020><%= 事業区分 %></ABL00020>
60
- <ABL00210><kubun_CD>2</kubun_CD></ABL00210>
61
- </ABL00000>
60
+ <% if ! @2割特例 %>
61
+ <ABL00000>
62
+ <ABL00010><kubun_CD>2</kubun_CD></ABL00010>
63
+ <ABL00020><%= 事業区分 %></ABL00020>
64
+ <ABL00210><kubun_CD>2</kubun_CD></ABL00210>
65
+ </ABL00000>
66
+ <% end %>
67
+ <% if @form_vers['SHA020'] >= '9.0' %>
68
+ <ABY00000><kubun_CD><%= @2割特例 ? 1 : 2 %></kubun_CD></ABY00000>
69
+ <% end %>
62
70
  </SHA020-1>
63
71
  <SHA020-2 page="1">
64
72
  <ABM00000>
data/lib/luca/jp/util.rb CHANGED
@@ -21,9 +21,12 @@ module Luca
21
21
  end
22
22
  end
23
23
 
24
+ # TODO: customerオプションを適切に扱うには
25
+ # 納付時にx-customerを付加していないケースの考慮が必要
24
26
  def prepaid_tax(code, customer = nil)
25
27
  search_end = @end_date.prev_month # exclude year end adjustment
26
- header = { customer: customer } unless customer.nil?
28
+ # header = { customer: customer } unless customer.nil?
29
+ header = nil
27
30
  amount, _ = self.class.net(@start_date.year, @start_date.month, search_end.year, search_end.month, code: code, header: header)
28
31
  LucaSupport::Code.readable(amount[code] || 0)
29
32
  end
@@ -95,8 +98,8 @@ module Luca
95
98
  end
96
99
 
97
100
  def 期首期末残高(code)
98
- pre = readable(@start_balance.dig(code))
99
- post = readable(@bs_data.dig(code))
101
+ pre = readable(@start_balance.dig(code)) || 0
102
+ post = readable(@bs_data.dig(code)) || 0
100
103
  [readable(pre), readable(post)]
101
104
  end
102
105