luca-jp 0.1.0 → 0.1.1
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 +4 -4
- data/exe/luca-jp +57 -0
- data/lib/luca/jp.rb +4 -0
- data/lib/luca/jp/aoiro.rb +409 -0
- data/lib/luca/jp/chihouzei.rb +200 -0
- data/lib/luca/jp/common.rb +49 -0
- data/lib/luca/jp/syouhizei.rb +119 -12
- data/lib/luca/jp/templates/aoiro.xtx.erb +21 -0
- data/lib/luca/jp/templates/beppyo1-next.xml.erb +31 -0
- data/lib/luca/jp/templates/beppyo1.xml.erb +69 -0
- data/lib/luca/jp/templates/beppyo15.xml.erb +30 -0
- data/lib/luca/jp/templates/beppyo2.xml.erb +9 -0
- data/lib/luca/jp/templates/beppyo4.xml.erb +54 -0
- data/lib/luca/jp/templates/beppyo51.xml.erb +85 -0
- data/lib/luca/jp/templates/beppyo52.xml.erb +179 -0
- data/lib/luca/jp/templates/consumption.xtx.erb +21 -0
- data/lib/luca/jp/templates/el-no6-43.xml.erb +178 -0
- data/lib/luca/jp/templates/el-no6.xml.erb +206 -0
- data/lib/luca/jp/templates/eltax.xml.erb +117 -0
- data/lib/luca/jp/templates/fuhyo43.xml.erb +37 -0
- data/lib/luca/jp/templates/fuhyo53.xml.erb +24 -0
- data/lib/luca/jp/templates/gaikyo.xml.erb +89 -0
- data/lib/luca/jp/templates/kariuke-meisai.xml.erb +37 -0
- data/lib/luca/jp/templates/syouhizei-shinkoku-kanni.xml.erb +93 -0
- data/lib/luca/jp/templates/tekiyougaku.xml.erb +35 -0
- data/lib/luca/jp/templates/yakuin-meisai.xml.erb +13 -0
- data/lib/luca/jp/templates/yokin-meisai.xml.erb +13 -0
- data/lib/luca/jp/util.rb +62 -0
- data/lib/luca/jp/version.rb +1 -1
- metadata +26 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c6d1f716fed87d639d11ba925e383a2b1d338a901dd148508c39d56664b1a36
|
4
|
+
data.tar.gz: e82fd1948e7df170d163fe15f790d58b61809319d6e2f9aba62499bbabbf6be3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3501fc606dc9955b03b8e0cde1c3ebc4b4ff1374fa88e53218b4a66d2c48028325e49709e722aea835dd8b21cb0f4224036a77366665c1e6a46131e5648a8f06
|
7
|
+
data.tar.gz: ba151aeb2da6ab8f5334067804cb7d64d23ab218878b944f2bbd099749b452d322c9695817b44296b9dfd6e2fe6bcca34bfd9f18c38fc87e38a1c43b05bc9f16
|
data/exe/luca-jp
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require 'optparse'
|
4
|
+
require 'luca/jp'
|
5
|
+
|
6
|
+
class LucaCmd
|
7
|
+
def self.syouhizei(args, params)
|
8
|
+
if params[:export]
|
9
|
+
Luca::Jp::Syouhizei.range(*args).export_json
|
10
|
+
else
|
11
|
+
puts Luca::Jp::Syouhizei.range(*args).kani
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.houjinzei(args, params)
|
16
|
+
if params[:export]
|
17
|
+
Luca::Jp::Aoiro.range(*args).export_json
|
18
|
+
else
|
19
|
+
puts Luca::Jp::Aoiro.range(*args).kani
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.chihouzei(args, params)
|
24
|
+
if params[:export]
|
25
|
+
Luca::Jp::Chihouzei.range(*args).export_json
|
26
|
+
else
|
27
|
+
puts Luca::Jp::Chihouzei.range(*args).kani
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
cmd = ARGV.shift
|
33
|
+
params = {}
|
34
|
+
|
35
|
+
case cmd
|
36
|
+
when /hou?jinzei/
|
37
|
+
OptionParser.new do |opt|
|
38
|
+
opt.banner = 'Usage: luca-jp houjinzei [options] yyyy mm yyyy mm'
|
39
|
+
opt.on('--export', 'export json') { |_v| params[:export] = true }
|
40
|
+
args = opt.parse!(ARGV)
|
41
|
+
LucaCmd.houjinzei(args, params)
|
42
|
+
end
|
43
|
+
when /s[yh]ou?hizei/
|
44
|
+
OptionParser.new do |opt|
|
45
|
+
opt.banner = 'Usage: luca-jp syouhizei [options] yyyy mm yyyy mm'
|
46
|
+
opt.on('--export', 'export json') { |_v| params[:export] = true }
|
47
|
+
args = opt.parse!(ARGV)
|
48
|
+
LucaCmd.syouhizei(args, params)
|
49
|
+
end
|
50
|
+
when /chihou?zei/
|
51
|
+
OptionParser.new do |opt|
|
52
|
+
opt.banner = 'Usage: luca-jp chihouzei [options] yyyy mm yyyy mm'
|
53
|
+
opt.on('--export', 'export json') { |_v| params[:export] = true }
|
54
|
+
args = opt.parse!(ARGV)
|
55
|
+
LucaCmd.chihouzei(args, params)
|
56
|
+
end
|
57
|
+
end
|
data/lib/luca/jp.rb
CHANGED
@@ -5,6 +5,10 @@ require 'luca/jp/version'
|
|
5
5
|
module Luca
|
6
6
|
module Jp
|
7
7
|
autoload :Kessan, 'luca/jp/kessan'
|
8
|
+
autoload :Aoiro, 'luca/jp/aoiro'
|
8
9
|
autoload :Syouhizei, 'luca/jp/syouhizei'
|
10
|
+
autoload :Chihouzei, 'luca/jp/chihouzei'
|
11
|
+
autoload :Common, 'luca/jp/common'
|
12
|
+
autoload :Util, 'luca/jp/util'
|
9
13
|
end
|
10
14
|
end
|
@@ -0,0 +1,409 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
require 'cgi/escape'
|
5
|
+
require 'luca_book'
|
6
|
+
require 'luca_support'
|
7
|
+
require 'luca_record/dict'
|
8
|
+
require 'luca_support/config'
|
9
|
+
require 'luca/jp'
|
10
|
+
|
11
|
+
module Luca
|
12
|
+
module Jp
|
13
|
+
class Aoiro < LucaBook::State
|
14
|
+
include LucaSupport::View
|
15
|
+
include LucaSupport::Code
|
16
|
+
include Luca::Jp::Common
|
17
|
+
include Luca::Jp::Util
|
18
|
+
|
19
|
+
@dirname = 'journals'
|
20
|
+
@record_type = 'raw'
|
21
|
+
|
22
|
+
def kani(export: false)
|
23
|
+
set_pl(4)
|
24
|
+
set_bs(4)
|
25
|
+
@issue_date = Date.today
|
26
|
+
@company = CGI.escapeHTML(LucaSupport::CONFIG.dig('company', 'name'))
|
27
|
+
@software = 'LucaJp'
|
28
|
+
@法人税中間納付 = prepaid_tax('1851')
|
29
|
+
@地方法人税中間納付 = prepaid_tax('1852')
|
30
|
+
@法人税額 = 中小企業の軽減税額 + 一般区分の税額
|
31
|
+
@確定法人税額 = (@法人税額 / 100).floor * 100
|
32
|
+
@地方法人税課税標準 = (@法人税額 / 1000).floor * 1000
|
33
|
+
@地方法人税額 = 地方法人税額(@地方法人税課税標準)
|
34
|
+
@確定地方法人税額 = (@地方法人税額 / 100).floor * 100
|
35
|
+
|
36
|
+
if export
|
37
|
+
{
|
38
|
+
kokuzei: {
|
39
|
+
zeigaku: @確定法人税額,
|
40
|
+
chukan: @法人税中間納付
|
41
|
+
},
|
42
|
+
chihou: {
|
43
|
+
zeigaku: @確定地方法人税額,
|
44
|
+
chukan: @地方法人税中間納付
|
45
|
+
}
|
46
|
+
}
|
47
|
+
else
|
48
|
+
@procedure_code = 'RHO0012'
|
49
|
+
@procedure_name = '内国法人の確定申告(青色)'
|
50
|
+
@version = '20.0.2'
|
51
|
+
@法人税期中増, @法人税期中減 = 未納法人税期中増減
|
52
|
+
@都道府県民税期中増, @都道府県民税期中減 = 未納都道府県民税期中増減
|
53
|
+
@市民税期中増, @市民税期中減 = 未納市民税期中増減
|
54
|
+
@事業税期中増, @事業税期中減 = 未納事業税期中増減
|
55
|
+
@納税充当金期中増, @納税充当金期中減 = 納税充当金期中増減
|
56
|
+
@概況売上 = gaikyo('A0')
|
57
|
+
@form_sec = ['HOA112', 'HOA116', 'HOA201', 'HOA420', 'HOA511', 'HOA522', 'HOE200', 'HOE990', 'HOI010', 'HOI100', 'HOI141', 'HOK010'].map{ |c| form_rdf(c) }.join('')
|
58
|
+
#@extra_form_sec = ['HOI040', 'HOI060', 'HOI090', 'HOI110']
|
59
|
+
@it = it_part
|
60
|
+
@form_data = [別表一, 別表一次葉, 別表二, 別表四簡易, 別表五一, 別表五二, 別表十五, 適用額明細, 預貯金内訳, 仮受金内訳, 役員報酬内訳, 概況説明].join("\n")
|
61
|
+
render_erb(search_template('aoiro.xtx.erb'))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def export_json
|
66
|
+
dat = kani(export: true)
|
67
|
+
[].tap do |res|
|
68
|
+
item = {}
|
69
|
+
item['date'] = @end_date
|
70
|
+
item['debit'] = []
|
71
|
+
item['credit'] = []
|
72
|
+
if dat[:kokuzei][:chukan] > 0
|
73
|
+
item['credit'] << { 'label' => '仮払法人税', 'amount' => dat[:kokuzei][:chukan] }
|
74
|
+
end
|
75
|
+
if dat[:kokuzei][:chukan] > dat[:kokuzei][:zeigaku]
|
76
|
+
item['debit'] << { 'label' => '未収法人税', 'amount' => dat[:kokuzei][:chukan] - dat[:kokuzei][:zeigaku] }
|
77
|
+
else
|
78
|
+
item['credit'] << { 'label' => '未払法人税', 'amount' => dat[:kokuzei][:zeigaku] - dat[:kokuzei][:chukan] }
|
79
|
+
end
|
80
|
+
item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:kokuzei][:zeigaku] }
|
81
|
+
if dat[:chihou][:chukan] > 0
|
82
|
+
item['credit'] << { 'label' => '仮払法人税(地方)', 'amount' => dat[:chihou][:chukan] }
|
83
|
+
end
|
84
|
+
if dat[:chihou][:chukan] > dat[:chihou][:zeigaku]
|
85
|
+
item['debit'] << { 'label' => '未収法人税', 'amount' => dat[:chihou][:chukan] - dat[:chihou][:zeigaku] }
|
86
|
+
else
|
87
|
+
item['credit'] << { 'label' => '未払法人税', 'amount' => dat[:chihou][:zeigaku] - dat[:chihou][:chukan] }
|
88
|
+
end
|
89
|
+
item['debit'] << { 'label' => '法人税、住民税及び事業税', 'amount' => dat[:chihou][:zeigaku] }
|
90
|
+
item['x-editor'] = 'LucaJp'
|
91
|
+
res << item
|
92
|
+
puts JSON.dump(res)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def 別表一
|
97
|
+
render_erb(search_template('beppyo1.xml.erb'))
|
98
|
+
end
|
99
|
+
|
100
|
+
def 別表一次葉
|
101
|
+
@消費税期中増, @消費税期中減 = 未納消費税期中増減
|
102
|
+
render_erb(search_template('beppyo1-next.xml.erb'))
|
103
|
+
end
|
104
|
+
|
105
|
+
def 別表二
|
106
|
+
render_erb(search_template('beppyo2.xml.erb'))
|
107
|
+
end
|
108
|
+
|
109
|
+
def 別表四簡易
|
110
|
+
@当期純損益 = readable(@pl_data.dig('HA'))
|
111
|
+
@法人税等 = readable(@pl_data.dig('H0'))
|
112
|
+
_, @納付事業税 = 未納事業税期中増減
|
113
|
+
@還付事業税 = readable(還付事業税 || 0)
|
114
|
+
@別表四調整所得 = @当期純損益 + @法人税等 + @還付事業税 - @納付事業税
|
115
|
+
|
116
|
+
render_erb(search_template('beppyo4.xml.erb'))
|
117
|
+
end
|
118
|
+
|
119
|
+
def 別表五一
|
120
|
+
render_erb(search_template('beppyo51.xml.erb'))
|
121
|
+
end
|
122
|
+
|
123
|
+
def 別表五二
|
124
|
+
@その他事業税 = 租税公課
|
125
|
+
render_erb(search_template('beppyo52.xml.erb'))
|
126
|
+
end
|
127
|
+
|
128
|
+
def 別表十五
|
129
|
+
@交際費 = readable(@pl_data.dig('C1B') || 0)
|
130
|
+
@限度額 = @交際費 < 4_000_000 ? @交際費 : 4_000_000
|
131
|
+
@不算入額 = @交際費 < 4_000_000 ? 0 : @交際費 - 4_000_000
|
132
|
+
render_erb(search_template('beppyo15.xml.erb'))
|
133
|
+
end
|
134
|
+
|
135
|
+
def 預貯金内訳
|
136
|
+
@預金 = @bs_data.each.with_object({}) do |(k, v), h|
|
137
|
+
next unless /^110[0-9A-Z]/.match(k)
|
138
|
+
next unless readable(v || 0) > 0
|
139
|
+
|
140
|
+
h[@dict.dig(k)[:label]] = readable(v)
|
141
|
+
end
|
142
|
+
render_erb(search_template('yokin-meisai.xml.erb'))
|
143
|
+
end
|
144
|
+
|
145
|
+
def 仮受金内訳
|
146
|
+
@源泉給与 = readable(@bs_data.dig('5191') || 0)
|
147
|
+
@源泉報酬 = readable(@bs_data.dig('5193') || 0)
|
148
|
+
render_erb(search_template('kariuke-meisai.xml.erb'))
|
149
|
+
end
|
150
|
+
|
151
|
+
def 役員報酬内訳
|
152
|
+
@役員報酬 = readable(@pl_data.dig('C11') || 0)
|
153
|
+
@給料 = readable(@pl_data.dig('C12') || 0)
|
154
|
+
render_erb(search_template('yakuin-meisai.xml.erb'))
|
155
|
+
end
|
156
|
+
|
157
|
+
def 適用額明細
|
158
|
+
render_erb(search_template('tekiyougaku.xml.erb'))
|
159
|
+
end
|
160
|
+
|
161
|
+
def 概況説明
|
162
|
+
@概況粗利益 = gaikyo('BA')
|
163
|
+
@概況役員報酬 = gaikyo('C11')
|
164
|
+
@概況給料 = gaikyo('C12')
|
165
|
+
@概況交際費 = gaikyo('C1B')
|
166
|
+
@概況減価償却 = gaikyo('C1P')
|
167
|
+
@概況地代租税 = gaikyo('C1E') + gaikyo('C1I')
|
168
|
+
@概況営業損益 = gaikyo('CA')
|
169
|
+
@概況特別利益 = gaikyo('F0')
|
170
|
+
@概況特別損失 = gaikyo('G0')
|
171
|
+
@概況税引前損益 = gaikyo('GA')
|
172
|
+
@概況資産計 = gaikyo('5')
|
173
|
+
@概況現預金 = gaikyo('10')
|
174
|
+
@概況受取手形 = gaikyo('120')
|
175
|
+
@概況売掛金 = gaikyo('130')
|
176
|
+
@概況棚卸資産 = gaikyo('160')
|
177
|
+
@概況貸付金 = gaikyo('140') + gaikyo('333')
|
178
|
+
@概況建物 = gaikyo('311')
|
179
|
+
@概況機械 = gaikyo('313')
|
180
|
+
@概況車船 = gaikyo('314') + gaikyo('318')
|
181
|
+
@概況土地 = gaikyo('316')
|
182
|
+
@概況負債計 = gaikyo('8ZZ')
|
183
|
+
@概況支払手形 = gaikyo('510')
|
184
|
+
@概況買掛金 = gaikyo('511')
|
185
|
+
@概況個人借入金 = gaikyo('5121')
|
186
|
+
@概況ほか借入金 = gaikyo('512') - gaikyo('5121')
|
187
|
+
@概況純資産 = gaikyo('9ZZ')
|
188
|
+
@代表者報酬 = gaikyo('C11')
|
189
|
+
@代表者借入 = gaikyo('5121')
|
190
|
+
@概況仕入 = gaikyo('B11') + gaikyo('B12')
|
191
|
+
@概況外注費 = gaikyo('C10')
|
192
|
+
@概況人件費 = gaikyo('C11') + gaikyo('C12') + gaikyo('C13')
|
193
|
+
render_erb(search_template('gaikyo.xml.erb'))
|
194
|
+
end
|
195
|
+
|
196
|
+
private
|
197
|
+
|
198
|
+
def 期首未納事業税
|
199
|
+
readable(@start_balance.dig('5152')) || 0
|
200
|
+
end
|
201
|
+
|
202
|
+
def 期末未納事業税
|
203
|
+
readable(@bs_data.dig('5152')) || 0
|
204
|
+
end
|
205
|
+
|
206
|
+
def 当期事業税納付
|
207
|
+
readable(@pl_data.dig('C1I2')) || 0
|
208
|
+
end
|
209
|
+
|
210
|
+
def 租税公課
|
211
|
+
readable(LucaBook::State.gross(@start_date.year, @start_date.month, @end_date.year, @end_date.month, code: 'C1I')[:debit]) || 0
|
212
|
+
end
|
213
|
+
|
214
|
+
def 別表四還付事業税
|
215
|
+
return nil if @還付事業税 == 0
|
216
|
+
|
217
|
+
"<ARC00220><ARC00230>仮払事業税消却(未収計上した還付事業税)</ARC00230>#{render_attr('ARC00240', @還付事業税)}#{render_attr('ARC00250', @還付事業税)}</ARC00220>\n"
|
218
|
+
end
|
219
|
+
|
220
|
+
def 期首繰越損益
|
221
|
+
readable(@start_balance.dig('914')) || 0
|
222
|
+
end
|
223
|
+
|
224
|
+
def 期末繰越損益
|
225
|
+
readable(@bs_data.dig('914')) || 0
|
226
|
+
end
|
227
|
+
|
228
|
+
def 期首納税充当金
|
229
|
+
readable(@start_balance.dig('515')) || 0
|
230
|
+
end
|
231
|
+
|
232
|
+
def 期末納税充当金
|
233
|
+
readable(@bs_data.dig('515')) || 0
|
234
|
+
end
|
235
|
+
|
236
|
+
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
|
+
]
|
242
|
+
end
|
243
|
+
|
244
|
+
def 期首未納法人税
|
245
|
+
readable(@start_balance.dig('5151')) || 0
|
246
|
+
end
|
247
|
+
|
248
|
+
def 期末未納法人税
|
249
|
+
readable(@bs_data.dig('5151')) || 0
|
250
|
+
end
|
251
|
+
|
252
|
+
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)]
|
255
|
+
end
|
256
|
+
|
257
|
+
def 期首未納都道府県民税
|
258
|
+
readable(@start_balance.dig('5153')) || 0
|
259
|
+
end
|
260
|
+
|
261
|
+
def 期末未納都道府県民税
|
262
|
+
readable(@bs_data.dig('5153')) || 0
|
263
|
+
end
|
264
|
+
|
265
|
+
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)]
|
268
|
+
end
|
269
|
+
|
270
|
+
def 期首未納市民税
|
271
|
+
readable(@start_balance.dig('5154')) || 0
|
272
|
+
end
|
273
|
+
|
274
|
+
def 期末未納市民税
|
275
|
+
readable(@bs_data.dig('5154')) || 0
|
276
|
+
end
|
277
|
+
|
278
|
+
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)]
|
281
|
+
end
|
282
|
+
|
283
|
+
def 別表五一期首差引金額
|
284
|
+
期首繰越損益 + 期首納税充当金 - 期首未納法人税 - 期首未納都道府県民税 - 期首未納市民税
|
285
|
+
end
|
286
|
+
|
287
|
+
def 別表五一期末差引金額
|
288
|
+
期末繰越損益 + 期末納税充当金 - 期末未納法人税 - 期末未納都道府県民税 - 期末未納市民税
|
289
|
+
end
|
290
|
+
|
291
|
+
def 別表五一期中減差引金額
|
292
|
+
期首繰越損益 + @納税充当金期中減 - @法人税期中減 - @都道府県民税期中減 - @市民税期中減
|
293
|
+
end
|
294
|
+
|
295
|
+
def 別表五一期中増差引金額
|
296
|
+
期末繰越損益 + @納税充当金期中増 - @法人税期中増 - @都道府県民税期中増 - @市民税期中増
|
297
|
+
end
|
298
|
+
|
299
|
+
def 期首資本金
|
300
|
+
readable(@start_balance.dig('911')) || 0
|
301
|
+
end
|
302
|
+
|
303
|
+
def 期末資本金
|
304
|
+
readable(@bs_data.dig('911')) || 0
|
305
|
+
end
|
306
|
+
|
307
|
+
def 別表五一期首資本
|
308
|
+
期首資本金
|
309
|
+
end
|
310
|
+
|
311
|
+
def 別表五一期末資本
|
312
|
+
期末資本金
|
313
|
+
end
|
314
|
+
|
315
|
+
def 期首未納消費税
|
316
|
+
readable(@start_balance.dig('516')) || 0
|
317
|
+
end
|
318
|
+
|
319
|
+
def 期末未納消費税
|
320
|
+
readable(@bs_data.dig('516')) || 0
|
321
|
+
end
|
322
|
+
|
323
|
+
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
|
356
|
+
end
|
357
|
+
|
358
|
+
def 概況月(idx)
|
359
|
+
@start_date.next_month(idx).month
|
360
|
+
end
|
361
|
+
|
362
|
+
def 概況月売上(idx)
|
363
|
+
gaikyo_month(idx, 'A0')
|
364
|
+
end
|
365
|
+
|
366
|
+
def 概況月仕入(idx)
|
367
|
+
gaikyo_month(idx, 'B11') + gaikyo_month(idx, 'B12')
|
368
|
+
end
|
369
|
+
|
370
|
+
def 概況月人件費(idx)
|
371
|
+
gaikyo_month(idx, 'C11') + gaikyo_month(idx, 'C12') + gaikyo_month(idx, 'C13') + gaikyo_month(idx, 'C14')
|
372
|
+
end
|
373
|
+
|
374
|
+
def 概況月外注費(idx)
|
375
|
+
gaikyo_month(idx, 'C10')
|
376
|
+
end
|
377
|
+
|
378
|
+
def 概況月源泉徴収(idx)
|
379
|
+
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)
|
382
|
+
end
|
383
|
+
|
384
|
+
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)
|
387
|
+
end
|
388
|
+
|
389
|
+
def gaikyo(code)
|
390
|
+
case code
|
391
|
+
when /^[0-9]/
|
392
|
+
readable(@bs_data.dig(code) || 0)
|
393
|
+
when /^[A-H]/
|
394
|
+
readable(@pl_data.dig(code) || 0)
|
395
|
+
else
|
396
|
+
raise 'invalid code supplied'
|
397
|
+
end
|
398
|
+
end
|
399
|
+
|
400
|
+
def gaikyo_month(index, code)
|
401
|
+
readable(@monthly.dig(index, code) || 0)
|
402
|
+
end
|
403
|
+
|
404
|
+
def lib_path
|
405
|
+
__dir__
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|