odoo-addon-l10n-es-vat-book 16.0.2.0.2__py3-none-any.whl → 16.0.2.1.0__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.

Potentially problematic release.


This version of odoo-addon-l10n-es-vat-book might be problematic. Click here for more details.

@@ -2,16 +2,16 @@
2
2
  :target: https://odoo-community.org/get-involved?utm_source=readme
3
3
  :alt: Odoo Community Association
4
4
 
5
- ============
6
- Libro de IVA
7
- ============
5
+ ==================================
6
+ Libros registro del IVA y del IRPF
7
+ ==================================
8
8
 
9
9
  ..
10
10
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11
11
  !! This file is generated by oca-gen-addon-readme !!
12
12
  !! changes will be overwritten. !!
13
13
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14
- !! source digest: sha256:287d6585a93fc073370e7d6128261e85e4c4997615f19ce2fdd97cf4fa4163d8
14
+ !! source digest: sha256:c8f8ebdce0bb4bd0ca6a82f3deaca17349e4b5cb15737855e91697344f6b38f2
15
15
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
16
 
17
17
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -32,10 +32,10 @@ Libro de IVA
32
32
 
33
33
  |badge1| |badge2| |badge3| |badge4| |badge5|
34
34
 
35
- Módulo que calcula el libro de IVA español.
35
+ Módulo que calcula los libros de IVA e IRPF español.
36
36
 
37
- Esto módulo introduce el menú "Libro de IVA" en Contabilidad -> Informe ->
38
- Declaraciones AEAT -> Libro de IVA.
37
+ Esto módulo introduce el menú "Libros de IVA y del IRPF" en Contabilidad -\> Informe
38
+ -\> Declaraciones AEAT.
39
39
 
40
40
  Es posible visualizar e imprimir por separado:
41
41
 
@@ -100,6 +100,9 @@ Funcionalidades del Libro Registro de IVA no incluídas por el momento:
100
100
 
101
101
  * Criterio de caja
102
102
  * Regímenes especiales de seguros, de agencias de viaje o de bienes usados.
103
+ * Clave de operación.
104
+ * Deducible en periodo posterior.
105
+ * Actividad
103
106
 
104
107
  Bug Tracker
105
108
  ===========
@@ -132,6 +135,7 @@ Contributors
132
135
  * Pedro M. Baeza
133
136
  * Carlos Dauden
134
137
  * Ernesto Tejeda
138
+ * Eduardo Ezerouali
135
139
  * Omar Castiñeira <omar@comunitea.com>
136
140
  * Fernando La Chica <fernandolachica@gmail.com>
137
141
  * Victor Garcia <victor.garcia@kayuulab.com>
@@ -6,11 +6,12 @@
6
6
  # Copyright 2020 Tecnativa - Carlos Daudén
7
7
  # Copyright 2022 Comunitea - Omar Castiñeira
8
8
  # Copyright 2018-2023 Tecnativa - Pedro M. Baeza
9
+ # Copyright 2026 Tecnativa - Eduardo Ezerouali
9
10
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
10
11
 
11
12
  {
12
- "name": "Libro de IVA",
13
- "version": "16.0.2.0.2",
13
+ "name": "Libros registro del IVA y del IRPF",
14
+ "version": "16.0.2.1.0",
14
15
  "author": "PRAXYA, ForgeFlow, Tecnativa, Odoo Community Association (OCA)",
15
16
  "website": "https://github.com/OCA/l10n-spain",
16
17
  "license": "AGPL-3",
@@ -4,8 +4,8 @@
4
4
  <field name="name">IVA repercutido</field>
5
5
  <field name="book_type">issued</field>
6
6
  <field name="special_tax_group" eval="False" />
7
- <field name="fee_type_xlsx_column">N</field>
8
- <field name="fee_amount_xlsx_column">O</field>
7
+ <field name="fee_type_xlsx_column">W</field>
8
+ <field name="fee_amount_xlsx_column">X</field>
9
9
  <field
10
10
  name="tax_agency_ids"
11
11
  eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
@@ -42,8 +42,8 @@
42
42
  <field name="name">IVA soportado</field>
43
43
  <field name="book_type">received</field>
44
44
  <field name="special_tax_group" eval="False" />
45
- <field name="fee_type_xlsx_column">O</field>
46
- <field name="fee_amount_xlsx_column">P</field>
45
+ <field name="fee_type_xlsx_column">AB</field>
46
+ <field name="fee_amount_xlsx_column">AC</field>
47
47
  <field
48
48
  name="tax_agency_ids"
49
49
  eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
@@ -141,8 +141,8 @@
141
141
  <field name="name">Recargo Eq.</field>
142
142
  <field name="book_type">issued</field>
143
143
  <field name="special_tax_group">req</field>
144
- <field name="fee_type_xlsx_column">P</field>
145
- <field name="fee_amount_xlsx_column">Q</field>
144
+ <field name="fee_type_xlsx_column">Y</field>
145
+ <field name="fee_amount_xlsx_column">Z</field>
146
146
  <field
147
147
  name="tax_agency_ids"
148
148
  eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
@@ -162,8 +162,8 @@
162
162
  <field name="name">Recargo Eq.</field>
163
163
  <field name="book_type">received</field>
164
164
  <field name="special_tax_group">req</field>
165
- <field name="fee_type_xlsx_column">R</field>
166
- <field name="fee_amount_xlsx_column">S</field>
165
+ <field name="fee_type_xlsx_column">AE</field>
166
+ <field name="fee_amount_xlsx_column">AF</field>
167
167
  <field
168
168
  name="tax_agency_ids"
169
169
  eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
@@ -179,4 +179,84 @@
179
179
  ]"
180
180
  />
181
181
  </record>
