odoo-addon-l10n-es-vat-book 18.0.2.0.2__py3-none-any.whl → 18.0.2.1.0.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.
Potentially problematic release.
This version of odoo-addon-l10n-es-vat-book might be problematic. Click here for more details.
- odoo/addons/l10n_es_vat_book/README.rst +11 -7
- odoo/addons/l10n_es_vat_book/__manifest__.py +3 -2
- odoo/addons/l10n_es_vat_book/data/aeat.vat.book.map.line.csv +6 -4
- odoo/addons/l10n_es_vat_book/data/l10n.es.aeat.map.tax.line.tax.csv +47 -0
- odoo/addons/l10n_es_vat_book/i18n/bg.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/ca.po +20 -2
- odoo/addons/l10n_es_vat_book/i18n/cs.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/de.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/es.po +20 -2
- odoo/addons/l10n_es_vat_book/i18n/es_CO.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/es_CR.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/eu.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/fr.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/gl.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/hr.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/l10n_es_vat_book.pot +16 -1
- odoo/addons/l10n_es_vat_book/i18n/nl.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/pl.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/pt.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/pt_BR.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/ru.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/sl.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/sv.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/tr.po +16 -1
- odoo/addons/l10n_es_vat_book/i18n/vi.po +16 -1
- odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book.py +5 -0
- odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line.py +10 -0
- odoo/addons/l10n_es_vat_book/readme/CONTRIBUTORS.md +1 -0
- odoo/addons/l10n_es_vat_book/readme/DESCRIPTION.md +3 -3
- odoo/addons/l10n_es_vat_book/readme/ROADMAP.md +3 -0
- odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.py +206 -117
- odoo/addons/l10n_es_vat_book/static/description/index.html +10 -6
- odoo/addons/l10n_es_vat_book/tests/test_l10n_es_aeat_vat_book.py +6 -1
- odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book.xml +4 -1
- {odoo_addon_l10n_es_vat_book-18.0.2.0.2.dist-info → odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info}/METADATA +13 -9
- odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info/RECORD +63 -0
- odoo_addon_l10n_es_vat_book-18.0.2.0.2.dist-info/RECORD +0 -63
- {odoo_addon_l10n_es_vat_book-18.0.2.0.2.dist-info → odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_l10n_es_vat_book-18.0.2.0.2.dist-info → odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info}/top_level.txt +0 -0
|
@@ -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", f"NIF: {book.company_vat}")
|
|
63
64
|
sheet.write("A4:D4", f"NOMBRE/RAZÓN SOCIAL: {book.company_id.name}")
|
|
64
65
|
|
|
65
|
-
sheet.merge_range("
|
|
66
|
-
sheet.merge_range("
|
|
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.
|
|
69
|
-
sheet.
|
|
70
|
-
sheet.write("C7", "
|
|
71
|
-
sheet.write("D7", "
|
|
72
|
-
sheet.write("E7", "
|
|
73
|
-
sheet.
|
|
74
|
-
sheet.
|
|
75
|
-
sheet.
|
|
76
|
-
sheet.merge_range("I6:I7", "
|
|
77
|
-
sheet.merge_range("J6:J7", "
|
|
78
|
-
sheet.
|
|
79
|
-
sheet.
|
|
80
|
-
sheet.
|
|
81
|
-
sheet.
|
|
82
|
-
sheet.
|
|
83
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
if line.special_tax_group != "irpf":
|
|
98
|
+
sheet.merge_range(
|
|
99
|
+
f"{line.fee_type_xlsx_column}6:{line.fee_type_xlsx_column}7",
|
|
100
|
+
f"Tipo de {line.name}",
|
|
101
|
+
header_format,
|
|
102
|
+
)
|
|
103
|
+
sheet.merge_range(
|
|
104
|
+
f"{line.fee_amount_xlsx_column}6:{line.fee_amount_xlsx_column}7",
|
|
105
|
+
f"Cuota {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:
|
|
115
|
-
sheet.set_column("
|
|
116
|
-
sheet.set_column("
|
|
117
|
-
sheet.set_column("
|
|
118
|
-
sheet.set_column("
|
|
119
|
-
sheet.set_column("
|
|
120
|
-
sheet.set_column("
|
|
121
|
-
sheet.set_column("
|
|
122
|
-
sheet.set_column("
|
|
123
|
-
sheet.set_column("
|
|
124
|
-
sheet.set_column("
|
|
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),
|
|
153
|
-
|
|
154
|
-
sheet.write("
|
|
155
|
-
sheet.write(
|
|
156
|
-
sheet.write("
|
|
157
|
-
sheet.write("
|
|
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("
|
|
160
|
-
sheet.write("
|
|
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("
|
|
203
|
+
sheet.write("Q" + str(row), "Venta anónima")
|
|
165
204
|
else:
|
|
166
|
-
sheet.write("
|
|
167
|
-
#
|
|
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("
|
|
173
|
-
sheet.write("
|
|
174
|
-
sheet.write("
|
|
175
|
-
sheet.write("
|
|
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", f"NIF: {book.company_vat}")
|
|
217
253
|
sheet.write("A4:D4", f"NOMBRE/RAZÓN SOCIAL: {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
|
-
"
|
|
258
|
+
"K6:L6", "Identificación Factura del Expedidor", header_format
|
|
221
259
|
)
|
|
222
|
-
sheet.merge_range("
|
|
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.
|
|
225
|
-
sheet.
|
|
226
|
-
sheet.write("C7", "
|
|
227
|
-
sheet.write("D7", "
|
|
228
|
-
sheet.
|
|
229
|
-
sheet.merge_range("F6:F7", "
|
|
230
|
-
sheet.
|
|
231
|
-
sheet.
|
|
232
|
-
sheet.
|
|
233
|
-
sheet.merge_range("J6:J7", "
|
|
234
|
-
sheet.
|
|
235
|
-
sheet.
|
|
236
|
-
sheet.merge_range("M6:M7", "
|
|
237
|
-
sheet.merge_range("N6:N7", "
|
|
238
|
-
sheet.merge_range("O6:O7", "
|
|
239
|
-
sheet.
|
|
240
|
-
sheet.
|
|
241
|
-
|
|
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
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
295
|
+
if line.special_tax_group != "irpf":
|
|
296
|
+
sheet.merge_range(
|
|
297
|
+
f"{line.fee_type_xlsx_column}6:{line.fee_type_xlsx_column}7",
|
|
298
|
+
f"Tipo de {line.name}",
|
|
299
|
+
header_format,
|
|
300
|
+
)
|
|
301
|
+
sheet.merge_range(
|
|
302
|
+
f"{line.fee_amount_xlsx_column}6:{line.fee_amount_xlsx_column}7",
|
|
303
|
+
f"Cuota {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:
|
|
273
|
-
sheet.set_column("
|
|
274
|
-
sheet.set_column("
|
|
275
|
-
sheet.set_column("
|
|
276
|
-
sheet.set_column("
|
|
277
|
-
sheet.set_column("
|
|
278
|
-
sheet.set_column("
|
|
279
|
-
sheet.set_column("
|
|
280
|
-
sheet.set_column("
|
|
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),
|
|
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("
|
|
311
|
-
sheet.write("
|
|
312
|
-
sheet.write("
|
|
313
|
-
sheet.write("
|
|
314
|
-
sheet.write("
|
|
315
|
-
sheet.write("
|
|
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("
|
|
318
|
-
sheet.write("
|
|
319
|
-
sheet.write("
|
|
320
|
-
#
|
|
321
|
-
|
|
322
|
-
|
|
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("
|
|
326
|
-
sheet.write("
|
|
327
|
-
sheet.write("
|
|
328
|
-
sheet.write("
|
|
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("
|
|
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="
|
|
370
|
-
<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:
|
|
375
|
+
!! source digest: sha256:df2894f85a707364acdb7106ab99c3505929e5e14752c235796df60c96f9a31d
|
|
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/18.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-18-0/l10n-spain-18-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&target_branch=18.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
|
|
379
|
-
<p>Esto módulo introduce el menú “
|
|
380
|
-
->
|
|
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
|
|
380
|
+
-> Informe -> 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 @@ no tener NIF informado siguiendo lo especificado en el formato BOE.</p>
|
|
|
446
446
|
<li>Criterio de caja</li>
|
|
447
447
|
<li>Regímenes especiales de seguros, de agencias de viaje o de bienes
|
|
448
448
|
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 <<a class="reference external" href="mailto:omar@comunitea.com">omar@comunitea.com</a>></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
|
|
|
@@ -78,7 +79,7 @@ class TestL10nEsAeatVatBook(TestL10nEsAeatVatBookBase):
|
|
|
78
79
|
self.assertEqual(line.base_amount, 0.0)
|
|
79
80
|
self.assertEqual(line.tax_amount, 0.0)
|
|
80
81
|
# Check tax summary for received invoices
|
|
81
|
-
self.assertEqual(len(vat_book.received_tax_summary_ids),
|
|
82
|
+
self.assertEqual(len(vat_book.received_tax_summary_ids), 7)
|
|
82
83
|
rec_summaries = sorted(
|
|
83
84
|
vat_book.received_tax_summary_ids,
|
|
84
85
|
key=lambda line: line.tax_amount,
|
|
@@ -108,6 +109,10 @@ class TestL10nEsAeatVatBook(TestL10nEsAeatVatBookBase):
|
|
|
108
109
|
line = rec_summaries[5]
|
|
109
110
|
self.assertAlmostEqual(line.base_amount, 270)
|
|
110
111
|
self.assertAlmostEqual(line.tax_amount, 1.35)
|
|
112
|
+
# P_IRPF19 - 19% Impuesto sobre la resta fisica
|
|
113
|
+
line = rec_summaries[6]
|
|
114
|
+
self.assertAlmostEqual(line.base_amount, 1024)
|
|
115
|
+
self.assertAlmostEqual(line.tax_amount, -194.56)
|
|
111
116
|
# Let's dig into this tax detail for checking the deductible amount
|
|
112
117
|
tax_line = vat_book.received_line_ids.tax_line_ids.filtered(
|
|
113
118
|
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_l10n_es_aeat_submenu"
|
|
123
126
|
action="l10n_es_vat_book_action"
|
|
124
|
-
name="
|
|
127
|
+
name="Libros del IVA y del IRPF"
|
|
125
128
|
/>
|
|
126
129
|
<!-- sequence="340" -->
|
|
127
130
|
</odoo>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-l10n_es_vat_book
|
|
3
|
-
Version: 18.0.2.0.
|
|
3
|
+
Version: 18.0.2.1.0.1
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo-addon-l10n_es_aeat==18.0.*
|
|
6
6
|
Requires-Dist: odoo-addon-report_xlsx==18.0.*
|
|
7
7
|
Requires-Dist: odoo==18.0.*
|
|
8
|
-
Summary:
|
|
8
|
+
Summary: Libros registro del IVA y del IRPF
|
|
9
9
|
Home-page: https://github.com/OCA/l10n-spain
|
|
10
10
|
License: AGPL-3
|
|
11
11
|
Author: PRAXYA, ForgeFlow, Tecnativa, Odoo Community Association (OCA)
|
|
@@ -20,16 +20,16 @@ Description-Content-Type: text/x-rst
|
|
|
20
20
|
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
21
21
|
:alt: Odoo Community Association
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
==================================
|
|
24
|
+
Libros registro del IVA y del IRPF
|
|
25
|
+
==================================
|
|
26
26
|
|
|
27
27
|
..
|
|
28
28
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
29
29
|
!! This file is generated by oca-gen-addon-readme !!
|
|
30
30
|
!! changes will be overwritten. !!
|
|
31
31
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
32
|
-
!! source digest: sha256:
|
|
32
|
+
!! source digest: sha256:df2894f85a707364acdb7106ab99c3505929e5e14752c235796df60c96f9a31d
|
|
33
33
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
34
34
|
|
|
35
35
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -50,10 +50,10 @@ Libro de IVA
|
|
|
50
50
|
|
|
51
51
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
|
52
52
|
|
|
53
|
-
Módulo que calcula
|
|
53
|
+
Módulo que calcula los libros de IVA e IRPF español.
|
|
54
54
|
|
|
55
|
-
Esto módulo introduce el menú "
|
|
56
|
-
->
|
|
55
|
+
Esto módulo introduce el menú "Libros de IVA y del IRPF" en Contabilidad
|
|
56
|
+
-> Informe -> Declaraciones AEAT.
|
|
57
57
|
|
|
58
58
|
Es posible visualizar e imprimir por separado:
|
|
59
59
|
|
|
@@ -117,6 +117,9 @@ Funcionalidades del Libro Registro de IVA no incluídas por el momento:
|
|
|
117
117
|
- Criterio de caja
|
|
118
118
|
- Regímenes especiales de seguros, de agencias de viaje o de bienes
|
|
119
119
|
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
|
|
|
153
157
|
- Omar Castiñeira <omar@comunitea.com>
|
|
154
158
|
- Fernando La Chica <fernandolachica@gmail.com>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
odoo/addons/l10n_es_vat_book/README.rst,sha256=3HcnUQNyHKsECsA93U76md99eWYVS8nNHZUDPg7iipY,5291
|
|
2
|
+
odoo/addons/l10n_es_vat_book/__init__.py,sha256=RYGen4VvN9c8GXvMfZMuO7ERiyRCUJfuAbgo0aC3DEU,42
|
|
3
|
+
odoo/addons/l10n_es_vat_book/__manifest__.py,sha256=bgGkFT6wXI3FlEWsBrIB9_gFOWdKcZ4NCFoWaTqjKl8,1453
|
|
4
|
+
odoo/addons/l10n_es_vat_book/data/aeat.vat.book.map.line.csv,sha256=x1NIbPjRy03G_uKWY-K-aNRpBRiSG-DDWXzk8xO7RjM,2635
|
|
5
|
+
odoo/addons/l10n_es_vat_book/data/l10n.es.aeat.map.tax.line.account.csv,sha256=TrL5kRO3FRIuUv2X2yoU3Tb6hRIKcfi3IeiHkILfp6Y,68
|
|
6
|
+
odoo/addons/l10n_es_vat_book/data/l10n.es.aeat.map.tax.line.tax.csv,sha256=DxaveCuJxj6xCmBF_nMM_aaF2GXjQu86mjLiRVnIdC4,6496
|
|
7
|
+
odoo/addons/l10n_es_vat_book/i18n/bg.po,sha256=vAA5XpU14_t7_ULsl5pMa5Qti8Xt6qa8l2jzuU_Q_Vw,35641
|
|
8
|
+
odoo/addons/l10n_es_vat_book/i18n/ca.po,sha256=9tfgB30zM1CZ37B0minmG3C7Q6E3lNF2N_lwBJq4js8,41299
|
|
9
|
+
odoo/addons/l10n_es_vat_book/i18n/cs.po,sha256=cJUTXhXs9AzGMTgS8nQNmuSOIx36T2KfXfAn52HxTRM,35559
|
|
10
|
+
odoo/addons/l10n_es_vat_book/i18n/de.po,sha256=r-KDxr5tBGC6ypqOk-oSukq02_Nye_WOVoaFEk7oyhw,35326
|
|
11
|
+
odoo/addons/l10n_es_vat_book/i18n/es.po,sha256=dMhzhlFE9HNWBrPQ4z5XCQ4ADLLL2kWNdKdIvFYkDfM,41908
|
|
12
|
+
odoo/addons/l10n_es_vat_book/i18n/es_CO.po,sha256=dPbM1h_5bnFvhGcgnpK0htY-DXiPSsH60mH82_olbRg,35503
|
|
13
|
+
odoo/addons/l10n_es_vat_book/i18n/es_CR.po,sha256=oXB5oBfiIgg40P6iPFYQSS9h1NIsj1EKUk68Yf7tUY4,35490
|
|
14
|
+
odoo/addons/l10n_es_vat_book/i18n/eu.po,sha256=GbTgtqr9xdAgIeVkNoFGhywozAQcfaVqdhwYOSZi3Yw,35515
|
|
15
|
+
odoo/addons/l10n_es_vat_book/i18n/fr.po,sha256=gpGxT-WYRkbzGAT3zDSJbnqdeb92E9jZAdlDxbKiewo,35545
|
|
16
|
+
odoo/addons/l10n_es_vat_book/i18n/gl.po,sha256=GgG1Ue69OhZs5eZG3fTQ__kh9i4yXYPgVp1FDkEW5HM,35608
|
|
17
|
+
odoo/addons/l10n_es_vat_book/i18n/hr.po,sha256=5lGUPAVsxp1lDTmPHEU-bBXHQ5fm5_VwohU6lRXOnFU,35591
|
|
18
|
+
odoo/addons/l10n_es_vat_book/i18n/l10n_es_vat_book.pot,sha256=DiChpwOBHWxy2X4S-hexobgjUdfrr4Yz_NuMNNUVWZ8,35056
|
|
19
|
+
odoo/addons/l10n_es_vat_book/i18n/nl.po,sha256=jl_g63PwI3yOIFKumxV8nEmtWr4Z3Eor2-NqQIyUyNA,35543
|
|
20
|
+
odoo/addons/l10n_es_vat_book/i18n/pl.po,sha256=Rb5s-Fw4by7sip9mH0qYIvGcYEK9BcGfx0paPkScR3Q,35699
|
|
21
|
+
odoo/addons/l10n_es_vat_book/i18n/pt.po,sha256=bBqwizKwq2AxtjdaaTyfQJ29w57yOZHvoFnwHpdO8a8,35556
|
|
22
|
+
odoo/addons/l10n_es_vat_book/i18n/pt_BR.po,sha256=UaZ1xJ8sJncTBGP7m7PlcAD88djwOTRDJYjM1aDGCx8,35583
|
|
23
|
+
odoo/addons/l10n_es_vat_book/i18n/ru.po,sha256=lvALdiJDjva6gQHWy60bmtK5Q4cOlM3NuPpWjqetT0Q,35659
|
|
24
|
+
odoo/addons/l10n_es_vat_book/i18n/sl.po,sha256=NF58XcfjFUKixALeOLYnhp1QjwtQPMad6TA-L55u6WA,35607
|
|
25
|
+
odoo/addons/l10n_es_vat_book/i18n/sv.po,sha256=ws92TTWUbRzJz8mG0Qg7WQlp6E74IjL9Vx1Io5UUH4U,35523
|
|
26
|
+
odoo/addons/l10n_es_vat_book/i18n/tr.po,sha256=c1tUulH3ZZIJMsfx5BYT9fktAVqFd6TPjh7V2Fsrmgk,35524
|
|
27
|
+
odoo/addons/l10n_es_vat_book/i18n/vi.po,sha256=pRHw5NUgEt8Iw5dxr_fUNXlukG_WD6znQt_Cf5Qe6IQ,35522
|
|
28
|
+
odoo/addons/l10n_es_vat_book/migrations/18.0.2.0.0/post-migration.py,sha256=AXJRI3J9g9OR0nOskb4ufGX3AUT-wEv_xMV7URfcvmI,334
|
|
29
|
+
odoo/addons/l10n_es_vat_book/models/__init__.py,sha256=V0ONDc9wKn8JF0Soh2NCORHEAQ7EcOn16SNkxjA50WU,226
|
|
30
|
+
odoo/addons/l10n_es_vat_book/models/aeat_vat_book_map_line.py,sha256=CfuXLhscmFWhzgbK7bTcFGgu4klJH_Hr3r3LouphLKI,2088
|
|
31
|
+
odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book.py,sha256=6mr1ko7OBg3cnJ7Xqt0GXmnHxMtUHV9o991p4JK11Kk,22129
|
|
32
|
+
odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line.py,sha256=CJp7F9IBv-Yge0FJR5oT7G4mAb6zDYX43Tb81TMhLXQ,2465
|
|
33
|
+
odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_line_tax.py,sha256=Uoid5DEQc07Bz5r7JqfKbkd91LGqR_1tsfq1VXkaSQw,2440
|
|
34
|
+
odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_summary.py,sha256=7NKIt1v_hx-5PXs4rbpdngX-4cIPpbRtht2LRQ26HV8,1202
|
|
35
|
+
odoo/addons/l10n_es_vat_book/models/l10n_es_vat_book_tax_summary.py,sha256=No6PJ34A-V16ij_1h5zqsGI6wpg1i-g57ZQX_R8YyY8,1260
|
|
36
|
+
odoo/addons/l10n_es_vat_book/readme/CONFIGURE.md,sha256=prDqeAmmUOBhAn-LV4kghJ9zcBAEG1Sp9EBun61KaZ0,351
|
|
37
|
+
odoo/addons/l10n_es_vat_book/readme/CONTRIBUTORS.md,sha256=GLZ6NrWIhvtRKYn-rNXZPRVzGoivL3RJSDFhM9qReqc,506
|
|
38
|
+
odoo/addons/l10n_es_vat_book/readme/DESCRIPTION.md,sha256=vA9lxX-KEvTtCSbY2xdC-km4yKpy0K0BJsRVcvsHYC8,478
|
|
39
|
+
odoo/addons/l10n_es_vat_book/readme/INSTALL.md,sha256=szULZOUnQsfO-mRKmnF_PsGmARm1m9zeuh9ma5FswbI,469
|
|
40
|
+
odoo/addons/l10n_es_vat_book/readme/ROADMAP.md,sha256=0fgBRgoMJ3sELkXeeSY_A6BZv1dIWnJbopbzTFnpSp0,240
|
|
41
|
+
odoo/addons/l10n_es_vat_book/readme/USAGE.md,sha256=WTI42NoWwgTi0lmaj9icm_TFvGcnks_fit7kJwwEyos,227
|
|
42
|
+
odoo/addons/l10n_es_vat_book/report/__init__.py,sha256=QS0o-fQFNABxF_-bBmduhokP3PWyj7GhHU2mEeGdKXI,28
|
|
43
|
+
odoo/addons/l10n_es_vat_book/report/common_templates.xml,sha256=Hu_8s9pR6Ll4ui-0rCHG68gB2pzXpCXKZnh35xSWGbI,10046
|
|
44
|
+
odoo/addons/l10n_es_vat_book/report/report_views.xml,sha256=CiXGZY8KFwZFqAxjWMYWXIR0iUSBxaS67eCl9lMxAQk,2277
|
|
45
|
+
odoo/addons/l10n_es_vat_book/report/vat_book_invoices_issued.xml,sha256=9RnQeHVKFBXG2hQH-Vf41oHs1yrz2sknaj4bDhKrs7Y,4127
|
|
46
|
+
odoo/addons/l10n_es_vat_book/report/vat_book_invoices_received.xml,sha256=l43OPxfR2IlVACmyRWgEYp7x62Q0k9bQG7jdEFwjwIs,4121
|
|
47
|
+
odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.py,sha256=Y_AnIiLB9lUgByDEV1QV_jR74ZOeZD4lX2rYN2wVsV4,20013
|
|
48
|
+
odoo/addons/l10n_es_vat_book/report/vat_book_xlsx.xml,sha256=sZd6sU-mnZUN-odM8R5MHtt6XfuXkVxPEkyP8XjJMf8,576
|
|
49
|
+
odoo/addons/l10n_es_vat_book/security/ir.model.access.csv,sha256=D-VRSm4gZ7A0LOlIH9JL-EXkH7EzbubObuFL634GuUs,871
|
|
50
|
+
odoo/addons/l10n_es_vat_book/security/ir_rule.xml,sha256=4HkdO_WPIAK6hXcVUIFTLmzl0af-tVplhO-o2Xsic1M,521
|
|
51
|
+
odoo/addons/l10n_es_vat_book/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
52
|
+
odoo/addons/l10n_es_vat_book/static/description/index.html,sha256=cSHjDCLZKLCmhZE6CScsJt7UdT6HsHA_gaR1-49JoXE,16454
|
|
53
|
+
odoo/addons/l10n_es_vat_book/tests/__init__.py,sha256=4dynCSzE14Nz6hAqV9vEmx8lEt3Byn-gqNKA0-wj7uc,41
|
|
54
|
+
odoo/addons/l10n_es_vat_book/tests/test_l10n_es_aeat_vat_book.py,sha256=4DNuQKedqFnm4To5ekL5O-iCZaNtJwsvj7mfD7Q4xUE,6274
|
|
55
|
+
odoo/addons/l10n_es_vat_book/views/aeat_vat_book_map_view.xml,sha256=5JshRk9EUj7748Wgq0GFLEFKFPzoYZ8cOpr42TPQ4eU,1281
|
|
56
|
+
odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book.xml,sha256=Zu3WLsVAQfhTBkVFJfBU5IV73q64_YHcu--Jg2sbSTU,5731
|
|
57
|
+
odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_line.xml,sha256=Pu42fg7xC8CnwDxnmUhMrC8CQt71kS1Wamue9wKKApw,4575
|
|
58
|
+
odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_summary.xml,sha256=eofP_7uLFzOxxXZKTIIKckhEJnOHtbZcLU1vtL9OJzE,1333
|
|
59
|
+
odoo/addons/l10n_es_vat_book/views/l10n_es_vat_book_tax_summary.xml,sha256=pZ_xc9TA7kvln4ecgyQxPZaSfxSToCjylUUnMBTHrNE,2086
|
|
60
|
+
odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info/METADATA,sha256=ZzHtlAW2s0NOQZpjvdEodKMrDeKhCZ4gYe5RNYByh5M,5956
|
|
61
|
+
odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
62
|
+
odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
63
|
+
odoo_addon_l10n_es_vat_book-18.0.2.1.0.1.dist-info/RECORD,,
|