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,195 @@
|
|
|
1
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
2
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
3
|
+
:alt: Odoo Community Association
|
|
4
|
+
|
|
5
|
+
=======================
|
|
6
|
+
Comunicación VERI*FACTU
|
|
7
|
+
=======================
|
|
8
|
+
|
|
9
|
+
..
|
|
10
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
11
|
+
!! This file is generated by oca-gen-addon-readme !!
|
|
12
|
+
!! changes will be overwritten. !!
|
|
13
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
14
|
+
!! source digest: sha256:c3c2f451254cc2c78b8c6084c2aa5dcaf61491b6bcb95eedcf40dcc3a990fd0f
|
|
15
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
16
|
+
|
|
17
|
+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
18
|
+
:target: https://odoo-community.org/page/development-status
|
|
19
|
+
:alt: Beta
|
|
20
|
+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
|
21
|
+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
|
22
|
+
:alt: License: AGPL-3
|
|
23
|
+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--spain-lightgray.png?logo=github
|
|
24
|
+
:target: https://github.com/OCA/l10n-spain/tree/18.0/l10n_es_verifactu_oca
|
|
25
|
+
:alt: OCA/l10n-spain
|
|
26
|
+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
|
27
|
+
:target: https://translation.odoo-community.org/projects/l10n-spain-18-0/l10n-spain-18-0-l10n_es_verifactu_oca
|
|
28
|
+
:alt: Translate me on Weblate
|
|
29
|
+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
|
30
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&target_branch=18.0
|
|
31
|
+
:alt: Try me on Runboat
|
|
32
|
+
|
|
33
|
+
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
34
|
+
|
|
35
|
+
Módulo para la presentación inmediata de la facturación.
|
|
36
|
+
|
|
37
|
+
**Table of contents**
|
|
38
|
+
|
|
39
|
+
.. contents::
|
|
40
|
+
:local:
|
|
41
|
+
|
|
42
|
+
Installation
|
|
43
|
+
============
|
|
44
|
+
|
|
45
|
+
Para instalar esté módulo necesita:
|
|
46
|
+
|
|
47
|
+
1. Libreria Python Zeep, se puede instalar con el comando 'pip install
|
|
48
|
+
zeep'
|
|
49
|
+
2. Libreria Python Requests, se puede instalar con el comando 'pip
|
|
50
|
+
install requests'
|
|
51
|
+
|
|
52
|
+
Configuration
|
|
53
|
+
=============
|
|
54
|
+
|
|
55
|
+
Para configurar este módulo es necesario:
|
|
56
|
+
|
|
57
|
+
1. Acceder a Facturación/Contabilidad -> Configuración -> AEAT ->
|
|
58
|
+
Agencia Tributaria, podrás consultar las URLs del servicio SOAP de
|
|
59
|
+
Hacienda. Estas URLs pueden cambiar según comunidades
|
|
60
|
+
2. El certificado enviado por la FMNT es en formato p12, este
|
|
61
|
+
certificado no se puede usar directamente con Zeep. Accede a
|
|
62
|
+
Facturación/Contabilidad -> Configuración -> AEAT -> Certificados
|
|
63
|
+
AEAT, y allí podrás: Subir el certificado p12 y extraer las claves
|
|
64
|
+
públicas y privadas con el botón "Obtener claves"
|
|
65
|
+
3. Debes tener en cuenta que los certificados se alojan en una carpeta
|
|
66
|
+
accesible por la instalación de Odoo.
|
|
67
|
+
4. Completar los datos de desarrollador y del encadenamiento a nivel de
|
|
68
|
+
compañía en la pestaña de VERI*FACTU.
|
|
69
|
+
|
|
70
|
+
En caso de que la obtención de claves no funcione y uses Linux, cuentas
|
|
71
|
+
con los siguientes comandos para tratar de solucionarlo:
|
|
72
|
+
|
|
73
|
+
- Clave pública: "openssl pkcs12 -in Certificado.p12 -nokeys -out
|
|
74
|
+
publicCert.crt -nodes"
|
|
75
|
+
- Clave privada: "openssl pkcs12 -in Certificado.p12 -nocerts -out
|
|
76
|
+
privateKey.pem -nodes"
|
|
77
|
+
|
|
78
|
+
1. Establecer en las posiciones fiscales la clave de impuestos y la
|
|
79
|
+
clave de registro VERI*FACTU.
|
|
80
|
+
2. Para aplicar las claves ejecute el asistente de actualización del
|
|
81
|
+
módulo accountchart_update.
|
|
82
|
+
|
|
83
|
+
Usage
|
|
84
|
+
=====
|
|
85
|
+
|
|
86
|
+
Cuando se valida una factura, automáticamente genera el registro de
|
|
87
|
+
envío para verifactu. Cada minuto se enviarán todos aquellos registros
|
|
88
|
+
pendientes de enviar mediante un cron.
|
|
89
|
+
|
|
90
|
+
Known issues / Roadmap
|
|
91
|
+
======================
|
|
92
|
+
|
|
93
|
+
- Refactorización SII-VERI*FACTU en l10nes_aeat de los métodos que
|
|
94
|
+
sean comunes.
|
|
95
|
+
- Envío separado de la confirmación de la factura
|
|
96
|
+
(cron.trigger/queque.job)
|
|
97
|
+
- Control de errores del sistema, generar avisos. (caída de aeat,
|
|
98
|
+
errores de conexión, etc.)
|
|
99
|
+
- Posibilidad de consultar el estado de las facturas enviadas.
|
|
100
|
+
- Operaciones exentas y causas de exención.
|
|
101
|
+
- Crear un selection con todos los valores posibles de codigos de
|
|
102
|
+
error, para poder guardarlo y agrupar las facturas por ese código.
|
|
103
|
+
- Contemplar el tiempo de espera entre envíos de registros cuando
|
|
104
|
+
AEAT devuelve un tiempo superior a 60 segundos.
|
|
105
|
+
- Facturación de terceros o de destinatarios (autofacturación), con
|
|
106
|
+
los datos de los mismos.
|
|
107
|
+
|
|
108
|
+
CASOS NO CUBIERTOS: 1 - Modificación de facturas enviadas (AEAT
|
|
109
|
+
recomienda generar rectificativa). Según AEAT: Si los errores detectados
|
|
110
|
+
tras la emisión NO están contemplados en el ROF, pero afectan a campos
|
|
111
|
+
del registro de facturación (RF) generado al emitir la factura (que,
|
|
112
|
+
digamos, “no se ven” en la factura impresa, es decir, son campos
|
|
113
|
+
“internos”, como ciertas codificaciones tributarias), se debe corregir
|
|
114
|
+
la factura original (esos datos “internos” de la misma) y se debe
|
|
115
|
+
generar un RF de alta de subsanación de esa factura donde conste ya la
|
|
116
|
+
nueva información que proceda. Estos casos deberían ser MUY POCO
|
|
117
|
+
FRECUENTES. 2 - Anulación de facturas enviadas (AEAT recomienda generar
|
|
118
|
+
rectificativa). Según AEAT: "Si se considera que "toda la factura" en sí
|
|
119
|
+
misma está mal o no debería haberse emitido, siempre que para
|
|
120
|
+
solucionarlo no deba emplearse algún procedimiento (de rectificativa u
|
|
121
|
+
otro) previsto en el ROF, se podrá "anular" generando para ello un RF de
|
|
122
|
+
anulación. Estos casos deberían ser MUY POCO FRECUENTES."
|
|
123
|
+
|
|
124
|
+
Bug Tracker
|
|
125
|
+
===========
|
|
126
|
+
|
|
127
|
+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-spain/issues>`_.
|
|
128
|
+
In case of trouble, please check there if your issue has already been reported.
|
|
129
|
+
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
130
|
+
`feedback <https://github.com/OCA/l10n-spain/issues/new?body=module:%20l10n_es_verifactu_oca%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
131
|
+
|
|
132
|
+
Do not contact contributors directly about support or help with technical issues.
|
|
133
|
+
|
|
134
|
+
Credits
|
|
135
|
+
=======
|
|
136
|
+
|
|
137
|
+
Authors
|
|
138
|
+
-------
|
|
139
|
+
|
|
140
|
+
* Aures Tic
|
|
141
|
+
* ForgeFlow
|
|
142
|
+
* Tecnativa
|
|
143
|
+
* Factor Libre
|
|
144
|
+
|
|
145
|
+
Contributors
|
|
146
|
+
------------
|
|
147
|
+
|
|
148
|
+
- Aures TIC:
|
|
149
|
+
|
|
150
|
+
- Jose Zambudio
|
|
151
|
+
- Almudena de La Puente
|
|
152
|
+
- Anna Martínez
|
|
153
|
+
|
|
154
|
+
- ForgeFlow S.L.:
|
|
155
|
+
|
|
156
|
+
- Laura Cazorla
|
|
157
|
+
- Andreu Orensanz
|
|
158
|
+
- Jordi Ballester
|
|
159
|
+
|
|
160
|
+
- Ozono multimedia:
|
|
161
|
+
|
|
162
|
+
- Iván Antón
|
|
163
|
+
|
|
164
|
+
- SDi:
|
|
165
|
+
|
|
166
|
+
- Fernando La Chica
|
|
167
|
+
|
|
168
|
+
- Process control:
|
|
169
|
+
|
|
170
|
+
- Jorge Luis López
|
|
171
|
+
|
|
172
|
+
- Tecnativa:
|
|
173
|
+
|
|
174
|
+
- Pedro M. Baeza
|
|
175
|
+
|
|
176
|
+
- Factor Libre S.L.:
|
|
177
|
+
|
|
178
|
+
- Luis J. Salvatierra
|
|
179
|
+
|
|
180
|
+
Maintainers
|
|
181
|
+
-----------
|
|
182
|
+
|
|
183
|
+
This module is maintained by the OCA.
|
|
184
|
+
|
|
185
|
+
.. image:: https://odoo-community.org/logo.png
|
|
186
|
+
:alt: Odoo Community Association
|
|
187
|
+
:target: https://odoo-community.org
|
|
188
|
+
|
|
189
|
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
190
|
+
mission is to support the collaborative development of Odoo features and
|
|
191
|
+
promote its widespread use.
|
|
192
|
+
|
|
193
|
+
This module is part of the `OCA/l10n-spain <https://github.com/OCA/l10n-spain/tree/18.0/l10n_es_verifactu_oca>`_ project on GitHub.
|
|
194
|
+
|
|
195
|
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Copyright 2024 Aures Tic - Jose Zambudio
|
|
2
|
+
# Copyright 2024,2025 Aures TIC - Almudena de La Puente
|
|
3
|
+
# Copyright 2024 FactorLibre - Aritz Olea
|
|
4
|
+
# Copyright 2024,2025 ForgeFlow S.L.
|
|
5
|
+
# Copyright 2025 Tecnativa - Pedro M. Baeza
|
|
6
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
7
|
+
|
|
8
|
+
{
|
|
9
|
+
"name": "Comunicación VERI*FACTU",
|
|
10
|
+
"version": "18.0.1.2.1",
|
|
11
|
+
"category": "Accounting/Localizations/EDI",
|
|
12
|
+
"website": "https://github.com/OCA/l10n-spain",
|
|
13
|
+
"author": "Aures Tic,"
|
|
14
|
+
"ForgeFlow,"
|
|
15
|
+
"Tecnativa,"
|
|
16
|
+
"Factor Libre,"
|
|
17
|
+
"Odoo Community Association (OCA)",
|
|
18
|
+
"license": "AGPL-3",
|
|
19
|
+
"installable": True,
|
|
20
|
+
"depends": ["account_invoice_refund_link", "l10n_es_aeat"],
|
|
21
|
+
"excludes": ["account_journal_restrict_mode"],
|
|
22
|
+
"data": [
|
|
23
|
+
"data/verifactu_tax_agency_data.xml",
|
|
24
|
+
"data/verifactu_registration_key_data.xml",
|
|
25
|
+
"data/l10n.es.aeat.map.tax.line.tax.csv", # should be before verifactu.map*
|
|
26
|
+
"data/verifactu.map.csv",
|
|
27
|
+
"data/verifactu.map.line.csv",
|
|
28
|
+
"data/ir_config_parameter.xml",
|
|
29
|
+
"data/ir_cron.xml",
|
|
30
|
+
"data/mail_activity_data.xml",
|
|
31
|
+
"security/verifactu_security.xml",
|
|
32
|
+
"security/ir.model.access.csv",
|
|
33
|
+
"views/aeat_tax_agency_view.xml",
|
|
34
|
+
"views/account_move_view.xml",
|
|
35
|
+
"views/account_fiscal_position_view.xml",
|
|
36
|
+
"views/res_company_view.xml",
|
|
37
|
+
"views/account_journal_view.xml",
|
|
38
|
+
"views/verifactu_map_view.xml",
|
|
39
|
+
"views/verifactu_map_lines_view.xml",
|
|
40
|
+
"views/verifactu_registration_keys_view.xml",
|
|
41
|
+
"views/verifactu_invoice_entry_view.xml",
|
|
42
|
+
"views/verifactu_chaining_view.xml",
|
|
43
|
+
"views/verifactu_developer_view.xml",
|
|
44
|
+
"views/report_invoice.xml",
|
|
45
|
+
"views/verifactu_invoice_entry_response_view.xml",
|
|
46
|
+
"wizards/verifactu_cancel_invoice_wizard_view.xml",
|
|
47
|
+
],
|
|
48
|
+
"pre_init_hook": "pre_init_hook",
|
|
49
|
+
"post_init_hook": "post_init_hook",
|
|
50
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Almudena de La Puente <almudena@aurestic.es>
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo noupdate="1">
|
|
5
|
+
<record id="verifactu_batch" model="ir.config_parameter">
|
|
6
|
+
<field name="key">l10n_es_verifactu_oca.verifactu_batch</field>
|
|
7
|
+
<field name="value">1000</field>
|
|
8
|
+
</record>
|
|
9
|
+
</odoo>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Almudena de La Puente <almudena@aurestic.es>
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo noupdate="1">
|
|
5
|
+
<record forcecreate="True" id="invoice_entry_send_to_verifactu" model="ir.cron">
|
|
6
|
+
<field name="name">Send invoices to VERI*FACTU</field>
|
|
7
|
+
<field name="model_id" ref="model_verifactu_invoice_entry" />
|
|
8
|
+
<field name="state">code</field>
|
|
9
|
+
<field name="code">model._cron_send_documents_to_verifactu()</field>
|
|
10
|
+
<field name='interval_number'>1</field>
|
|
11
|
+
<field name='interval_type'>minutes</field>
|
|
12
|
+
</record>
|
|
13
|
+
</odoo>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
id,name
|
|
2
|
+
s_iva21b,account_tax_template_s_iva21b
|
|
3
|
+
s_iva0b,account_tax_template_s_iva0b
|
|
4
|
+
s_iva2b,account_tax_template_s_iva2b
|
|
5
|
+
s_iva4b,account_tax_template_s_iva4b
|
|
6
|
+
s_iva5b,account_tax_template_s_iva5b
|
|
7
|
+
s_iva7-5b,account_tax_template_s_iva7-5b
|
|
8
|
+
s_iva10b,account_tax_template_s_iva10b
|
|
9
|
+
s_iva0_isp,account_tax_template_s_iva0_isp
|
|
10
|
+
s_iva_ns_b,account_tax_template_s_iva_ns_b
|
|
11
|
+
s_iva_e,account_tax_template_s_iva_e
|
|
12
|
+
s_iva0_sp_i,account_tax_template_s_iva0_sp_i
|
|
13
|
+
s_iva_ns,account_tax_template_s_iva_ns
|
|
14
|
+
s_iva21s,account_tax_template_s_iva21s
|
|
15
|
+
s_iva10s,account_tax_template_s_iva10s
|
|
16
|
+
s_iva0s,account_tax_template_s_iva0s
|
|
17
|
+
s_iva2s,account_tax_template_s_iva2s
|
|
18
|
+
s_iva4s,account_tax_template_s_iva4s
|
|
19
|
+
s_iva5s,account_tax_template_s_iva5s
|
|
20
|
+
s_iva7-5s,account_tax_template_s_iva7-5s
|
|
21
|
+
s_iva0_g_i,account_tax_template_s_iva0_g_i
|
|
22
|
+
s_iva0_g_e,account_tax_template_s_iva0_g_e
|
|
23
|
+
s_iva0_art22,account_tax_template_s_iva0_art22
|
|
24
|
+
s_iva0_art23,account_tax_template_s_iva0_art23
|
|
25
|
+
s_iva0_e,account_tax_template_s_iva0_e
|
|
26
|
+
s_iva0_nsd,account_tax_template_s_iva0_nsd
|
|
27
|
+
s_req52,account_tax_template_s_req52
|
|
28
|
+
s_req014,account_tax_template_s_req014
|
|
29
|
+
s_req062,account_tax_template_s_req062
|
|
30
|
+
s_req1,account_tax_template_s_req1
|
|
31
|
+
s_req05,account_tax_template_s_req05
|
|
32
|
+
s_req026,account_tax_template_s_req026
|
|
33
|
+
s_req0,account_tax_template_s_req0
|
|
34
|
+
s_irpf1,account_tax_template_s_irpf1
|
|
35
|
+
s_irpf2,account_tax_template_s_irpf2
|
|
36
|
+
s_irpf7,account_tax_template_s_irpf7
|
|
37
|
+
s_irpf9,account_tax_template_s_irpf9
|
|
38
|
+
s_irpf15,account_tax_template_s_irpf15
|
|
39
|
+
s_irpf18,account_tax_template_s_irpf18
|
|
40
|
+
s_irpf19,account_tax_template_s_irpf19
|
|
41
|
+
s_irpfnrue19,account_tax_template_s_irpf19
|
|
42
|
+
s_irpf19a,account_tax_template_s_irpf19a
|
|
43
|
+
s_irpf195a,account_tax_template_s_irpf195a
|
|
44
|
+
s_irpf20,account_tax_template_s_irpf20
|
|
45
|
+
s_irpf20a,account_tax_template_s_irpf20a
|
|
46
|
+
s_irpf21,account_tax_template_s_irpf21
|
|
47
|
+
s_irpf21a,account_tax_template_s_irpf21a
|
|
48
|
+
s_irpf24,account_tax_template_s_irpf24
|
|
49
|
+
s_irpfnrnue24,account_tax_template_s_irpf24
|
|
50
|
+
s_iva0_ns,account_tax_template_s_iva0_ns
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo>
|
|
3
|
+
<record id="mail_activity_data_exception" model="mail.activity.type">
|
|
4
|
+
<field name="name">Exception</field>
|
|
5
|
+
<field name="icon">fa-exclamation-triangle</field>
|
|
6
|
+
<field name="sequence">5</field>
|
|
7
|
+
<field name="summary">Connection error with VERI*FACTU</field>
|
|
8
|
+
<field name="res_model">verifactu.invoice.entry.response</field>
|
|
9
|
+
<field name="default_user_id" ref="base.user_admin" />
|
|
10
|
+
</record>
|
|
11
|
+
</odoo>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id,verifactu_registration_key:id,verifactu_tax_key
|
|
2
|
+
"fp_nacional","verifactu_registration_keys_01","01"
|
|
3
|
+
"fp_intra","verifactu_registration_keys_01","01"
|
|
4
|
+
"fp_extra","verifactu_registration_keys_02","01"
|
|
5
|
+
"fp_not_subject_tai","verifactu_registration_keys_08","01"
|
|
6
|
+
"fp_recargo","verifactu_registration_keys_18","01"
|
|
7
|
+
"fp_recargo_isp","verifactu_registration_keys_18","01"
|
|
8
|
+
"fp_irpf1","verifactu_registration_keys_01","01"
|
|
9
|
+
"fp_irpf2","verifactu_registration_keys_01","01"
|
|
10
|
+
"fp_irpf7","verifactu_registration_keys_01","01"
|
|
11
|
+
"fp_irpf9","verifactu_registration_keys_01","01"
|
|
12
|
+
"fp_irpf15","verifactu_registration_keys_01","01"
|
|
13
|
+
"fp_irpf18","verifactu_registration_keys_01","01"
|
|
14
|
+
"fp_irpf19","verifactu_registration_keys_01","01"
|
|
15
|
+
"fp_irpf19a","verifactu_registration_keys_01","01"
|
|
16
|
+
"fp_irpf195a","verifactu_registration_keys_01","01"
|
|
17
|
+
"fp_irpf20","verifactu_registration_keys_01","01"
|
|
18
|
+
"fp_irpf24","verifactu_registration_keys_01","01"
|
|
19
|
+
"fp_irpf20a","verifactu_registration_keys_01","01"
|
|
20
|
+
"fp_irpf21","verifactu_registration_keys_01","01"
|
|
21
|
+
"fp_irpf21a","verifactu_registration_keys_01","01"
|
|
22
|
+
"fp_irpfnrnue24","verifactu_registration_keys_01","01"
|
|
23
|
+
"fp_irpfnrue19","verifactu_registration_keys_01","01"
|
|
24
|
+
"fp_irpfnrnue0",,"05"
|
|
25
|
+
"fp_ispn","verifactu_registration_keys_01","01"
|
|
26
|
+
"fp_reagyp_a","verifactu_registration_keys_19","01"
|
|
27
|
+
"fp_reagyp_gp","verifactu_registration_keys_19","01"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
id,code,name,tax_xmlid_ids:id,verifactu_map_id:id
|
|
2
|
+
"verifactu_map_line_S1","S1","Operación Sujeta y No exenta - Sin inversión del sujeto pasivo.","s_iva21b,s_iva0b,s_iva2b,s_iva4b,s_iva5b,s_iva7-5b,s_iva10b,s_iva21s,s_iva10s,s_iva0s,s_iva2s,s_iva4s,s_iva5s,s_iva7-5s,s_iva0_g_i,s_iva0_sp_i,s_iva0_g_e,s_iva_e,s_iva0_e","verifactu_map"
|
|
3
|
+
"verifactu_map_line_S2","S2","Operación Sujeta y No exenta - Con Inversión del sujeto pasivo","s_iva0_isp","verifactu_map"
|
|
4
|
+
"verifactu_map_line_N1","N1","Operación No Sujeta artículo 7, 14, otros.",,"verifactu_map"
|
|
5
|
+
"verifactu_map_line_N2","N2","Operación No Sujeta por Reglas de localización.","s_iva_ns_b,s_iva_ns","verifactu_map"
|
|
6
|
+
"verifactu_map_line_RE","RE","Recargo Equivalencia","s_req52,s_req014,s_req062,s_req1,s_req05,s_req026,s_req0","verifactu_map"
|
|
7
|
+
"verifactu_map_line_tax_not_included","TaxNotIncludedInTotal","Impuestos no incluidos en ImporteTotal","s_irpf1,s_irpf2,s_irpf7,s_irpf9,s_irpf15,s_irpf18,s_irpf19,s_irpf19a,s_irpf195a,s_irpf20,s_irpf20a,s_irpf21,s_irpf21a,s_irpf24,s_irpfnrnue24,s_irpfnrue19","verifactu_map"
|
|
8
|
+
"verifactu_map_line_base_not_included","BaseNotIncludedInTotal","Bases no incluidas en ImporteTotal","s_iva0_art22,s_iva0_art23,s_iva0_g_e,s_iva0_g_i,s_iva0_nsd,s_iva0_ns","verifactu_map"
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<!-- Copyright 2024 Almudena de La Puente <almudena@aurestic.es>
|
|
3
|
+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
|
4
|
+
<odoo>
|
|
5
|
+
<record id="verifactu_registration_keys_01" model="verifactu.registration.key">
|
|
6
|
+
<field name="code">01</field>
|
|
7
|
+
<field name="name">Operación de régimen general</field>
|
|
8
|
+
<field name="verifactu_tax_key">01</field>
|
|
9
|
+
</record>
|
|
10
|
+
<record id="verifactu_registration_keys_02" model="verifactu.registration.key">
|
|
11
|
+
<field name="code">02</field>
|
|
12
|
+
<field name="name">Exportación</field>
|
|
13
|
+
<field name="verifactu_tax_key">01</field>
|
|
14
|
+
</record>
|
|
15
|
+
<record id="verifactu_registration_keys_03" model="verifactu.registration.key">
|
|
16
|
+
<field name="code">03</field>
|
|
17
|
+
<field
|
|
18
|
+
name="name"
|
|
19
|
+
>Operaciones a las que se aplique el régimen especial de bienes usados, objetos de arte, antigüedades y objetos de colección</field>
|
|
20
|
+
<field name="verifactu_tax_key">01</field>
|
|
21
|
+
</record>
|
|
22
|
+
<record id="verifactu_registration_keys_04" model="verifactu.registration.key">
|
|
23
|
+
<field name="code">04</field>
|
|
24
|
+
<field name="name">Régimen especial oro de inversión</field>
|
|
25
|
+
<field name="verifactu_tax_key">01</field>
|
|
26
|
+
</record>
|
|
27
|
+
<record id="verifactu_registration_keys_05" model="verifactu.registration.key">
|
|
28
|
+
<field name="code">05</field>
|
|
29
|
+
<field name="name">Régimen especial agencias de viajes</field>
|
|
30
|
+
<field name="verifactu_tax_key">01</field>
|
|
31
|
+
</record>
|
|
32
|
+
<record id="verifactu_registration_keys_06" model="verifactu.registration.key">
|
|
33
|
+
<field name="code">06</field>
|
|
34
|
+
<field
|
|
35
|
+
name="name"
|
|
36
|
+
>Régimen especial grupo de entidades en IVA (Nivel Avanzado)</field>
|
|
37
|
+
<field name="verifactu_tax_key">01</field>
|
|
38
|
+
</record>
|
|
39
|
+
<record id="verifactu_registration_keys_07" model="verifactu.registration.key">
|
|
40
|
+
<field name="code">07</field>
|
|
41
|
+
<field name="name">Régimen especial criterio de caja</field>
|
|
42
|
+
<field name="verifactu_tax_key">01</field>
|
|
43
|
+
</record>
|
|
44
|
+
<record id="verifactu_registration_keys_08" model="verifactu.registration.key">
|
|
45
|
+
<field name="code">08</field>
|
|
46
|
+
<field
|
|
47
|
+
name="name"
|
|
48
|
+
>Operaciones sujetas al IPSI / IGIC (Impuesto sobre la Producción, los Servicios y la Importación / Impuesto General Indirecto Canario)</field>
|
|
49
|
+
<field name="verifactu_tax_key">01</field>
|
|
50
|
+
</record>
|
|
51
|
+
<record id="verifactu_registration_keys_09" model="verifactu.registration.key">
|
|
52
|
+
<field name="code">09</field>
|
|
53
|
+
<field
|
|
54
|
+
name="name"
|
|
55
|
+
>Facturación de las prestaciones de servicios de agencias de viaje que actúan como mediadoras en nombre y por cuenta ajena (D.A.4ª RD1619/2012)</field>
|
|
56
|
+
<field name="verifactu_tax_key">01</field>
|
|
57
|
+
</record>
|
|
58
|
+
<record id="verifactu_registration_keys_10" model="verifactu.registration.key">
|
|
59
|
+
<field name="code">10</field>
|
|
60
|
+
<field
|
|
61
|
+
name="name"
|
|
62
|
+
>Cobros por cuenta de terceros de honorarios profesionales o de derechos derivados de la propiedad industrial, de autor u otros por cuenta de sus socios, asociados o colegiados efectuados por sociedades, asociaciones, colegios profesionales u otras entidades que realicen estas funciones de cobro</field>
|
|
63
|
+
<field name="verifactu_tax_key">01</field>
|
|
64
|
+
</record>
|
|
65
|
+
<record id="verifactu_registration_keys_11" model="verifactu.registration.key">
|
|
66
|
+
<field name="code">11</field>
|
|
67
|
+
<field name="name">Operaciones de arrendamiento de local de negocio.</field>
|
|
68
|
+
<field name="verifactu_tax_key">01</field>
|
|
69
|
+
</record>
|
|
70
|
+
<record id="verifactu_registration_keys_14" model="verifactu.registration.key">
|
|
71
|
+
<field name="code">14</field>
|
|
72
|
+
<field
|
|
73
|
+
name="name"
|
|
74
|
+
>Factura con IVA pendiente de devengo en certificaciones de obra cuyo destinatario sea una Administración Pública.</field>
|
|
75
|
+
<field name="verifactu_tax_key">01</field>
|
|
76
|
+
</record>
|
|
77
|
+
<record id="verifactu_registration_keys_15" model="verifactu.registration.key">
|
|
78
|
+
<field name="code">15</field>
|
|
79
|
+
<field
|
|
80
|
+
name="name"
|
|
81
|
+
>Factura con IVA pendiente de devengo en operaciones de tracto sucesivo</field>
|
|
82
|
+
<field name="verifactu_tax_key">01</field>
|
|
83
|
+
</record>
|
|
84
|
+
<record id="verifactu_registration_keys_17" model="verifactu.registration.key">
|
|
85
|
+
<field name="code">17</field>
|
|
86
|
+
<field
|
|
87
|
+
name="name"
|
|
88
|
+
>Operación acogida a alguno de los regímenes previstos en el Capítulo XI del Título IX (OSS e IOSS)</field>
|
|
89
|
+
<field name="verifactu_tax_key">01</field>
|
|
90
|
+
</record>
|
|
91
|
+
<record id="verifactu_registration_keys_18" model="verifactu.registration.key">
|
|
92
|
+
<field name="code">18</field>
|
|
93
|
+
<field name="name">Recargo de equivalencia.</field>
|
|
94
|
+
<field name="verifactu_tax_key">01</field>
|
|
95
|
+
</record>
|
|
96
|
+
<record id="verifactu_registration_keys_19" model="verifactu.registration.key">
|
|
97
|
+
<field name="code">19</field>
|
|
98
|
+
<field
|
|
99
|
+
name="name"
|
|
100
|
+
>Operaciones de actividades incluidas en el Régimen Especial de Agricultura, Ganadería y Pesca (REAGYP)</field>
|
|
101
|
+
<field name="verifactu_tax_key">01</field>
|
|
102
|
+
</record>
|
|
103
|
+
<record id="verifactu_registration_keys_20" model="verifactu.registration.key">
|
|
104
|
+
<field name="code">20</field>
|
|
105
|
+
<field name="name">Régimen simplificado</field>
|
|
106
|
+
<field name="verifactu_tax_key">01</field>
|
|
107
|
+
</record>
|
|
108
|
+
|
|
109
|
+
<record id="verifactu_registration_keys_igic_01" model="verifactu.registration.key">
|
|
110
|
+
<field name="code">01</field>
|
|
111
|
+
<field name="name">Operación de régimen general</field>
|
|
112
|
+
<field name="verifactu_tax_key">03</field>
|
|
113
|
+
</record>
|
|
114
|
+
<record id="verifactu_registration_keys_igic_02" model="verifactu.registration.key">
|
|
115
|
+
<field name="code">02</field>
|
|
116
|
+
<field name="name">Exportación</field>
|
|
117
|
+
<field name="verifactu_tax_key">03</field>
|
|
118
|
+
</record>
|
|
119
|
+
<record id="verifactu_registration_keys_igic_03" model="verifactu.registration.key">
|
|
120
|
+
<field name="code">03</field>
|
|
121
|
+
<field
|
|
122
|
+
name="name"
|
|
123
|
+
>Operaciones a las que se aplique el régimen especial de bienes usados, objetos de arte, antigüedades y objetos de colección</field>
|
|
124
|
+
<field name="verifactu_tax_key">03</field>
|
|
125
|
+
</record>
|
|
126
|
+
<record id="verifactu_registration_keys_igic_04" model="verifactu.registration.key">
|
|
127
|
+
<field name="code">04</field>
|
|
128
|
+
<field name="name">Régimen especial oro de inversión</field>
|
|
129
|
+
<field name="verifactu_tax_key">03</field>
|
|
130
|
+
</record>
|
|
131
|
+
<record id="verifactu_registration_keys_igic_05" model="verifactu.registration.key">
|
|
132
|
+
<field name="code">05</field>
|
|
133
|
+
<field name="name">Régimen especial agencias de viajes</field>
|
|
134
|
+
<field name="verifactu_tax_key">03</field>
|
|
135
|
+
</record>
|
|
136
|
+
<record id="verifactu_registration_keys_igic_06" model="verifactu.registration.key">
|
|
137
|
+
<field name="code">06</field>
|
|
138
|
+
<field
|
|
139
|
+
name="name"
|
|
140
|
+
>Régimen especial grupo de entidades en IGIC (Nivel Avanzado)</field>
|
|
141
|
+
<field name="verifactu_tax_key">01</field>
|
|
142
|
+
</record>
|
|
143
|
+
<record id="verifactu_registration_keys_igic_07" model="verifactu.registration.key">
|
|
144
|
+
<field name="code">07</field>
|
|
145
|
+
<field name="name">Régimen especial criterio de caja</field>
|
|
146
|
+
<field name="verifactu_tax_key">03</field>
|
|
147
|
+
</record>
|
|
148
|
+
<record id="verifactu_registration_keys_igic_08" model="verifactu.registration.key">
|
|
149
|
+
<field name="code">08</field>
|
|
150
|
+
<field
|
|
151
|
+
name="name"
|
|
152
|
+
>Operaciones sujetas al IPSI / IVA (Impuesto sobre la Producción, los Servicios y la Importación / Impuesto sobre el Valor Añadido).</field>
|
|
153
|
+
<field name="verifactu_tax_key">03</field>
|
|
154
|
+
</record>
|
|
155
|
+
<record id="verifactu_registration_keys_igic_09" model="verifactu.registration.key">
|
|
156
|
+
<field name="code">09</field>
|
|
157
|
+
<field
|
|
158
|
+
name="name"
|
|
159
|
+
>Facturación de las prestaciones de servicios de agencias de viaje que actúan como mediadoras en nombre y por cuenta ajena (D.A.4ª RD1619/2012)</field>
|
|
160
|
+
<field name="verifactu_tax_key">03</field>
|
|
161
|
+
</record>
|
|
162
|
+
<record id="verifactu_registration_keys_igic_10" model="verifactu.registration.key">
|
|
163
|
+
<field name="code">10</field>
|
|
164
|
+
<field
|
|
165
|
+
name="name"
|
|
166
|
+
>Cobros por cuenta de terceros de honorarios profesionales o de derechos derivados de la propiedad industrial, de autor u otros por cuenta de sus socios, asociados o colegiados efectuados por sociedades, asociaciones, colegios profesionales u otras entidades que realicen estas funciones de cobro.</field>
|
|
167
|
+
<field name="verifactu_tax_key">03</field>
|
|
168
|
+
</record>
|
|
169
|
+
<record id="verifactu_registration_keys_igic_11" model="verifactu.registration.key">
|
|
170
|
+
<field name="code">11</field>
|
|
171
|
+
<field name="name">Operaciones de arrendamiento de local de negocio.</field>
|
|
172
|
+
<field name="verifactu_tax_key">03</field>
|
|
173
|
+
</record>
|
|
174
|
+
<record id="verifactu_registration_keys_igic_14" model="verifactu.registration.key">
|
|
175
|
+
<field name="code">14</field>
|
|
176
|
+
<field
|
|
177
|
+
name="name"
|
|
178
|
+
>Factura con IGIC pendiente de devengo en certificaciones de obra cuyo destinatario sea una Administración Pública.</field>
|
|
179
|
+
<field name="verifactu_tax_key">03</field>
|
|
180
|
+
</record>
|
|
181
|
+
<record id="verifactu_registration_keys_igic_15" model="verifactu.registration.key">
|
|
182
|
+
<field name="code">15</field>
|
|
183
|
+
<field
|
|
184
|
+
name="name"
|
|
185
|
+
>Factura con IGIC pendiente de devengo en operaciones de tracto sucesivo.</field>
|
|
186
|
+
<field name="verifactu_tax_key">03</field>
|
|
187
|
+
</record>
|
|
188
|
+
<record id="verifactu_registration_keys_igic_17" model="verifactu.registration.key">
|
|
189
|
+
<field name="code">17</field>
|
|
190
|
+
<field name="name">Régimen especial de comerciante minorista</field>
|
|
191
|
+
<field name="verifactu_tax_key">03</field>
|
|
192
|
+
</record>
|
|
193
|
+
<record id="verifactu_registration_keys_igic_18" model="verifactu.registration.key">
|
|
194
|
+
<field name="code">18</field>
|
|
195
|
+
<field name="name">Régimen especial del pequeño empresario o profesional</field>
|
|
196
|
+
<field name="verifactu_tax_key">03</field>
|
|
197
|
+
</record>
|
|
198
|
+
<record id="verifactu_registration_keys_igic_19" model="verifactu.registration.key">
|
|
199
|
+
<field name="code">19</field>
|
|
200
|
+
<field
|
|
201
|
+
name="name"
|
|
202
|
+
>Operaciones interiores exentas por aplicación artículo 25 Ley 19/1994</field>
|
|
203
|
+
<field name="verifactu_tax_key">03</field>
|
|
204
|
+
</record>
|
|
205
|
+
</odoo>
|
|
@@ -0,0 +1,19 @@
|
|
|
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="l10n_es_aeat.aeat_tax_agency_spain" model="aeat.tax.agency">
|
|
6
|
+
<field
|
|
7
|
+
name="verifactu_wsdl_out"
|
|
8
|
+
>https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl</field>
|
|
9
|
+
<field
|
|
10
|
+
name="verifactu_wsdl_out_test_address"
|
|
11
|
+
>https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP</field>
|
|
12
|
+
<field
|
|
13
|
+
name="verifactu_qr_base_url"
|
|
14
|
+
>https://www2.agenciatributaria.gob.es/wlpl/TIKE-CONT/ValidarQR</field>
|
|
15
|
+
<field
|
|
16
|
+
name="verifactu_qr_base_url_test_address"
|
|
17
|
+
>https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR</field>
|
|
18
|
+
</record>
|
|
19
|
+
</odoo>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Copyright 2025 Tecnativa - Pedro M. Baeza
|
|
2
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
3
|
+
from odoo import tools
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def pre_init_hook(env):
|
|
7
|
+
"""Avoid the heavy compute methods, specially when account.move table is very
|
|
8
|
+
populated, pre-creating the columns and filling them with sane defaultes. Some of it
|
|
9
|
+
is done on post-init hook.
|
|
10
|
+
WARNING: For special cases like IGIC or other, the default value doesn't serve.
|
|
11
|
+
"""
|
|
12
|
+
cr = env.cr
|
|
13
|
+
column_exists = tools.sql.column_exists
|
|
14
|
+
create_column = tools.sql.create_column
|
|
15
|
+
if not column_exists(cr, "account_move", "verifactu_refund_type"):
|
|
16
|
+
create_column(cr, "account_move", "verifactu_refund_type", "varchar")
|
|
17
|
+
cr.execute(
|
|
18
|
+
"UPDATE account_move SET verifactu_refund_type = 'I' "
|
|
19
|
+
"WHERE move_type = 'out_refund'"
|
|
20
|
+
)
|
|
21
|
+
if not column_exists(cr, "account_move", "verifactu_registration_key"):
|
|
22
|
+
create_column(cr, "account_move", "verifactu_registration_key", "int4")
|
|
23
|
+
# Initialization done on post-init
|
|
24
|
+
if not column_exists(cr, "account_move", "verifactu_tax_key"):
|
|
25
|
+
create_column(cr, "account_move", "verifactu_tax_key", "varchar")
|
|
26
|
+
cr.execute(
|
|
27
|
+
"UPDATE account_move SET verifactu_tax_key = '01' "
|
|
28
|
+
"WHERE move_type IN ('out_invoice', 'out_refund')"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def post_init_hook(env):
|
|
33
|
+
"""Perform the initialization of this column once the registration keys have been
|
|
34
|
+
loaded.
|
|
35
|
+
WARNING: Only 01 case is covered here, so existing export/intra-community/other
|
|
36
|
+
invoices should be changed later.
|
|
37
|
+
"""
|
|
38
|
+
key = env.ref("l10n_es_verifactu_oca.verifactu_registration_keys_01")
|
|
39
|
+
env.cr.execute(
|
|
40
|
+
"UPDATE account_move SET verifactu_registration_key = %s "
|
|
41
|
+
"WHERE move_type = 'out_refund' AND verifactu_registration_key IS NULL",
|
|
42
|
+
(key.id,),
|
|
43
|
+
)
|