odoo-addon-l10n-es-verifactu-oca 18.0.1.2.1__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_verifactu_oca/README.rst +195 -0
- odoo/addons/l10n_es_verifactu_oca/__init__.py +3 -0
- odoo/addons/l10n_es_verifactu_oca/__manifest__.py +50 -0
- odoo/addons/l10n_es_verifactu_oca/data/ir_config_parameter.xml +9 -0
- odoo/addons/l10n_es_verifactu_oca/data/ir_cron.xml +13 -0
- odoo/addons/l10n_es_verifactu_oca/data/l10n.es.aeat.map.tax.line.tax.csv +50 -0
- odoo/addons/l10n_es_verifactu_oca/data/mail_activity_data.xml +11 -0
- odoo/addons/l10n_es_verifactu_oca/data/neutralize.sql +2 -0
- odoo/addons/l10n_es_verifactu_oca/data/template/account.fiscal.position-es_common.csv +27 -0
- odoo/addons/l10n_es_verifactu_oca/data/verifactu.map.csv +2 -0
- odoo/addons/l10n_es_verifactu_oca/data/verifactu.map.line.csv +8 -0
- odoo/addons/l10n_es_verifactu_oca/data/verifactu_registration_key_data.xml +205 -0
- odoo/addons/l10n_es_verifactu_oca/data/verifactu_tax_agency_data.xml +19 -0
- odoo/addons/l10n_es_verifactu_oca/hooks.py +43 -0
- odoo/addons/l10n_es_verifactu_oca/i18n/es.po +1682 -0
- odoo/addons/l10n_es_verifactu_oca/i18n/l10n_es_verifactu_oca.pot +1640 -0
- odoo/addons/l10n_es_verifactu_oca/migrations/18.0.1.1.0/pre-migration.py +25 -0
- odoo/addons/l10n_es_verifactu_oca/models/__init__.py +15 -0
- odoo/addons/l10n_es_verifactu_oca/models/account_chart_template.py +17 -0
- odoo/addons/l10n_es_verifactu_oca/models/account_fiscal_position.py +34 -0
- odoo/addons/l10n_es_verifactu_oca/models/account_journal.py +64 -0
- odoo/addons/l10n_es_verifactu_oca/models/account_move.py +631 -0
- odoo/addons/l10n_es_verifactu_oca/models/aeat_tax_agency.py +30 -0
- odoo/addons/l10n_es_verifactu_oca/models/res_company.py +48 -0
- odoo/addons/l10n_es_verifactu_oca/models/res_partner.py +26 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_chaining.py +37 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_developer.py +16 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_invoice_entry.py +398 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_invoice_entry_response.py +116 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_invoice_entry_response_line.py +47 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_map.py +68 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_mixin.py +485 -0
- odoo/addons/l10n_es_verifactu_oca/models/verifactu_registration_key.py +26 -0
- odoo/addons/l10n_es_verifactu_oca/readme/CONFIGURE.md +27 -0
- odoo/addons/l10n_es_verifactu_oca/readme/CONTRIBUTORS.md +18 -0
- odoo/addons/l10n_es_verifactu_oca/readme/DESCRIPTION.md +1 -0
- odoo/addons/l10n_es_verifactu_oca/readme/INSTALL.md +6 -0
- odoo/addons/l10n_es_verifactu_oca/readme/ROADMAP.md +30 -0
- odoo/addons/l10n_es_verifactu_oca/readme/USAGE.md +3 -0
- odoo/addons/l10n_es_verifactu_oca/security/ir.model.access.csv +23 -0
- odoo/addons/l10n_es_verifactu_oca/security/verifactu_security.xml +6 -0
- odoo/addons/l10n_es_verifactu_oca/static/description/icon.png +0 -0
- odoo/addons/l10n_es_verifactu_oca/static/description/index.html +551 -0
- odoo/addons/l10n_es_verifactu_oca/tests/__init__.py +2 -0
- odoo/addons/l10n_es_verifactu_oca/tests/common.py +281 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_accepted_with_errors.json +35 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_cancel.json +35 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_cancel_incorrect.json +37 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_cancel_with_errors.json +35 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_correct.json +35 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_duplicated.json +43 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_mocked_response_incorrect.json +37 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_out_invoice_s_iva10b_s_iva21s_dict.json +59 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_out_invoice_s_iva21s_s_req52_dict.json +58 -0
- odoo/addons/l10n_es_verifactu_oca/tests/json/verifactu_out_refund_s_iva10b_s_iva10b_s_iva21s_dict.json +66 -0
- odoo/addons/l10n_es_verifactu_oca/tests/test_10n_es_verifactu.py +506 -0
- odoo/addons/l10n_es_verifactu_oca/tests/test_verifactu_invoice.py +348 -0
- odoo/addons/l10n_es_verifactu_oca/views/account_fiscal_position_view.xml +29 -0
- odoo/addons/l10n_es_verifactu_oca/views/account_journal_view.xml +22 -0
- odoo/addons/l10n_es_verifactu_oca/views/account_move_view.xml +237 -0
- odoo/addons/l10n_es_verifactu_oca/views/aeat_tax_agency_view.xml +31 -0
- odoo/addons/l10n_es_verifactu_oca/views/report_invoice.xml +53 -0
- odoo/addons/l10n_es_verifactu_oca/views/res_company_view.xml +50 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_chaining_view.xml +45 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_developer_view.xml +46 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_invoice_entry_response_view.xml +134 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_invoice_entry_view.xml +127 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_map_lines_view.xml +16 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_map_view.xml +54 -0
- odoo/addons/l10n_es_verifactu_oca/views/verifactu_registration_keys_view.xml +43 -0
- odoo/addons/l10n_es_verifactu_oca/wizards/__init__.py +2 -0
- odoo/addons/l10n_es_verifactu_oca/wizards/account_move_reversal.py +16 -0
- odoo/addons/l10n_es_verifactu_oca/wizards/verifactu_cancel_invoice_wizard.py +24 -0
- odoo/addons/l10n_es_verifactu_oca/wizards/verifactu_cancel_invoice_wizard_view.xml +35 -0
- odoo_addon_l10n_es_verifactu_oca-18.0.1.2.1.dist-info/METADATA +213 -0
- odoo_addon_l10n_es_verifactu_oca-18.0.1.2.1.dist-info/RECORD +78 -0
- odoo_addon_l10n_es_verifactu_oca-18.0.1.2.1.dist-info/WHEEL +5 -0
- odoo_addon_l10n_es_verifactu_oca-18.0.1.2.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo>
|
|
3
|
+
<template
|
|
4
|
+
id="report_invoice_document"
|
|
5
|
+
inherit_id="account.report_invoice_document"
|
|
6
|
+
priority="1000"
|
|
7
|
+
>
|
|
8
|
+
<xpath expr="//t[@t-set='forced_vat']" position="after">
|
|
9
|
+
<t
|
|
10
|
+
t-set="verifactu_invoice"
|
|
11
|
+
t-value="o.verifactu_enabled and o.verifactu_qr"
|
|
12
|
+
/>
|
|
13
|
+
</xpath>
|
|
14
|
+
</template>
|
|
15
|
+
<template id="address_layout" inherit_id="web.address_layout" priority="1000">
|
|
16
|
+
<div t-attf-class="address row mb-4" position="attributes">
|
|
17
|
+
<attribute name="t-if">not verifactu_invoice</attribute>
|
|
18
|
+
</div>
|
|
19
|
+
<div t-attf-class="address row mb-4" position="after">
|
|
20
|
+
<div t-if="verifactu_invoice" class="row" id="verifactu_row">
|
|
21
|
+
<div
|
|
22
|
+
id="verifactu"
|
|
23
|
+
style="page-break-inside:avoid;"
|
|
24
|
+
class="text-center col-3"
|
|
25
|
+
>
|
|
26
|
+
<ul class="list-inline mb4">QR Tributario</ul>
|
|
27
|
+
<ul id="verifactu_qr" class="list-inline mb4">
|
|
28
|
+
<img
|
|
29
|
+
t-attf-src="data:image/png;base64,{{o.verifactu_qr}}"
|
|
30
|
+
style="min-width: 40mm; max-width: 40mm"
|
|
31
|
+
/>
|
|
32
|
+
</ul>
|
|
33
|
+
<ul class="list-inline mb4">VERI*FACTU</ul>
|
|
34
|
+
</div>
|
|
35
|
+
<t t-if="information_block">
|
|
36
|
+
<t t-set="colclass" t-value="'col-5'" />
|
|
37
|
+
<div name="information_block" class="col-4">
|
|
38
|
+
<t t-out="information_block" />
|
|
39
|
+
</div>
|
|
40
|
+
<div name="address" t-att-class="colclass">
|
|
41
|
+
<t t-esc="address" />
|
|
42
|
+
</div>
|
|
43
|
+
</t>
|
|
44
|
+
<t t-if="not information_block">
|
|
45
|
+
<t t-set="colclass" t-value="'col-5 offset-4'" />
|
|
46
|
+
<div name="address" t-att-class="colclass">
|
|
47
|
+
<t t-esc="address" />
|
|
48
|
+
</div>
|
|
49
|
+
</t>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</template>
|
|
53
|
+
</odoo>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Jose Zambudio <jose@aurestic.es> ç
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="view_company_verifactu_form" model="ir.ui.view">
|
|
6
|
+
<field name="name">res.company.verifactu.form</field>
|
|
7
|
+
<field name="model">res.company</field>
|
|
8
|
+
<field name="inherit_id" ref="base.view_company_form" />
|
|
9
|
+
<field name="arch" type="xml">
|
|
10
|
+
<notebook position="inside">
|
|
11
|
+
<page name="verifactu" string="VERI*FACTU">
|
|
12
|
+
<group name="verifactu_enabled">
|
|
13
|
+
<field name="verifactu_enabled" string="Enabled?" />
|
|
14
|
+
</group>
|
|
15
|
+
<group invisible="not verifactu_enabled">
|
|
16
|
+
<group name="verifactu_config">
|
|
17
|
+
<field name="verifactu_test" string="Test environment?" />
|
|
18
|
+
<field name="verifactu_start_date" string="Start date" />
|
|
19
|
+
</group>
|
|
20
|
+
</group>
|
|
21
|
+
<group invisible="not verifactu_enabled">
|
|
22
|
+
<group name="verifactu_verifactu_chaining">
|
|
23
|
+
<field
|
|
24
|
+
name="verifactu_chaining_id"
|
|
25
|
+
string="Chaining reference"
|
|
26
|
+
required="verifactu_enabled"
|
|
27
|
+
/>
|
|
28
|
+
</group>
|
|
29
|
+
</group>
|
|
30
|
+
<group invisible="not verifactu_enabled">
|
|
31
|
+
<group name="verifactu_description">
|
|
32
|
+
<field
|
|
33
|
+
name="verifactu_description"
|
|
34
|
+
string="Default description"
|
|
35
|
+
/>
|
|
36
|
+
</group>
|
|
37
|
+
</group>
|
|
38
|
+
<group invisible="not verifactu_enabled">
|
|
39
|
+
<group name="verifactu_developer_id">
|
|
40
|
+
<field
|
|
41
|
+
name="verifactu_developer_id"
|
|
42
|
+
string="Developer reference"
|
|
43
|
+
/>
|
|
44
|
+
</group>
|
|
45
|
+
</group>
|
|
46
|
+
</page>
|
|
47
|
+
</notebook>
|
|
48
|
+
</field>
|
|
49
|
+
</record>
|
|
50
|
+
</odoo>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_chaining_form_view" model="ir.ui.view">
|
|
6
|
+
<field name="name">verifactu.chaining.form</field>
|
|
7
|
+
<field name="model">verifactu.chaining</field>
|
|
8
|
+
<field name="arch" type="xml">
|
|
9
|
+
<form>
|
|
10
|
+
<sheet>
|
|
11
|
+
<group>
|
|
12
|
+
<field name="name" />
|
|
13
|
+
<field name="last_verifactu_invoice_entry_id" />
|
|
14
|
+
<field name="sif_id" />
|
|
15
|
+
<field name="installation_number" />
|
|
16
|
+
</group>
|
|
17
|
+
</sheet>
|
|
18
|
+
<chatter />
|
|
19
|
+
</form>
|
|
20
|
+
</field>
|
|
21
|
+
</record>
|
|
22
|
+
<record id="verifactu_chaining_tree_view" model="ir.ui.view">
|
|
23
|
+
<field name="name">verifactu.chaining.list</field>
|
|
24
|
+
<field name="model">verifactu.chaining</field>
|
|
25
|
+
<field name="arch" type="xml">
|
|
26
|
+
<list>
|
|
27
|
+
<field name="name" />
|
|
28
|
+
<field name="last_verifactu_invoice_entry_id" />
|
|
29
|
+
<field name="sif_id" />
|
|
30
|
+
<field name="installation_number" />
|
|
31
|
+
</list>
|
|
32
|
+
</field>
|
|
33
|
+
</record>
|
|
34
|
+
<record id="verifactu_chaining_action" model="ir.actions.act_window">
|
|
35
|
+
<field name="name">VERI*FACTU chainings</field>
|
|
36
|
+
<field name="path">verifactu-chainings</field>
|
|
37
|
+
<field name="res_model">verifactu.chaining</field>
|
|
38
|
+
<field name="view_mode">list,form</field>
|
|
39
|
+
</record>
|
|
40
|
+
<menuitem
|
|
41
|
+
id="verifactu_chaining_menu"
|
|
42
|
+
action="verifactu_chaining_action"
|
|
43
|
+
parent="l10n_es_aeat.menu_l10n_es_aeat_config"
|
|
44
|
+
/>
|
|
45
|
+
</odoo>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_developer_form_view" model="ir.ui.view">
|
|
6
|
+
<field name="name">verifactu.developer.form</field>
|
|
7
|
+
<field name="model">verifactu.developer</field>
|
|
8
|
+
<field name="arch" type="xml">
|
|
9
|
+
<form>
|
|
10
|
+
<sheet>
|
|
11
|
+
<group>
|
|
12
|
+
<field name="name" />
|
|
13
|
+
<field name="vat" />
|
|
14
|
+
<field name="sif_name" />
|
|
15
|
+
<field name="version" />
|
|
16
|
+
<field name="responsibility_declaration" />
|
|
17
|
+
</group>
|
|
18
|
+
</sheet>
|
|
19
|
+
<chatter />
|
|
20
|
+
</form>
|
|
21
|
+
</field>
|
|
22
|
+
</record>
|
|
23
|
+
<record id="verifactu_developer_tree_view" model="ir.ui.view">
|
|
24
|
+
<field name="name">verifactu.developer.list</field>
|
|
25
|
+
<field name="model">verifactu.developer</field>
|
|
26
|
+
<field name="arch" type="xml">
|
|
27
|
+
<list>
|
|
28
|
+
<field name="name" />
|
|
29
|
+
<field name="vat" />
|
|
30
|
+
<field name="sif_name" />
|
|
31
|
+
<field name="version" />
|
|
32
|
+
</list>
|
|
33
|
+
</field>
|
|
34
|
+
</record>
|
|
35
|
+
<record id="verifactu_developer_action" model="ir.actions.act_window">
|
|
36
|
+
<field name="name">VERI*FACTU developers</field>
|
|
37
|
+
<field name="res_model">verifactu.developer</field>
|
|
38
|
+
<field name="path">verifactu-developers</field>
|
|
39
|
+
<field name="view_mode">list,form</field>
|
|
40
|
+
</record>
|
|
41
|
+
<menuitem
|
|
42
|
+
id="verifactu_developer_menu"
|
|
43
|
+
action="verifactu_developer_action"
|
|
44
|
+
parent="l10n_es_aeat.menu_l10n_es_aeat_config"
|
|
45
|
+
/>
|
|
46
|
+
</odoo>
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_invoice_entry_response_view_tree" model="ir.ui.view">
|
|
6
|
+
<field name="name">verifactu.invoice.entry.response.view.list</field>
|
|
7
|
+
<field name="model">verifactu.invoice.entry.response</field>
|
|
8
|
+
<field name="arch" type="xml">
|
|
9
|
+
<list create="false" delete="false" duplicate="0">
|
|
10
|
+
<field name="id" />
|
|
11
|
+
<field name="name" />
|
|
12
|
+
<field name="date_response" />
|
|
13
|
+
<field name="verifactu_csv" />
|
|
14
|
+
<field name="header" />
|
|
15
|
+
</list>
|
|
16
|
+
</field>
|
|
17
|
+
</record>
|
|
18
|
+
<record id="verifactu_invoice_entry_response_view_form" model="ir.ui.view">
|
|
19
|
+
<field name="name">verifactu.invoice.entry.response.view.form</field>
|
|
20
|
+
<field name="model">verifactu.invoice.entry.response</field>
|
|
21
|
+
<field name="arch" type="xml">
|
|
22
|
+
<form
|
|
23
|
+
string="VERI*FACTU Response"
|
|
24
|
+
create="false"
|
|
25
|
+
delete="false"
|
|
26
|
+
duplicate="0"
|
|
27
|
+
>
|
|
28
|
+
<sheet>
|
|
29
|
+
<h1 style="font-size: 1.9rem;">
|
|
30
|
+
<div class="row">
|
|
31
|
+
<div class="col col-md-8">
|
|
32
|
+
<label for="name" string="Name" />
|
|
33
|
+
<div>
|
|
34
|
+
<field name="name" style="width:80% !important;" />
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</h1>
|
|
39
|
+
<h2 style="font-size: 1.5rem;">
|
|
40
|
+
<label for="date_response" string="Date" />
|
|
41
|
+
<div>
|
|
42
|
+
<field name="date_response" style="width:80% !important;" />
|
|
43
|
+
</div>
|
|
44
|
+
</h2>
|
|
45
|
+
<notebook>
|
|
46
|
+
<page string="Details">
|
|
47
|
+
<group>
|
|
48
|
+
<group name="verifactu1">
|
|
49
|
+
<field name="response" readonly="1" />
|
|
50
|
+
<field name="header" readonly="1" />
|
|
51
|
+
<field name="invoice_data" readonly="1" />
|
|
52
|
+
</group>
|
|
53
|
+
<group name="verifactu2">
|
|
54
|
+
<div class="o_row" name="recruitment_target">
|
|
55
|
+
<span>Other details</span>
|
|
56
|
+
</div>
|
|
57
|
+
</group>
|
|
58
|
+
</group>
|
|
59
|
+
</page>
|
|
60
|
+
<page string="Details">
|
|
61
|
+
<field name="response_line_ids" readonly="1">
|
|
62
|
+
<list>
|
|
63
|
+
<field name="entry_id" column_invisible="1" />
|
|
64
|
+
<field name="entry_response_id" />
|
|
65
|
+
<field name="document_name" />
|
|
66
|
+
<field name="create_date" />
|
|
67
|
+
<field
|
|
68
|
+
name="send_state"
|
|
69
|
+
widget="badge"
|
|
70
|
+
decoration-success="send_state == 'sent'"
|
|
71
|
+
decoration-danger="send_state == 'not_sent'"
|
|
72
|
+
decoration-warning="send_state in ('sent_w_errors', 'incorrect', 'cancel_incorrect', 'cancel_w_errors')"
|
|
73
|
+
decoration-muted="send_state == 'cancel'"
|
|
74
|
+
/>
|
|
75
|
+
</list>
|
|
76
|
+
</field>
|
|
77
|
+
</page>
|
|
78
|
+
</notebook>
|
|
79
|
+
</sheet>
|
|
80
|
+
<chatter />
|
|
81
|
+
</form>
|
|
82
|
+
</field>
|
|
83
|
+
</record>
|
|
84
|
+
<record id="verifactu_invoice_entry_response_view_kanban" model="ir.ui.view">
|
|
85
|
+
<field name="name">verifactu.invoice.entry.response.view.kanban</field>
|
|
86
|
+
<field name="model">verifactu.invoice.entry.response</field>
|
|
87
|
+
<field name="arch" type="xml">
|
|
88
|
+
<kanban class="o_kanban_activity">
|
|
89
|
+
<field name="name" />
|
|
90
|
+
<field name="date_response" />
|
|
91
|
+
<templates>
|
|
92
|
+
<t t-name="card">
|
|
93
|
+
<field name="name" />
|
|
94
|
+
<field name="date_response" />
|
|
95
|
+
<field name="activity_type_id" />
|
|
96
|
+
</t>
|
|
97
|
+
</templates>
|
|
98
|
+
</kanban>
|
|
99
|
+
</field>
|
|
100
|
+
</record>
|
|
101
|
+
<record id="verifactu_invoice_entry_response_view_search" model="ir.ui.view">
|
|
102
|
+
<field name="name">verifactu.invoice.entry.response.view.search</field>
|
|
103
|
+
<field name="model">verifactu.invoice.entry.response</field>
|
|
104
|
+
<field name="arch" type="xml">
|
|
105
|
+
<search>
|
|
106
|
+
<field name="name" />
|
|
107
|
+
<group expand="0" string="Group By">
|
|
108
|
+
<filter
|
|
109
|
+
string="Activity Type"
|
|
110
|
+
name="name"
|
|
111
|
+
context="{'group_by':'activity_type_id'}"
|
|
112
|
+
/>
|
|
113
|
+
</group>
|
|
114
|
+
</search>
|
|
115
|
+
</field>
|
|
116
|
+
</record>
|
|
117
|
+
<record id="action_verifactu_invoice_entry_response" model="ir.actions.act_window">
|
|
118
|
+
<field name="name">VERI*FACTU responses</field>
|
|
119
|
+
<field name="res_model">verifactu.invoice.entry.response</field>
|
|
120
|
+
<field name="path">verifactu-invoice-entry-responses</field>
|
|
121
|
+
<field name="view_mode">list,form</field>
|
|
122
|
+
<field name="help" type="html">
|
|
123
|
+
<p class="o_view_nocontent_smiling_face">
|
|
124
|
+
No VERI*FACTU responses found!
|
|
125
|
+
</p>
|
|
126
|
+
</field>
|
|
127
|
+
</record>
|
|
128
|
+
<menuitem
|
|
129
|
+
id="menu_verifactu_invoice_entry_response"
|
|
130
|
+
parent="l10n_es_aeat.menu_l10n_es_aeat_config"
|
|
131
|
+
action="action_verifactu_invoice_entry_response"
|
|
132
|
+
sequence="51"
|
|
133
|
+
/>
|
|
134
|
+
</odoo>
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo>
|
|
3
|
+
<record id="view_verifactu_invoice_entry_tree" model="ir.ui.view">
|
|
4
|
+
<field name="name">verifactu.invoice.entry.list</field>
|
|
5
|
+
<field name="model">verifactu.invoice.entry</field>
|
|
6
|
+
<field name="arch" type="xml">
|
|
7
|
+
<list create="false" edit="false" delete="false" duplicate="0">
|
|
8
|
+
<field name="create_date" />
|
|
9
|
+
<field name="verifactu_chaining_id" />
|
|
10
|
+
<field name="document_id" optional="hide" />
|
|
11
|
+
<field name="model" optional="hide" />
|
|
12
|
+
<field name="document_name" />
|
|
13
|
+
<field name="company_id" groups="base.group_multi_company" />
|
|
14
|
+
<field name="document_hash" />
|
|
15
|
+
<field name="previous_hash" />
|
|
16
|
+
<field name="entry_type" />
|
|
17
|
+
<field
|
|
18
|
+
name="send_state"
|
|
19
|
+
widget="badge"
|
|
20
|
+
decoration-success="send_state == 'sent'"
|
|
21
|
+
decoration-danger="send_state == 'not_sent'"
|
|
22
|
+
decoration-warning="send_state in ('sent_w_errors', 'incorrect', 'cancel_incorrect', 'cancel_w_errors')"
|
|
23
|
+
decoration-muted="send_state == 'cancel'"
|
|
24
|
+
/>
|
|
25
|
+
</list>
|
|
26
|
+
</field>
|
|
27
|
+
</record>
|
|
28
|
+
<record id="view_verifactu_invoice_entry_form" model="ir.ui.view">
|
|
29
|
+
<field name="name">verifactu.invoice.entry.form</field>
|
|
30
|
+
<field name="model">verifactu.invoice.entry</field>
|
|
31
|
+
<field name="arch" type="xml">
|
|
32
|
+
<form create="false" edit="false" delete="false" duplicate="0">
|
|
33
|
+
<sheet>
|
|
34
|
+
<group>
|
|
35
|
+
<group>
|
|
36
|
+
<field name="verifactu_chaining_id" />
|
|
37
|
+
<field name="document_id" />
|
|
38
|
+
<field name="model" />
|
|
39
|
+
<field name="document_name" />
|
|
40
|
+
<field
|
|
41
|
+
name="company_id"
|
|
42
|
+
groups="base.group_multi_company"
|
|
43
|
+
/>
|
|
44
|
+
</group>
|
|
45
|
+
<group>
|
|
46
|
+
<field name="previous_invoice_entry_id" />
|
|
47
|
+
<field name="document_hash" />
|
|
48
|
+
<field name="create_date" />
|
|
49
|
+
<field name="entry_type" />
|
|
50
|
+
<field name="send_state" />
|
|
51
|
+
</group>
|
|
52
|
+
</group>
|
|
53
|
+
<notebook>
|
|
54
|
+
<page string="AEAT DATA">
|
|
55
|
+
<group>
|
|
56
|
+
<field name="aeat_json_data" widget="text" />
|
|
57
|
+
</group>
|
|
58
|
+
</page>
|
|
59
|
+
<page string="Responses">
|
|
60
|
+
<group>
|
|
61
|
+
<field name="response_line_ids">
|
|
62
|
+
<list>
|
|
63
|
+
<field name="entry_id" column_invisible="1" />
|
|
64
|
+
<field name="entry_response_id" />
|
|
65
|
+
<field name="create_date" />
|
|
66
|
+
<field
|
|
67
|
+
name="send_state"
|
|
68
|
+
widget="badge"
|
|
69
|
+
decoration-success="send_state == 'sent'"
|
|
70
|
+
decoration-danger="send_state == 'not_sent'"
|
|
71
|
+
decoration-warning="send_state in ('sent_w_errors', 'incorrect', 'cancel_incorrect', 'cancel_w_errors')"
|
|
72
|
+
decoration-muted="send_state == 'cancel'"
|
|
73
|
+
/>
|
|
74
|
+
</list>
|
|
75
|
+
</field>
|
|
76
|
+
</group>
|
|
77
|
+
</page>
|
|
78
|
+
</notebook>
|
|
79
|
+
</sheet>
|
|
80
|
+
</form>
|
|
81
|
+
</field>
|
|
82
|
+
</record>
|
|
83
|
+
<record id="view_verifactu_invoice_entry_search" model="ir.ui.view">
|
|
84
|
+
<field name="name">verifactu.invoice.entry.search</field>
|
|
85
|
+
<field name="model">verifactu.invoice.entry</field>
|
|
86
|
+
<field name="arch" type="xml">
|
|
87
|
+
<search>
|
|
88
|
+
<field name="document_id" />
|
|
89
|
+
<field name="company_id" />
|
|
90
|
+
<field name="document_hash" />
|
|
91
|
+
<filter
|
|
92
|
+
string="Company"
|
|
93
|
+
name="group_by_company"
|
|
94
|
+
domain="[]"
|
|
95
|
+
context="{'group_by': 'company_id'}"
|
|
96
|
+
/>
|
|
97
|
+
<filter
|
|
98
|
+
string="Chaining"
|
|
99
|
+
name="group_by_chaining"
|
|
100
|
+
domain="[]"
|
|
101
|
+
context="{'group_by': 'verifactu_chaining_id'}"
|
|
102
|
+
/>
|
|
103
|
+
<filter
|
|
104
|
+
string="Date"
|
|
105
|
+
name="group_by_date"
|
|
106
|
+
domain="[]"
|
|
107
|
+
context="{'group_by': 'create_date:month'}"
|
|
108
|
+
/>
|
|
109
|
+
</search>
|
|
110
|
+
</field>
|
|
111
|
+
</record>
|
|
112
|
+
<record id="action_verifactu_invoice_entry" model="ir.actions.act_window">
|
|
113
|
+
<field name="name">VERI*FACTU invoices</field>
|
|
114
|
+
<field name="res_model">verifactu.invoice.entry</field>
|
|
115
|
+
<field name="path">verifactu-invoice-entries</field>
|
|
116
|
+
<field name="view_mode">list,form</field>
|
|
117
|
+
<field name="help" type="html">
|
|
118
|
+
<p class="o_view_nocontent_smiling_face">
|
|
119
|
+
No VERI*FACTU invoice entries found!
|
|
120
|
+
</p>
|
|
121
|
+
<p>
|
|
122
|
+
Invoice entries are automatically created when invoices are validated
|
|
123
|
+
with VERI*FACTU enabled.
|
|
124
|
+
</p>
|
|
125
|
+
</field>
|
|
126
|
+
</record>
|
|
127
|
+
</odoo>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
Copyright 2025 Tecnativa - Pedro M. Baeza
|
|
4
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
5
|
+
<odoo>
|
|
6
|
+
<record id="l10n_es_verifactu_map_lines_view_tree" model="ir.ui.view">
|
|
7
|
+
<field name="model">verifactu.map.line</field>
|
|
8
|
+
<field name="arch" type="xml">
|
|
9
|
+
<list editable="bottom">
|
|
10
|
+
<field name="code" />
|
|
11
|
+
<field name="name" />
|
|
12
|
+
<field name="tax_xmlid_ids" widget="many2many_tags" />
|
|
13
|
+
</list>
|
|
14
|
+
</field>
|
|
15
|
+
</record>
|
|
16
|
+
</odoo>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_map_view_tree" model="ir.ui.view">
|
|
6
|
+
<field name="name">verifactu.map.view.list</field>
|
|
7
|
+
<field name="model">verifactu.map</field>
|
|
8
|
+
<field name="arch" type="xml">
|
|
9
|
+
<list>
|
|
10
|
+
<field name="name" />
|
|
11
|
+
<field name="date_from" />
|
|
12
|
+
<field name="date_to" />
|
|
13
|
+
</list>
|
|
14
|
+
</field>
|
|
15
|
+
</record>
|
|
16
|
+
<record id="verifactu_map_view_form" model="ir.ui.view">
|
|
17
|
+
<field name="name">verifactu.map.view.form</field>
|
|
18
|
+
<field name="model">verifactu.map</field>
|
|
19
|
+
<field name="arch" type="xml">
|
|
20
|
+
<form>
|
|
21
|
+
<sheet>
|
|
22
|
+
<group>
|
|
23
|
+
<group>
|
|
24
|
+
<field name="name" />
|
|
25
|
+
</group>
|
|
26
|
+
<group>
|
|
27
|
+
<field name="date_from" />
|
|
28
|
+
<field name="date_to" />
|
|
29
|
+
</group>
|
|
30
|
+
</group>
|
|
31
|
+
<group string="Mapping Lines" col="4">
|
|
32
|
+
<field
|
|
33
|
+
name="map_lines"
|
|
34
|
+
nolabel="1"
|
|
35
|
+
colspan="4"
|
|
36
|
+
context="{'active_test': False}"
|
|
37
|
+
/>
|
|
38
|
+
</group>
|
|
39
|
+
</sheet>
|
|
40
|
+
</form>
|
|
41
|
+
</field>
|
|
42
|
+
</record>
|
|
43
|
+
<record id="action_verifactu_mapping" model="ir.actions.act_window">
|
|
44
|
+
<field name="name">VERI*FACTU mappings</field>
|
|
45
|
+
<field name="res_model">verifactu.map</field>
|
|
46
|
+
<field name="path">verifactu-maps</field>
|
|
47
|
+
<field name="view_mode">list,form</field>
|
|
48
|
+
</record>
|
|
49
|
+
<menuitem
|
|
50
|
+
id="menu_verifactu_map"
|
|
51
|
+
parent="l10n_es_aeat.menu_l10n_es_aeat_config"
|
|
52
|
+
action="action_verifactu_mapping"
|
|
53
|
+
/>
|
|
54
|
+
</odoo>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Aures TIC - Almudena de La Puente
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_registration_keys_view_tree" model="ir.ui.view">
|
|
6
|
+
<field name="model">verifactu.registration.key</field>
|
|
7
|
+
<field name="arch" type="xml">
|
|
8
|
+
<list editable="bottom">
|
|
9
|
+
<field name="code" />
|
|
10
|
+
<field name="name" />
|
|
11
|
+
<field name="verifactu_tax_key" />
|
|
12
|
+
</list>
|
|
13
|
+
</field>
|
|
14
|
+
</record>
|
|
15
|
+
<record id="verifactu_registration_keys_view_search" model="ir.ui.view">
|
|
16
|
+
<field name="model">verifactu.registration.key</field>
|
|
17
|
+
<field name="arch" type="xml">
|
|
18
|
+
<search>
|
|
19
|
+
<field name="name" />
|
|
20
|
+
<field name="code" />
|
|
21
|
+
<field name="verifactu_tax_key" />
|
|
22
|
+
<group expand="0" string="Group By">
|
|
23
|
+
<filter
|
|
24
|
+
string="Tax Type"
|
|
25
|
+
name="tax_type"
|
|
26
|
+
context="{'group_by':'verifactu_tax_key'}"
|
|
27
|
+
/>
|
|
28
|
+
</group>
|
|
29
|
+
</search>
|
|
30
|
+
</field>
|
|
31
|
+
</record>
|
|
32
|
+
<record id="action_verifactu_registration_keys" model="ir.actions.act_window">
|
|
33
|
+
<field name="name">VERI*FACTU registration keys</field>
|
|
34
|
+
<field name="res_model">verifactu.registration.key</field>
|
|
35
|
+
<field name="path">verifactu-registration-keys</field>
|
|
36
|
+
<field name="view_mode">list,form</field>
|
|
37
|
+
</record>
|
|
38
|
+
<menuitem
|
|
39
|
+
id="menu_verifactu_registration_keys"
|
|
40
|
+
parent="l10n_es_aeat.menu_l10n_es_aeat_config"
|
|
41
|
+
action="action_verifactu_registration_keys"
|
|
42
|
+
/>
|
|
43
|
+
</odoo>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Copyright 2024 Aures TIC - Almudena de La Puente <almudena@aurestic.es>
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
from odoo import models
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AccountMoveReversal(models.TransientModel):
|
|
9
|
+
_inherit = "account.move.reversal"
|
|
10
|
+
|
|
11
|
+
def reverse_moves(self, is_modify=False):
|
|
12
|
+
res = super().reverse_moves(is_modify=is_modify)
|
|
13
|
+
self.move_ids.filtered(lambda mov: mov.move_type == "out_invoice").mapped(
|
|
14
|
+
"reversal_move_ids"
|
|
15
|
+
).write({"verifactu_refund_type": "I"})
|
|
16
|
+
return res
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Copyright 2025 Factor Libre - Almudena de La Puente
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
|
+
from odoo import fields, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class VerifactuCancelInvoiceWizard(models.TransientModel):
|
|
7
|
+
_name = "verifactu.cancel.invoice.wizard"
|
|
8
|
+
_description = "VERI*FACTU cancel invoice wizard"
|
|
9
|
+
|
|
10
|
+
invoice_id = fields.Many2one(
|
|
11
|
+
comodel_name="account.move",
|
|
12
|
+
string="Invoice",
|
|
13
|
+
required=True,
|
|
14
|
+
readonly=True,
|
|
15
|
+
)
|
|
16
|
+
cancel_reason = fields.Char(string="Cancellation reason")
|
|
17
|
+
|
|
18
|
+
def cancel_invoice_in_verifactu(self):
|
|
19
|
+
self.ensure_one()
|
|
20
|
+
invoice = self.invoice_id
|
|
21
|
+
invoice.verifactu_cancel_reason = self.cancel_reason
|
|
22
|
+
res = invoice.with_context(verifactu_cancel=True).button_cancel()
|
|
23
|
+
invoice.cancel_verifactu()
|
|
24
|
+
return res
|