182
+ <record id="aeat_vat_book_map_line_s_irpf" model="aeat.vat.book.map.line">
183
+ <field name="name">Retención del IRPF</field>
184
+ <field name="book_type">issued</field>
185
+ <field name="special_tax_group">irpf</field>
186
+ <field name="fee_type_xlsx_column">AE</field>
187
+ <field name="fee_amount_xlsx_column">AF</field>
188
+ <field
189
+ name="tax_agency_ids"
190
+ eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
191
+ />
192
+ <field
193
+ name="tax_tmpl_ids"
194
+ eval="[
195
+ (4, ref('l10n_es.account_tax_template_s_irpf1')),
196
+ (4, ref('l10n_es.account_tax_template_s_irpf2')),
197
+ (4, ref('l10n_es.account_tax_template_s_irpf7')),
198
+ (4, ref('l10n_es.account_tax_template_s_irpf9')),
199
+ (4, ref('l10n_es.account_tax_template_s_irpf15')),
200
+ (4, ref('l10n_es.account_tax_template_s_irpf18')),
201
+ (4, ref('l10n_es.account_tax_template_s_irpf19')),
202
+ (4, ref('l10n_es.account_tax_template_s_irpf19a')),
203
+ (4, ref('l10n_es.account_tax_template_s_irpf195a')),
204
+ (4, ref('l10n_es.account_tax_template_s_irpf20')),
205
+ (4, ref('l10n_es.account_tax_template_s_irpf20a')),
206
+ (4, ref('l10n_es.account_tax_template_s_irpf21')),
207
+ (4, ref('l10n_es.account_tax_template_s_irpf21a')),
208
+ (4, ref('l10n_es.account_tax_template_s_irpf24')),
209
+ (4, ref('l10n_es.account_tax_template_s_irpf24_rdc')),
210
+ (4, ref('l10n_es.account_tax_template_s_irpfnrue0')),
211
+ (4, ref('l10n_es.account_tax_template_s_irpfnrnue0')),
212
+ (4, ref('l10n_es.account_tax_template_s_irpfnrnue24')),
213
+ (4, ref('l10n_es.account_tax_template_s_irpfnrue19')),
214
+ ]"
215
+ />
216
+ </record>
217
+ <record id="aeat_vat_book_map_line_p_irpf" model="aeat.vat.book.map.line">
218
+ <field name="name">Retención del IRPF</field>
219
+ <field name="book_type">received</field>
220
+ <field name="special_tax_group">irpf</field>
221
+ <field name="fee_type_xlsx_column">AK</field>
222
+ <field name="fee_amount_xlsx_column">AL</field>
223
+ <field
224
+ name="tax_agency_ids"
225
+ eval="[ Command.link(ref('l10n_es_aeat.aeat_tax_agency_spain')) ]"
226
+ />
227
+ <field
228
+ name="tax_tmpl_ids"
229
+ eval="[
230
+ (4, ref('l10n_es.account_tax_template_p_irpf1')),
231
+ (4, ref('l10n_es.account_tax_template_p_irpf2')),
232
+ (4, ref('l10n_es.account_tax_template_p_irpf7')),
233
+ (4, ref('l10n_es.account_tax_template_p_irpf7e')),
234
+ (4, ref('l10n_es.account_tax_template_p_irpf9')),
235
+ (4, ref('l10n_es.account_tax_template_p_irpf15')),
236
+ (4, ref('l10n_es.account_tax_template_p_irpf15e')),
237
+ (4, ref('l10n_es.account_tax_template_p_irpf18')),
238
+ (4, ref('l10n_es.account_tax_template_p_irpf19')),
239
+ (4, ref('l10n_es.account_tax_template_p_irpf19a')),
240
+ (4, ref('l10n_es.account_tax_template_p_irpf19ca')),
241
+ (4, ref('l10n_es.account_tax_template_p_irpf19cs')),
242
+ (4, ref('l10n_es.account_tax_template_p_irpf195a')),
243
+ (4, ref('l10n_es.account_tax_template_p_irpf20')),
244
+ (4, ref('l10n_es.account_tax_template_p_irpf20a')),
245
+ (4, ref('l10n_es.account_tax_template_p_irpf21a')),
246
+ (4, ref('l10n_es.account_tax_template_p_irpf21p')),
247
+ (4, ref('l10n_es.account_tax_template_p_irpf21p')),
248
+ (4, ref('l10n_es.account_tax_template_p_irpf21t')),
249
+ (4, ref('l10n_es.account_tax_template_p_irpf21td')),
250
+ (4, ref('l10n_es.account_tax_template_p_irpf21te')),
251
+ (4, ref('l10n_es.account_tax_template_p_irpf24')),
252
+ (4, ref('l10n_es.account_tax_template_p_irpf24_rdc')),
253
+ (4, ref('l10n_es.account_tax_template_p_irpf35cya')),
254
+ (4, ref('l10n_es.account_tax_template_p_irpfnrue0p')),
255
+ (4, ref('l10n_es.account_tax_template_p_irpfnrnue24p')),
256
+ (4, ref('l10n_es.account_tax_template_p_irpfnrue19p')),
257
+ (4, ref('l10n_es.account_tax_template_p_rp19')),
258
+ (4, ref('l10n_es.account_tax_template_p_rrD19')),
259
+ ]"
260
+ />
261
+ </record>
182
262
  </odoo>
@@ -456,7 +456,7 @@ msgstr ""
456
456
 
457
457
  #. module: l10n_es_vat_book
458
458
  #: model:ir.ui.menu,name:l10n_es_vat_book.menu_vat_book_report
459
- msgid "Libro de IVA"
459
+ msgid "Libros del IVA y del IRPF"
460
460
  msgstr ""
461
461
 
462
462
  #. module: l10n_es_vat_book
@@ -484,6 +484,11 @@ msgstr ""
484
484
  msgid "Model number"
485
485
  msgstr ""
486
486
 
487
+ #. module: l10n_es_vat_book
488
+ #: model:ir.model.fields.selection,name:l10n_es_vat_book.selection__l10n_es_vat_book__vat_settlement_period__monthly
489
+ msgid "Monthly"
490
+ msgstr ""
491
+
487
492
  #. module: l10n_es_vat_book
488
493
  #: model:ir.model.fields,field_description:l10n_es_vat_book.field_l10n_es_vat_book_line_tax__move_line_ids
489
494
  #: model_terms:ir.ui.view,arch_db:l10n_es_vat_book.view_vat_book_line_form
@@ -575,6 +580,11 @@ msgstr ""
575
580
  msgid "Previous declaration number"
576
581
  msgstr ""
577
582
 
583
+ #. module: l10n_es_vat_book
584
+ #: model:ir.model.fields.selection,name:l10n_es_vat_book.selection__l10n_es_vat_book__vat_settlement_period__quarterly
585
+ msgid "Quarterly"
586
+ msgstr ""
587
+
578
588
  #. module: l10n_es_vat_book
579
589
  #: model:ir.model.fields.selection,name:l10n_es_vat_book.selection__l10n_es_vat_book_line_tax__special_tax_group__req
580
590
  msgid "R.Eq."
@@ -887,6 +897,11 @@ msgstr ""
887
897
  msgid "Vat Number Xlsx"
888
898
  msgstr ""
889
899
 
900
+ #. module: l10n_es_vat_book
901
+ #: model:ir.model.fields,field_description:l10n_es_vat_book.field_l10n_es_vat_book__vat_settlement_period
902
+ msgid "Vat Settlement Period"
903
+ msgstr ""
904
+
890
905
  #. module: l10n_es_vat_book
891
906
  #: model:ir.actions.report,name:l10n_es_vat_book.act_report_vat_book_invoices_issued_html
892
907
  #: model:ir.actions.report,name:l10n_es_vat_book.act_report_vat_book_invoices_issued_pdf
@@ -122,6 +122,11 @@ class L10nEsVatBook(models.Model):
122
122
  error_count = fields.Integer(
123
123
  compute="_compute_error_count",
124
124
  )
125
+ vat_settlement_period = fields.Selection(
126
+ selection=[("monthly", "Monthly"), ("quarterly", "Quarterly")],
127
+ default="monthly",
128
+ required=True,
129
+ )
125
130
 
126
131
  def _compute_error_count(self):
