odoo-addon-l10n-es-aeat-sii-oca 16.0.2.5.3__py3-none-any.whl → 17.0.1.0.0.3__py3-none-any.whl
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.
- odoo/addons/l10n_es_aeat_sii_oca/README.rst +73 -86
- odoo/addons/l10n_es_aeat_sii_oca/__manifest__.py +7 -6
- odoo/addons/l10n_es_aeat_sii_oca/data/aeat_sii_map_data.xml +203 -187
- odoo/addons/l10n_es_aeat_sii_oca/data/aeat_sii_tax_agency_data.xml +0 -25
- odoo/addons/l10n_es_aeat_sii_oca/data/ir_config_parameter_data.xml +9 -0
- odoo/addons/l10n_es_aeat_sii_oca/data/ir_cron.xml +12 -0
- odoo/addons/l10n_es_aeat_sii_oca/data/l10n.es.aeat.map.tax.line.tax.csv +138 -0
- odoo/addons/l10n_es_aeat_sii_oca/hooks.py +3 -6
- odoo/addons/l10n_es_aeat_sii_oca/i18n/bg.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/ca.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/cs.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/de.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/es.po +3 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/es_CO.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/es_CR.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/eu.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/fr.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/gl.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/hr.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/l10n_es_aeat_sii_oca.pot +92 -82
- odoo/addons/l10n_es_aeat_sii_oca/i18n/nl.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/pl.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/pt.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/pt_BR.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/ru.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/sl.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/sv.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/tr.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/i18n/vi.po +0 -33
- odoo/addons/l10n_es_aeat_sii_oca/models/__init__.py +0 -1
- odoo/addons/l10n_es_aeat_sii_oca/models/account_move.py +142 -49
- odoo/addons/l10n_es_aeat_sii_oca/models/aeat_sii_map.py +3 -1
- odoo/addons/l10n_es_aeat_sii_oca/models/aeat_sii_mapping_registration_keys.py +1 -1
- odoo/addons/l10n_es_aeat_sii_oca/models/res_company.py +8 -9
- odoo/addons/l10n_es_aeat_sii_oca/models/sii_mixin.py +60 -58
- odoo/addons/l10n_es_aeat_sii_oca/readme/CONFIGURE.md +20 -0
- odoo/addons/l10n_es_aeat_sii_oca/readme/CONTRIBUTORS.md +24 -0
- odoo/addons/l10n_es_aeat_sii_oca/readme/DESCRIPTION.md +2 -0
- odoo/addons/l10n_es_aeat_sii_oca/readme/INSTALL.md +6 -0
- odoo/addons/l10n_es_aeat_sii_oca/readme/ROADMAP.md +12 -0
- odoo/addons/l10n_es_aeat_sii_oca/readme/{USAGE.rst → USAGE.md} +2 -2
- odoo/addons/l10n_es_aeat_sii_oca/security/ir.model.access.csv +0 -1
- odoo/addons/l10n_es_aeat_sii_oca/static/description/index.html +33 -46
- odoo/addons/l10n_es_aeat_sii_oca/tests/json/sii_in_invoice_p_iva21_ibc_group_dict.json +24 -0
- odoo/addons/l10n_es_aeat_sii_oca/tests/test_l10n_es_aeat_sii.py +71 -50
- odoo/addons/l10n_es_aeat_sii_oca/views/account_fiscal_position_view.xml +6 -16
- odoo/addons/l10n_es_aeat_sii_oca/views/account_journal_view.xml +2 -4
- odoo/addons/l10n_es_aeat_sii_oca/views/account_move_views.xml +39 -70
- odoo/addons/l10n_es_aeat_sii_oca/views/aeat_sii_map_view.xml +1 -1
- odoo/addons/l10n_es_aeat_sii_oca/views/res_company_view.xml +6 -10
- odoo/addons/l10n_es_aeat_sii_oca/wizards/account_move_reversal.py +9 -8
- odoo/addons/l10n_es_aeat_sii_oca/wizards/account_move_reversal_views.xml +4 -2
- odoo/addons/l10n_es_aeat_sii_oca/wizards/account_move_send_sii.py +15 -19
- odoo/addons/l10n_es_aeat_sii_oca/wizards/account_move_send_sii_views.xml +38 -5
- {odoo_addon_l10n_es_aeat_sii_oca-16.0.2.5.3.dist-info → odoo_addon_l10n_es_aeat_sii_oca-17.0.1.0.0.3.dist-info}/METADATA +84 -96
- {odoo_addon_l10n_es_aeat_sii_oca-16.0.2.5.3.dist-info → odoo_addon_l10n_es_aeat_sii_oca-17.0.1.0.0.3.dist-info}/RECORD +58 -59
- {odoo_addon_l10n_es_aeat_sii_oca-16.0.2.5.3.dist-info → odoo_addon_l10n_es_aeat_sii_oca-17.0.1.0.0.3.dist-info}/WHEEL +1 -1
- odoo_addon_l10n_es_aeat_sii_oca-17.0.1.0.0.3.dist-info/top_level.txt +1 -0
- odoo/addons/l10n_es_aeat_sii_oca/data/aeat_sii_queue_job.xml +0 -17
- odoo/addons/l10n_es_aeat_sii_oca/migrations/16.0.1.4.0/post-migration.py +0 -18
- odoo/addons/l10n_es_aeat_sii_oca/models/queue_job.py +0 -18
- odoo/addons/l10n_es_aeat_sii_oca/readme/CONFIGURE.rst +0 -39
- odoo/addons/l10n_es_aeat_sii_oca/readme/CONTRIBUTORS.rst +0 -25
- odoo/addons/l10n_es_aeat_sii_oca/readme/DESCRIPTION.rst +0 -2
- odoo/addons/l10n_es_aeat_sii_oca/readme/INSTALL.rst +0 -8
- odoo/addons/l10n_es_aeat_sii_oca/readme/ROADMAP.rst +0 -10
- odoo/addons/l10n_es_aeat_sii_oca/security/aeat_sii.xml +0 -17
- odoo/addons/l10n_es_aeat_sii_oca/views/queue_job_views.xml +0 -38
- odoo_addon_l10n_es_aeat_sii_oca-16.0.2.5.3.dist-info/top_level.txt +0 -1
@@ -12,60 +12,55 @@
|
|
12
12
|
<field name="arch" type="xml">
|
13
13
|
<xpath expr="//field[@name='thirdparty_invoice']" position="attributes">
|
14
14
|
<attribute
|
15
|
-
name="
|
16
|
-
>
|
15
|
+
name="invisible"
|
16
|
+
>move_type not in ['in_invoice', 'out_invoice', 'out_refund', 'in_refund']</attribute>
|
17
17
|
</xpath>
|
18
18
|
<xpath expr="//field[@name='thirdparty_number']" position="attributes">
|
19
|
-
<attribute
|
20
|
-
|
21
|
-
>{'required': [('thirdparty_invoice', '=', True)], 'invisible': [('thirdparty_invoice', '=', False)]}</attribute>
|
19
|
+
<attribute name="required">thirdparty_invoice</attribute>
|
20
|
+
<attribute name="invisible">not thirdparty_invoice</attribute>
|
22
21
|
</xpath>
|
23
22
|
<button name="button_draft" position="after">
|
23
|
+
<field name="aeat_state" invisible="1" />
|
24
24
|
<button
|
25
25
|
type="object"
|
26
26
|
string="Send to SII"
|
27
27
|
name="send_sii"
|
28
28
|
groups="l10n_es_aeat.group_account_aeat"
|
29
|
-
|
29
|
+
invisible="not sii_enabled or state not in ['posted'] or not aeat_send_failed"
|
30
30
|
/>
|
31
31
|
<button
|
32
32
|
type="object"
|
33
33
|
string="Send cancellation to SII"
|
34
34
|
name="cancel_sii"
|
35
35
|
groups="l10n_es_aeat.group_account_aeat"
|
36
|
-
|
36
|
+
invisible="not sii_enabled or state not in ['cancel'] or aeat_state not in ['sent','sent_w_errors','sent_modified']"
|
37
37
|
/>
|
38
38
|
</button>
|
39
39
|
<notebook position="inside">
|
40
|
-
<page
|
41
|
-
string="SII"
|
42
|
-
name="page_sii"
|
43
|
-
attrs="{'invisible': [('sii_enabled', '=', False)]}"
|
44
|
-
>
|
40
|
+
<page string="SII" name="page_sii" invisible="not sii_enabled">
|
45
41
|
<group string="SII Information" name="group_sii_information">
|
46
|
-
<field
|
47
|
-
name="sii_description"
|
48
|
-
attrs="{'required': [('sii_enabled', '=', True)]}"
|
49
|
-
/>
|
42
|
+
<field name="sii_description" required="sii_enabled" />
|
50
43
|
<field name="thirdparty_invoice" />
|
51
44
|
<field
|
52
45
|
name="thirdparty_number"
|
53
|
-
|
46
|
+
required="thirdparty_invoice"
|
47
|
+
invisible="not thirdparty_invoice"
|
54
48
|
/>
|
55
49
|
<field
|
56
50
|
name="sii_refund_type"
|
57
|
-
|
51
|
+
required="sii_enabled and move_type in ['out_refund','in_refund']"
|
52
|
+
invisible="move_type not in ['out_refund','in_refund']"
|
58
53
|
/>
|
59
54
|
<field
|
60
55
|
name="sii_refund_specific_invoice_type"
|
61
|
-
|
56
|
+
invisible="move_type != 'out_refund'"
|
62
57
|
/>
|
63
58
|
<field name="sii_registration_key_domain" invisible="1" />
|
64
59
|
<field
|
65
60
|
name="sii_registration_key"
|
66
61
|
groups="account.group_account_invoice"
|
67
62
|
domain="[('type', '=', sii_registration_key_domain)]"
|
68
|
-
|
63
|
+
required="sii_enabled"
|
69
64
|
widget="selection"
|
70
65
|
/>
|
71
66
|
<field
|
@@ -85,38 +80,36 @@
|
|
85
80
|
groups="account.group_account_invoice"
|
86
81
|
invisible="1"
|
87
82
|
/>
|
83
|
+
<label for="sii_send_date" />
|
84
|
+
<div
|
85
|
+
name="sii_send_date"
|
86
|
+
invisible="aeat_state in ['sent','cancelled']"
|
87
|
+
>
|
88
|
+
<field name="sii_send_date" class="oe_inline text-break" />
|
89
|
+
<button
|
90
|
+
type="object"
|
91
|
+
class="oi oi-arrow-right oe_link"
|
92
|
+
name="send_sii"
|
93
|
+
string="Send to SII"
|
94
|
+
/>
|
95
|
+
</div>
|
96
|
+
<field
|
97
|
+
name="sii_needs_cancel"
|
98
|
+
invisible="state != 'cancel' or aeat_state not in ['sent', 'sent_w_errors', 'sent_modified']"
|
99
|
+
/>
|
88
100
|
<field name="sii_enabled" invisible="1" />
|
89
101
|
<field name="sii_lc_operation" />
|
90
102
|
<field
|
91
103
|
name="sii_property_location"
|
92
104
|
groups="account.group_account_invoice"
|
93
|
-
|
94
|
-
|
95
|
-
'|',
|
96
|
-
('sii_registration_key_code', 'not in', ['12', '13']),
|
97
|
-
('move_type', 'not in', ['out_invoice', 'out_refund']),
|
98
|
-
],
|
99
|
-
'required': [
|
100
|
-
('sii_registration_key_code', 'in', ['12', '13']),
|
101
|
-
('move_type', 'in', ['out_invoice', 'out_refund']),
|
102
|
-
],
|
103
|
-
}"
|
105
|
+
invisible="sii_registration_key_code not in ['12', '13'] or move_type not in ['out_invoice', 'out_refund']"
|
106
|
+
required="sii_registration_key_code in ['12', '13'] and move_type in ['out_invoice', 'out_refund']"
|
104
107
|
/>
|
105
108
|
<field
|
106
109
|
name="sii_property_cadastrial_code"
|
107
110
|
groups="account.group_account_invoice"
|
108
|
-
|
109
|
-
|
110
|
-
'|',
|
111
|
-
('sii_registration_key_code', 'not in', ['12', '13']),
|
112
|
-
('move_type', 'not in', ['out_invoice', 'out_refund']),
|
113
|
-
],
|
114
|
-
'required': [
|
115
|
-
('sii_registration_key_code', 'in', ['12', '13']),
|
116
|
-
('sii_property_location', 'in', ['1', '2']),
|
117
|
-
('move_type', 'in', ['out_invoice', 'out_refund']),
|
118
|
-
],
|
119
|
-
}"
|
111
|
+
invisible="sii_registration_key_code not in ['12', '13'] or move_type not in ['out_invoice', 'out_refund']"
|
112
|
+
required="sii_registration_key_code in ['12', '13'] and sii_property_location in ['1', '2'] and move_type in ['out_invoice', 'out_refund']"
|
120
113
|
/>
|
121
114
|
</group>
|
122
115
|
<group
|
@@ -130,15 +123,15 @@
|
|
130
123
|
<field name="aeat_state" />
|
131
124
|
<field
|
132
125
|
name="sii_account_registration_date"
|
133
|
-
|
126
|
+
invisible="not sii_account_registration_date or move_type not in ['in_invoice', 'in_refund']"
|
134
127
|
/>
|
135
128
|
<field
|
136
129
|
name="aeat_send_failed"
|
137
|
-
|
130
|
+
invisible="not aeat_send_failed"
|
138
131
|
/>
|
139
132
|
<field
|
140
133
|
name="aeat_send_error"
|
141
|
-
|
134
|
+
invisible="not aeat_send_failed"
|
142
135
|
/>
|
143
136
|
<field name="sii_csv" />
|
144
137
|
</group>
|
@@ -167,30 +160,6 @@
|
|
167
160
|
</notebook>
|
168
161
|
</field>
|
169
162
|
</record>
|
170
|
-
<record id="invoice_sii_form_connector" model="ir.ui.view">
|
171
|
-
<field name="name">account.invoice.sii.form - Connector</field>
|
172
|
-
<field name="model">account.move</field>
|
173
|
-
<field name="inherit_id" ref="invoice_sii_form" />
|
174
|
-
<field name="arch" type="xml">
|
175
|
-
<group name="group_sii_result" position="after">
|
176
|
-
<group
|
177
|
-
string="Connector Jobs"
|
178
|
-
name="group_sii_jobs"
|
179
|
-
groups="l10n_es_aeat.group_account_aeat"
|
180
|
-
cols="4"
|
181
|
-
>
|
182
|
-
<field
|
183
|
-
name="invoice_jobs_ids"
|
184
|
-
options="{'reload_on_button': true}"
|
185
|
-
nolabel="1"
|
186
|
-
colspan="2"
|
187
|
-
readonly="1"
|
188
|
-
context="{'tree_view_ref': 'l10n_es_aeat_sii_oca.view_queue_job_sii'}"
|
189
|
-
/>
|
190
|
-
</group>
|
191
|
-
</group>
|
192
|
-
</field>
|
193
|
-
</record>
|
194
163
|
<record id="view_account_invoice_sii_filter" model="ir.ui.view">
|
195
164
|
<field name="name">account.invoice.select.sii</field>
|
196
165
|
<field name="model">account.move</field>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<group name="sii_enabled">
|
14
14
|
<field name="sii_enabled" />
|
15
15
|
</group>
|
16
|
-
<group
|
16
|
+
<group invisible="not sii_enabled">
|
17
17
|
<group name="sii_config">
|
18
18
|
<field name="sii_test" />
|
19
19
|
<field name="sii_method" />
|
@@ -23,26 +23,22 @@
|
|
23
23
|
<field name="sii_description_method" />
|
24
24
|
<field
|
25
25
|
name="sii_description"
|
26
|
-
|
26
|
+
invisible="sii_description_method != 'fixed'"
|
27
27
|
/>
|
28
28
|
<field name="sii_header_customer" />
|
29
29
|
<field name="sii_header_supplier" />
|
30
30
|
</group>
|
31
|
-
<group name="
|
32
|
-
<field name="
|
33
|
-
<field
|
34
|
-
name="send_mode"
|
35
|
-
attrs="{'invisible': [('use_connector', '=', False)]}"
|
36
|
-
/>
|
31
|
+
<group name="cron_config" string="Cron Config">
|
32
|
+
<field name="send_mode" />
|
37
33
|
<field
|
38
34
|
name='sent_time'
|
39
35
|
widget='float_time'
|
40
|
-
|
36
|
+
invisible="send_mode != 'fixed'"
|
41
37
|
/>
|
42
38
|
<field
|
43
39
|
name='delay_time'
|
44
40
|
widget='float_time'
|
45
|
-
|
41
|
+
invisible="send_mode != 'delayed'"
|
46
42
|
/>
|
47
43
|
</group>
|
48
44
|
</group>
|
@@ -37,12 +37,13 @@ class AccountMoveReversal(models.TransientModel):
|
|
37
37
|
if (
|
38
38
|
"sii_refund_type" in fields_list
|
39
39
|
or "sii_refund_type_required" in fields_list
|
40
|
-
)
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
40
|
+
):
|
41
|
+
to_refund = self.env["account.move"].search(
|
42
|
+
[
|
43
|
+
("id", "in", self.env.context.get("active_ids")),
|
44
|
+
("move_type", "in", ["in_invoice", "out_invoice"]),
|
45
|
+
("journal_id.sii_enabled", "=", True),
|
46
|
+
]
|
46
47
|
)
|
47
48
|
if any(to_refund.mapped("company_id.sii_enabled")):
|
48
49
|
defaults["sii_refund_type"] = "I"
|
@@ -56,9 +57,9 @@ class AccountMoveReversal(models.TransientModel):
|
|
56
57
|
)
|
57
58
|
return defaults
|
58
59
|
|
59
|
-
def reverse_moves(self):
|
60
|
+
def reverse_moves(self, is_modify=False):
|
60
61
|
obj = self.with_context(
|
61
62
|
sii_refund_type=self.sii_refund_type,
|
62
63
|
supplier_invoice_number=self.supplier_invoice_number_refund,
|
63
64
|
)
|
64
|
-
return super(AccountMoveReversal, obj).reverse_moves()
|
65
|
+
return super(AccountMoveReversal, obj).reverse_moves(is_modify)
|
@@ -11,11 +11,13 @@
|
|
11
11
|
<field name="supplier_invoice_number_refund_required" invisible="1" />
|
12
12
|
<field
|
13
13
|
name="sii_refund_type"
|
14
|
-
|
14
|
+
required="sii_refund_type_required"
|
15
|
+
invisible="not sii_refund_type_required"
|
15
16
|
/>
|
16
17
|
<field
|
17
18
|
name="supplier_invoice_number_refund"
|
18
|
-
|
19
|
+
required="supplier_invoice_number_refund_required"
|
20
|
+
invisible="not supplier_invoice_number_refund_required"
|
19
21
|
/>
|
20
22
|
</field>
|
21
23
|
</field>
|
@@ -8,34 +8,30 @@ class SendSIIWizard(models.TransientModel):
|
|
8
8
|
_name = "wizard.send.sii"
|
9
9
|
_description = "Send SII Wizard"
|
10
10
|
|
11
|
-
sending_number = fields.Integer(
|
12
|
-
|
11
|
+
sending_number = fields.Integer()
|
12
|
+
not_send_without_errors_number = fields.Integer()
|
13
|
+
with_errors_number = fields.Integer()
|
14
|
+
modified_number = fields.Integer()
|
13
15
|
account_move_ids = fields.Many2many("account.move", string="Invoices")
|
14
16
|
|
15
17
|
def default_get(self, fields):
|
16
18
|
res = super().default_get(fields)
|
17
|
-
# get the records selected
|
18
19
|
active_model = self.env.context.get("active_model")
|
19
20
|
active_ids = self.env.context.get("active_ids", [])
|
20
21
|
account_moves = self.env[active_model].browse(active_ids)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
sending_number -= 1
|
29
|
-
elif all(invoice.invoice_jobs_ids.mapped("state")) == "cancelled":
|
30
|
-
sending_number -= 1
|
31
|
-
elif any(invoice.invoice_jobs_ids.mapped("state")) == "done":
|
32
|
-
sent_number += 1
|
33
|
-
# update the values of the wizard
|
22
|
+
not_send_without_errors = account_moves.filtered(
|
23
|
+
lambda a: a.aeat_state == "not_sent" and not a.aeat_send_failed
|
24
|
+
)
|
25
|
+
with_errors = account_moves.filtered(lambda a: a.aeat_send_failed)
|
26
|
+
modified = account_moves.filtered(
|
27
|
+
lambda a: a.aeat_state in ["sent_modified", "cancelled_modified"]
|
28
|
+
)
|
34
29
|
res.update(
|
35
30
|
{
|
36
|
-
"sending_number":
|
37
|
-
"
|
38
|
-
"
|
31
|
+
"sending_number": len(account_moves),
|
32
|
+
"not_send_without_errors_number": len(not_send_without_errors),
|
33
|
+
"with_errors_number": len(with_errors),
|
34
|
+
"modified_number": len(modified),
|
39
35
|
}
|
40
36
|
)
|
41
37
|
return res
|
@@ -7,10 +7,21 @@
|
|
7
7
|
<field name="model">wizard.send.sii</field>
|
8
8
|
<field name="arch" type="xml">
|
9
9
|
<form>
|
10
|
+
<p
|
11
|
+
class="alert alert-info"
|
12
|
+
role="alert"
|
13
|
+
invisible="not_send_without_errors_number == 0"
|
14
|
+
>
|
15
|
+
<field
|
16
|
+
name="not_send_without_errors_number"
|
17
|
+
widget="statinfo"
|
18
|
+
string="of the selected invoices have not been sent to to the SII yet and will be sent."
|
19
|
+
/>
|
20
|
+
</p>
|
10
21
|
<p
|
11
22
|
class="alert alert-warning"
|
12
23
|
role="alert"
|
13
|
-
|
24
|
+
invisible="sending_number == 0"
|
14
25
|
>
|
15
26
|
<field
|
16
27
|
name="sending_number"
|
@@ -19,14 +30,36 @@
|
|
19
30
|
/>
|
20
31
|
</p>
|
21
32
|
<p
|
22
|
-
class="alert alert-
|
33
|
+
class="alert alert-info"
|
34
|
+
role="alert"
|
35
|
+
invisible="with_errors_number == 0"
|
36
|
+
>
|
37
|
+
<field
|
38
|
+
name="with_errors_number"
|
39
|
+
widget="statinfo"
|
40
|
+
string="of the selected invoices failed when trying to send them to the SII. If confirm, they will be resent"
|
41
|
+
/>
|
42
|
+
</p>
|
43
|
+
<p
|
44
|
+
class="alert alert-info"
|
45
|
+
role="alert"
|
46
|
+
invisible="with_errors_number == 0"
|
47
|
+
>
|
48
|
+
<field
|
49
|
+
name="with_errors_number"
|
50
|
+
widget="statinfo"
|
51
|
+
string="of the selected invoices failed when trying to send them to the SII. If confirm, they will be resent"
|
52
|
+
/>
|
53
|
+
</p>
|
54
|
+
<p
|
55
|
+
class="alert alert-info"
|
23
56
|
role="alert"
|
24
|
-
|
57
|
+
invisible="modified_number == 0"
|
25
58
|
>
|
26
59
|
<field
|
27
|
-
name="
|
60
|
+
name="modified_number"
|
28
61
|
widget="statinfo"
|
29
|
-
string="of the selected invoices have been
|
62
|
+
string="of the selected invoices have changed but changes have not been sent to the SII yet. If you confirm, they will be sent to sii."
|
30
63
|
/>
|
31
64
|
</p>
|
32
65
|
<footer>
|