luca-jp 0.19.0 → 0.20.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.
- checksums.yaml +4 -4
- data/exe/luca-jp +16 -7
- data/lib/luca/jp/aoiro.rb +40 -10
- data/lib/luca/jp/chihouzei.rb +10 -5
- data/lib/luca/jp/common.rb +1 -1
- data/lib/luca/jp/sonshitsu.rb +9 -5
- data/lib/luca/jp/syouhizei.rb +3 -1
- data/lib/luca/jp/templates/beppyo1.xml.erb +1 -0
- data/lib/luca/jp/templates/beppyo4.xml.erb +10 -3
- data/lib/luca/jp/templates/chidai-meisai.xml.erb +17 -12
- data/lib/luca/jp/templates/el-no6.xml.erb +17 -10
- data/lib/luca/jp/templates/gaikyo.xml.erb +11 -4
- data/lib/luca/jp/templates/kaikake-meisai.xml.erb +6 -1
- data/lib/luca/jp/templates/kariuke-meisai.xml.erb +1 -1
- data/lib/luca/jp/templates/yakuin-meisai.xml.erb +3 -0
- data/lib/luca/jp/uchiwake.rb +6 -1
- data/lib/luca/jp/urikake.rb +15 -5
- data/lib/luca/jp/util.rb +2 -0
- data/lib/luca/jp/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba1a44cc2c4fb3c68846033a3f74f4791a298a9d0c4efcd0786d9cebc75954ce
|
4
|
+
data.tar.gz: 30ab64d9b5a8a733848ca07968f545958e8f28584ad68425763b0e7e13e8250e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47ced553bf51ef56c53875947c421ca42ff76d28aa29a8f1239c7b88908dcaf9a0d8e61491b69ec2e62e249d7d34e5c2329e158a4b086a359565f295217eec3c
|
7
|
+
data.tar.gz: 217197462328275f4ccf4a59ec706d5515196036b1eb3f0950bd701a0017d24ba0a79f695170e11e7ca463c6aa23ef9c00aed5e570e92ed8279da2584b79f5d1
|
data/exe/luca-jp
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'luca/jp'
|
6
|
-
require 'luca_salary/jp_payreport'
|
7
6
|
require 'luca_cmd'
|
7
|
+
require 'luca_salary/jp_payreport'
|
8
8
|
require 'luca_support/const'
|
9
9
|
require 'yaml'
|
10
10
|
|
@@ -24,7 +24,7 @@ class LucaCmd
|
|
24
24
|
if params[:export]
|
25
25
|
puts Luca::Jp::Aoiro.range(*auto_range(args, params)).export_json(ext_config: ext_config)
|
26
26
|
else
|
27
|
-
puts Luca::Jp::Aoiro.range(*auto_range(args, params)).kani(ext_config: ext_config, no_xbrl: params[:noxbrl])
|
27
|
+
puts Luca::Jp::Aoiro.range(*auto_range(args, params)).kani(ext_config: ext_config, no_xbrl: params[:noxbrl], kessanbi: params[:kessanbi])
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -37,7 +37,9 @@ class LucaCmd
|
|
37
37
|
puts JSON.dump(accounts)
|
38
38
|
else
|
39
39
|
Luca::Jp::Util.eltax_config('reports').each do |report|
|
40
|
-
File.open("chihouzei-#{report['jichitai_code']}#{report['jimusho_code']}.xml", 'w')
|
40
|
+
File.open("chihouzei-#{report['jichitai_code']}#{report['jimusho_code']}.xml", 'w') do |f|
|
41
|
+
f.puts(Luca::Jp::Chihouzei.range(*auto_range(args, params)).kani(report, ext_config: ext_config, kessanbi: params[:kessanbi]))
|
42
|
+
end
|
41
43
|
end
|
42
44
|
end
|
43
45
|
end
|
@@ -56,9 +58,14 @@ class LucaCmd
|
|
56
58
|
r = LucaBook::Util.current_fy(date, to: date)
|
57
59
|
[r[0].year, r[0].month, r[1].year, r[1].month]
|
58
60
|
when 0
|
59
|
-
|
60
|
-
|
61
|
-
|
61
|
+
if params[:kessanbi]
|
62
|
+
r = LucaBook::Util.previous_fy(params[:kessanbi])
|
63
|
+
[r[0].year, r[0].month, r[1].year, r[1].month]
|
64
|
+
else
|
65
|
+
date = params[:lastyear] ? Date.today.prev_year : Date.today
|
66
|
+
r = LucaBook::Util.current_fy(date)
|
67
|
+
[r[0].year, r[0].month, r[1].year, r[1].month]
|
68
|
+
end
|
62
69
|
end
|
63
70
|
end
|
64
71
|
end
|
@@ -81,6 +88,7 @@ when 'h', /hou?jinzei/
|
|
81
88
|
opt.banner = 'Usage: luca-jp h|houjinzei [options] [yyyy mm yyyy mm]'
|
82
89
|
opt.on('-x VAL', 'extra config') { |v| params[:extra] = v }
|
83
90
|
opt.on('--export', 'export json') { |_v| params[:export] = true }
|
91
|
+
opt.on('--kessan VAL', 'settlement date') { |v| params[:kessanbi] = Date.parse(v) }
|
84
92
|
opt.on('--lastyear', 'report on last Financial year') { |_v| params[:lastyear] = true }
|
85
93
|
opt.on('--no-xbrl', 'skip XBRL statement') { |_v| params[:noxbrl] = true }
|
86
94
|
args = opt.parse!(ARGV)
|
@@ -103,6 +111,7 @@ when 'c', /chihou?zei/
|
|
103
111
|
opt.banner = 'Usage: luca-jp c|chihouzei [options] [yyyy mm yyyy mm]'
|
104
112
|
opt.on('-x VAL', 'extra config') { |v| params[:extra] = v }
|
105
113
|
opt.on('--export', 'export json') { |_v| params[:export] = true }
|
114
|
+
opt.on('--kessan VAL', 'settlement date') { |v| params[:kessanbi] = Date.parse(v) }
|
106
115
|
opt.on('--lastyear', 'report on last Financial year') { |_v| params[:lastyear] = true }
|
107
116
|
args = opt.parse!(ARGV)
|
108
117
|
LucaCmd.check_dir('journals', ext_conf: EXT_CONF) do
|
@@ -112,7 +121,7 @@ when 'c', /chihou?zei/
|
|
112
121
|
when /urikake/
|
113
122
|
OptionParser.new do |opt|
|
114
123
|
opt.banner = 'Usage: luca-jp urikake [options] yyyy mm'
|
115
|
-
opt.on('--utf8', 'UTF-8でファイル生成') { |_v| params[:encode] = 'UTF-8' }
|
124
|
+
opt.on('--utf8', '確認用にUTF-8でファイル生成') { |_v| params[:encode] = 'UTF-8' }
|
116
125
|
args = opt.parse!(ARGV)
|
117
126
|
LucaCmd.check_dir('invoices', ext_conf: EXT_CONF) do
|
118
127
|
LucaCmd.urikake(args, params)
|
data/lib/luca/jp/aoiro.rb
CHANGED
@@ -20,10 +20,11 @@ module Luca
|
|
20
20
|
@dirname = 'journals'
|
21
21
|
@record_type = 'raw'
|
22
22
|
|
23
|
-
def kani(ext_config: nil, export: false, no_xbrl: false)
|
23
|
+
def kani(ext_config: nil, export: false, no_xbrl: false, kessanbi: nil)
|
24
24
|
set_pl(4)
|
25
25
|
set_bs(4)
|
26
26
|
@issue_date = Date.today
|
27
|
+
@kessanbi = kessanbi
|
27
28
|
@company = CGI.escapeHTML(config.dig('company', 'name'))
|
28
29
|
@software = 'LucaJp'
|
29
30
|
@shinkoku_kbn = '30' # 確定申告
|
@@ -50,6 +51,7 @@ module Luca
|
|
50
51
|
@法人税未払 = [@差引所得に対する法人税額 - @法人税中間納付, 0].max
|
51
52
|
|
52
53
|
if export
|
54
|
+
@繰越損失管理.save unless @繰越損失管理.nil?
|
53
55
|
{
|
54
56
|
kokuzei: {
|
55
57
|
zeigaku: @確定法人税額,
|
@@ -161,7 +163,7 @@ module Luca
|
|
161
163
|
end
|
162
164
|
|
163
165
|
def 別表一
|
164
|
-
STDERR.puts "別表一:
|
166
|
+
STDERR.puts "別表一: 「決算確定の日」などの追記、または --kessan オプション指定が必要" if @kessanbi.nil?
|
165
167
|
render_erb(search_template('beppyo1.xml.erb'))
|
166
168
|
end
|
167
169
|
|
@@ -354,7 +356,8 @@ module Luca
|
|
354
356
|
@概況給料 = gaikyo('C12')
|
355
357
|
@概況交際費 = gaikyo('C1B')
|
356
358
|
@概況減価償却 = gaikyo('C1P')
|
357
|
-
|
359
|
+
chidai_accounts = @form_vers['HOK010'] >= '6.0' ? ['C1E'] : ['C1E', 'C1I']
|
360
|
+
@概況地代租税 = chidai_accounts.map { |k| gaikyo(k) }.compact.sum
|
358
361
|
@概況営業損益 = gaikyo('CA')
|
359
362
|
@概況特別利益 = gaikyo('F0')
|
360
363
|
@概況特別損失 = gaikyo('G0')
|
@@ -394,7 +397,10 @@ module Luca
|
|
394
397
|
end
|
395
398
|
|
396
399
|
def 決算書
|
397
|
-
|
400
|
+
if @no_xbrl
|
401
|
+
STDERR.puts "決算書XBRLをeTaxソフトに追加インポートする必要あり"
|
402
|
+
return nil
|
403
|
+
end
|
398
404
|
|
399
405
|
@xbrl_filename = %Q(statement-#{@issue_date.to_s})
|
400
406
|
@xbrl, @xsd = LucaBook::State.range(@start_date.year, @start_date.month, @end_date.year, @end_date.month)
|
@@ -544,8 +550,15 @@ module Luca
|
|
544
550
|
@当期純損益 + @損金不算入額留保 - @益金不算入額留保
|
545
551
|
end
|
546
552
|
|
553
|
+
# NOTE: 別表四社外流出欄の本書と外書の区分は紙の事務を前提としており自明ではない。
|
554
|
+
# 帳票フィールド仕様書を参照して実装するほかない
|
555
|
+
#
|
547
556
|
def 別表四調整所得仮計社外流出
|
548
|
-
|
557
|
+
@損金不算入額社外流出
|
558
|
+
end
|
559
|
+
|
560
|
+
def 別表四調整所得仮計社外流出外書
|
561
|
+
@益金不算入額社外流出 * -1
|
549
562
|
end
|
550
563
|
|
551
564
|
# 損金経理した税額控除対象額の調整
|
@@ -569,6 +582,10 @@ module Luca
|
|
569
582
|
].compact.sum
|
570
583
|
end
|
571
584
|
|
585
|
+
def 別表四調整所得合計社外流出外書
|
586
|
+
別表四調整所得仮計社外流出外書
|
587
|
+
end
|
588
|
+
|
572
589
|
def 別表四還付法人税等金額
|
573
590
|
refund_tax()
|
574
591
|
end
|
@@ -951,14 +968,27 @@ module Luca
|
|
951
968
|
end
|
952
969
|
|
953
970
|
def proc_version
|
954
|
-
|
955
|
-
|
971
|
+
init_version = {
|
972
|
+
'HOA201' => '4.0',
|
973
|
+
'HOA511' => '13.0',
|
974
|
+
'HOB710' => '11.0',
|
975
|
+
'HOE200' => '13.0',
|
976
|
+
'HOE990' => '5.0',
|
977
|
+
'HOI090' => '4.0',
|
978
|
+
'HOI100' => '5.0',
|
979
|
+
'HOI150' => '3.0',
|
980
|
+
'HOI160' => '3.0',
|
981
|
+
}
|
982
|
+
if @end_date >= Date.parse('2024-4-1')
|
983
|
+
{ 'proc' => '24.0.2', 'HOA112' => '6.0', 'HOA116' => '4.0', 'HOA201' => '5.0', 'HOA420' => '23.0', 'HOA511' => '15.0', 'HOA522' => '9.0', 'HOB710' => '13.0', 'HOE200' => '14.0', 'HOE990' => '7.0', 'HOI090' => '5.0', 'HOI100' => '6.0', 'HOI150' => '4.0', 'HOI160' => '4.0', 'HOK010' => '7.0' }
|
984
|
+
elsif @end_date >= Date.parse('2023-4-1')
|
985
|
+
init_version.merge({ 'proc' => '23.0.2', 'HOA112' => '5.0', 'HOA116' => '4.0', 'HOA201' => '5.0', 'HOA420' => '22.0', 'HOA511' => '14.0', 'HOA522' => '9.0', 'HOB710' => '13.0', 'HOE200' => '14.0', 'HOE990' => '7.0', 'HOK010' => '6.0' })
|
956
986
|
elsif @end_date >= Date.parse('2022-4-1')
|
957
|
-
{ 'proc' => '22.0.3', 'HOA112' => '4.0', 'HOA116' => '3.0', '
|
987
|
+
init_version.merge({ 'proc' => '22.0.3', 'HOA112' => '4.0', 'HOA116' => '3.0', 'HOA420' => '21.0', 'HOA511' => '14.0', 'HOA522' => '8.0', 'HOB710' => '12.0', 'HOE200' => '14.0', 'HOE990' => '6.1', 'HOK010' => '6.0' })
|
958
988
|
elsif @end_date >= Date.parse('2021-4-1')
|
959
|
-
{ 'proc' => '21.0.2', 'HOA112' => '3.1', 'HOA116' => '2.0', '
|
989
|
+
init_version.merge({ 'proc' => '21.0.2', 'HOA112' => '3.1', 'HOA116' => '2.0', 'HOA420' => '20.0', 'HOA522' => '7.0', 'HOK010' => '6.0' })
|
960
990
|
else
|
961
|
-
{ 'proc' => '20.0.2', 'HOA112' => '2.0', 'HOA116' => '1.0', '
|
991
|
+
init_version.merge({ 'proc' => '20.0.2', 'HOA112' => '2.0', 'HOA116' => '1.0', 'HOA420' => '19.0', 'HOA522' => '6.0', 'HOK010' => '5.0' })
|
962
992
|
end
|
963
993
|
end
|
964
994
|
|
data/lib/luca/jp/chihouzei.rb
CHANGED
@@ -17,10 +17,11 @@ module Luca
|
|
17
17
|
@dirname = 'journals'
|
18
18
|
@record_type = 'raw'
|
19
19
|
|
20
|
-
def kani(report_cfg, export: false, ext_config: nil)
|
20
|
+
def kani(report_cfg, export: false, ext_config: nil, kessanbi: nil)
|
21
21
|
set_pl(4)
|
22
22
|
set_bs(4)
|
23
23
|
@issue_date = Date.today
|
24
|
+
@kessanbi = kessanbi
|
24
25
|
@software = 'LucaJp'
|
25
26
|
@jimusho_name = report_cfg['jimusho_name']
|
26
27
|
@report_category = report_cfg['type']
|
@@ -147,7 +148,7 @@ module Luca
|
|
147
148
|
|
148
149
|
def 第六号
|
149
150
|
@資本金準備金 = readable(['911', '9131'].map { |cd| @bs_data.dig(cd) }.compact.sum)
|
150
|
-
STDERR.puts "第六号様式:
|
151
|
+
STDERR.puts "第六号様式: #{ %q(「決算確定の日」などの追記、または --kessan オプション指定が必要。) if @kessanbi.nil? }「国外関連者」の確認が必要"
|
151
152
|
render_erb(search_template('el-no6.xml.erb'))
|
152
153
|
end
|
153
154
|
|
@@ -199,8 +200,8 @@ module Luca
|
|
199
200
|
next if deduction == 0 && record['amount'] == 0
|
200
201
|
|
201
202
|
%Q(<AMB00200>
|
202
|
-
|
203
|
-
|
203
|
+
<AMB00210>#{etax_date(record['start_date'])}</AMB00210>
|
204
|
+
<AMB00220>#{etax_date(record['end_date'])}</AMB00220>
|
204
205
|
<AMB00225>1</AMB00225>
|
205
206
|
#{render_attr('AMB00230', deduction + record['amount'])}
|
206
207
|
#{render_attr('AMB00240', deduction)}
|
@@ -268,7 +269,11 @@ module Luca
|
|
268
269
|
end
|
269
270
|
|
270
271
|
def proc_version
|
271
|
-
if @
|
272
|
+
if @start_date >= Date.parse('2025-4-1')
|
273
|
+
{ 'R0102AA' => '250', 'R0102AG' => '211', 'R0102AM' => '240' }
|
274
|
+
elsif @end_date >= Date.parse('2024-4-1')
|
275
|
+
{ 'R0102AA' => '240', 'R0102AG' => '211', 'R0102AM' => '240' }
|
276
|
+
elsif @end_date >= Date.parse('2022-4-1')
|
272
277
|
{ 'R0102AA' => '211', 'R0102AG' => '211', 'R0102AM' => '211' }
|
273
278
|
elsif @start_date >= Date.parse('2020-4-1')
|
274
279
|
{ 'R0102AA' => '200', 'R0102AG' => '120','R0102AM' => '200' }
|
data/lib/luca/jp/common.rb
CHANGED
data/lib/luca/jp/sonshitsu.rb
CHANGED
@@ -31,9 +31,9 @@ module Luca
|
|
31
31
|
# - start_date: 2020-01-01
|
32
32
|
# end_date: 2020-12-31
|
33
33
|
# increase: 1000000
|
34
|
-
#
|
35
|
-
#
|
36
|
-
#
|
34
|
+
# decrease:
|
35
|
+
# - date: 2021-12-31
|
36
|
+
# val: 800000
|
37
37
|
#
|
38
38
|
def self.load(this_year)
|
39
39
|
records = if File.exist?(record_file)
|
@@ -47,6 +47,10 @@ module Luca
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def save
|
50
|
+
@records.each do |record|
|
51
|
+
record.delete('amount')
|
52
|
+
record.delete('decrease') if record['decrease'].nil? || record['decrease'].empty?
|
53
|
+
end
|
50
54
|
File.open(self.class.record_file, 'w') { |f| f.puts YAML.dump(@records)}
|
51
55
|
self
|
52
56
|
end
|
@@ -83,14 +87,14 @@ module Luca
|
|
83
87
|
def net_amount
|
84
88
|
@records.each do |record|
|
85
89
|
record['amount'] = record['increase'] - past_decreased(record['decrease'])
|
86
|
-
record['decrease'] = record['decrease']&.reject { |decrease_record| decrease_record['date']
|
90
|
+
record['decrease'] = record['decrease']&.reject { |decrease_record| decrease_record['date'] >= @report_date }
|
87
91
|
end
|
88
92
|
end
|
89
93
|
|
90
94
|
def past_decreased(decrease_records)
|
91
95
|
return 0 if decrease_records.nil?
|
92
96
|
|
93
|
-
decrease_records.filter { |record| record['date']
|
97
|
+
decrease_records.filter { |record| record['date'] < @report_date }
|
94
98
|
.map { |record| record['val'] }.sum || 0
|
95
99
|
end
|
96
100
|
|
data/lib/luca/jp/syouhizei.rb
CHANGED
@@ -169,7 +169,9 @@ module Luca
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def proc_version
|
172
|
-
if @end_date >= Date.parse('
|
172
|
+
if @end_date >= Date.parse('2024-4-1')
|
173
|
+
{ 'proc' => '23.2.0', 'SHA020' => '9.0' }
|
174
|
+
elsif @end_date >= Date.parse('2023-10-1')
|
173
175
|
{ 'proc' => '23.0.0', 'SHA020' => '9.0' }
|
174
176
|
elsif @end_date >= Date.parse('2021-4-1')
|
175
177
|
{ 'proc' => '20.0.1', 'SHA020' => '7.1' }
|
@@ -96,7 +96,7 @@
|
|
96
96
|
<%= render_attr('ARD00290', @益金不算入額) %>
|
97
97
|
<%= render_attr('ARD00300', @益金不算入額留保) %>
|
98
98
|
<ARD00310>
|
99
|
-
<%= render_attr('
|
99
|
+
<%= render_attr('ARD00320', @益金不算入額社外流出) %>
|
100
100
|
</ARD00310>
|
101
101
|
</ARD00280>
|
102
102
|
</ARD00000>
|
@@ -104,6 +104,7 @@
|
|
104
104
|
<%= render_attr('ARE00010', 別表四調整所得仮計) %>
|
105
105
|
<%= render_attr('ARE00020', 別表四調整所得仮計留保) %>
|
106
106
|
<ARE00030>
|
107
|
+
<%= render_attr('ARE00040', 別表四調整所得仮計社外流出外書) %>
|
107
108
|
<%= render_attr('ARE00050', 別表四調整所得仮計社外流出) %>
|
108
109
|
</ARE00030>
|
109
110
|
</ARE00000>
|
@@ -111,6 +112,7 @@
|
|
111
112
|
<%= render_attr('ARZ10010', 別表四調整所得仮計) %>
|
112
113
|
<%= render_attr('ARZ10020', 別表四調整所得仮計留保) %>
|
113
114
|
<ARZ10030>
|
115
|
+
<%= render_attr('ARZ10040', 別表四調整所得仮計社外流出外書) %>
|
114
116
|
<%= render_attr('ARZ10050', 別表四調整所得仮計社外流出) %>
|
115
117
|
</ARZ10030>
|
116
118
|
</ARZ10000>
|
@@ -129,6 +131,7 @@
|
|
129
131
|
<%= render_attr('ARK00010', 別表四調整所得合計) %>
|
130
132
|
<%= render_attr('ARK00020', 別表四調整所得合計留保) %>
|
131
133
|
<ARK00030>
|
134
|
+
<%= render_attr('ARK00040', 別表四調整所得合計社外流出外書) %>
|
132
135
|
<%= render_attr('ARK00050', 別表四調整所得合計社外流出) %>
|
133
136
|
</ARK00030>
|
134
137
|
</ARK00000>
|
@@ -136,7 +139,8 @@
|
|
136
139
|
<%= render_attr('ARM00010', 別表四調整所得合計 - @繰越損失管理.deduction) %>
|
137
140
|
<%= render_attr('ARM00020', 別表四調整所得合計留保) %>
|
138
141
|
<ARM00030>
|
139
|
-
<%= render_attr('
|
142
|
+
<%= render_attr('ARM00040', 別表四調整所得合計社外流出外書 - @繰越損失管理.deduction) %>
|
143
|
+
<%= render_attr('ARM00050', 別表四調整所得合計社外流出) %>
|
140
144
|
</ARM00030>
|
141
145
|
</ARM00000>
|
142
146
|
<%# ARN10010 中間申告における繰戻しによる還付に係る災害損失欠損金額の益金算入額 %>
|
@@ -145,6 +149,7 @@
|
|
145
149
|
<%= render_attr('ARS00010', @別表四調整所得) %>
|
146
150
|
<%= render_attr('ARS00020', 別表四調整所得合計留保) %>
|
147
151
|
<ARS00030>
|
152
|
+
<%= render_attr('ARS00040', 別表四調整所得合計社外流出外書) %>
|
148
153
|
<%= render_attr('ARS00050', 別表四調整所得合計社外流出) %>
|
149
154
|
</ARS00030>
|
150
155
|
</ARS00000>
|
@@ -154,6 +159,7 @@
|
|
154
159
|
<%= render_attr('ARS50010', @別表四調整所得) %>
|
155
160
|
<%= render_attr('ARS50020', 別表四調整所得合計留保) %>
|
156
161
|
<ARS50030>
|
162
|
+
<%= render_attr('ARS50040', 別表四調整所得合計社外流出外書) %>
|
157
163
|
<%= render_attr('ARS50050', 別表四調整所得合計社外流出) %>
|
158
164
|
</ARS50030>
|
159
165
|
</ARS50000>
|
@@ -167,7 +173,8 @@
|
|
167
173
|
<%= render_attr('ARV00010', @別表四調整所得 - @繰越損失管理.deduction) %>
|
168
174
|
<%= render_attr('ARV00020', 別表四調整所得合計留保) %>
|
169
175
|
<ARV00030>
|
170
|
-
<%= render_attr('
|
176
|
+
<%= render_attr('ARV00040', 別表四調整所得合計社外流出外書 - @繰越損失管理.deduction) %>
|
177
|
+
<%= render_attr('ARV00050', 別表四調整所得合計社外流出) %>
|
171
178
|
</ARV00030>
|
172
179
|
</ARV00000>
|
173
180
|
</HOA420>
|
@@ -1,15 +1,20 @@
|
|
1
|
-
<HOI150 page="1" VR="
|
1
|
+
<HOI150 page="1" VR="<%= @form_vers['HOI150'] %>" id="HOI150" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
|
2
2
|
<HOB00000>
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
3
|
+
<% @地代家賃.values.each do |rent| %>
|
4
|
+
<HOB10000>
|
5
|
+
<%= render_attr('HOB11000', rent[:rent_type]) %>
|
6
|
+
<%= render_attr('HOB12000', rent[:rent_purpose]) %>
|
7
|
+
<%= render_attr('HOB13000', rent[:rent_address]) %>
|
8
|
+
<% if @form_vers['HOI150'] >= '4.0' && rent[:tax_id] %>
|
9
|
+
<HOB27000>
|
10
|
+
<%= render_attr('HOB27100', rent[:tax_id]) %>
|
11
|
+
</HOB27000>
|
12
|
+
<% end %>
|
13
|
+
<%= render_attr('HOB14000', rent[:name]) %>
|
14
|
+
<%= render_attr('HOB15000', rent[:address]) %>
|
15
|
+
<%= render_attr('HOB17000', rent[:amount]) %>
|
16
|
+
<%= render_attr('HOB18000', rent[:note]) %>
|
17
|
+
</HOB10000>
|
18
|
+
<% end %>
|
14
19
|
</HOB00000>
|
15
20
|
</HOI150>
|
@@ -18,12 +18,7 @@
|
|
18
18
|
<gen:mm></gen:mm>
|
19
19
|
<gen:dd></gen:dd>
|
20
20
|
</AAA00700>
|
21
|
-
|
22
|
-
<gen:era><%= gengou(@issue_date) %></gen:era>
|
23
|
-
<gen:yy><%= wareki(@issue_date) %></gen:yy>
|
24
|
-
<gen:mm><%= @issue_date.month %></gen:mm>
|
25
|
-
<gen:dd><%= @issue_date.day %></gen:dd>
|
26
|
-
</AAA00800>
|
21
|
+
<%= render_attr('AAA00800', etax_date(@issue_date)) -%>
|
27
22
|
<AAA00900 idref="ORG1_NAME"></AAA00900>
|
28
23
|
<AAA_HONTEN_ZIP idref="HONTEN_ZIP"></AAA_HONTEN_ZIP>
|
29
24
|
<AAA_HONTEN_ADDR idref="HONTEN_ADDR"></AAA_HONTEN_ADDR>
|
@@ -40,6 +35,11 @@
|
|
40
35
|
<AAA_JIGYO_NAME idref="JIGYO_NAME"></AAA_JIGYO_NAME>
|
41
36
|
<AAA_SHIHON idref="SHIHON"></AAA_SHIHON>
|
42
37
|
<AAA_SHIHON3></AAA_SHIHON3>
|
38
|
+
<% if @form_vers['R0102AA'] == '250' %>
|
39
|
+
<AAA_GASSAN></AAA_GASSAN>
|
40
|
+
<AAA_GASSAN2></AAA_GASSAN2>
|
41
|
+
<AAA_HOUJIN_KBN></AAA_HOUJIN_KBN>
|
42
|
+
<% end %>
|
43
43
|
<AAA_SHIHON4></AAA_SHIHON4>
|
44
44
|
<AAA_SHIHON2><%= 資本金等の額 %></AAA_SHIHON2>
|
45
45
|
<AAA_SHIHON5><%= @資本金準備金 %></AAA_SHIHON5>
|
@@ -161,10 +161,11 @@
|
|
161
161
|
<AAH00200><%= 中間還付税額(@確定法人税割, @法人税割中間納付) + 中間還付税額(@所得割, 事業税中間納付) + 中間還付税額(特別法人事業税(@所得割), @地方特別法人事業税中間納付) %></AAH00200>
|
162
162
|
<AAH00400><%= eltax_kouza %></AAH00400>
|
163
163
|
<AAI00100>
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
164
|
+
<% if @kessanbi -%>
|
165
|
+
<%= etax_date(@kessanbi) %>
|
166
|
+
<% else -%>
|
167
|
+
<gen:era /><gen:yy /><gen:mm /><gen:dd />
|
168
|
+
<% end -%>
|
168
169
|
</AAI00100>
|
169
170
|
<AAI00900>
|
170
171
|
<gen:era />
|
@@ -198,4 +199,10 @@
|
|
198
199
|
<AAI00800>2</AAI00800>
|
199
200
|
<AAJ_DAIRI_NAME></AAJ_DAIRI_NAME>
|
200
201
|
<AAJ_DAIRI_TEL_NUM></AAJ_DAIRI_TEL_NUM>
|
202
|
+
<% if @form_vers['R0102AA'] == '250' %>
|
203
|
+
<AAL00100></AAL00100>
|
204
|
+
<AAL00200></AAL00200>
|
205
|
+
<AAL00300></AAL00300>
|
206
|
+
<AAL00400></AAL00400>
|
207
|
+
<% end %>
|
201
208
|
</R0102AA<%= @form_vers['R0102AA'] %>>
|
@@ -69,11 +69,18 @@
|
|
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' %>
|
73
|
+
<IAE07910>
|
74
|
+
<%= render_attr('IAE07920', gaikyo_config('dencho_good') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
75
|
+
<%= render_attr('IAE07930', gaikyo_config('dencho_generic') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
76
|
+
<%= render_attr('IAE07940', gaikyo_config('dencho_scanner') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
77
|
+
</IAE07910>
|
78
|
+
<% end %>
|
72
79
|
<% if @form_vers['HOK010'] < '7.0' %>
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
80
|
+
<IAE07000>
|
81
|
+
<%= render_attr('IAE07700', gaikyo_config('data_cloud') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
82
|
+
<%= render_attr('IAE07800', gaikyo_config('data_media') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
83
|
+
<%= render_attr('IAE07900', gaikyo_config('data_server') ? '<kubun_CD>1</kubun_CD>' : nil) %>
|
77
84
|
</IAE07000>
|
78
85
|
<% end %>
|
79
86
|
</IAE00000>
|
@@ -1,7 +1,12 @@
|
|
1
|
-
<HOI090 page="1" VR="
|
1
|
+
<HOI090 page="1" VR="<%= @form_vers['HOI090'] %>" id="HOI090" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
|
2
2
|
<% @買掛金.values.each do |payable| %>
|
3
3
|
<HIB00000>
|
4
4
|
<%= render_attr('HIB00100', payable[:payable_type]) %>
|
5
|
+
<% if @form_vers['HOI090'] >= '5.0' && payable[:tax_id] -%>
|
6
|
+
<HIB00500>
|
7
|
+
<%= render_attr('HIB00510', payable[:tax_id]) %>
|
8
|
+
</HIB00500>
|
9
|
+
<% end -%>
|
5
10
|
<HIB00200>
|
6
11
|
<%= render_attr('HIB00210', payable[:name]) %>
|
7
12
|
<%= render_attr('HIB00220', payable[:address]) %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<HOI100 page="1" VR="
|
1
|
+
<HOI100 page="1" VR="<%= @form_vers['HOI100'] %>" id="HOI100" sakuseiNM="<%= @company %>" softNM="<%= @software %> <%= @company %>" sakuseiDay="<%= @issue_date %>">
|
2
2
|
<HJB00000>
|
3
3
|
<HJB01000>
|
4
4
|
<%= render_attr('HJB01100', '預り金') %>
|
data/lib/luca/jp/uchiwake.rb
CHANGED
@@ -101,6 +101,7 @@ module Luca #:nodoc:
|
|
101
101
|
metadata = uchiwake_account_config(k).first
|
102
102
|
if metadata && metadata['name']
|
103
103
|
h[k][:name] = metadata['name']
|
104
|
+
h[k][:tax_id] = metadata['tax_id']&.to_s&.sub(/T/, '')
|
104
105
|
h[k][:payable_type] = self.class.dict.dig(k[0..2], :label)
|
105
106
|
h[k][:address] = metadata['address']
|
106
107
|
h[k][:note] = metadata['note']
|
@@ -118,7 +119,10 @@ module Luca #:nodoc:
|
|
118
119
|
|
119
120
|
def 仮受金内訳
|
120
121
|
@源泉給与 = readable(@bs_data.dig('5191') || 0)
|
121
|
-
@源泉報酬 =
|
122
|
+
@源泉報酬 = [
|
123
|
+
readable(@bs_data.dig('5193') || 0),
|
124
|
+
readable(@bs_data.dig('5194') || 0)
|
125
|
+
].sum
|
122
126
|
render_erb(search_template('kariuke-meisai.xml.erb'))
|
123
127
|
end
|
124
128
|
|
@@ -182,6 +186,7 @@ module Luca #:nodoc:
|
|
182
186
|
metadata = uchiwake_account_config(k).first
|
183
187
|
if metadata && metadata['name']
|
184
188
|
h[k][:name] = metadata['name']
|
189
|
+
h[k][:tax_id] = metadata['tax_id']&.to_s&.sub(/T/, '')
|
185
190
|
h[k][:address] = metadata['address']
|
186
191
|
h[k][:rent_type] = metadata['rent_type'] || '家賃'
|
187
192
|
h[k][:rent_purpose] = metadata['rent_purpose']
|
data/lib/luca/jp/urikake.rb
CHANGED
@@ -15,22 +15,32 @@ module Luca
|
|
15
15
|
listed_amount = 0
|
16
16
|
encoding ||= 'SJIS'
|
17
17
|
customers, total = list
|
18
|
+
format_ver = @date > Date.new(2024, 3, 1) ? 4 : 3
|
18
19
|
str = CSV.generate(String.new, headers: false, col_sep: ',', encoding: encoding) do |f|
|
19
20
|
customers.map do |c|
|
20
21
|
amount = readable(c['unsettled'])
|
21
22
|
listed_amount += amount
|
22
|
-
|
23
|
+
if format_ver >= 4
|
24
|
+
address = c['tax_id'] ? nil : c['address']
|
25
|
+
f << ['3', '0', '売掛金', c['tax_id']&.to_i, nil, c['customer'], address, amount, nil ]
|
26
|
+
else
|
27
|
+
f << ['3', '0', '売掛金', c['customer'], c['address'], amount, nil ]
|
28
|
+
end
|
23
29
|
end
|
24
|
-
if
|
30
|
+
if format_ver >= 4
|
31
|
+
f << ['3', '0', '売掛金', nil, nil, 'その他', nil, total - listed_amount, nil ]
|
32
|
+
f << ['3', '1', nil, nil, nil, nil, nil, total, nil ]
|
33
|
+
else
|
25
34
|
f << ['3', '0', '売掛金', 'その他', nil, total - listed_amount, nil ]
|
35
|
+
f << ['3', '1', nil, nil, nil, total, nil ]
|
26
36
|
end
|
27
|
-
f << ['3', '1', nil, nil, nil, total, nil ]
|
28
37
|
end
|
29
|
-
|
38
|
+
STDERR.puts "Writing HOI030_#{format_ver}.0.csv..."
|
39
|
+
File.open("HOI030_#{format_ver}.0.csv", 'w') { |f| f.write(str) }
|
30
40
|
end
|
31
41
|
|
32
42
|
def list
|
33
|
-
customers = self.class.report(@date, detail: true)
|
43
|
+
customers = self.class.report(@date, detail: true, due: true)
|
34
44
|
.sort_by { |customer| customer['unsettled'] }
|
35
45
|
.reverse
|
36
46
|
total = customers.inject(0) { |sum, customer| sum + customer['unsettled'] }
|
data/lib/luca/jp/util.rb
CHANGED
data/lib/luca/jp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: luca-jp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuma Takahiro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lucabook
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.5.
|
19
|
+
version: 0.5.6
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.5.
|
26
|
+
version: 0.5.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: lucadeal
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.5.
|
33
|
+
version: 0.5.8
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.5.
|
40
|
+
version: 0.5.8
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: lucasalary
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|