127
132
  vat_book_exception_group = self.env["l10n.es.vat.book.line"].read_group(
@@ -2,8 +2,10 @@
2
2
  # Daniel Rodriguez Lijo <drl.9319@gmail.com>
3
3
  # Copyright 2017 ForgeFlow, S.L. <contact@forgeflow.com>
4
4
  # Copyright 2019 Tecnativa - Carlos Dauden
5
+ # Copyright 2026 Tecnativa - Eduardo Ezerouali
5
6
  # License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0
6
7
 
8
+
7
9
  from odoo import api, fields, models
8
10
 
9
11
 
@@ -64,3 +66,11 @@ class L10nEsVatBookLine(models.Model):
64
66
  def _compute_tax_rate(self):
65
67
  for rec in self:
66
68
  rec.tax_rate = rec.tax_id.amount
69
+
70
+ def _get_settlement_period(self):
71
+ self.ensure_one()
72
+ month = self.move_id.date.month
73
+ if self.vat_book_id.vat_settlement_period == "quarterly":
74
+ return "{}T".format(int(((month - 1) / 3) + 1))
75
+ else:
76
+ return "{:02d}".format(month)
@@ -6,6 +6,7 @@
6
6
  * Pedro M. Baeza
7
7
  * Carlos Dauden
8
8
  * Ernesto Tejeda
9
+ * Eduardo Ezerouali
9
10
  * Omar Castiñeira <omar@comunitea.com>
10
11
  * Fernando La Chica <fernandolachica@gmail.com>
11
12
  * Victor Garcia <victor.garcia@kayuulab.com>
@@ -1,7 +1,7 @@
1
- Módulo que calcula el libro de IVA español.
1
+ Módulo que calcula los libros de IVA e IRPF español.
2
2
 
3
- Esto módulo introduce el menú "Libro de IVA" en Contabilidad -> Informe ->
4
- Declaraciones AEAT -> Libro de IVA.
3
+ Esto módulo introduce el menú "Libros de IVA y del IRPF" en Contabilidad -\> Informe
4
+ -\> Declaraciones AEAT.
5
5
 
6
6
  Es posible visualizar e imprimir por separado:
7
7
 
@@ -2,3 +2,6 @@ Funcionalidades del Libro Registro de IVA no incluídas por el momento:
2
2
 
3
3
  * Criterio de caja
4
4
  * Regímenes especiales de seguros, de agencias de viaje o de bienes usados.
5
+ * Clave de operación.
6
+ * Deducible en periodo posterior.
7
+ * Actividad
@@ -1,4 +1,5 @@
1
1
  # Copyright 2019 Tecnativa - Carlos Dauden
2
+ # Copyright 2026 Tecnativa - Eduardo Ezerouali
2
3
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
3
4
 
4
5
  from odoo import fields, models
@@ -62,37 +63,49 @@ class VatNumberXlsx(models.AbstractModel):
62
63
  sheet.write("A3", "NIF: %s" % book.company_vat)
63
64
  sheet.merge_range("A4:D4", "NOMBRE/RAZÓN SOCIAL: %s" % book.company_id.name)
64
65
 
65
- sheet.merge_range("C6:E6", "Identificación de la Factura", header_format)
66
- sheet.merge_range("F6:H6", "NIF Destinatario", header_format)
66
+ sheet.merge_range("A6:B6", "Autoliquidación", header_format)
67
+ sheet.merge_range("C6:E6", "Actividad", header_format)
68
+ sheet.merge_range("K6:M6", "Identificación de la Factura", header_format)
69
+ sheet.merge_range("N6:P6", "NIF Destinatario", header_format)
67
70
 
68
- sheet.merge_range("A6:A7", "Fecha Expedición", header_format)
69
- sheet.merge_range("B6:B7", "Fecha Operación", header_format)
70
- sheet.write("C7", "Serie", subheader_format)
71
- sheet.write("D7", "Número", subheader_format)
72
- sheet.write("E7", "Número-Final", subheader_format)
73
- sheet.write("F7", "Tipo", subheader_format)
74
- sheet.write("G7", "Código País", subheader_format)
75
- sheet.write("H7", "Identificación", subheader_format)
76
- sheet.merge_range("I6:I7", "Nombre Destinatario", header_format)
77
- sheet.merge_range("J6:J7", "Factura Sustitutiva", header_format)
78
- sheet.merge_range("K6:K7", "Clave de Operación", header_format)
79
- sheet.merge_range("L6:L7", "Total Factura", header_format)
80
- sheet.merge_range("M6:M7", "Base Imponible", header_format)
81
- sheet.merge_range("N6:N7", "Tipo de IVA", header_format)
82
- sheet.merge_range("O6:O7", "Cuota IVA Repercutida", header_format)
83
- last_col = "O"
71
+ sheet.write("A7", "Ejercicio", subheader_format)
72
+ sheet.write("B7", "Periodo", subheader_format)
73
+ sheet.write("C7", "Código", subheader_format)
74
+ sheet.write("D7", "Tipo", subheader_format)
75
+ sheet.write("E7", "Grupo o Epígrafe del IAE", subheader_format)
76
+ sheet.merge_range("F6:F7", "Tipo de factura", header_format)
77
+ sheet.merge_range("G6:G7", "Concepto de Ingreso", header_format)
78
+ sheet.merge_range("H6:H7", "Ingreso Computable", header_format)
79
+ sheet.merge_range("I6:I7", "Fecha Expedición", header_format)
80
+ sheet.merge_range("J6:J7", "Fecha Operación", header_format)
81
+ sheet.write("K7", "Serie", subheader_format)
82
+ sheet.write("L7", "Número", subheader_format)
83
+ sheet.write("M7", "Número-Final", subheader_format)
84
+ sheet.write("N7", "Tipo", subheader_format)
85
+ sheet.write("O7", "Código País", subheader_format)
86
+ sheet.write("P7", "Identificación", subheader_format)
87
+ sheet.merge_range("Q6:Q7", "Nombre Destinatario", header_format)
88
+ sheet.merge_range("R6:R7", "Clave de Operación", header_format)
89
+ sheet.merge_range("S6:S7", "Calificación de la operación", header_format)
90
+ sheet.merge_range("T6:T7", "Operación Exenta", header_format)
91
+ sheet.merge_range("U6:U7", "Total Factura", header_format)
92
+ sheet.merge_range("V6:V7", "Base Imponible", header_format)
93
+ sheet.merge_range("W6:W7", "Tipo de IVA", header_format)
94
+ sheet.merge_range("X6:X7", "Cuota IVA Repercutida", header_format)
95
+ last_col = "X"
84
96
  for line in self._get_vat_book_map_lines("issued"):
85
- sheet.merge_range(
86
- "{0}6:{0}7".format(line.fee_type_xlsx_column),
87
- "Tipo de {}".format(line.name),
88
- header_format,
89
- )
90
- sheet.merge_range(
91
- "{0}6:{0}7".format(line.fee_amount_xlsx_column),
92
- "Cuota {}".format(line.name),
93
- header_format,
94
- )
95
- last_col = line.fee_amount_xlsx_column
97
+ if line.special_tax_group != "irpf":
98
+ sheet.merge_range(
99
+ "{0}6:{0}7".format(line.fee_type_xlsx_column),
100
+ "Tipo de {}".format(line.name),
101
+ header_format,
102
+ )
103
+ sheet.merge_range(
104
+ "{0}6:{0}7".format(line.fee_amount_xlsx_column),
105
+ "Cuota {}".format(line.name),
106
+ header_format,
107
+ )
108
+ last_col = line.fee_amount_xlsx_column
96
109
  next_col = excel_col_number(last_col) + 1
97
110
  # Las filas empiezan por 0, por eso se resta 1
98
111
  sheet.merge_range(
@@ -110,18 +123,37 @@ class VatNumberXlsx(models.AbstractModel):
110
123
  sheet.write(6, next_col, "Medio Utilizado", subheader_format)
111
124
  next_col += 1
112
125
  sheet.write(6, next_col, "Identificación Medio Utilizado", subheader_format)
126
+ next_col += 1
127
+ sheet.merge_range(
128
+ 5,
129
+ next_col,
130
+ 6,
131
+ next_col,
132
+ "Tipo de Retención del IRPF",
133
+ header_format,
134
+ )
135
+ next_col += 1
136
+ sheet.merge_range(
137
+ 5,
138
+ next_col,
139
+ 6,
140
+ next_col,
141
+ "Importe Retenido del IRPF",
142
+ header_format,
143
+ )
113
144
 
114
- sheet.set_column("A:B", 16, date_format)
115
- sheet.set_column("C:C", 14)
116
- sheet.set_column("D:D", 17)
117
- sheet.set_column("E:E", 17)
118
- sheet.set_column("F:F", 8)
119
- sheet.set_column("G:G", 12)
120
- sheet.set_column("H:H", 14)
121
- sheet.set_column("I:I", 40)
122
- sheet.set_column("J:J", 16)
123
- sheet.set_column("K:K", 16)
124
- sheet.set_column("L:Q", 14, decimal_format)
145
+ sheet.set_column("A:G", 14)
146
+ sheet.set_column("H:H", 16, decimal_format)
147
+ sheet.set_column("I:J", 16, date_format)
148
+ sheet.set_column("K:K", 14)
149
+ sheet.set_column("L:L", 17)
150
+ sheet.set_column("M:M", 17)
151
+ sheet.set_column("N:N", 8)
152
+ sheet.set_column("O:O", 12)
153
+ sheet.set_column("P:P", 14)
154
+ sheet.set_column("Q:Q", 40)
155
+ sheet.set_column("R:T", 16)
156
+ sheet.set_column("U:Z", 14, decimal_format)
125
157
 
126
158
  next_col = excel_col_number(last_col) + 1
127
159
  sheet.set_column(next_col, next_col, 14, date_format)
@@ -131,6 +163,11 @@ class VatNumberXlsx(models.AbstractModel):
131
163
  sheet.set_column(next_col, next_col, 14)
132
164
  next_col += 1
133
165
  sheet.set_column(next_col, next_col, 30)
166
+ next_col += 1
167
+ sheet.set_column(next_col, next_col, 16)
168
+ next_col += 1
169
+ sheet.set_column(next_col, next_col, 16)
170
+
134
171
  if draft_export:
135
172
  next_col += 1
136
173
  sheet.write(5, next_col, "Impuesto (Solo borrador)")
@@ -149,30 +186,29 @@ class VatNumberXlsx(models.AbstractModel):
149
186
  country_code, identifier_type, vat_number = (
150
187
  line.partner_id and line.partner_id._parse_aeat_vat_info() or ("ES", "", "")
151
188
  )
152
- sheet.write("A" + str(row), self.format_boe_date(line.invoice_date))
153
- # sheet.write('B' + str(row), self.format_boe_date(line.invoice_date))
154
- sheet.write("C" + str(row), line.ref[:-20])
155
- sheet.write("D" + str(row), line.ref[-20:])
156
- sheet.write("E" + str(row), "") # Final number
157
- sheet.write("F" + str(row), identifier_type)
189
+ sheet.write("A" + str(row), str(line.vat_book_id.year))
190
+ sheet.write("B" + str(row), str(line.vat_book_id.period_type))
191
+ sheet.write("I" + str(row), self.format_boe_date(line.invoice_date))
192
+ # sheet.write('J' + str(row), self.format_boe_date(line.invoice_date))
193
+ sheet.write("K" + str(row), line.ref[:-20])
194
+ sheet.write("L" + str(row), line.ref[-20:])
195
+ sheet.write("M" + str(row), "") # Final number
196
+ sheet.write("N" + str(row), identifier_type)
158
197
  if country_code != "ES":
159
- sheet.write("G" + str(row), country_code)
160
- sheet.write("H" + str(row), vat_number)
198
+ sheet.write("O" + str(row), country_code)
199
+ sheet.write("P" + str(row), vat_number)
161
200
  if not vat_number and (
162
201
  line.partner_id.aeat_anonymous_cash_customer or not line.partner_id
163
202
  ):
164
- sheet.write("I" + str(row), "Venta anónima")
203
+ sheet.write("Q" + str(row), "Venta anónima")
165
204
  else:
166
- sheet.write("I" + str(row), (line.partner_id.name or "")[:40])
167
- # TODO: Substitute Invoice
168
- # sheet.write('J' + str(row),
169
- # line.invoice_id.refund_invoice_id.number or '')
170
- sheet.write("K" + str(row), "") # Operation Key
205
+ sheet.write("Q" + str(row), (line.partner_id.name or "")[:40])
206
+ sheet.write("R" + str(row), "") # Operation Key
171
207
  if with_total:
172
- sheet.write("L" + str(row), line.total_amount)
173
- sheet.write("M" + str(row), tax_line.base_amount)
174
- sheet.write("N" + str(row), tax_line.tax_id.amount)
175
- sheet.write("O" + str(row), tax_line.tax_amount)
208
+ sheet.write("U" + str(row), line.total_amount)
209
+ sheet.write("V" + str(row), tax_line.base_amount)
210
+ sheet.write("W" + str(row), tax_line.tax_id.amount)
211
+ sheet.write("X" + str(row), tax_line.tax_amount)
176
212
  if tax_line.special_tax_id:
177
213
  map_vals = line.vat_book_id.get_special_taxes_dic()[
178
214
  tax_line.special_tax_id.id
@@ -216,41 +252,58 @@ class VatNumberXlsx(models.AbstractModel):
216
252
  sheet.write("A3", "NIF: %s" % book.company_vat)
217
253
  sheet.merge_range("A4:D4", "NOMBRE/RAZÓN SOCIAL: %s" % book.company_id.name)
218
254
 
255
+ sheet.merge_range("A6:B6", "Autoliquidación", header_format)
256
+ sheet.merge_range("C6:E6", "Actividad", header_format)
219
257
  sheet.merge_range(
220
- "C6:D6", "Identificación Factura del Expedidor", header_format
258
+ "K6:L6", "Identificación Factura del Expedidor", header_format
221
259
  )
222
- sheet.merge_range("G6:I6", "NIF Expedidor", header_format)
260
+ sheet.merge_range("P6:R6", "NIF Expedidor", header_format)
261
+ sheet.merge_range("X6:Y6", "Periodo Deducción", header_format)
223
262
 
224
- sheet.merge_range("A6:A7", "Fecha Expedición", header_format)
225
- sheet.merge_range("B6:B7", "Fecha Operación", header_format)
226
- sheet.write("C7", "(Serie-Número)", subheader_format)
227
- sheet.write("D7", "Número-Final", subheader_format)
228
- sheet.merge_range("E6:E7", "Número Recepción", header_format)
229
- sheet.merge_range("F6:F7", "Número Recepción Final", header_format)
230
- sheet.write("G7", "Tipo", subheader_format)
231
- sheet.write("H7", "Código País", subheader_format)
232
- sheet.write("I7", "Identificación", subheader_format)
233
- sheet.merge_range("J6:J7", "Nombre Expedidor", header_format)
234
- sheet.merge_range("K6:K7", "Factura Sustitutiva", header_format)
235
- sheet.merge_range("L6:L7", "Clave de Operación", header_format)
236
- sheet.merge_range("M6:M7", "Total Factura", header_format)
237
- sheet.merge_range("N6:N7", "Base Imponible", header_format)
238
- sheet.merge_range("O6:O7", "Tipo de IVA", header_format)
239
- sheet.merge_range("P6:P7", "Cuota IVA Soportado", header_format)
240
- sheet.merge_range("Q6:Q7", "Cuota Deducible", header_format)
241
- last_col = "Q"
263
+ sheet.write("A7", "Ejercicio", subheader_format)
264
+ sheet.write("B7", "Periodo", subheader_format)
265
+ sheet.write("C7", "Código", subheader_format)
266
+ sheet.write("D7", "Tipo", subheader_format)
267
+ sheet.write("E7", "Grupo o Epígrafe del IAE", subheader_format)
268
+ sheet.merge_range("F6:F7", "Tipo de factura", header_format)
269
+ sheet.merge_range("G6:G7", "Concepto de Gasto", header_format)
270
+ sheet.merge_range("H6:H7", "Gasto Deducible", header_format)
271
+ sheet.merge_range("I6:I7", "Fecha Expedición", header_format)
272
+ sheet.merge_range("J6:J7", "Fecha Operación", header_format)
273
+ sheet.write("K7", "(Serie-Número)", subheader_format)
274
+ sheet.write("L7", "Número-Final", subheader_format)
275
+ sheet.merge_range("M6:M7", "Fecha Recepción", header_format)
276
+ sheet.merge_range("N6:N7", "Número Recepción", header_format)
277
+ sheet.merge_range("O6:O7", "Número Recepción Final", header_format)
278
+ sheet.write("P7", "Tipo", subheader_format)
279
+ sheet.write("Q7", "Código País", subheader_format)
280
+ sheet.write("R7", "Identificación", subheader_format)
281
+ sheet.merge_range("S6:S7", "Nombre Expedidor", header_format)
282
+ sheet.merge_range("T6:T7", "Clave de Operación", header_format)
283
+ sheet.merge_range("U6:U7", "Bien de Inversión", header_format)
284
+ sheet.merge_range("V6:V7", "Inversión del Sujeto Pasivo", header_format)
285
+ sheet.merge_range("W6:W7", "Deducible en Periodo Posterior", header_format)
286
+ sheet.write("X7", "Ejercicio", header_format)
287
+ sheet.write("Y7", "Periodo", header_format)
288
+ sheet.merge_range("Z6:Z7", "Total Factura", header_format)
289
+ sheet.merge_range("AA6:AA7", "Base Imponible", header_format)
290
+ sheet.merge_range("AB6:AB7", "Tipo de IVA", header_format)
291
+ sheet.merge_range("AC6:AC7", "Cuota IVA Soportado", header_format)
292
+ sheet.merge_range("AD6:AD7", "Cuota Deducible", header_format)
293
+ last_col = "AD"
242
294
  for line in self._get_vat_book_map_lines("received"):
243
- sheet.merge_range(
244
- "{0}6:{0}7".format(line.fee_type_xlsx_column),
245
- "Tipo de {}".format(line.name),
246
- header_format,
247
- )
248
- sheet.merge_range(
249
- "{0}6:{0}7".format(line.fee_amount_xlsx_column),
250
- "Cuota {}".format(line.name),
251
- header_format,
252
- )
253
- last_col = line.fee_amount_xlsx_column
295
+ if line.special_tax_group != "irpf":
296
+ sheet.merge_range(
297
+ "{0}6:{0}7".format(line.fee_type_xlsx_column),
298
+ "Tipo de {}".format(line.name),
299
+ header_format,
300
+ )
301
+ sheet.merge_range(
302
+ "{0}6:{0}7".format(line.fee_amount_xlsx_column),
303
+ "Cuota {}".format(line.name),
304
+ header_format,
305
+ )
306
+ last_col = line.fee_amount_xlsx_column
254
307
  next_col = excel_col_number(last_col) + 1
255
308
  # Las filas empiezan por 0, por eso se resta 1
256
309
  sheet.merge_range(
@@ -268,16 +321,44 @@ class VatNumberXlsx(models.AbstractModel):
268
321
  sheet.write(6, next_col, "Medio Utilizado", subheader_format)
269
322
  next_col += 1
270
323
  sheet.write(6, next_col, "Identificación Medio Utilizado", subheader_format)
324
+ next_col += 1
325
+ sheet.merge_range(
326
+ 5,
327
+ next_col,
328
+ 6,
329
+ next_col,
330
+ "Tipo de Retención del IRPF",
331
+ header_format,
332
+ )
333
+ next_col += 1
334
+ sheet.merge_range(
335
+ 5,
336
+ next_col,
337
+ 6,
338
+ next_col,
339
+ "Importe Retenido del IRPF",
340
+ header_format,
341
+ )
342
+ next_col += 1
343
+ sheet.merge_range(
344
+ 5,
345
+ next_col,
346
+ 6,
347
+ next_col,
348
+ "Registro Acuerdo Facturación",
349
+ header_format,
350
+ )
271
351
 
272
- sheet.set_column("A:B", 16, date_format)
273
- sheet.set_column("C:F", 17)
274
- sheet.set_column("G:G", 8)
275
- sheet.set_column("H:H", 12)
276
- sheet.set_column("I:I", 14)
277
- sheet.set_column("J:J", 40)
278
- sheet.set_column("K:K", 16)
279
- sheet.set_column("L:L", 14)
280
- sheet.set_column("M:S", 14, decimal_format)
352
+ sheet.set_column("A:G", 14)
353
+ sheet.set_column("H:H", 16, decimal_format)
354
+ sheet.set_column("I:J", 16, date_format)
355
+ sheet.set_column("K:O", 17)
356
+ sheet.set_column("P:P", 8)
357
+ sheet.set_column("Q:Q", 12)
358
+ sheet.set_column("R:R", 14)
359
+ sheet.set_column("S:S", 40)
360
+ sheet.set_column("T:Y", 16)
361
+ sheet.set_column("Z:AF", 14, decimal_format)
281
362
  next_col = excel_col_number(last_col) + 1
282
363
  sheet.set_column(next_col, next_col, 14, date_format)
283
364
  next_col += 1
@@ -286,6 +367,13 @@ class VatNumberXlsx(models.AbstractModel):
286
367
  sheet.set_column(next_col, next_col, 14)
287
368
  next_col += 1
288
369
  sheet.set_column(next_col, next_col, 30)
370
+ next_col += 1
371
+ sheet.set_column(next_col, next_col, 14, decimal_format)
372
+ next_col += 1
373
+ sheet.set_column(next_col, next_col, 14, decimal_format)
374
+ next_col += 1
375
+ sheet.set_column(next_col, next_col, 16)
376
+
289
377
  if draft_export:
290
378
  next_col += 1
291
379
  sheet.write(5, next_col, "Impuesto (Solo borrador)")
@@ -305,29 +393,30 @@ class VatNumberXlsx(models.AbstractModel):
305
393
  country_code, identifier_type, vat_number = (
306
394
  line.partner_id and line.partner_id._parse_aeat_vat_info() or ("ES", "", "")
307
395
  )
308
- sheet.write("A" + str(row), self.format_boe_date(line.invoice_date))
396
+ sheet.write("A" + str(row), str(line.vat_book_id.year))
397
+ sheet.write("B" + str(row), str(line.vat_book_id.period_type))
398
+ sheet.write("I" + str(row), self.format_boe_date(line.invoice_date))
309
399
  if date_invoice and date_invoice != line.invoice_date:
310
- sheet.write("B" + str(row), self.format_boe_date(date_invoice))
311
- sheet.write("C" + str(row), (line.external_ref or "")[:40])
312
- sheet.write("D" + str(row), "")
313
- sheet.write("E" + str(row), line.ref[:20])
314
- sheet.write("F" + str(row), "")
315
- sheet.write("G" + str(row), identifier_type)
400
+ sheet.write("J" + str(row), self.format_boe_date(date_invoice))
401
+ sheet.write("K" + str(row), (line.external_ref or "")[:40])
402
+ sheet.write("L" + str(row), "")
403
+ sheet.write("N" + str(row), line.ref[:20])
404
+ sheet.write("O" + str(row), "")
405
+ sheet.write("P" + str(row), identifier_type)
316
406
  if country_code != "ES":
317
- sheet.write("H" + str(row), country_code)
318
- sheet.write("I" + str(row), vat_number)
319
- sheet.write("J" + str(row), (line.partner_id.name or "")[:40])
320
- # TODO: Substitute Invoice
321
- # sheet.write('K' + str(row),
322
- # line.invoice_id.refund_invoice_id.number or '')
323
- sheet.write("L" + str(row), "") # Operation Key
407
+ sheet.write("Q" + str(row), country_code)
408
+ sheet.write("R" + str(row), vat_number)
409
+ sheet.write("S" + str(row), (line.partner_id.name or "")[:40])
410
+ sheet.write("T" + str(row), "") # Operation Key
411
+ sheet.write("X" + str(row), line.move_id.date.year)
412
+ sheet.write("Y" + str(row), line._get_settlement_period())
324
413
  if with_total:
325
- sheet.write("M" + str(row), line.total_amount)
326
- sheet.write("N" + str(row), tax_line.base_amount)
327
- sheet.write("O" + str(row), tax_line.tax_id.amount)
328
- sheet.write("P" + str(row), tax_line.tax_amount)
414
+ sheet.write("Z" + str(row), line.total_amount)
415
+ sheet.write("AA" + str(row), tax_line.base_amount)
416
+ sheet.write("AB" + str(row), tax_line.tax_id.amount)
417
+ sheet.write("AC" + str(row), tax_line.tax_amount)
329
418
  if tax_line.tax_id not in self._get_undeductible_taxes(line.vat_book_id):
330
- sheet.write("Q" + str(row), tax_line.deductible_amount)
419
+ sheet.write("AD" + str(row), tax_line.deductible_amount)
331
420
  if tax_line.special_tax_id:
332
421
  map_vals = line.vat_book_id.get_special_taxes_dic()[
333
422
  tax_line.special_tax_id.id
@@ -366,18 +366,18 @@ ul.auto-toc {
366
366
  <a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
367
367
  <img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
368
368
  </a>
369
- <div class="section" id="libro-de-iva">
370
- <h1>Libro de IVA</h1>
369
+ <div class="section" id="libros-registro-del-iva-y-del-irpf">
370
+ <h1>Libros registro del IVA y del IRPF</h1>
371
371
  <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
372
372
  !! This file is generated by oca-gen-addon-readme !!
373
373
  !! changes will be overwritten. !!
374
374
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
375
- !! source digest: sha256:287d6585a93fc073370e7d6128261e85e4c4997615f19ce2fdd97cf4fa4163d8
375
+ !! source digest: sha256:c8f8ebdce0bb4bd0ca6a82f3deaca17349e4b5cb15737855e91697344f6b38f2
376
376
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
377
377
  <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_vat_book"><img alt="OCA/l10n-spain" src="https://img.shields.io/badge/github-OCA%2Fl10n--spain-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-spain-16-0/l10n-spain-16-0-l10n_es_vat_book"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
378
- <p>Módulo que calcula el libro de IVA español.</p>
379
- <p>Esto módulo introduce el menú “Libro de IVA” en Contabilidad -&gt; Informe -&gt;
380
- Declaraciones AEAT -&gt; Libro de IVA.</p>
378
+ <p>Módulo que calcula los libros de IVA e IRPF español.</p>
379
+ <p>Esto módulo introduce el menú “Libros de IVA y del IRPF” en Contabilidad -&gt; Informe
380
+ -&gt; Declaraciones AEAT.</p>
381
381
  <p>Es posible visualizar e imprimir por separado:</p>
382
382
  <ul class="simple">
383
383
  <li>Libro Registro de Facturas Emitidas</li>
@@ -446,6 +446,9 @@ informado siguiendo lo especificado en el formato BOE.</p>
446
446
  <ul class="simple">
447
447
  <li>Criterio de caja</li>
448
448
  <li>Regímenes especiales de seguros, de agencias de viaje o de bienes usados.</li>
449
+ <li>Clave de operación.</li>
450
+ <li>Deducible en periodo posterior.</li>
451
+ <li>Actividad</li>
449
452
  </ul>
450
453
  </div>
451
454
  <div class="section" id="bug-tracker">
@@ -476,6 +479,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
476
479
  <li>Pedro M. Baeza</li>
477
480
  <li>Carlos Dauden</li>
478
481
  <li>Ernesto Tejeda</li>
482
+ <li>Eduardo Ezerouali</li>
479
483
  </ul>
480
484
  </li>
481
485
  <li>Omar Castiñeira &lt;<a class="reference external" href="mailto:omar&#64;comunitea.com">omar&#64;comunitea.com</a>&gt;</li>
@@ -27,6 +27,7 @@ class TestL10nEsAeatVatBookBase(TestL10nEsAeatModBase):
27
27
  "P_REQ05": (270, 1.35),
28
28
  "P_REQ014": (280, 3.92),
29
29
  "P_REQ52": (290, 15.08),
30
+ "P_IRPF19": (1024, 194.56),
30
31
  }
31
32
 
32
33
 
@@ -77,7 +78,7 @@ class TestL10nEsAeatVatBook(TestL10nEsAeatVatBookBase):
77
78
  self.assertEqual(line.base_amount, 0.0)
78
79
  self.assertEqual(line.tax_amount, 0.0)
79
80
  # Check tax summary for received invoices
80
- self.assertEqual(len(vat_book.received_tax_summary_ids), 6)
81
+ self.assertEqual(len(vat_book.received_tax_summary_ids), 7)
81
82
  rec_summaries = sorted(
82
83
  vat_book.received_tax_summary_ids,
83
84
  key=lambda line: line.tax_amount,
@@ -107,6 +108,10 @@ class TestL10nEsAeatVatBook(TestL10nEsAeatVatBookBase):
107
108
  line = rec_summaries[5]
108
109
  self.assertAlmostEqual(line.base_amount, 270)
109
110
  self.assertAlmostEqual(line.tax_amount, 1.35)
111
+ # P_IRPF19 - 19% Impuesto sobre la resta fisica
112
+ line = rec_summaries[6]
113
+ self.assertAlmostEqual(line.base_amount, 1024)
114
+ self.assertAlmostEqual(line.tax_amount, -194.56)
110
115
  # Let's dig into this tax detail for checking the deductible amount
111
116
  tax_line = vat_book.received_line_ids.tax_line_ids.filtered(
112
117
  lambda x: "account_tax_template_p_iva0_nd" in x.tax_id.get_external_id()
@@ -93,6 +93,9 @@
93
93
  </page>
94
94
  </notebook>
95
95
  </xpath>
96
+ <field name="period_type" position="after">
97
+ <field name="vat_settlement_period" />
98
+ </field>
96
99
  </field>
97
100
  </record>
98
101
  <record id="l10n_es_vat_book_action" model="ir.actions.act_window">
@@ -121,7 +124,7 @@
121
124
  id="menu_vat_book_report"
122
125
  parent="l10n_es_aeat.menu_root_aeat"
123
126
  action="l10n_es_vat_book_action"
124
- name="Libro de IVA"
127
+ name="Libros del IVA y del IRPF"
125
128
  />
126
129
  <!-- sequence="340" -->
127
130
  </odoo>
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-l10n_es_vat_book
3
- Version: 16.0.2.0.2
4
- Summary: Libro de IVA
3
+ Version: 16.0.2.1.0
4
+ Summary: Libros registro del IVA y del IRPF
5
5
  Home-page: https://github.com/OCA/l10n-spain
6
6
  Author: PRAXYA, ForgeFlow, Tecnativa, Odoo Community Association (OCA)
7
7
  Author-email: support@odoo-community.org
@@ -19,16 +19,16 @@ Requires-Dist: odoo<16.1dev,>=16.0a
19
19
  :target: https://odoo-community.org/get-involved?utm_source=readme
20
20
  :alt: Odoo Community Association
21
21
 
22
- ============
23
- Libro de IVA
24
- ============
22
+ ==================================
23
+ Libros registro del IVA y del IRPF
24
+ ==================================
25
25
 
26
26
  ..
27
27
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
28
  !! This file is generated by oca-gen-addon-readme !!
29
29
  !! changes will be overwritten. !!
30
30
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31
- !! source digest: sha256:287d6585a93fc073370e7d6128261e85e4c4997615f19ce2fdd97cf4fa4163d8
31
+ !! source digest: sha256:c8f8ebdce0bb4bd0ca6a82f3deaca17349e4b5cb15737855e91697344f6b38f2
32
32
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33
33
 
34
34
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -49,10 +49,10 @@ Libro de IVA
49
49
 
50
50
  |badge1| |badge2| |badge3| |badge4| |badge5|
51
51
 
52
- Módulo que calcula el libro de IVA español.
52
+ Módulo que calcula los libros de IVA e IRPF español.
53
53
 
54
- Esto módulo introduce el menú "Libro de IVA" en Contabilidad -> Informe ->
55
- Declaraciones AEAT -> Libro de IVA.
54
+ Esto módulo introduce el menú "Libros de IVA y del IRPF" en Contabilidad -\> Informe
55
+ -\> Declaraciones AEAT.
56
56
 
57
57
  Es posible visualizar e imprimir por separado:
58
58
 
@@ -117,6 +117,9 @@ Funcionalidades del Libro Registro de IVA no incluídas por el momento:
117
117
 
118
118
  * Criterio de caja
119
119
  * Regímenes especiales de seguros, de agencias de viaje o de bienes usados.
120
+ * Clave de operación.
121
+ * Deducible en periodo posterior.
122
+ * Actividad
120
123
 
121
124
  Bug Tracker
122
125
  ===========
@@ -149,6 +152,7 @@ Contributors
149
152
  * Pedro M. Baeza
150
153
  * Carlos Dauden
151
154
  * Ernesto Tejeda
155
+ * Eduardo Ezerouali
152
156
  * Omar Castiñeira <omar@comunitea.com>
153
157
  * Fernando La Chica <fernandolachica@gmail.com>
154
158
  * Victor Garcia <victor.garcia@kayuulab.com>
@@ -1,7 +1,7 @@
1
- odoo/addons/l10n_es_vat_book/README.rst,sha256=bQwnkxHhSufyfabKf_COdPfreJ4NkdB91fyzCQbLxrA,5315
1
+ odoo/addons/l10n_es_vat_book/README.rst,sha256=RqaXC5HdxjAvHlRZ5rl_MWQaBeFXGGKr_apaMu5iT6c,5479
2
2
  odoo/addons/l10n_es_vat_book/__init__.py,sha256=RYGen4VvN9c8GXvMfZMuO7ERiyRCUJfuAbgo0aC3DEU,42
3
- odoo/addons/l10n_es_vat_book/__manifest__.py,sha256=DippfUrizjx2oUnKbLc5T-Bq1sTZtDjMAa3Fb_76oXc,1275
4
- odoo/addons/l10n_es_vat_book/data/aeat_vat_book_map_data.xml,sha256=KvsMd0lineW_PT923wnIli94RjqDx_oh_Gfv67WX6Ms,9462
3
+ odoo/addons/l10n_es_vat_book/__manifest__.py,sha256=dVZrHmO1ta88TA7hXcMTqloXH9_8TYWKQIWxWmOJYww,1344
4
+ odoo/addons/l10n_es_vat_book/data/aeat_vat_book_map_data.xml,sha256=06OvS4sT8Y2mcN5dP7v_PQxw_jHwJJv1fdSfFdvUNxc,13717
5
5
  odoo/addons/l10n_es_vat_book/i18n/bg.po,sha256=UpA4gRrxJVLMfVS3O6h5cJUUa5rGVs7QuDm6w3vSUq8,35992
6
6
  odoo/addons/l10n_es_vat_book/i18n/ca.po,sha256=VKPE69I3FzMQTwi14NhQTHEk9f6HcuiVia4N5sR8I-A,41569
7
7
  odoo/addons/l10n_es_vat_book/i18n/cs.po,sha256=Z54o4KbZ-auf5XAbksSvKtKpRnH1eAHqX1YTZRHVraw,35910
@@ -13,7 +13,7 @@ odoo/addons/l10n_es_vat_book/i18n/eu.po,sha256=v3Cy4v9yfuhlhhCJj0KpVO5KC_PnsOokh
13
13
  odoo/addons/l10n_es_vat_book/i18n/fr.po,sha256=GV3o6XGLe821B4dZO41oL4eeKZ1RclAGMUc6PMKLfTk,35896
14
14
  odoo/addons/l10n_es_vat_book/i18n/gl.po,sha256=bGaMoTHsxjX7iQG6h3pScvcNueDnlN7vvDLT5f1h8D4,35959
15
15
  odoo/addons/l10n_es_vat_book/i18n/hr.po,sha256=AVm1fgYxYUkWwdELJWXBtuKrXijeysnRUNpViNkK2rM,35942
16
- odoo/addons/l10n_es_vat_book/i18n/l10n_es_vat_book.pot,sha256=m28YOEjLwue0kOqJg_Eg2HD0GsViwsRZm79M3sDBtyo,35449
16
+ odoo/addons/l10n_es_vat_book/i18n/l10n_es_vat_book.pot,sha256=J3Gu3f1dcdS_favKJytQkoQCT4BgZp2vxBPfLJVCTX8,35985
17
17
  odoo/addons/l10n_es_vat_book/i18n/nl.po,sha256=URHn9264MyfxQfU8EaEV_rAdBkW0H0gTIIRV_XHY5wY,35894
18
18
  odoo/addons/l10n_es_vat_book/i18n/pl.po,sha256=exSDDscqM8rZJDRHLm5Kx6TX7XkU7vO5TVGZgIBLrpM,36050
19
19
  odoo/addons/l10n_es_vat_book/i18n/pt.po,sha256=sS4FJNmytAFkjIi0BCjr8RSIxj3lanPo1l_sYYBZ4Q8,35907
@@ -26,36 +26,36 @@ odoo/addons/l10n_es_vat_book/i18n/vi.po,sha256=IZ3miUJaRO-ZSr7R-U95hNiZtkt68fjpF
26
26
  odoo/addons/l10n_es_vat_book/migrations/16.0.2.0.0/post-migration.py,sha256=QRoxJbbiygJ1P0Q3QVlzP6ZeVMxQfcUIf5BnpRqwJng,283
27
27
  odoo/addons/l10n_es_vat_book/models/__init__.py,sha256=V0ONDc9wKn8JF0Soh2NCORHEAQ7EcOn16SNkxjA50WU,226
28
28
  odoo/addons/l10n_es_vat_book/models/aeat_vat_book_map_line.py,sha256=IWdvWME1lnp4WBg93duQGkwr6Zpy9wE5wM0MQ5A1Q24,1437
29
- odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book.py,sha256=uqDK4xQWiChWMg3dLON8Fw9vMTeJTOIVlIe-RwWfrtE,22170
30
- odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line.py,sha256=9LqiNYUGomYBVIyvdT1qTnNwHKTM3df6jJxWvnoIsLk,2146
29
+ odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book.py,sha256=3jTZEB89GPBkCgrzak7kzISyO1uJu6oUvyN62M40qOE,22344
30
+ odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line.py,sha256=4nWchnxlYyD45x5tD4XU0jhymMNTlCE0YvYQbv35Mzg,2481
31
31
  odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line_tax.py,sha256=Uoid5DEQc07Bz5r7JqfKbkd91LGqR_1tsfq1VXkaSQw,2440
32
32
  odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_summary.py,sha256=jKvai8td7NQwT2suuY-dA1AfQxRvM6VBIVuHZnfwSrY,1208
33
33
  odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_tax_summary.py,sha256=No6PJ34A-V16ij_1h5zqsGI6wpg1i-g57ZQX_R8YyY8,1260
34
34
  odoo/addons/l10n_es_vat_book/readme/CONFIGURE.rst,sha256=p0gkMvzeKo8w5Gjz4rVE5iuQx2gd-sd9nChaeUs45fI,348
35
- odoo/addons/l10n_es_vat_book/readme/CONTRIBUTORS.rst,sha256=Tc6r1avfPiBNEPKR2P_D5WM0X5oBOceJHdXqpcH3p-E,534
36
- odoo/addons/l10n_es_vat_book/readme/DESCRIPTION.rst,sha256=uPksn5AhebWa6vN5nHXuP0n5CU7GbQcVjFzyV6cpFCk,471
35
+ odoo/addons/l10n_es_vat_book/readme/CONTRIBUTORS.rst,sha256=w1cTtiwV_HIDETbZXoH2L7fEa95QXSJCSKJHCjQbBoU,556
36
+ odoo/addons/l10n_es_vat_book/readme/DESCRIPTION.rst,sha256=M6y3oJ8y9Zuhl8oKrDyvm7By6-mya_4jrAUfbMs41n4,478
37
37
  odoo/addons/l10n_es_vat_book/readme/INSTALL.rst,sha256=1TNDm0rcwK_MCjZJ8Lmu1Ua3OXI2Ri4OuTmtXDGJ8KQ,580
38
- odoo/addons/l10n_es_vat_book/readme/ROADMAP.rst,sha256=rHyBfyKGMXiYrvgFIyrmpIePsIq-TFWX8xOzYdCwwNo,169
38
+ odoo/addons/l10n_es_vat_book/readme/ROADMAP.rst,sha256=dZ-2DOOpRMy6cgVhwHWrzjRjvIaF8GXga4tW-z1rzyA,237
39
39
  odoo/addons/l10n_es_vat_book/readme/USAGE.rst,sha256=GJzyBMLql5WxrlQDRzb1VEK2fo7momxhEH_KSKEtxlY,220
40
40
  odoo/addons/l10n_es_vat_book/report/__init__.py,sha256=QS0o-fQFNABxF_-bBmduhokP3PWyj7GhHU2mEeGdKXI,28
41
41
  odoo/addons/l10n_es_vat_book/report/common_templates.xml,sha256=bGTZrPV2YG8G6p7YSr3J-6shOxAT10EZqaQeKBuylFg,10054
42
42
  odoo/addons/l10n_es_vat_book/report/report_views.xml,sha256=CiXGZY8KFwZFqAxjWMYWXIR0iUSBxaS67eCl9lMxAQk,2277
43
43
  odoo/addons/l10n_es_vat_book/report/vat_book_invoices_issued.xml,sha256=9RnQeHVKFBXG2hQH-Vf41oHs1yrz2sknaj4bDhKrs7Y,4127
44
44
  odoo/addons/l10n_es_vat_book/report/vat_book_invoices_received.xml,sha256=l43OPxfR2IlVACmyRWgEYp7x62Q0k9bQG7jdEFwjwIs,4121
45
- odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.py,sha256=qzdiVspCD3ZUvo7BytGA-uwwgwWnuH05nypQ1JYL9x4,16370
45
+ odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.py,sha256=ryqTddQupZ8gVHZVreUKcg5QqsSePJ95X5Bp19VD9uE,20002
46
46
  odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.xml,sha256=sZd6sU-mnZUN-odM8R5MHtt6XfuXkVxPEkyP8XjJMf8,576
47
47
  odoo/addons/l10n_es_vat_book/security/ir.model.access.csv,sha256=D-VRSm4gZ7A0LOlIH9JL-EXkH7EzbubObuFL634GuUs,871
48
48
  odoo/addons/l10n_es_vat_book/security/ir_rule.xml,sha256=4HkdO_WPIAK6hXcVUIFTLmzl0af-tVplhO-o2Xsic1M,521
49
49
  odoo/addons/l10n_es_vat_book/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
50
- odoo/addons/l10n_es_vat_book/static/description/index.html,sha256=q0dK7SDaA-MCXz24JR1VVR3RnWxS7hvKPkV6RkzqDbA,16646
50
+ odoo/addons/l10n_es_vat_book/static/description/index.html,sha256=fnQxTg1nMGgYLcyaxtd4GkskMip7FF8VSi34LuOa9S0,16809
51
51
  odoo/addons/l10n_es_vat_book/tests/__init__.py,sha256=4dynCSzE14Nz6hAqV9vEmx8lEt3Byn-gqNKA0-wj7uc,41
52
- odoo/addons/l10n_es_vat_book/tests/test_l10n_es_aeat_vat_book.py,sha256=5xCKL8AAehzH5V-5kzOHLRO55t6eAmakIaRrTv9Ve_k,5976
52
+ odoo/addons/l10n_es_vat_book/tests/test_l10n_es_aeat_vat_book.py,sha256=Bq1c4Ggs19z9_4h0-B8hLcurJ6uQ8VqvJmT-jyRw_bk,6212
53
53
  odoo/addons/l10n_es_vat_book/views/aeat_vat_book_map_view.xml,sha256=57r8qyI1KZCeoqDrs7bBt2K3UF85vJxi0ZXWMDUsZuc,1278
54
- odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book.xml,sha256=tGOI04-SsWENVcv8JJVmnlOzRMhYOO2ek7nEy5T0GRA,5649
54
+ odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book.xml,sha256=pA4Qi8JSf2OXP7O9JyqU5LLHNo4Qe-6rVhP1NWlLeu0,5794
55
55
  odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_line.xml,sha256=DyJY5YXkzqNjepNI88FKklb-DZs-Kg2Fn5-rfXdWevI,4760
56
56
  odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_summary.xml,sha256=PTX2BDmnE6bIZjlMlRH6R479DdZgDPzG0WO_e-iC2gU,1333
57
57
  odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_tax_summary.xml,sha256=HGDXXDWt3hVT3HEd-QXg_w9DGsiiZ_BDBG1YJUtVZ4Y,2086
58
- odoo_addon_l10n_es_vat_book-16.0.2.0.2.dist-info/METADATA,sha256=LIsMKvUwrHEItdG9xxIG5kir_svXCNiuoEXNXrbPLgE,5947
59
- odoo_addon_l10n_es_vat_book-16.0.2.0.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
60
- odoo_addon_l10n_es_vat_book-16.0.2.0.2.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
61
- odoo_addon_l10n_es_vat_book-16.0.2.0.2.dist-info/RECORD,,
58
+ odoo_addon_l10n_es_vat_book-16.0.2.1.0.dist-info/METADATA,sha256=j2EK_7H4nJxkHE-4itHIVeoohxIFNZzc3BM72L-__lw,6133
59
+ odoo_addon_l10n_es_vat_book-16.0.2.1.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
60
+ odoo_addon_l10n_es_vat_book-16.0.2.1.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
61
+ odoo_addon_l10n_es_vat_book-16.0.2.1.0.dist-info/RECORD,,