diff --git a/l10n_es_aeat_mod592/README.rst b/l10n_es_aeat_mod592/README.rst new file mode 100644 index 00000000000..2ef8f44256b --- /dev/null +++ b/l10n_es_aeat_mod592/README.rst @@ -0,0 +1,136 @@ +=============== +AEAT modelo 592 +=============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e97c74fdaa1e3e0a604a1ca357765eaabc9b8899b4ed6c24e530bbf7c23b2d99 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--spain-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_aeat_mod592 + :alt: OCA/l10n-spain +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-spain-16-0/l10n-spain-16-0-l10n_es_aeat_mod592 + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Módulo que calcula el impuesto al plástico Mod592. + +Esto módulo introduce el menú "AEAT 592 Model" en Contabilidad -> Informe -> +Declaraciones AEAT -> AEAT 592 Model. + +Es posible visualizar e imprimir por separado: + +* Registro de asientos con productos en impuestos al plástico de los asquirientes + +Es posible exportar los registros a archivo con extensión csv para subir a la web de la AEAT. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Se ha de confirgurar los tipos y pesos en la ficha del producto. + +* Si tiene impuesto al plástico. +* Peso del plástico +* Tipo de clave del producto +* Concepto del producto +* Regimen fiscal + +El código de producto y nombre se capturan de forma automática de la ficha del producto + +Usage +===== + +Para instalar este modulo necesitas: + +* account +* stock +* l10n_es +* l10n_es_aeat +* report_xlsx +* report_csv + +Se instalan automáticamente si están disponibles en la lista de addons. + +Existe varios permisos "Mod 592 Acquire" y "Mod 592 Manufacturer" para gestionar +cada cosa, será necesario tener el permiso correspondiente en el usuario. + +Se calcularán líneas de adquirientes o fabricación si está definido a nivel de compañía (pestaña AEAT). + +Known issues / Roadmap +====================== + +* Los movimientos que involucran adquisicion de plastico no reciclable no se + buscan por su fecha de factura, o día 15 del mes siguiente como muy tarde. + Solo se buscan en la fecha en que el movimiento quedó realizado. +* No se contempla el caso de Fabricantes. Eso debe venir en un módulo aparte con + dependencia de mrp, y tener una fuerte trazabilidad de cada quant para contemplar + todos los casos de la ley. +* No se contempla el tratamiento de Canarias: Si el producto es adquirido en + Canarias con destino a la Península, debe tributar. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa +* Binhex System Solutions + +Contributors +~~~~~~~~~~~~ + +* Nicolás Ramos (Binhex) +* Javier Colmenero (Comunitea) + +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/l10n-spain `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_es_aeat_mod592/__init__.py b/l10n_es_aeat_mod592/__init__.py new file mode 100644 index 00000000000..37e105d036d --- /dev/null +++ b/l10n_es_aeat_mod592/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models +from . import report diff --git a/l10n_es_aeat_mod592/__manifest__.py b/l10n_es_aeat_mod592/__manifest__.py new file mode 100644 index 00000000000..4cec6d3e449 --- /dev/null +++ b/l10n_es_aeat_mod592/__manifest__.py @@ -0,0 +1,30 @@ +# Copyright 2014-2022 Nicolás Ramos (http://binhex.es) +# Copyright 2023 Binhex System Solutions +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "AEAT modelo 592", + "version": "16.0.1.0.0", + "category": "Accounting", + "author": "Tecnativa, Binhex System Solutions, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-spain", + "license": "AGPL-3", + "depends": ["l10n_es_aeat", "report_xlsx", "stock"], + "data": [ + "data/ir_sequence_data.xml", + "security/aeat_security.xml", + "security/ir.model.access.csv", + "views/product_template_views.xml", + "views/res_partner_views.xml", + "views/mod592_views.xml", + "views/mod592_acquirer_line_views.xml", + "views/mod592_manufacturer_line_views.xml", + "views/res_company_views.xml", + "report/aeat_mod592.xml", + "report/common_templates.xml", + "report/report_views.xml", + ], + "development_status": "Beta", + "installable": True, +} diff --git a/l10n_es_aeat_mod592/data/ir_sequence_data.xml b/l10n_es_aeat_mod592/data/ir_sequence_data.xml new file mode 100644 index 00000000000..57043a10f15 --- /dev/null +++ b/l10n_es_aeat_mod592/data/ir_sequence_data.xml @@ -0,0 +1,19 @@ + + + + + Mod592 Sequence Manufacturer + l10n.es.aeat.mod592.report.line.manufacturer + M + 3 + + + + + Mod592 Sequence Acquirer + l10n.es.aeat.mod592.report.line.acquirer + A + 3 + + + diff --git a/l10n_es_aeat_mod592/docs/Contabilidad_libro.pdf b/l10n_es_aeat_mod592/docs/Contabilidad_libro.pdf new file mode 100644 index 00000000000..7dda69e46bd Binary files /dev/null and b/l10n_es_aeat_mod592/docs/Contabilidad_libro.pdf differ diff --git "a/l10n_es_aeat_mod592/docs/R\303\251g. Fiscal Adquir. y Repres. (ADSIPLRA).csv" "b/l10n_es_aeat_mod592/docs/R\303\251g. Fiscal Adquir. y Repres. (ADSIPLRA).csv" new file mode 100644 index 00000000000..e06f1bdcb80 --- /dev/null +++ "b/l10n_es_aeat_mod592/docs/R\303\251g. Fiscal Adquir. y Repres. (ADSIPLRA).csv" @@ -0,0 +1,16 @@ + +Cdigo;Descripcin;Descripcin larga; +A;Sujecin y no exencin Ley 7/2022, de 8 de abril;

Adquisicin intracomunitaria sujeta y no exenta de productos objeto del impuesto.

; +B;No sujecin artculo 73 c) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de pinturas, tintas, lacas y adhesivos concebidos para ser incorporados a productos objeto del impuesto; +C;No sujecin artculo 73 d) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de envases del art. 68.1a) de la Ley no diseados para ser entregados conjuntamente con las mercancas.; +D;Exencin artculo 75 a) 1 Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de envases del art. 68.1a) de la Ley destinados a prestar su funcin en medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario; +E;Exencin artculo 75 a) 2 Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de productos del art. 68.1b) de la Ley destinados a obtener envases del art. 68.1a) de la Ley para medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.; +F;Exencin artculo 75 a) 3 Ley 7/2022, de 8 de abril;

Adquisicin intracomunitaria de productos del art. 68.1c) de la Ley destinados a permitir el cierre, la comercializacin o la presentacin de envases no reutilizables para medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.

; +G;Exencin artculo 75 b) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de envases del art. 68.1a) de la Ley que se introduzcan en el territorio espaol prestando su funcin en medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.; +H;Exencin artculo 75 c) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de rollos de plstico empleados en las pacas o balas para ensilado de forrajes o cereales de uso agrcola o ganadero; +I;Exencin artculo 75 d) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de productos objeto del impuesto que, con anterioridad a finalizar el plazo de presentacin de la correspondiente autoliquidacin, se destinen a ser enviados fuera del territorio espaol (directamente por el adquirente intracomunitario, o por un tercero en su nombre o por su cuenta).; +J;Exencin artculo 75 e) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de productos objeto del impuesto que, con anterioridad a finalizar el plazo de presentacin de la correspondiente autoliquidacin, hayan dejado de ser adecuados para su utilizacin o hayan sido destruidos.; +K;Exencin artculo 75 f) Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de envases del art. 68.1a) de la Ley siempre que el peso total del plstico no reciclado contenido en dichos envases no exceda de 5 kilogramos en un mes.; +L;Exencin artculo 75 g) 1 Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de productos del art. 68.1b) de la Ley cuando no se vayan a destinar a obtener envases del art. 68.1a) de la Ley.; +M;Exencin artculo 75 g) 2 Ley 7/2022, de 8 de abril;Adquisicin intracomunitaria de productos del artculo 68.1c) de la Ley cuando no se vayan a utilizar para permitir el cierre, la comercializacin o la presentacin de envases no reutilizables.; +;;; diff --git "a/l10n_es_aeat_mod592/docs/R\303\251gimen Fiscal Fabricantes (ADSIPLRF).csv" "b/l10n_es_aeat_mod592/docs/R\303\251gimen Fiscal Fabricantes (ADSIPLRF).csv" new file mode 100644 index 00000000000..636a165d63d --- /dev/null +++ "b/l10n_es_aeat_mod592/docs/R\303\251gimen Fiscal Fabricantes (ADSIPLRF).csv" @@ -0,0 +1,14 @@ + +Cdigo;Descripcin;Descripcin larga; +A;Sujecin y no exencin;Fabricacin sujeta y no exenta de productos objeto del impuesto; +B;No sujecin artculo 73 a) Ley 7/2022, de 8 de abril;Fabricacin de productos objeto del impuesto que, antes del devengo del impuesto, han dejado de ser adecuados para su utilizacin o han sido destruidos.; +C;No sujecin artculo 73 b) Ley 7/2022, de 8 de abril;Fabricacin de productos objeto del impuesto destinados a ser enviados fuera del territorio espaol (directamente por el fabricante o por un tercero por su nombre o por su cuenta); +D;No sujecin artculo 73 c) Ley 7/2022, de 8 de abril;Fabricacin de pinturas, tintas, lacas y adhesivos concebidos para ser incorporados a productos objeto del impuesto.; +E;No sujecin artculo 73 d) Ley 7/2022, de 8 de abril;Fabricacin de envases del art. 68.1a) de la Ley no diseados para ser entregados conjuntamente con las mercancas.; +F;Exencin artculo 75 a) 1 Ley 7/2022, de 8 de abril;Fabricacin de envases del art. 68.1a) de la Ley destinados a prestar su funcin en medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.; +G;Exencin artculo 75 a) 2 Ley 7/2022, de 8 de abril;Fabricacin de productos del art. 68.1b) de la Ley destinados a obtener envases del art. 68.1a) de la Ley para medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.; +H;Exencin artculo 75 a) 3 Ley 7/2022, de 8 de abril;Fabricacin de productos del art. 68.1c) de la Ley destinados a permitir el cierre, la comercializacin o la presentacin de envases no reutilizables para medicamentos, productos sanitarios, alimentos para usos mdicos especiales, preparados para lactantes de uso hospitalario o residuos peligrosos de origen sanitario.; +I;Exencin artculo 75 c) Ley 7/2022, de 8 de abril;La fabricacin de rollos de plstico empleados en las pacas o balas para ensilado de forrajes o cereales de uso agrcola o ganadero.; +J;Exencin artculo 75 g) 1 Ley 7/2022, de 8 de abril;Fabricacin de productos del art. 68.1.b) de la Ley cuando no se vayan a destinar a obtener los envases del art. 68.1a) de la Ley.; +K;Exencin artculo 75 g) 2 Ley 7/2022, de 8 de abril;Fabricacin de productos del artculo 68.1c) de la Ley cuando no se vayan a utilizar para permitir el cierre, la comercializacin o la presentacin de envases no reutilizables.; +;;; diff --git a/l10n_es_aeat_mod592/docs/plastico_campos_impfichero.xlsx b/l10n_es_aeat_mod592/docs/plastico_campos_impfichero.xlsx new file mode 100644 index 00000000000..a992833f157 Binary files /dev/null and b/l10n_es_aeat_mod592/docs/plastico_campos_impfichero.xlsx differ diff --git a/l10n_es_aeat_mod592/docs/plastico_doc_impfichero.pdf b/l10n_es_aeat_mod592/docs/plastico_doc_impfichero.pdf new file mode 100644 index 00000000000..7d28d9be469 Binary files /dev/null and b/l10n_es_aeat_mod592/docs/plastico_doc_impfichero.pdf differ diff --git a/l10n_es_aeat_mod592/i18n/es.po b/l10n_es_aeat_mod592/i18n/es.po new file mode 100644 index 00000000000..5c6dadb91cf --- /dev/null +++ b/l10n_es_aeat_mod592/i18n/es.po @@ -0,0 +1,1518 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_es_aeat_mod592 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-25 14:34+0000\n" +"PO-Revision-Date: 2024-04-25 16:36+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 3.0.1\n" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__1 +#, python-format +msgid "(1) Initial existence" +msgstr "(1) Existencia Inicial" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__1 +#, python-format +msgid "(1) Intra-community acquisition" +msgstr "(1) Adquisición Intracomunitaria" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__1 +#, python-format +msgid "(1) NIF or Spanish NIE" +msgstr "(1) NIF o NIE Español" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__2 +#, python-format +msgid "(2) Intra-Community VAT NIF" +msgstr "(2) NIF intracomunitario" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__2 +#, python-format +msgid "(2) Manufacturing" +msgstr "(2) Fabricación" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__2 +#, python-format +msgid "(2) Shipping outside Spanish territory" +msgstr "(2) Envío fuera del territorio español" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__3 +#, python-format +msgid "(3) Inadequacy or destruction" +msgstr "(3) Inadecuación o destrucción" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__3 +#, python-format +msgid "(3) Others" +msgstr "(3) Otros" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__3 +#, python-format +msgid "" +"(3) Return of products for destruction or reincorporation into the\n" +" manufacturing process" +msgstr "" +"(3) Retorno de productos para destrucción o reincorporación al proceso de " +"fabricación" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__4 +#, python-format +msgid "(4) Delivery or making available of the products accounted for" +msgstr "(4) Entrega o puesta a disposición de los productos contabilizados" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__4 +#, python-format +msgid "" +"(4) Return for destruction or reincorporation into the\n" +" manufacturing process" +msgstr "" +"(4) Devolución para destrucción o reincorporación al proceso de fabricación" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__5 +#, python-format +msgid "" +"(5) Other cancellations of the products accounted for other than\n" +" their delivery or availability" +msgstr "" +"(5) Otras anulaciones de los productos contabilizados distintas a su entrega " +"o puesta a disposición" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__a +#, python-format +msgid "(A) Non-reusable" +msgstr "(A) No reutilizable" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__a +#, python-format +msgid "(A) Subjection and non-exemption " +msgstr "(A) Sujeción y no exención " + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__a +#, python-format +msgid "(A) Subjection and non-exemption Law 7/2022, of April 8" +msgstr "(A) Sujeción y no exención Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__b +#, python-format +msgid "(B) Non-subjection article 73 c) Law 7/2022, of April 8" +msgstr "(B) No sujeción artículo 73 c) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__b +#, python-format +msgid "(B) Not subject to article 73 a) Law 7/2022, of April 8" +msgstr "(B) No sujeción artículo 73 a) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__b +#, python-format +msgid "(B) Semi-finished" +msgstr "(B) Semielaborado" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__c +#, python-format +msgid "(C) Not subject to article 73 b) Law 7/2022, of April 8" +msgstr "(C) No sujeción artículo 73 b) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__c +#, python-format +msgid "(C) Not subject to article 73 d) Law 7/2022, of April 8" +msgstr "(C) No sujeción artículo 73 d) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__c +#, python-format +msgid "(C) Plastic product intended to allow the closure" +msgstr "(C) Producto plástico destinado a permitir el cierre" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__d +#, python-format +msgid "(D) Exemption article 75 a) 1º Law 7/2022, of April 8" +msgstr "(D) Exención artículo 75 a) 1º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__d +#, python-format +msgid "(D) Non-subjection article 73 c) Law 7/2022, of April 8" +msgstr "(D) No sujeción artículo 73 c) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__e +#, python-format +msgid "(E) Exemption article 75 a) 2º Law 7/2022, of April 8" +msgstr "(E) Exención artículo 75 a) 2º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__e +#, python-format +msgid "(E) Not subject to article 73 d) Law 7/2022, of April 8" +msgstr "(E) No sujeción artículo 73 d) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__f +#, python-format +msgid "(F) Exemption article 75 a) 1º Law 7/2022, of April 8" +msgstr "(F) Exención artículo 75 a) 1º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__f +#, python-format +msgid "(F) Exemption article 75 a) 3º Law 7/2022, of April 8" +msgstr "(F) Exención artículo 75 a) 3º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__g +#, python-format +msgid "(G) Exemption article 75 a) 2º Law 7/2022, of April 8" +msgstr "(G) Exención artículo 75 a) 2º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__g +#, python-format +msgid "(G) Exemption article 75 b) Law 7/2022, of April 8" +msgstr "(G) Exención artículo 75 b) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__h +#, python-format +msgid "(H) Exemption article 75 a) 3º Law 7/2022, of April 8" +msgstr "(H) Exención artículo 75 a) 3º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__h +#, python-format +msgid "(H) Exemption article 75 c) Law 7/2022, of April 8" +msgstr "(H) Exención artículo 75 c) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__i +#, python-format +msgid "(I) Exemption article 75 c) Law 7/2022, of April 8" +msgstr "(I) Exención artículo 75 c) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__i +#, python-format +msgid "(I) Exemption article 75 d) Law 7/2022, of April 8" +msgstr "(I) Exención artículo 75 d) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__j +#, python-format +msgid "(J) Exemption article 75 e) Law 7/2022, of April 8" +msgstr "(J) Exención artículo 75 e) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__j +#, python-format +msgid "(J) Exemption article 75 g) 1º Law 7/2022, of April 8" +msgstr "(J) Exención artículo 75 g) 1º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__k +#, python-format +msgid "(K) Exemption article 75 f) Law 7/2022, of April 8" +msgstr "(K) Exención artículo 75 f) Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__k +#, python-format +msgid "(K) Exemption article 75 g) 2º Law 7/2022, of April 8" +msgstr "(K) Exención artículo 75 g) 2º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__l +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__l +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__l +#, python-format +msgid "(L) Exemption article 75 g) 1º Law 7/2022, of April 8" +msgstr "(L) Exención artículo 75 g) 1º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__m +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__m +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__m +#, python-format +msgid "(M) Exemption article 75 g) 2º Law 7/2022, of April 8" +msgstr "(M) Exención artículo 75 g) 2º Ley 7/2022, de 8 de abril" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.l10n_es_aeat_mod_592_acquirer_entries_view_form +msgid "AEAT 592 Acquirer Entries record detail" +msgstr "AEAT 592 Detalle de registro de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_acquirer +msgid "AEAT 592 Acquirer report" +msgstr "AEAT 592 Informe de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.l10n_es_aeat_mod_592_manufacturer_entries_view_form +msgid "AEAT 592 Manufacturer Entries record detail" +msgstr "AEAT 592 Detalle de registro de fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_manufacturer +msgid "AEAT 592 Manufacturer report" +msgstr "AEAT 592 Informe de fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report +#: model:ir.ui.menu,name:l10n_es_aeat_mod592.menu_aeat_mod592_report +msgid "AEAT 592 Model" +msgstr "Modelo 592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.act_report_aeat_mod592_pdf +msgid "AEAT 592 Model PDF" +msgstr "Modelo 592 PDF" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer +msgid "AEAT 592 Model XLSX Acquirer report" +msgstr "Modelo 592 Informe de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man +msgid "AEAT 592 Model XLSX Manufacturer report" +msgstr "Modelo 592 Informe de fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report +msgid "AEAT 592 report" +msgstr "Informe AEAT 592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_mixin +msgid "AEAT 592 report line Mixin" +msgstr "Línea de Informe AEAT 592 Mixin" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "AEAT 592 reports" +msgstr "Informes AEAT 592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__move_id +msgid "Account entry" +msgstr "Asiento contable" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__acquirer +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__acquirer +#, python-format +msgid "Acquirer" +msgstr "Adquirente" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py:0 +#, python-format +msgid "Acquirer Items" +msgstr "Registros de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer Result" +msgstr "Resultado de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__acquirer_line_ids +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer entries" +msgstr "Asientos de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__show_error_acquirer +msgid "Acquirer lines with error" +msgstr "Línas de adquirente con error" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer lines with errors" +msgstr "Línas de adquirente con errores" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Acquirer records" +msgstr "Registros de adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction +msgid "Action Needed" +msgstr "Acción necesaria" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Actividad de excepción de decoración" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_state +msgid "Activity State" +msgstr "Estado de actividad" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_icon +msgid "Activity Type Icon" +msgstr "Tipo de icono de actividad" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592.py:0 +#, python-format +msgid "" +"All entries records fields (Entrie number, VAT number Concept, Key product, " +"Fiscal regime, etc must be filled." +msgstr "" +"Todos los campos de los asientes (Nª asiento, NIF, Concepto, clave producto, " +"régimen fiscal...) deben estar rellenados." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__allow_posting +msgid "Allow Posting" +msgstr "Permitir publicación" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__amount_plastic_tax +msgid "Amount tax for non recyclable" +msgstr "Importe impuesto no reciclable" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_attachment_count +msgid "Attachment Count" +msgstr "Contador de adjuntos" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_bank_id +msgid "Bank account" +msgstr "Cuenta bancaria" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__both +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__both +#, python-format +msgid "Both" +msgstr "Ambos" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__calculation_date +msgid "Calculation Date" +msgstr "Fecha de cálculo" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entries_ok +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entries_ok +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entries_ok +msgid "Checked if record is OK" +msgstr "Marcado si el registro es correcto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_id +msgid "Company" +msgstr "Compañía" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_bank_id +msgid "Company bank account used for the presentation" +msgstr "Cuenta bancaria de la compañía usada para la presentación" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Company:" +msgstr "Compañía:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__concept +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__concept +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Concept" +msgstr "Concepto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_email +msgid "Contact Email" +msgstr "Email contacto" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Contact phone:" +msgstr "Teléfono de contacto:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__counterpart_account_id +msgid "Counterpart account" +msgstr "Cuenta contrapartida" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.actions.act_window,help:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report +msgid "Create and query AEAT 592 Model reports" +msgstr "Crear y consultar informes Modelo 592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__create_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__create_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__create_uid +msgid "Created by" +msgstr "Creación por" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__create_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__create_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__create_date +msgid "Created on" +msgstr "Creación en" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__date_done +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__date_done +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__date_done +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Date" +msgstr "Fecha" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Declaration number:" +msgstr "Nº de declaración:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__display_name +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__display_name +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__date_end +msgid "Ending date" +msgstr "Fecha final" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Entrie" +msgstr "Registro" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entry_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entry_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entry_number +msgid "Entrie number" +msgstr "Nº de asiento" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entries_ok +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entries_ok +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entries_ok +msgid "Entries OK" +msgstr "Registros OK" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entry_note +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entry_note +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entry_note +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Entries observation" +msgstr "Observaciones del registro" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__error_count +msgid "Error Count" +msgstr "Contador de errores" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__error_text +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__error_text +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__error_text +msgid "Error text" +msgstr "Texto de error" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export CSV Acquirer" +msgstr "Exportar CSV Adquirente" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export CSV Manufacturer" +msgstr "Exportar CSV Fabricante" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export XLSX Acquirer" +msgstr "Exportar XLSX Adquirente" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export XLSX Manufacturer" +msgstr "Exportar XLSX Fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__export_config_id +msgid "Export config" +msgstr "Exportar configuración" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Fiscal Year:" +msgstr "Año fiscal:" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Fiscal regime" +msgstr "Régiem fiscal" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer +msgid "Fiscal regime manufacturer" +msgstr "Regimen fiscal fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer +msgid "Fiscal reginme acquirer" +msgstr "Regimen fiscal adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Contactos)" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Fuente de iconos impresionante, por ejemplo, fa-tasks" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Form 592 Plastic tax" +msgstr "Formulario 592 Impuesto sobre el plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_name +msgid "Full Name" +msgstr "Nombre completo" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "General" +msgstr "General" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Generic" +msgstr "Genérico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__has_message +msgid "Has Message" +msgstr "Tiene mensaje" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__id +msgid "ID" +msgstr "ID" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad de excepción." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread +msgid "If checked, new messages require your attention." +msgstr "Si está marcado, los nuevos mensajes requieren su atención." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcado, algunos mensajes tienen un error de entrega." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_is_follower +msgid "Is Follower" +msgstr "Es seguidor" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__is_plastic_tax +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__is_plastic_tax +msgid "Is plastic tax?" +msgstr "¿Tiene impuesto plástico?" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__journal_id +msgid "Journal" +msgstr "Diario" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__journal_id +msgid "Journal in which post the move." +msgstr "Diairo en el que contabilizar el asiento." + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Key product" +msgstr "Clave producto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__representative_vat +msgid "L.R. VAT number" +msgstr "L.R. NIF" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report____last_update +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer____last_update +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__write_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__write_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__write_uid +msgid "Last Updated by" +msgstr "Última modificación por" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__write_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__write_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__write_date +msgid "Last Updated on" +msgstr "Última modificación el" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__representative_vat +msgid "Legal Representative VAT number." +msgstr "Representante legal NIF." + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Legal representative VAT:" +msgstr "Representante legal NIF:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_main_attachment_id +msgid "Main Attachment" +msgstr "Adjunto principal" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__manufacturer +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__manufacturer +#, python-format +msgid "Manufacturer" +msgstr "Fabricante" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py:0 +#, python-format +msgid "Manufacturer Items" +msgstr "Registros del fabricante" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer Result" +msgstr "Resultado del fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__manufacturer_line_ids +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer entries" +msgstr "Registros del fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__show_error_manufacturer +msgid "Manufacturer lines with error" +msgstr "Línas de fabricante con error" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer lines with errors" +msgstr "Líneas del fabricante con errores" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Manufacturer records" +msgstr "Registros de fabricación" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error +msgid "Message Delivery error" +msgstr "Mensaje de error de entrega" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_ids +msgid "Messages" +msgstr "Mensaje" + +#. module: l10n_es_aeat_mod592 +#: model:res.groups,name:l10n_es_aeat_mod592.group_mod592_acquirer +msgid "Mod 592 (Acquirer)" +msgstr "Modelo 592 (Adquirente)" + +#. module: l10n_es_aeat_mod592 +#: model:res.groups,name:l10n_es_aeat_mod592.group_mod592_manufacturer +msgid "Mod 592 (Manufacturer)" +msgstr "Modelo 592 (Fabricante)" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_acquirer +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_manufacturer +msgid "Mod 592 Report Lines" +msgstr "Líneas de informe Mod 592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__report_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__report_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__report_id +msgid "Mod592 Report" +msgstr "Informe Mod592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_report_l10n_es_aeat_mod592_l10n_es_aeat_mod592_xlsx_acquirer +msgid "Mod592 XLSX Acquirer" +msgstr "XLSX del adquirente Mod592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_report_l10n_es_aeat_mod592_l10n_es_aeat_mod592_xlsx_man +msgid "Mod592 XLSX Manufacturer" +msgstr "XLSX del fabricante Mod592" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__number +msgid "Model number" +msgstr "Número de modelo" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_name +msgid "Must have name and surname." +msgstr "Debe tener nombre y apellidos." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Mi fecha límite de actividad" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Siguiente fecha límite de actividad" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_summary +msgid "Next Activity Summary" +msgstr "Siguiente resumen de actividad" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_id +msgid "Next Activity Type" +msgstr "Siguiente tipo de actividad" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction_counter +msgid "Number of Actions" +msgstr "Nº de acciones" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error_counter +msgid "Number of errors" +msgstr "Nº de errores" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__num_lines_acquirer +msgid "Number of lines acquirer" +msgstr "Nº de líneas del adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__num_lines_manufacturer +msgid "Number of lines manufacturer" +msgstr "Nº de líneas del fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Nº de mensajes que requieren una acción" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nº de mensajes con error de entrega" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread_counter +msgid "Number of unread messages" +msgstr "Nº de mensajes no leídos" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__partner_id +msgid "Partner" +msgstr "Cliente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__period_type +msgid "Period Type" +msgstr "Tipo de período" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Period:" +msgstr "Periodo:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_phone +msgid "Phone" +msgstr "Teléfono" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_plastic_acquirer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_company__company_plastic_acquirer +msgid "Plastic Acquirer" +msgstr "Adquirente de plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_plastic_manufacturer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_company__company_plastic_manufacturer +msgid "Plastic Manufacturer" +msgstr "Fabricante de plástico" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.product_template_form_view_inherit_l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.product_variant_easy_edit_view_inherit_l10n_es_aeat_mod592 +msgid "Plastic Tax Parameters" +msgstr "Parámetros de impuestos de plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_partner__plastic_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_users__plastic_document_type +msgid "Plastic document type" +msgstr "Tipo de documento de plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_regime_acquirer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_regime_acquirer +msgid "Plastic tax regime acquirer" +msgstr "Régimen fiscal del producto adquirido" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_regime_manufacturer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_regime_manufacturer +msgid "Plastic tax regime manufaturer" +msgstr "Régimen fiscal del producto fabricado" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_type_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_type_key +msgid "Plastic type key" +msgstr "Tipo de clave de plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_weight +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_weight +msgid "Plastic weight" +msgstr "Peso de plástico" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_weight_non_recyclable +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_weight_non_recyclable +msgid "Plastic weight non recyclable" +msgstr "Peso de plástico no reciclable" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__previous_number +msgid "Previous declaration number" +msgstr "Nº declaración anterior" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_product_product +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_id +msgid "Product" +msgstr "Producto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_key +msgid "Product Key" +msgstr "Clave de producto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_uom_qty +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_uom_qty +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_uom_qty +msgid "Product Uom Qty" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_description +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Product description" +msgstr "Descripción producto" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Proof document" +msgstr "Justificante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__name +msgid "Report identifier" +msgstr "Identificador del informe" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_user_id +msgid "Responsible User" +msgstr "Usuario responsable" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__sequence +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__sequence +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__date_start +msgid "Starting date" +msgstr "Fecha de inicio" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__state +msgid "State" +msgstr "Estado" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__statement_type +msgid "Statement Type" +msgstr "Tipo de declaración" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en actividades\n" +"Vencido: La fecha de vencimiento ya ha pasado\n" +"Hoy: La fecha de la actividad es hoy\n" +"Planificado: Actividades futuras." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__stock_move_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__stock_move_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__stock_move_id +msgid "Stock Move" +msgstr "Movimiento de existencias" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_document_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_document_number +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier document number" +msgstr "Nº de documento del proveedor" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_document_type +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier document type" +msgstr "Tipo de documento del proveedor" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_social_reason +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_social_reason +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_social_reason +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier name" +msgstr "Destinatario o proveedor" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_res_partner__plastic_document_type +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_res_users__plastic_document_type +msgid "Supplier/Recipient Document Type Code" +msgstr "Tipo de documento del proveedor/destinatario" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__support_type +msgid "Support Type" +msgstr "Justificante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__proof +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__proof +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__proof +msgid "Supporting document" +msgstr "Justificante" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Surnames and name contact:" +msgstr "Nombre y apellidos del contacto:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__tax_plastic_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__tax_plastic_type +msgid "Tax Plastic Type" +msgstr "Tipo impuesto plásticos" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#, python-format +msgid "The non-recyclable weight must be equal to or less than" +msgstr "El peso no reciclable debe ser igual o menor que" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__counterpart_account_id +msgid "" +"This account will be the counterpart for all the journal items that are " +"regularized when posting the report." +msgstr "" +"Esta cuenta será la contrapartida de todos los asientos que se regularicen " +"al contabilizar el informe." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_acquirer_entries +msgid "Total acquirer entries" +msgstr "Total entradas de adquiriente" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total amount" +msgstr "Importe Total" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_amount_acquirer +msgid "Total amount acquirer" +msgstr "Importe total adquirente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_amount_manufacturer +msgid "Total amount manufacturer" +msgstr "Importe total fabricante" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total entries" +msgstr "Total registros" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total entries (Acquirer)" +msgstr "Total registros (Adquiriente)" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total entries (Manufacturer)" +msgstr "Total registros (Fabricante)" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_manufacturer_entries +msgid "Total manufacturer entries" +msgstr "Total entradas de fabricante" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total number of records:" +msgstr "Nº de asientos:" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total weight" +msgstr "Peso total" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total weight (Acquirer)" +msgstr "Peso total (Adquiriente)" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total weight (Manufacturer)" +msgstr "Peso total (Fabricante)" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total weight (non reclyclable)" +msgstr "Peso total (no reciclable)" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_acquirer +msgid "Total weight acquirer" +msgstr "Total peso adquiriente" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_acquirer_non_reclyclable +msgid "Total weight acquirer non reclyclable" +msgstr "Total peso adquiriente no reciclable" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_manufacturer +msgid "Total weight manufacturer" +msgstr "Total peso fabricante" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_manufacturer_non_reclyclable +msgid "Total weight manufacturer non reclyclable" +msgstr "Total peso fabricante no reciclable" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +msgid "Total weight of non reclyclable:" +msgstr "Peso total no reciclable:" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total weight of records non reclyclable:" +msgstr "Peso total de registros no reciclable:" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total weight:" +msgstr "Peso total:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__picking_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__picking_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__picking_id +msgid "Transfer" +msgstr "Transferencia" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de actividad de la excepción en el registro." + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread +msgid "Unread Messages" +msgstr "Mensajes no leídos" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Contador de mensajes no leídos" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_vat +msgid "VAT number" +msgstr "NIF" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "VAT:" +msgstr "NIF:" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__website_message_ids +msgid "Website Messages" +msgstr "Mensajes de la web" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__website_message_ids +msgid "Website communication history" +msgstr "Comunicación histórica de la web" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__kgs +msgid "Weight" +msgstr "Peso" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__no_recycling_kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__no_recycling_kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__no_recycling_kgs +msgid "Weight non reclycable" +msgstr "Peso no reciclados" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Weiht" +msgstr "Kilogramos" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Weiht non reclycable" +msgstr "Kilogramos no reciclados" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#, python-format +msgid "Without VAT" +msgstr "Sin NIF" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without Weiht" +msgstr "Sin Kilogramos" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without Weiht non recyclable" +msgstr "Sin kilogramos no reciclados" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without document number" +msgstr "Sin número documento" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without entrie number" +msgstr "Sin numero de registro" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without product key" +msgstr "Sin clave de producto" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without regime" +msgstr "Sin regimen" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without supplier document" +msgstr "Sin documento de proveedor" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without supplier name" +msgstr "Sin nombre del proveedor" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__year +msgid "Year" +msgstr "Año" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,print_report_name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer +#: model:ir.actions.report,print_report_name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man +msgid "object.get_report_file_name()" +msgstr "object.get_report_file_name()" + +#~ msgid "Mod592 CSV Acquirer" +#~ msgstr "CSV del adquirente Mod592" + +#~ msgid "Mod592 CSV Manufacturer" +#~ msgstr "CSV del fabricante Mod592" + +#~ msgid "Mod592 CSV report" +#~ msgstr "CSV del informe Mod592" diff --git a/l10n_es_aeat_mod592/i18n/l10n_es_aeat_mod592.pot b/l10n_es_aeat_mod592/i18n/l10n_es_aeat_mod592.pot new file mode 100644 index 00000000000..0bb636cbe3b --- /dev/null +++ b/l10n_es_aeat_mod592/i18n/l10n_es_aeat_mod592.pot @@ -0,0 +1,1492 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_es_aeat_mod592 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__1 +#, python-format +msgid "(1) Initial existence" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__1 +#, python-format +msgid "(1) Intra-community acquisition" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__1 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__1 +#, python-format +msgid "(1) NIF or Spanish NIE" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__2 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__2 +#, python-format +msgid "(2) Intra-Community VAT NIF" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__2 +#, python-format +msgid "(2) Manufacturing" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__2 +#, python-format +msgid "(2) Shipping outside Spanish territory" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__3 +#, python-format +msgid "(3) Inadequacy or destruction" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__supplier_document_type__3 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__res_partner__plastic_document_type__3 +#, python-format +msgid "(3) Others" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__3 +#, python-format +msgid "" +"(3) Return of products for destruction or reincorporation into the\n" +" manufacturing process" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__4 +#, python-format +msgid "(4) Delivery or making available of the products accounted for" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__concept__4 +#, python-format +msgid "" +"(4) Return for destruction or reincorporation into the\n" +" manufacturing process" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__concept__5 +#, python-format +msgid "" +"(5) Other cancellations of the products accounted for other than\n" +" their delivery or availability" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__a +#, python-format +msgid "(A) Non-reusable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__a +#, python-format +msgid "(A) Subjection and non-exemption " +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__a +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__a +#, python-format +msgid "(A) Subjection and non-exemption Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__b +#, python-format +msgid "(B) Non-subjection article 73 c) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__b +#, python-format +msgid "(B) Not subject to article 73 a) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__b +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__b +#, python-format +msgid "(B) Semi-finished" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__c +#, python-format +msgid "(C) Not subject to article 73 b) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__c +#, python-format +msgid "(C) Not subject to article 73 d) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_mixin__product_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_type_key__c +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_type_key__c +#, python-format +msgid "(C) Plastic product intended to allow the closure" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__d +#, python-format +msgid "(D) Exemption article 75 a) 1º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__d +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__d +#, python-format +msgid "(D) Non-subjection article 73 c) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__e +#, python-format +msgid "(E) Exemption article 75 a) 2º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__e +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__e +#, python-format +msgid "(E) Not subject to article 73 d) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__f +#, python-format +msgid "(F) Exemption article 75 a) 1º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__f +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__f +#, python-format +msgid "(F) Exemption article 75 a) 3º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__g +#, python-format +msgid "(G) Exemption article 75 a) 2º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__g +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__g +#, python-format +msgid "(G) Exemption article 75 b) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__h +#, python-format +msgid "(H) Exemption article 75 a) 3º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__h +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__h +#, python-format +msgid "(H) Exemption article 75 c) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__i +#, python-format +msgid "(I) Exemption article 75 c) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__i +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__i +#, python-format +msgid "(I) Exemption article 75 d) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__j +#, python-format +msgid "(J) Exemption article 75 e) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__j +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__j +#, python-format +msgid "(J) Exemption article 75 g) 1º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__k +#, python-format +msgid "(K) Exemption article 75 f) Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_manufacturer__k +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_manufacturer__k +#, python-format +msgid "(K) Exemption article 75 g) 2º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__l +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__l +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__l +#, python-format +msgid "(L) Exemption article 75 g) 1º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/misc.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer__m +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__plastic_tax_regime_acquirer__m +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__plastic_tax_regime_acquirer__m +#, python-format +msgid "(M) Exemption article 75 g) 2º Law 7/2022, of April 8" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.l10n_es_aeat_mod_592_acquirer_entries_view_form +msgid "AEAT 592 Acquirer Entries record detail" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_acquirer +msgid "AEAT 592 Acquirer report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.l10n_es_aeat_mod_592_manufacturer_entries_view_form +msgid "AEAT 592 Manufacturer Entries record detail" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_manufacturer +msgid "AEAT 592 Manufacturer report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report +#: model:ir.ui.menu,name:l10n_es_aeat_mod592.menu_aeat_mod592_report +msgid "AEAT 592 Model" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.act_report_aeat_mod592_pdf +msgid "AEAT 592 Model PDF" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer +msgid "AEAT 592 Model XLSX Acquirer report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man +msgid "AEAT 592 Model XLSX Manufacturer report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report +msgid "AEAT 592 report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_l10n_es_aeat_mod592_report_line_mixin +msgid "AEAT 592 report line Mixin" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "AEAT 592 reports" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__move_id +msgid "Account entry" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__acquirer +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__acquirer +#, python-format +msgid "Acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py:0 +#, python-format +msgid "Acquirer Items" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer Result" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__acquirer_line_ids +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer entries" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__show_error_acquirer +msgid "Acquirer lines with error" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Acquirer lines with errors" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Acquirer records" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_ids +msgid "Activities" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_state +msgid "Activity State" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592.py:0 +#, python-format +msgid "" +"All entries records fields (Entrie number, VAT number Concept, Key product, " +"Fiscal regime, etc must be filled." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__allow_posting +msgid "Allow Posting" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__amount_plastic_tax +msgid "Amount tax for non recyclable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_bank_id +msgid "Bank account" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__both +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__both +#, python-format +msgid "Both" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__calculation_date +msgid "Calculation Date" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entries_ok +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entries_ok +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entries_ok +msgid "Checked if record is OK" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_res_company +msgid "Companies" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_id +msgid "Company" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_bank_id +msgid "Company bank account used for the presentation" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Company:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__concept +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__concept +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Concept" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_res_partner +msgid "Contact" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_email +msgid "Contact Email" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Contact phone:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__counterpart_account_id +msgid "Counterpart account" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.actions.act_window,help:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report +msgid "Create and query AEAT 592 Model reports" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__create_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__create_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__create_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__create_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__currency_id +msgid "Currency" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__date_done +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__date_done +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__date_done +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Date" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Declaration number:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__display_name +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__display_name +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__date_end +msgid "Ending date" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Entrie" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entry_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entry_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entry_number +msgid "Entrie number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entries_ok +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entries_ok +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entries_ok +msgid "Entries OK" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__entry_note +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__entry_note +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__entry_note +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Entries observation" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__error_count +msgid "Error Count" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__error_text +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__error_text +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__error_text +msgid "Error text" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export CSV Acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export CSV Manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export XLSX Acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Export XLSX Manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__export_config_id +msgid "Export config" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Fiscal Year:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Fiscal regime" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__fiscal_manufacturer +msgid "Fiscal regime manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__fiscal_acquirer +msgid "Fiscal reginme acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Form 592 Plastic tax" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_name +msgid "Full Name" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "General" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Generic" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__has_message +msgid "Has Message" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__id +msgid "ID" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__is_plastic_tax +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__is_plastic_tax +msgid "Is plastic tax?" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__journal_id +msgid "Journal" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__journal_id +msgid "Journal in which post the move." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Key product" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__representative_vat +msgid "L.R. VAT number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report____last_update +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer____last_update +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__write_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__write_uid +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__write_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__write_date +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__representative_vat +msgid "Legal Representative VAT number." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Legal representative VAT:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_product__tax_plastic_type__manufacturer +#: model:ir.model.fields.selection,name:l10n_es_aeat_mod592.selection__product_template__tax_plastic_type__manufacturer +#, python-format +msgid "Manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py:0 +#, python-format +msgid "Manufacturer Items" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer Result" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__manufacturer_line_ids +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer entries" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__show_error_manufacturer +msgid "Manufacturer lines with error" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Manufacturer lines with errors" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.report_aeat_mod592_document +msgid "Manufacturer records" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_ids +msgid "Messages" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:res.groups,name:l10n_es_aeat_mod592.group_mod592_acquirer +msgid "Mod 592 (Acquirer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:res.groups,name:l10n_es_aeat_mod592.group_mod592_manufacturer +msgid "Mod 592 (Manufacturer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_acquirer +#: model:ir.actions.act_window,name:l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_manufacturer +msgid "Mod 592 Report Lines" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__report_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__report_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__report_id +msgid "Mod592 Report" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_report_l10n_es_aeat_mod592_l10n_es_aeat_mod592_xlsx_acquirer +msgid "Mod592 XLSX Acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_report_l10n_es_aeat_mod592_l10n_es_aeat_mod592_xlsx_man +msgid "Mod592 XLSX Manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__number +msgid "Model number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_name +msgid "Must have name and surname." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__num_lines_acquirer +msgid "Number of lines acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__num_lines_manufacturer +msgid "Number of lines manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__partner_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__partner_id +msgid "Partner" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__period_type +msgid "Period Type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Period:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__contact_phone +msgid "Phone" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_plastic_acquirer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_company__company_plastic_acquirer +msgid "Plastic Acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_plastic_manufacturer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_company__company_plastic_manufacturer +msgid "Plastic Manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.product_template_form_view_inherit_l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.product_variant_easy_edit_view_inherit_l10n_es_aeat_mod592 +msgid "Plastic Tax Parameters" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_partner__plastic_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_res_users__plastic_document_type +msgid "Plastic document type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_regime_acquirer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_regime_acquirer +msgid "Plastic tax regime acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_regime_manufacturer +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_regime_manufacturer +msgid "Plastic tax regime manufaturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_type_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_type_key +msgid "Plastic type key" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_tax_weight +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_tax_weight +msgid "Plastic weight" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__plastic_weight_non_recyclable +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__plastic_weight_non_recyclable +msgid "Plastic weight non recyclable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__previous_number +msgid "Previous declaration number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_product_product +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_id +msgid "Product" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_key +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_key +msgid "Product Key" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model,name:l10n_es_aeat_mod592.model_product_template +msgid "Product Template" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__product_uom_qty +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_uom_qty +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__product_uom_qty +msgid "Product Uom Qty" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__product_description +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Product description" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Proof document" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__name +msgid "Report identifier" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__sequence +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__sequence +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__sequence +msgid "Sequence" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__date_start +msgid "Starting date" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__state +msgid "State" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__statement_type +msgid "Statement Type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__stock_move_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__stock_move_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_document_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_number +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_document_number +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier document number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_document_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_document_type +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier document type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__supplier_social_reason +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__supplier_social_reason +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__supplier_social_reason +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Supplier name" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_res_partner__plastic_document_type +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_res_users__plastic_document_type +msgid "Supplier/Recipient Document Type Code" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__support_type +msgid "Support Type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__proof +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__proof +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__proof +msgid "Supporting document" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Surnames and name contact:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_product__tax_plastic_type +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_product_template__tax_plastic_type +msgid "Tax Plastic Type" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/product_product.py:0 +#: code:addons/l10n_es_aeat_mod592/models/product_template.py:0 +#, python-format +msgid "The non-recyclable weight must be equal to or less than" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__counterpart_account_id +msgid "" +"This account will be the counterpart for all the journal items that are " +"regularized when posting the report." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_acquirer_entries +msgid "Total acquirer entries" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total amount" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_amount_acquirer +msgid "Total amount acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_amount_manufacturer +msgid "Total amount manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total entries" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total entries (Acquirer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total entries (Manufacturer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_manufacturer_entries +msgid "Total manufacturer entries" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total number of records:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total weight" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total weight (Acquirer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_tree +msgid "Total weight (Manufacturer)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.view_l10n_es_aeat_mod592_report_form +msgid "Total weight (non reclyclable)" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_acquirer +msgid "Total weight acquirer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_acquirer_non_reclyclable +msgid "Total weight acquirer non reclyclable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_manufacturer +msgid "Total weight manufacturer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__total_weight_manufacturer_non_reclyclable +msgid "Total weight manufacturer non reclyclable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +msgid "Total weight of non reclyclable:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total weight of records non reclyclable:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "Total weight:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__picking_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__picking_id +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__picking_id +msgid "Transfer" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__company_vat +msgid "VAT number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_summary +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_summary +msgid "VAT:" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,help:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__kgs +msgid "Weight" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_acquirer__no_recycling_kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_manufacturer__no_recycling_kgs +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report_line_mixin__no_recycling_kgs +msgid "Weight non reclycable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Weiht" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_acquirer_record_head +#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod592.mod592_manufacturer_record_head +msgid "Weiht non reclycable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#, python-format +msgid "Without VAT" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without Weiht" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without Weiht non recyclable" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without document number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without entrie number" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_line_mixin.py:0 +#, python-format +msgid "Without product key" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without regime" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without supplier document" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: code:addons/l10n_es_aeat_mod592/models/mod592_acquirer.py:0 +#: code:addons/l10n_es_aeat_mod592/models/mod592_manufacturer.py:0 +#, python-format +msgid "Without supplier name" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod592.field_l10n_es_aeat_mod592_report__year +msgid "Year" +msgstr "" + +#. module: l10n_es_aeat_mod592 +#: model:ir.actions.report,print_report_name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer +#: model:ir.actions.report,print_report_name:l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man +msgid "object.get_report_file_name()" +msgstr "" diff --git a/l10n_es_aeat_mod592/models/__init__.py b/l10n_es_aeat_mod592/models/__init__.py new file mode 100644 index 00000000000..d0acc4f47d1 --- /dev/null +++ b/l10n_es_aeat_mod592/models/__init__.py @@ -0,0 +1,10 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import res_partner +from . import product_product +from . import product_template +from . import mod592 +from . import mod592_line_mixin +from . import mod592_acquirer +from . import mod592_manufacturer +from . import res_company diff --git a/l10n_es_aeat_mod592/models/misc.py b/l10n_es_aeat_mod592/models/misc.py new file mode 100644 index 00000000000..34db1379b5a --- /dev/null +++ b/l10n_es_aeat_mod592/models/misc.py @@ -0,0 +1,42 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import _ + +DOCUMENT_TYPES = [ + ("1", _("(1) NIF or Spanish NIE")), + ("2", _("(2) Intra-Community VAT NIF")), + ("3", _("(3) Others")), +] +PRODUCT_KEYS = [ + ("A", _("(A) Non-reusable")), + ("B", _("(B) Semi-finished")), + ("C", _("(C) Plastic product intended to allow the closure")), +] +FISCAL_ACQUIRERS = [ + ("A", _("(A) Subjection and non-exemption Law 7/2022, of April 8")), + ("B", _("(B) Non-subjection article 73 c) Law 7/2022, of April 8")), + ("C", _("(C) Not subject to article 73 d) Law 7/2022, of April 8")), + ("D", _("(D) Exemption article 75 a) 1º Law 7/2022, of April 8")), + ("E", _("(E) Exemption article 75 a) 2º Law 7/2022, of April 8")), + ("F", _("(F) Exemption article 75 a) 3º Law 7/2022, of April 8")), + ("G", _("(G) Exemption article 75 b) Law 7/2022, of April 8")), + ("H", _("(H) Exemption article 75 c) Law 7/2022, of April 8")), + ("I", _("(I) Exemption article 75 d) Law 7/2022, of April 8")), + ("J", _("(J) Exemption article 75 e) Law 7/2022, of April 8")), + ("K", _("(K) Exemption article 75 f) Law 7/2022, of April 8")), + ("L", _("(L) Exemption article 75 g) 1º Law 7/2022, of April 8")), + ("M", _("(M) Exemption article 75 g) 2º Law 7/2022, of April 8")), +] +FISCAL_MANUFACTURERS = [ + ("A", _("(A) Subjection and non-exemption ")), + ("B", _("(B) Not subject to article 73 a) Law 7/2022, of April 8")), + ("C", _("(C) Not subject to article 73 b) Law 7/2022, of April 8")), + ("D", _("(D) Non-subjection article 73 c) Law 7/2022, of April 8")), + ("E", _("(E) Not subject to article 73 d) Law 7/2022, of April 8")), + ("F", _("(F) Exemption article 75 a) 1º Law 7/2022, of April 8")), + ("G", _("(G) Exemption article 75 a) 2º Law 7/2022, of April 8")), + ("H", _("(H) Exemption article 75 a) 3º Law 7/2022, of April 8")), + ("I", _("(I) Exemption article 75 c) Law 7/2022, of April 8")), + ("J", _("(J) Exemption article 75 g) 1º Law 7/2022, of April 8")), + ("K", _("(K) Exemption article 75 g) 2º Law 7/2022, of April 8")), +] diff --git a/l10n_es_aeat_mod592/models/mod592.py b/l10n_es_aeat_mod592/models/mod592.py new file mode 100644 index 00000000000..afd881302b8 --- /dev/null +++ b/l10n_es_aeat_mod592/models/mod592.py @@ -0,0 +1,420 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +import re + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.osv import expression + + +class L10nEsAeatmod592Report(models.Model): + _name = "l10n.es.aeat.mod592.report" + _inherit = "l10n.es.aeat.report" + _description = "AEAT 592 report" + _aeat_number = "592" + _period_quarterly = True + _period_monthly = True + _period_yearly = False + + number = fields.Char(default="592") + company_plastic_acquirer = fields.Boolean( + related="company_id.company_plastic_acquirer" + ) + company_plastic_manufacturer = fields.Boolean( + related="company_id.company_plastic_manufacturer" + ) + amount_plastic_tax = fields.Float( + string="Amount tax for non recyclable", store=True, default=0.45 + ) + manufacturer_line_ids = fields.One2many( + comodel_name="l10n.es.aeat.mod592.report.line.manufacturer", + inverse_name="report_id", + string="Manufacturer entries", + copy=False, + readonly=True, + ) + acquirer_line_ids = fields.One2many( + comodel_name="l10n.es.aeat.mod592.report.line.acquirer", + inverse_name="report_id", + string="Acquirer entries", + copy=False, + readonly=True, + ) + # ACQUIRER TOTALS + total_acquirer_entries = fields.Integer( + compute="_compute_total_acquirer_entries", + string="Total acquirer entries", + store=False, + ) + total_weight_acquirer = fields.Float( + compute="_compute_total_weight_acquirer", + string="Total weight acquirer", + store=False, + ) + total_weight_acquirer_non_reclyclable = fields.Float( + compute="_compute_total_weight_acquirer_non_reclyclable", + string="Total weight acquirer non reclyclable", + store=False, + ) + total_amount_acquirer = fields.Float( + compute="_compute_total_amount_acquirer", + string="Total amount acquirer", + store=False, + digits="Product Price", + ) + # MANUFACTURER TOTALS + total_manufacturer_entries = fields.Integer( + compute="_compute_total_manufacturer_entries", + string="Total manufacturer entries", + store=True, + ) + total_weight_manufacturer = fields.Float( + compute="_compute_total_weight_manufacturer", + string="Total weight manufacturer", + store=True, + ) + total_weight_manufacturer_non_reclyclable = fields.Float( + compute="_compute_total_weight_manufacturer_non_reclyclable", + string="Total weight manufacturer non reclyclable", + store=True, + ) + total_amount_manufacturer = fields.Float( + compute="_compute_total_amount_manufacturer", + string="Total amount manufacturer", + store=True, + digits="Product Price", + ) + # Only for smart Buttons, Can not use total_manufacturer_entries_records + # if appears twice in the same view + num_lines_acquirer = fields.Integer( + string="Number of lines acquirer", compute="_compute_num_lines_acquirer" + ) + num_lines_manufacturer = fields.Integer( + string="Number of lines manufacturer", compute="_compute_num_lines_manufacturer" + ) + show_error_acquirer = fields.Boolean( + string="Acquirer lines with error", compute="_compute_show_error_acquirer" + ) + show_error_manufacturer = fields.Boolean( + string="Manufacturer lines with error", + compute="_compute_show_error_manufacturer", + ) + + @api.depends("acquirer_line_ids") + def _compute_total_acquirer_entries(self): + for item in self: + item.total_acquirer_entries = len(item.acquirer_line_ids) + + @api.depends("acquirer_line_ids", "acquirer_line_ids.kgs") + def _compute_total_weight_acquirer(self): + for item in self: + item.total_weight_acquirer = sum(item.mapped("acquirer_line_ids.kgs")) + + @api.depends("acquirer_line_ids", "acquirer_line_ids.no_recycling_kgs") + def _compute_total_weight_acquirer_non_reclyclable(self): + for item in self: + item.total_weight_acquirer_non_reclyclable = sum( + item.mapped("acquirer_line_ids.no_recycling_kgs") + ) + + @api.depends( + "acquirer_line_ids", "acquirer_line_ids.no_recycling_kgs", "amount_plastic_tax" + ) + def _compute_total_amount_acquirer(self): + for item in self: + total = 0 + for line in item.acquirer_line_ids: + total += line.no_recycling_kgs * item.amount_plastic_tax + item.total_amount_acquirer = total + + @api.depends("manufacturer_line_ids") + def _compute_total_manufacturer_entries(self): + for item in self: + item.total_manufacturer_entries = len(item.manufacturer_line_ids) + + @api.depends("manufacturer_line_ids", "manufacturer_line_ids.kgs") + def _compute_total_weight_manufacturer(self): + for item in self: + item.total_weight_manufacturer = sum( + item.mapped("manufacturer_line_ids.kgs") + ) + + @api.depends("manufacturer_line_ids", "manufacturer_line_ids.no_recycling_kgs") + def _compute_total_weight_manufacturer_non_reclyclable(self): + for item in self: + item.total_weight_manufacturer_non_reclyclable = sum( + item.mapped("manufacturer_line_ids.no_recycling_kgs") + ) + + @api.depends( + "manufacturer_line_ids", + "manufacturer_line_ids.no_recycling_kgs", + "amount_plastic_tax", + ) + def _compute_total_amount_manufacturer(self): + for item in self: + total = 0 + for line in item.manufacturer_line_ids: + total += line.no_recycling_kgs * item.amount_plastic_tax + item.total_amount_manufacturer = total + + @api.depends("total_acquirer_entries") + def _compute_num_lines_acquirer(self): + for item in self: + item.num_lines_acquirer = item.total_acquirer_entries + + @api.depends("total_manufacturer_entries") + def _compute_num_lines_manufacturer(self): + for item in self: + item.num_lines_manufacturer = item.total_manufacturer_entries + + @api.depends("acquirer_line_ids", "acquirer_line_ids.entries_ok") + def _compute_show_error_acquirer(self): + for report in self: + report.show_error_acquirer = any( + not x.entries_ok for x in report.acquirer_line_ids + ) + + @api.depends("manufacturer_line_ids", "manufacturer_line_ids.entries_ok") + def _compute_show_error_manufacturer(self): + for report in self: + report.show_error_manufacturer = any( + not x.entries_ok for x in report.manufacturer_line_ids + ) + + def _cleanup_report(self): + """Remove previous partner records and partner refunds in report.""" + self.ensure_one() + self.manufacturer_line_ids.unlink() + self.acquirer_line_ids.unlink() + + def get_acquirer_moves_domain(self): + """ + Search intracomunitary incoming moves with plastic tax + TODO: Date range search by invoice related date or day 15 of next month + whathever is first + """ + domain_base = [ + ("date", ">=", self.date_start), + ("date", "<=", self.date_end), + ("state", "=", "done"), + ("picking_id.partner_id", "!=", False), + ("company_id", "=", self.company_id.id), + ("product_id.is_plastic_tax", "=", True), + ] + # Intracomunitary Adquisitions + domain_concept_1 = [ + ("location_id.usage", "=", "supplier"), + ("picking_id.partner_id.plastic_document_type", "=", "2"), + ] + # Deduction by: Non Spanish Shipping + domain_concept_2 = [ + ("location_dest_id.usage", "=", "customer"), + ("picking_id.partner_id.plastic_document_type", "!=", "1"), + ] + # Deduction by: Scrap + # TODO: No scrap if quant is not intracomunitaty acquisition + domain_concept_3 = [ + ("location_dest_id.scrap_location", "=", True), + ] + # Deduction by adquisition returns + domain_concept_4 = [ + ("location_dest_id.usage", "=", "supplier"), + ("origin_returned_move_id", "!=", False), + ] + domain = expression.AND( + [ + domain_base, + expression.OR( + [ + domain_concept_1, + domain_concept_2, + domain_concept_3, + domain_concept_4, + ] + ), + ] + ) + return domain + + def get_manufacturer_moves_domain(self): + """ + TODO: Dependency on mrp module could be heavy. we need strong + traceability of manufactured quants to covear each case + Temporaly retunf a domain that return no records as we dont have + this casuistic yet (l10n_es_aeat_mod592_mrp for example). + """ + false_domain = [("id", "<", 0)] + # Code below is only a idea od what we could do whithout develop + # strong traceability of manofactured quants. + # domain_base = [ + # ("date", ">=", self.date_start), + # ("date", "<=", self.date_end), + # ("state", "=", "done"), + # ("picking_id.partner_id", "!=", False), + # ("company_id", "=", self.company_id.id), + # ("product_id.is_plastic_tax", "=", True), + # ("product_id.tax_plastic_type", "in", ('manufacturer', 'both')), + # ] + # # Initial Existence + # # If first sale, locate all existence + # # domain_concept_1 = [ + # # ("location_dest_id.usage", "=", "internal"), + # # ] + # # Manufacturation by Atticle 71.b of Law 7/2022 + # # domain_concept_2 = [ + # # ("location_dest_id.usage", "=", "production"), + # # ] + # # Return products for destruction, or re-manufacturation + # domain_concept_3 = [ + # ("location_dest_id.scrap_location", "=", True), + # ] + # # Sales to non spanish customers + # domain_concept_4 = [ + # ("location_dest_id.usage", "=", 'customer'), + # ("picking_id.partner_id.plastic_document_type", "=", '1'), + # ] + # # ? Another destructions + # # domain_concept_5 = [ + # # ("location_dest_id.scrap_location", "=", True), + # # ] + # # domain = expression.AND([ + # # domain_base, expression.OR([ + # # domain_concept_1, domain_concept_2, + # # domain_concept_3, domain_concept_4])]) + # domain = expression.AND([ + # domain_base, expression.OR([ + # domain_concept_3, domain_concept_4])]) + # # return domain + return false_domain + + def _get_acquirer_moves(self): + """Returns the stock moves of the acquirer.""" + self.ensure_one() + return self.env["stock.move"].search(self.get_acquirer_moves_domain()) + + def _get_manufacturer_moves(self): + """Returns the stock moves of the manufacturer.""" + self.ensure_one() + return self.env["stock.move"].search(self.get_manufacturer_moves_domain()) + + def calculate(self): + """Computes the records in report.""" + res = super().calculate() + for item in self: + # Create acquirer_lines + if item.company_plastic_acquirer: + acquirer_lines = [] + for sm in item._get_acquirer_moves(): + acquirer_line = item.acquirer_line_ids.filtered( + lambda x: x.stock_move_id == sm + ) + acquirer_vals = {"stock_move_id": sm.id} + if acquirer_line: + acquirer_lines.append((1, acquirer_line.id, acquirer_vals)) + else: + acquirer_lines.append((0, 0, acquirer_vals)) + item.acquirer_line_ids = acquirer_lines + # Create manufacturer_lines + if item.company_plastic_manufacturer: + manufacturer_lines = [] + for sm in item._get_manufacturer_moves(): + manufacturer_line = item.manufacturer_line_ids.filtered( + lambda x: x.stock_move_id == sm + ) + m_vals = {"stock_move_id": sm.id} + if manufacturer_line: + manufacturer_lines.append((1, manufacturer_line.id, m_vals)) + else: + manufacturer_lines.append((0, 0, m_vals)) + item.manufacturer_line_ids = manufacturer_lines + item.env.flush_all() + return res + + def button_recover(self): + """Clean children records in this state for allowing things like + cancelling an invoice that is inside this report. + """ + self._cleanup_report() + return super().button_recover() + + def _check_report_lines(self): + """Checks if all the fields of all the report lines + (partner records and partner refund) are filled + """ + if any(x.show_error_acquirer or x.show_error_manufacturer for x in self): + raise UserError( + _( + "All entries records fields (Entrie number, VAT number " + "Concept, Key product, Fiscal regime, etc must be filled." + ) + ) + + def get_report_file_name(self): + return "{}{}C{}".format( + self.year, self.company_vat, re.sub(r"[\W_]+", "", self.company_id.name) + ) + + def button_confirm(self): + """Checks if all the fields of the report are correctly filled""" + self._check_report_lines() + return super().button_confirm() + + def export_xlsx_manufacturer(self): + self.ensure_one() + return self.env.ref( + "l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man" + ).report_action(self) + + def export_csv_manufacturer(self): + self.ensure_one() + rows = [] + manufacturer_model = self.env["l10n.es.aeat.mod592.report.line.manufacturer"] + rows.append(manufacturer_model._get_csv_report_header()) + for line in self.manufacturer_line_ids: + rows.append(line._get_csv_report_info_values()) + csv_string = self._format_csv(rows, ";") + return csv_string.encode("utf-8") + + def export_xlsx_acquirer(self): + self.ensure_one() + return self.env.ref( + "l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer" + ).report_action(self) + + def export_csv_acquirer(self): + self.ensure_one() + rows = [] + acquirer_model = self.env["l10n.es.aeat.mod592.report.line.acquirer"] + rows.append(acquirer_model._get_csv_report_header()) + for line in self.acquirer_line_ids: + rows.append(line._get_csv_report_info_values()) + csv_string = self._format_csv(rows, ";") + return csv_string.encode("utf-8") + + def _format_csv(self, rows, delimiter): + csv_string = "" + for row in rows: + for field in row: + csv_string += field and str(field) or "" + csv_string += delimiter + csv_string += "\n" + return csv_string + + def view_action_mod592_report_line_acquirer(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_acquirer" + ) + action["domain"] = [("id", "in", self.acquirer_line_ids.ids)] + return action + + def view_action_mod592_report_line_manufacturer(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "l10n_es_aeat_mod592.action_l10n_es_aeat_mod592_report_line_manufacturer" + ) + action["domain"] = [("id", "in", self.manufacturer_line_ids.ids)] + return action diff --git a/l10n_es_aeat_mod592/models/mod592_acquirer.py b/l10n_es_aeat_mod592/models/mod592_acquirer.py new file mode 100644 index 00000000000..9796b33f365 --- /dev/null +++ b/l10n_es_aeat_mod592/models/mod592_acquirer.py @@ -0,0 +1,119 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import _, api, fields, models + +from .misc import FISCAL_ACQUIRERS + + +class L10nEsAeatmod592LineAcquirer(models.Model): + _description = "AEAT 592 Acquirer report" + _name = "l10n.es.aeat.mod592.report.line.acquirer" + _inherit = "l10n.es.aeat.mod592.report.line.mixin" + + concept = fields.Selection( + selection=[ + ("1", _("(1) Intra-community acquisition")), + ("2", _("(2) Shipping outside Spanish territory")), + ("3", _("(3) Inadequacy or destruction")), + ( + "4", + _( + """(4) Return for destruction or reincorporation into the + manufacturing process""" + ), + ), + ], + compute="_compute_concept", + store=True, + ) + fiscal_acquirer = fields.Selection( + selection=FISCAL_ACQUIRERS, + string="Fiscal reginme acquirer", + compute="_compute_fiscal_acquirer", + store=True, + ) + entry_number = fields.Char( + default=lambda self: self.env["ir.sequence"].next_by_code( + "l10n.es.aeat.mod592.report.line.acquirer" + ) + ) + + @api.depends("partner_id", "stock_move_id") + def _compute_concept(self): + for item in self: + concept = "" + doc_type = item.partner_id.plastic_document_type + orig_loc_usage = item.stock_move_id.location_id.usage + dest_loc_usage = item.stock_move_id.location_dest_id.usage + dest_loc_scrap = item.stock_move_id.location_dest_id.scrap_location + # Intracomunitary Acquisitions + if orig_loc_usage == "supplier" and doc_type == "2": + concept = "1" + # Deduction by: Non Spanish Shipping + elif dest_loc_usage == "customer" and doc_type != "1": + concept = "2" + # Deduction by: Scrap + elif dest_loc_scrap: + concept = "3" + # Deduction by: Adquisition returns + elif ( + dest_loc_usage == "supplier" + and item.stock_move_id.origin_returned_move_id + ): + concept = "4" + item.concept = concept + + @api.depends("product_id") + def _compute_fiscal_acquirer(self): + for item in self: + item.fiscal_acquirer = item.product_id.plastic_tax_regime_acquirer + + @api.depends( + "supplier_document_number", + "supplier_social_reason", + "fiscal_acquirer", + ) + def _compute_error_text(self): + res = super()._compute_error_text() + for record in self: + errors = [] + if record.concept != "3" and not record.supplier_social_reason: + errors.append(_("Without supplier name")) + if not record.fiscal_acquirer: + errors.append(_("Without regime")) + if record.concept != "3" and not record.supplier_document_number: + errors.append(_("Without VAT")) + record.error_text += ", ".join(errors) + return res + + def _get_csv_report_info_mapped(self, data): + info_mapped = { + "Número de asiento": "entry_number", + "Fecha Hecho Contabilizado": "date_done", + "Concepto": "concept", + "Clave Producto": "product_key", + "Descripción Producto": "fiscal_acquirer", + "Justificante": "proof", + "Kilogramos": "kgs", + "Kilogramos No Reciclados": "no_recycling_kgs", + "Prov./Dest.: Tipo Documento": "supplier_document_type", + "Prov./Dest.: Nº Documento": "supplier_document_number", + "Prov./Dest.: Razón Social": "supplier_social_reason", + "Observaciones": "entry_note", + } + res = {} + for info_key in list(info_mapped.keys()): + info_key_value = info_mapped[info_key] + res[info_key] = ( + data[info_key_value] if data and info_key_value in data else "" + ) + return res + + def _get_csv_report_info(self): + self.ensure_one() + data = super()._get_csv_report_info() + data["concept"] = self.concept + data["fiscal_acquirer"] = self.fiscal_acquirer + return self._get_csv_report_info_mapped(data) diff --git a/l10n_es_aeat_mod592/models/mod592_line_mixin.py b/l10n_es_aeat_mod592/models/mod592_line_mixin.py new file mode 100644 index 00000000000..0b1b9bbae9d --- /dev/null +++ b/l10n_es_aeat_mod592/models/mod592_line_mixin.py @@ -0,0 +1,190 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import _, api, fields, models +from odoo.tools import float_is_zero + +from .misc import DOCUMENT_TYPES, PRODUCT_KEYS + + +class L10nEsAeatmod592LineMixin(models.AbstractModel): + _name = "l10n.es.aeat.mod592.report.line.mixin" + _description = "AEAT 592 report line Mixin" + _rec_name = "entry_number" + + report_id = fields.Many2one( + comodel_name="l10n.es.aeat.mod592.report", string="Mod592 Report" + ) + sequence = fields.Integer(default=1) + entry_number = fields.Char(string="Entrie number") + product_key = fields.Selection( + selection=PRODUCT_KEYS, + compute="_compute_product_key", + store=True, + ) + date_done = fields.Date(string="Date", compute="_compute_date_done", store=True) + proof = fields.Char( + string="Supporting document", compute="_compute_proof", store=True + ) + supplier_document_type = fields.Selection( + selection=DOCUMENT_TYPES, + string="Supplier document type", + compute="_compute_supplier_document_type", + store=True, + ) + supplier_document_number = fields.Char( + string="Supplier document number", + compute="_compute_supplier_document_number", + store=True, + ) + supplier_social_reason = fields.Char( + string="Supplier name", compute="_compute_supplier_social_reason", store=True + ) + kgs = fields.Float( + string="Weight", + digits=(16, 4), + compute="_compute_kgs", + store=True, + ) + no_recycling_kgs = fields.Float( + string="Weight non reclycable", + digits=(16, 4), + compute="_compute_no_recycling_kgs", + store=True, + ) + entry_note = fields.Text(string="Entries observation") + stock_move_id = fields.Many2one( + comodel_name="stock.move", string="Stock Move", required=True + ) + product_id = fields.Many2one( + comodel_name="product.product", related="stock_move_id.product_id" + ) + product_uom_qty = fields.Float( + compute="_compute_product_uom_qty", + store=True, + digits=(16, 4), + ) + picking_id = fields.Many2one( + comodel_name="stock.picking", related="stock_move_id.picking_id" + ) + partner_id = fields.Many2one( + comodel_name="res.partner", + compute="_compute_partner_id", + store=True, + ) + entries_ok = fields.Boolean( + compute="_compute_entries_ok", + string="Entries OK", + help="Checked if record is OK", + ) + error_text = fields.Char( + string="Error text", + compute="_compute_error_text", + store=True, + ) + + @api.depends("stock_move_id", "stock_move_id.date") + def _compute_date_done(self): + for item in self: + item.date_done = item.stock_move_id.date + + @api.depends("picking_id", "picking_id.partner_id") + def _compute_partner_id(self): + for item in self: + item.partner_id = item.picking_id.partner_id.commercial_partner_id + + @api.depends("product_id") + def _compute_product_key(self): + for item in self: + item.product_key = item.product_id.plastic_type_key + + @api.depends("picking_id", "picking_id.name") + def _compute_proof(self): + for item in self: + item.proof = item.picking_id.name + + @api.depends("partner_id") + def _compute_supplier_document_type(self): + for item in self: + item.supplier_document_type = item.partner_id.plastic_document_type + + @api.depends("partner_id", "concept") + def _compute_supplier_document_number(self): + for item in self: + item.supplier_document_number = ( + item.partner_id.vat if item.concept != "3" else "" + ) + + @api.depends("partner_id", "concept") + def _compute_supplier_social_reason(self): + for item in self: + item.supplier_social_reason = ( + item.partner_id.name if item.concept != "3" else "" + ) + + @api.depends("stock_move_id", "stock_move_id.product_uom_qty") + def _compute_product_uom_qty(self): + for item in self: + qty = item.stock_move_id.product_uom_qty + if item.stock_move_id.product_uom != item.product_id.uom_id: + qty = item.stock_move_id.product_uom._compute_quantity( + qty, item.product_id.uom_id + ) + item.product_uom_qty = qty + + @api.depends("product_id", "product_uom_qty") + def _compute_kgs(self): + for item in self: + item.kgs = item.product_id.plastic_tax_weight * item.product_uom_qty + + @api.depends("product_id", "product_uom_qty") + def _compute_no_recycling_kgs(self): + for item in self: + item.no_recycling_kgs = ( + item.product_id.plastic_weight_non_recyclable * item.product_uom_qty + ) + + @api.depends("error_text") + def _compute_entries_ok(self): + for item in self: + item.entries_ok = True if not item.error_text else False + + @api.depends("entry_number", "product_key", "kgs", "no_recycling_kgs") + def _compute_error_text(self): + """Checks if all line fields are filled.""" + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + for record in self: + errors = [] + if not record.entry_number: + errors.append(_("Without entrie number")) + if not record.product_key: + errors.append(_("Without product key")) + if float_is_zero(record.kgs, precision_digits=precision): + errors.append(_("Without Weiht")) + if float_is_zero(record.no_recycling_kgs, precision_digits=precision): + errors.append(_("Without Weiht non recyclable")) + record.error_text = ", ".join(errors) + + def _get_csv_report_info(self): + self.ensure_one() + return { + "entry_number": self.entry_number, + "date_done": self.date_done.strftime("%d/%m/%Y"), + "product_key": self.product_key, + "proof": self.proof, + "supplier_document_type": self.supplier_document_type, + "supplier_document_number": self.supplier_document_number, + "supplier_social_reason": self.supplier_social_reason, + "kgs": self.kgs, + "no_recycling_kgs": self.no_recycling_kgs, + "entry_note": self.entry_note or "", + } + + def _get_csv_report_info_values(self): + info = self._get_csv_report_info() + return list(info.values()) + + def _get_csv_report_header(self): + data = self._get_csv_report_info_mapped({}) + return list(data.keys()) diff --git a/l10n_es_aeat_mod592/models/mod592_manufacturer.py b/l10n_es_aeat_mod592/models/mod592_manufacturer.py new file mode 100644 index 00000000000..10d39d325ca --- /dev/null +++ b/l10n_es_aeat_mod592/models/mod592_manufacturer.py @@ -0,0 +1,141 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import _, api, fields, models + +from .misc import FISCAL_MANUFACTURERS + + +class L10nEsAeatmod592LineManufacturer(models.Model): + _description = "AEAT 592 Manufacturer report" + _name = "l10n.es.aeat.mod592.report.line.manufacturer" + _inherit = "l10n.es.aeat.mod592.report.line.mixin" + + concept = fields.Selection( + selection=[ + ("1", _("(1) Initial existence")), + ("2", _("(2) Manufacturing")), + ( + "3", + _( + """(3) Return of products for destruction or reincorporation into the + manufacturing process""" + ), + ), + ("4", _("(4) Delivery or making available of the products accounted for")), + ( + "5", + _( + """(5) Other cancellations of the products accounted for other than + their delivery or availability""" + ), + ), + ], + compute="_compute_concept", + store=True, + ) + product_description = fields.Char( + string="Product description", compute="_compute_product_description" + ) + fiscal_manufacturer = fields.Selection( + selection=FISCAL_MANUFACTURERS, + string="Fiscal regime manufacturer", + compute="_compute_fiscal_manufacturer", + store=True, + ) + entry_number = fields.Char( + default=lambda self: self.env["ir.sequence"].next_by_code( + "l10n.es.aeat.mod592.report.line.manufacturer" + ) + ) + + @api.depends("partner_id", "stock_move_id") + def _compute_concept(self): + for item in self: + concept = "" + doc_type = item.partner_id.plastic_document_type + dest_loc_usage = item.stock_move_id.location_dest_id.usage + dest_loc_scrap = item.stock_move_id.location_dest_id.scrap_location + # Initial Existence + if dest_loc_usage == "internal": + concept = "1" + # Manufacturer + elif dest_loc_usage == "production": + concept = "2" + # Initial Existence + elif dest_loc_usage == "production" and dest_loc_scrap: + concept = "3" + # Sales to spanish customers + elif dest_loc_usage == "customer" and doc_type == "1": + concept = "4" + # Scrap + elif dest_loc_scrap: + concept = "5" + item.concept = concept + + @api.depends("product_id") + def _compute_product_description(self): + for item in self: + item.product_description = item.product_id.name + + @api.depends("product_id") + def _compute_fiscal_manufacturer(self): + for item in self: + item.fiscal_manufacturer = item.product_id.plastic_tax_regime_manufacturer + + @api.depends( + "supplier_document_number", + "supplier_social_reason", + "fiscal_manufacturer", + "supplier_document_type", + "supplier_document_number", + ) + def _compute_error_text(self): + res = super()._compute_error_text() + for record in self: + errors = [] + if not record.supplier_social_reason: + errors.append(_("Without supplier name")) + if not record.fiscal_manufacturer: + errors.append(_("Without regime")) + if not record.supplier_document_type: + errors.append(_("Without supplier document")) + if not record.supplier_document_number: + errors.append(_("Without document number")) + record.error_text += ", ".join(errors) + return res + + def _get_csv_report_info_mapped(self, data): + info_mapped = { + "Número de asiento": "entry_number", + "Fecha Hecho Contabilizado": "date_done", + "Concepto": "concept", + "Clave Producto": "product_key", + "Descripción Producto": "product_description", + "Régimen Fiscal": "fiscal_manufacturer", + "Justificante": "proof", + "Prov./Dest.: Tipo Documento": "supplier_document_type", + "Prov./Dest.: Nº Documento": "supplier_document_number", + "Prov./Dest.: Razón Social": "supplier_social_reason", + "Kilogramos": "kgs", + "Kilogramos No Reciclados": "no_recycling_kgs", + "Observaciones": "entry_note", + } + res = {} + for info_key in list(info_mapped.keys()): + info_key_value = info_mapped[info_key] + res[info_key] = ( + data[info_key_value] if data and info_key_value in data else "" + ) + return res + + def _get_csv_report_info(self): + self.ensure_one() + data = super()._get_csv_report_info() + data["concept"] = self.concept + data["product_description"] = self.product_description + data["fiscal_manufacturer"] = self.fiscal_manufacturer + return self._get_csv_report_info_mapped(data) diff --git a/l10n_es_aeat_mod592/models/product_product.py b/l10n_es_aeat_mod592/models/product_product.py new file mode 100644 index 00000000000..1cbc9185413 --- /dev/null +++ b/l10n_es_aeat_mod592/models/product_product.py @@ -0,0 +1,56 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.tools import float_is_zero + +from .misc import FISCAL_ACQUIRERS, FISCAL_MANUFACTURERS, PRODUCT_KEYS + + +class ProductProduct(models.Model): + _inherit = "product.product" + + is_plastic_tax = fields.Boolean(string="Is plastic tax?", tracking=True) + tax_plastic_type = fields.Selection( + selection=[ + ("manufacturer", _("Manufacturer")), + ("acquirer", _("Acquirer")), + ("both", _("Both")), + ], + default="both", + ) + plastic_type_key = fields.Selection( + selection=PRODUCT_KEYS, string="Plastic type key" + ) + plastic_tax_weight = fields.Float(string="Plastic weight", digits=(16, 4)) + plastic_weight_non_recyclable = fields.Float( + string="Plastic weight non recyclable", digits=(16, 4) + ) + plastic_tax_regime_manufacturer = fields.Selection( + selection=FISCAL_MANUFACTURERS, + string="Plastic tax regime manufaturer", + ) + plastic_tax_regime_acquirer = fields.Selection( + selection=FISCAL_ACQUIRERS, + string="Plastic tax regime acquirer", + ) + + @api.constrains("plastic_weight_non_recyclable", "plastic_tax_weight") + def check_plastic_weight_non_recyclable(self): + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + for item in self: + weight1 = item.plastic_weight_non_recyclable + weight2 = item.plastic_tax_weight + if ( + not float_is_zero(weight1, precision_digits=precision) + and not float_is_zero(weight2, precision_digits=precision) + and weight1 > weight2 + ): + raise UserError( + _("The non-recyclable weight must be equal to or less than") + ) diff --git a/l10n_es_aeat_mod592/models/product_template.py b/l10n_es_aeat_mod592/models/product_template.py new file mode 100644 index 00000000000..aa6d1b89ca8 --- /dev/null +++ b/l10n_es_aeat_mod592/models/product_template.py @@ -0,0 +1,161 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.tools import float_is_zero + +from .misc import FISCAL_ACQUIRERS, FISCAL_MANUFACTURERS, PRODUCT_KEYS + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + is_plastic_tax = fields.Boolean( + string="Is plastic tax?", + tracking=True, + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_is_plastic_tax", + ) + tax_plastic_type = fields.Selection( + selection=[ + ("manufacturer", _("Manufacturer")), + ("acquirer", _("Acquirer")), + ("both", _("Both")), + ], + default="both", + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_tax_plastic_type", + ) + plastic_type_key = fields.Selection( + selection=PRODUCT_KEYS, + string="Plastic type key", + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_plastic_type_key", + ) + plastic_tax_weight = fields.Float( + string="Plastic weight", + digits=(16, 4), + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_plastic_tax_weight", + ) + plastic_weight_non_recyclable = fields.Float( + string="Plastic weight non recyclable", + digits=(16, 4), + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_plastic_weight_non_recyclable", + ) + plastic_tax_regime_manufacturer = fields.Selection( + selection=FISCAL_MANUFACTURERS, + string="Plastic tax regime manufaturer", + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_plastic_tax_regime_manufacturer", + ) + plastic_tax_regime_acquirer = fields.Selection( + selection=FISCAL_ACQUIRERS, + string="Plastic tax regime acquirer", + compute="_compute_plastic_info", + inverse="_inverse_plastic_info", + search="_search_plastic_tax_regime_acquirer", + ) + + @api.constrains("plastic_weight_non_recyclable", "plastic_tax_weight") + def check_plastic_tax_weight(self): + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + for item in self: + weight1 = item.plastic_weight_non_recyclable + weight2 = item.plastic_tax_weight + if ( + not float_is_zero(weight1, precision_digits=precision) + and not float_is_zero(weight2, precision_digits=precision) + and weight1 > weight2 + ): + raise UserError( + _("The non-recyclable weight must be equal to or less than") + ) + + def _search_plastic_field(self, field_name, operator, value): + products = self.env["product.product"].search( + [(field_name, operator, value)], limit=None + ) + return [("id", "in", products.mapped("product_tmpl_id").ids)] + + def _search_is_plastic_tax(self, operator, value): + return self._search_plastic_field("is_plastic_tax", operator, value) + + def _search_tax_plastic_type(self, operator, value): + return self._search_plastic_field("tax_plastic_type", operator, value) + + def _search_plastic_type_key(self, operator, value): + return self._search_plastic_field("plastic_type_key", operator, value) + + def _search_plastic_tax_weight(self, operator, value): + return self._search_plastic_field("plastic_tax_weight", operator, value) + + def _search_plastic_weight_non_recyclable(self, operator, value): + return self._search_plastic_field( + "plastic_weight_non_recyclable", operator, value + ) + + def _search_plastic_tax_regime_manufacturer(self, operator, value): + return self._search_plastic_field( + "plastic_tax_regime_manufacturer", operator, value + ) + + def _search_plastic_tax_regime_acquirer(self, operator, value): + return self._search_plastic_field( + "plastic_tax_regime_acquirer", operator, value + ) + + @api.depends( + "product_variant_ids", + "product_variant_ids.is_plastic_tax", + "product_variant_ids.tax_plastic_type", + "product_variant_ids.plastic_type_key", + "product_variant_ids.plastic_tax_weight", + "product_variant_ids.plastic_weight_non_recyclable", + "product_variant_ids.plastic_tax_regime_manufacturer", + "product_variant_ids.plastic_tax_regime_acquirer", + ) + def _compute_plastic_info(self): + self.is_plastic_tax = False + self.tax_plastic_type = False + self.plastic_type_key = False + self.plastic_tax_weight = False + self.plastic_weight_non_recyclable = False + self.plastic_tax_regime_manufacturer = False + self.plastic_tax_regime_acquirer = False + for item in self.filtered(lambda x: len(x.product_variant_ids) == 1): + variant = item.product_variant_ids + item.is_plastic_tax = variant.is_plastic_tax + item.tax_plastic_type = variant.tax_plastic_type + item.plastic_type_key = variant.plastic_type_key + item.plastic_tax_weight = variant.plastic_tax_weight + item.plastic_weight_non_recyclable = variant.plastic_weight_non_recyclable + item.plastic_tax_regime_manufacturer = ( + variant.plastic_tax_regime_manufacturer + ) + item.plastic_tax_regime_acquirer = variant.plastic_tax_regime_acquirer + + def _inverse_plastic_info(self): + for item in self.filtered(lambda x: len(x.product_variant_ids) == 1): + variant_info = { + "is_plastic_tax": item.is_plastic_tax, + "tax_plastic_type": item.tax_plastic_type, + "plastic_type_key": item.plastic_type_key, + "plastic_tax_weight": item.plastic_tax_weight, + "plastic_weight_non_recyclable": item.plastic_weight_non_recyclable, + "plastic_tax_regime_manufacturer": item.plastic_tax_regime_manufacturer, + "plastic_tax_regime_acquirer": item.plastic_tax_regime_acquirer, + } + item.product_variant_ids.update(variant_info) diff --git a/l10n_es_aeat_mod592/models/res_company.py b/l10n_es_aeat_mod592/models/res_company.py new file mode 100644 index 00000000000..2b8a1b8514e --- /dev/null +++ b/l10n_es_aeat_mod592/models/res_company.py @@ -0,0 +1,15 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + company_plastic_acquirer = fields.Boolean(string="Plastic Acquirer", default=True) + company_plastic_manufacturer = fields.Boolean( + string="Plastic Manufacturer", default=False + ) diff --git a/l10n_es_aeat_mod592/models/res_partner.py b/l10n_es_aeat_mod592/models/res_partner.py new file mode 100644 index 00000000000..2b6a76ca1dd --- /dev/null +++ b/l10n_es_aeat_mod592/models/res_partner.py @@ -0,0 +1,32 @@ +# Copyright 2023 Nicolás Ramos - (https://binhex.es) +# Copyright 2023 Javier Colmenero - (https://javier@comunitea.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo import api, fields, models + +from .misc import DOCUMENT_TYPES + + +class ResPartner(models.Model): + _inherit = "res.partner" + + plastic_document_type = fields.Selection( + selection=DOCUMENT_TYPES, + string="Plastic document type", + help="Supplier/Recipient Document Type Code", + compute="_compute_plastic_document_type", + store=True, + ) + + @api.depends("vat", "country_id", "aeat_identification", "aeat_identification_type") + def _compute_plastic_document_type(self): + for partner in self: + idenfier_type = partner._parse_aeat_vat_info()[1] + if not idenfier_type: + doc_type = "1" + elif idenfier_type == "02": + doc_type = "2" + else: + doc_type = "3" + partner.plastic_document_type = doc_type diff --git a/l10n_es_aeat_mod592/readme/CONFIGURE.rst b/l10n_es_aeat_mod592/readme/CONFIGURE.rst new file mode 100644 index 00000000000..f738de62710 --- /dev/null +++ b/l10n_es_aeat_mod592/readme/CONFIGURE.rst @@ -0,0 +1,9 @@ +Se ha de confirgurar los tipos y pesos en la ficha del producto. + +* Si tiene impuesto al plástico. +* Peso del plástico +* Tipo de clave del producto +* Concepto del producto +* Regimen fiscal + +El código de producto y nombre se capturan de forma automática de la ficha del producto diff --git a/l10n_es_aeat_mod592/readme/CONTRIBUTORS.rst b/l10n_es_aeat_mod592/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..d7d61436015 --- /dev/null +++ b/l10n_es_aeat_mod592/readme/CONTRIBUTORS.rst @@ -0,0 +1,7 @@ +* Nicolás Ramos (Binhex) +* Javier Colmenero (Comunitea) + +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza diff --git a/l10n_es_aeat_mod592/readme/DESCRIPTION.rst b/l10n_es_aeat_mod592/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..94186fb95a6 --- /dev/null +++ b/l10n_es_aeat_mod592/readme/DESCRIPTION.rst @@ -0,0 +1,10 @@ +Módulo que calcula el impuesto al plástico Mod592. + +Esto módulo introduce el menú "AEAT 592 Model" en Contabilidad -> Informe -> +Declaraciones AEAT -> AEAT 592 Model. + +Es posible visualizar e imprimir por separado: + +* Registro de asientos con productos en impuestos al plástico de los asquirientes + +Es posible exportar los registros a archivo con extensión csv para subir a la web de la AEAT. diff --git a/l10n_es_aeat_mod592/readme/ROADMAP.rst b/l10n_es_aeat_mod592/readme/ROADMAP.rst new file mode 100644 index 00000000000..fbad41dc9ef --- /dev/null +++ b/l10n_es_aeat_mod592/readme/ROADMAP.rst @@ -0,0 +1,8 @@ +* Los movimientos que involucran adquisicion de plastico no reciclable no se + buscan por su fecha de factura, o día 15 del mes siguiente como muy tarde. + Solo se buscan en la fecha en que el movimiento quedó realizado. +* No se contempla el caso de Fabricantes. Eso debe venir en un módulo aparte con + dependencia de mrp, y tener una fuerte trazabilidad de cada quant para contemplar + todos los casos de la ley. +* No se contempla el tratamiento de Canarias: Si el producto es adquirido en + Canarias con destino a la Península, debe tributar. diff --git a/l10n_es_aeat_mod592/readme/USAGE.rst b/l10n_es_aeat_mod592/readme/USAGE.rst new file mode 100644 index 00000000000..6497bcc73c0 --- /dev/null +++ b/l10n_es_aeat_mod592/readme/USAGE.rst @@ -0,0 +1,15 @@ +Para instalar este modulo necesitas: + +* account +* stock +* l10n_es +* l10n_es_aeat +* report_xlsx +* report_csv + +Se instalan automáticamente si están disponibles en la lista de addons. + +Existe varios permisos "Mod 592 Acquire" y "Mod 592 Manufacturer" para gestionar +cada cosa, será necesario tener el permiso correspondiente en el usuario. + +Se calcularán líneas de adquirientes o fabricación si está definido a nivel de compañía (pestaña AEAT). diff --git a/l10n_es_aeat_mod592/report/__init__.py b/l10n_es_aeat_mod592/report/__init__.py new file mode 100644 index 00000000000..862359fe708 --- /dev/null +++ b/l10n_es_aeat_mod592/report/__init__.py @@ -0,0 +1 @@ +from . import l10n_es_aeat_mod592_xlsx diff --git a/l10n_es_aeat_mod592/report/aeat_mod592.xml b/l10n_es_aeat_mod592/report/aeat_mod592.xml new file mode 100644 index 00000000000..b97e4df043c --- /dev/null +++ b/l10n_es_aeat_mod592/report/aeat_mod592.xml @@ -0,0 +1,61 @@ + + + + + diff --git a/l10n_es_aeat_mod592/report/common_templates.xml b/l10n_es_aeat_mod592/report/common_templates.xml new file mode 100644 index 00000000000..7f369d4abf4 --- /dev/null +++ b/l10n_es_aeat_mod592/report/common_templates.xml @@ -0,0 +1,316 @@ + + + + + + + + + diff --git a/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py b/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py new file mode 100644 index 00000000000..7b5dd2d9093 --- /dev/null +++ b/l10n_es_aeat_mod592/report/l10n_es_aeat_mod592_xlsx.py @@ -0,0 +1,51 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from odoo import _, models + + +class Mod592XlsxManufacturer(models.AbstractModel): + _name = "report.l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man" + _description = "Mod592 XLSX Manufacturer" + _inherit = "report.report_xlsx.abstract" + + def generate_xlsx_report(self, workbook, data, objects): + mod592 = objects[0] + sheet = workbook.add_worksheet(_("Manufacturer Items")) + # header + model = self.env["l10n.es.aeat.mod592.report.line.manufacturer"] + next_col = 0 + for info_key in model._get_csv_report_header(): + sheet.write(0, next_col, info_key) + next_col += 1 + # content + next_row = 1 + for obj in mod592.manufacturer_line_ids: + next_col = 0 + for val_item in obj._get_csv_report_info_values(): + sheet.write(next_row, next_col, val_item) + next_col += 1 + next_row += 1 + + +class Mod592XlsxAcquirer(models.AbstractModel): + _name = "report.l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer" + _description = "Mod592 XLSX Acquirer" + _inherit = "report.report_xlsx.abstract" + + def generate_xlsx_report(self, workbook, data, objects): + mod592 = objects[0] + sheet = workbook.add_worksheet(_("Acquirer Items")) + # header + model = self.env["l10n.es.aeat.mod592.report.line.acquirer"] + next_col = 0 + for info_key in model._get_csv_report_header(): + sheet.write(0, next_col, info_key) + next_col += 1 + # content + next_row = 1 + for obj in mod592.acquirer_line_ids: + next_col = 0 + for val_item in obj._get_csv_report_info_values(): + sheet.write(next_row, next_col, val_item) + next_col += 1 + next_row += 1 diff --git a/l10n_es_aeat_mod592/report/report_views.xml b/l10n_es_aeat_mod592/report/report_views.xml new file mode 100644 index 00000000000..012497355b7 --- /dev/null +++ b/l10n_es_aeat_mod592/report/report_views.xml @@ -0,0 +1,39 @@ + + + + AEAT 592 Model PDF + l10n.es.aeat.mod592.report + qweb-pdf + l10n_es_aeat_mod592.report_l10n_es_mod592_pdf + l10n_es_aeat_mod592.report_l10n_es_mod592 + + report + + + AEAT 592 Model XLSX Acquirer report + l10n.es.aeat.mod592.report + xlsx + l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_acquirer + l10n_es_aeat_mod592.l10n_es_aeat_mod592_acquirer + object.get_report_file_name() + report + + + AEAT 592 Model XLSX Manufacturer report + l10n.es.aeat.mod592.report + xlsx + l10n_es_aeat_mod592.l10n_es_aeat_mod592_xlsx_man + l10n_es_aeat_mod592.l10n_es_aeat_mod592_man + object.get_report_file_name() + report + + diff --git a/l10n_es_aeat_mod592/security/aeat_security.xml b/l10n_es_aeat_mod592/security/aeat_security.xml new file mode 100644 index 00000000000..665694cd259 --- /dev/null +++ b/l10n_es_aeat_mod592/security/aeat_security.xml @@ -0,0 +1,25 @@ + + + + Mod 592 (Acquirer) + + + + + Mod 592 (Manufacturer) + + + + + AEAT Mod 592 + + + [('company_id', 'in', [False] + company_ids)] + + diff --git a/l10n_es_aeat_mod592/security/ir.model.access.csv b/l10n_es_aeat_mod592/security/ir.model.access.csv new file mode 100644 index 00000000000..2fb0b04bd49 --- /dev/null +++ b/l10n_es_aeat_mod592/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +"access_l10n_es_aeat_mod592_report_user","AEAT 592 Model: Report - Account User","model_l10n_es_aeat_mod592_report","account.group_account_user",1,0,0,0 +"access_l10n_es_aeat_mod592_report_manager","AEAT 592 Model: Report - Account Manager","model_l10n_es_aeat_mod592_report","account.group_account_manager",1,1,1,1 +"access_l10n_es_aeat_mod592_partner_record_manufacturer","AEAT 592 Manufacturer","model_l10n_es_aeat_mod592_report_line_manufacturer","account.group_account_manager",1,1,1,1 +"access_l10n_es_aeat_mod592_partner_record_acquirer","AEAT 592 Acquirer","model_l10n_es_aeat_mod592_report_line_acquirer","account.group_account_manager",1,1,1,1 diff --git a/l10n_es_aeat_mod592/static/description/icon.png b/l10n_es_aeat_mod592/static/description/icon.png new file mode 100644 index 00000000000..a0c4d424ba9 Binary files /dev/null and b/l10n_es_aeat_mod592/static/description/icon.png differ diff --git a/l10n_es_aeat_mod592/static/description/icon_source.svg b/l10n_es_aeat_mod592/static/description/icon_source.svg new file mode 100644 index 00000000000..7ae6328f5e6 --- /dev/null +++ b/l10n_es_aeat_mod592/static/description/icon_source.svg @@ -0,0 +1,11 @@ + + + + + + + + + + 592 + \ No newline at end of file diff --git a/l10n_es_aeat_mod592/static/description/index.html b/l10n_es_aeat_mod592/static/description/index.html new file mode 100644 index 00000000000..c0ee513f02e --- /dev/null +++ b/l10n_es_aeat_mod592/static/description/index.html @@ -0,0 +1,481 @@ + + + + + +AEAT modelo 592 + + + +
+

AEAT modelo 592

+ + +

Beta License: AGPL-3 OCA/l10n-spain Translate me on Weblate Try me on Runboat

+

Módulo que calcula el impuesto al plástico Mod592.

+

Esto módulo introduce el menú “AEAT 592 Model” en Contabilidad -> Informe -> +Declaraciones AEAT -> AEAT 592 Model.

+

Es posible visualizar e imprimir por separado:

+
    +
  • Registro de asientos con productos en impuestos al plástico de los asquirientes
  • +
+

Es posible exportar los registros a archivo con extensión csv para subir a la web de la AEAT.

+

Table of contents

+ +
+

Configuration

+

Se ha de confirgurar los tipos y pesos en la ficha del producto.

+
    +
  • Si tiene impuesto al plástico.
  • +
  • Peso del plástico
  • +
  • Tipo de clave del producto
  • +
  • Concepto del producto
  • +
  • Regimen fiscal
  • +
+

El código de producto y nombre se capturan de forma automática de la ficha del producto

+
+
+

Usage

+

Para instalar este modulo necesitas:

+
    +
  • account
  • +
  • stock
  • +
  • l10n_es
  • +
  • l10n_es_aeat
  • +
  • report_xlsx
  • +
  • report_csv
  • +
+

Se instalan automáticamente si están disponibles en la lista de addons.

+

Existe varios permisos “Mod 592 Acquire” y “Mod 592 Manufacturer” para gestionar +cada cosa, será necesario tener el permiso correspondiente en el usuario.

+

Se calcularán líneas de adquirientes o fabricación si está definido a nivel de compañía (pestaña AEAT).

+
+
+

Known issues / Roadmap

+
    +
  • Los movimientos que involucran adquisicion de plastico no reciclable no se +buscan por su fecha de factura, o día 15 del mes siguiente como muy tarde. +Solo se buscan en la fecha en que el movimiento quedó realizado.
  • +
  • No se contempla el caso de Fabricantes. Eso debe venir en un módulo aparte con +dependencia de mrp, y tener una fuerte trazabilidad de cada quant para contemplar +todos los casos de la ley.
  • +
  • No se contempla el tratamiento de Canarias: Si el producto es adquirido en +Canarias con destino a la Península, debe tributar.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
  • Binhex System Solutions
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/l10n-spain project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/l10n_es_aeat_mod592/tests/__init__.py b/l10n_es_aeat_mod592/tests/__init__.py new file mode 100644 index 00000000000..51542b23a6b --- /dev/null +++ b/l10n_es_aeat_mod592/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import test_l10n_es_aeat_mod592 diff --git a/l10n_es_aeat_mod592/tests/test_l10n_es_aeat_mod592.py b/l10n_es_aeat_mod592/tests/test_l10n_es_aeat_mod592.py new file mode 100644 index 00000000000..929b35c2a65 --- /dev/null +++ b/l10n_es_aeat_mod592/tests/test_l10n_es_aeat_mod592.py @@ -0,0 +1,248 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +from freezegun import freeze_time +from xlrd import open_workbook + +from odoo import fields +from odoo.exceptions import UserError +from odoo.tests import Form + +from odoo.addons.l10n_es_aeat.tests.test_l10n_es_aeat_mod_base import ( + TestL10nEsAeatModBase, +) + +_logger = logging.getLogger("aeat.592") + + +@freeze_time("2024-01-01", tick=True) +class TestL10nEsAeatMod592(TestL10nEsAeatModBase): + # Set 'debug' attribute to True to easy debug this test + # Do not forget to include '--log-handler aeat:DEBUG' in Odoo command line + debug = False + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.company.write( + { + "company_plastic_acquirer": True, + "company_plastic_manufacturer": True, + "external_report_layout_id": cls.env.ref( + "web.external_layout_standard" + ).id, + } + ) + cls.product_a = cls.env["product.product"].create( + { + "name": "Test Product A", + "is_plastic_tax": True, + "tax_plastic_type": "acquirer", + "plastic_tax_weight": 10, + "plastic_weight_non_recyclable": 6, + "plastic_type_key": "A", + "plastic_tax_regime_acquirer": "A", + } + ) + cls.product_b = cls.env["product.product"].create( + { + "name": "Test Product B", + "is_plastic_tax": True, + "tax_plastic_type": "acquirer", + "plastic_tax_weight": 5, + "plastic_weight_non_recyclable": 3, + "plastic_type_key": "B", + "plastic_tax_regime_acquirer": "B", + } + ) + cls.product_c = cls.env["product.product"].create( + { + "name": "Test Product C", + } + ) + products = cls.product_a + cls.product_b + cls.product_c + picking_type_out = cls.env["stock.picking.type"].search( + [("code", "=", "outgoing"), ("company_id", "=", cls.company.id)], limit=1 + ) + picking_form = Form( + cls.env["stock.picking"].with_context( + default_picking_type_id=picking_type_out.id, + ) + ) + picking_form.partner_id = cls.customer + for product in products: + with picking_form.move_ids_without_package.new() as line: + line.product_id = product + line.product_uom_qty = 3.0 + cls.picking = picking_form.save() + # Create model + cls.model592 = cls.env["l10n.es.aeat.mod592.report"].create( + { + "name": "9990000000390", + "company_id": cls.company.id, + "company_vat": "1234567890", + "contact_name": "Test owner", + "statement_type": "N", + "support_type": "T", + "contact_phone": "911234455", + "year": 2024, + "period_type": "0A", + "date_start": "2024-01-01", + "date_end": "2024-12-31", + "amount_plastic_tax": 1, + } + ) + cls.report_obj = cls.env["ir.actions.report"] + # Reset sequences for testing + cls.env.ref( + "l10n_es_aeat_mod592.seq_mod592_report_acquirer" + ).number_next_actual = 1 + cls.env.ref( + "l10n_es_aeat_mod592.seq_mod592_report_manufacturer" + ).number_next_actual = 1 + + def test_plastic_weight_non_recyclable(self): + with self.assertRaises(UserError): + self.product_a.write({"plastic_weight_non_recyclable": 12}) + self.product_a.plastic_weight_non_recyclable = 8 + + def test_model_592(self): + self.picking.action_confirm() + res = self.picking.button_validate() + wizard = self.env[res["res_model"]].with_context(**res["context"]).create({}) + wizard.process() + self.model592.calculate() + acquirer_lines = self.model592.acquirer_line_ids + self.assertEqual(self.model592.total_acquirer_entries, 2) + self.assertEqual(self.model592.total_weight_acquirer, 45) # 45 = 30 + 15 + self.assertEqual( + self.model592.total_weight_acquirer_non_reclyclable, 27 + ) # 27 = 18 + 9 + self.assertEqual(self.model592.total_amount_acquirer, 27) + sm_a = self.picking.move_ids_without_package.filtered( + lambda x: x.product_id == self.product_a + ) + sm_b = self.picking.move_ids_without_package.filtered( + lambda x: x.product_id == self.product_b + ) + sm_c = self.picking.move_ids_without_package.filtered( + lambda x: x.product_id == self.product_c + ) + self.assertIn(sm_a, acquirer_lines.stock_move_id) + self.assertIn(sm_b, acquirer_lines.stock_move_id) + self.assertNotIn(sm_c, acquirer_lines.stock_move_id) + acquirer_line_a = acquirer_lines.filtered(lambda x: x.stock_move_id == sm_a) + self.assertEqual(acquirer_line_a.entry_number, "A001") + self.assertEqual( + acquirer_line_a.date_done, fields.Date.from_string("2024-01-01") + ) + self.assertEqual(acquirer_line_a.concept, "2") + self.assertEqual(acquirer_line_a.product_key, "A") + self.assertEqual(acquirer_line_a.proof, self.picking.name) + self.assertEqual(acquirer_line_a.kgs, 30) # 30 = 10*3 + self.assertEqual(acquirer_line_a.no_recycling_kgs, 18) # 18 = 6*3 + self.assertEqual(acquirer_line_a.supplier_social_reason, "Test customer") + self.assertFalse(acquirer_line_a.supplier_document_number) + self.assertEqual(acquirer_line_a.supplier_document_type, "3") + self.assertEqual(acquirer_line_a.fiscal_acquirer, "A") + self.assertFalse(acquirer_line_a.entries_ok) + acquirer_line_b = acquirer_lines.filtered(lambda x: x.stock_move_id == sm_b) + self.assertEqual(acquirer_line_b.entry_number, "A002") + self.assertEqual( + acquirer_line_b.date_done, fields.Date.from_string("2024-01-01") + ) + self.assertEqual(acquirer_line_b.concept, "2") + self.assertEqual(acquirer_line_b.product_key, "B") + self.assertEqual(acquirer_line_b.proof, self.picking.name) + self.assertEqual(acquirer_line_b.kgs, 15) # 15 = 5*3 + self.assertEqual(acquirer_line_b.no_recycling_kgs, 9) # 9 = 3*3 + self.assertEqual(acquirer_line_b.supplier_social_reason, "Test customer") + self.assertFalse(acquirer_line_b.supplier_document_number) + self.assertEqual(acquirer_line_b.supplier_document_type, "3") + self.assertEqual(acquirer_line_b.fiscal_acquirer, "B") + self.assertFalse(acquirer_line_b.entries_ok) + self.assertTrue(self.model592.show_error_acquirer) + # Without VAT + Recalculate + self.customer.vat = "12345678Z" + self.model592.button_recalculate() + self.assertEqual(self.model592.acquirer_line_ids, acquirer_lines) + self.assertTrue(acquirer_line_a.entries_ok) + self.assertTrue(acquirer_line_b.entries_ok) + self.assertFalse(self.model592.show_error_acquirer) + self.assertEqual(self.model592.state, "draft") + self.model592.button_confirm() + self.assertEqual(self.model592.state, "done") + res = self.model592.view_action_mod592_report_line_acquirer() + items = self.env[res["res_model"]].search(res["domain"]) + self.assertEqual(acquirer_lines, items) + # Although it is not correct, add stock_move_c as a manufacturer to test + # the whole process + self.product_c.write( + { + "is_plastic_tax": True, + "tax_plastic_type": "manufacturer", + "plastic_tax_weight": 2, + "plastic_weight_non_recyclable": 1, + "plastic_type_key": "C", + "plastic_tax_regime_acquirer": "C", + } + ) + self.model592.manufacturer_line_ids = [(0, 0, {"stock_move_id": sm_c.id})] + self.assertEqual(self.model592.total_manufacturer_entries, 1) + self.assertEqual(self.model592.total_weight_manufacturer, 6) # 6 = 2 * 3 + self.assertEqual( + self.model592.total_weight_manufacturer_non_reclyclable, 3 + ) # 3 = 1 * 3 + self.assertEqual(self.model592.total_amount_manufacturer, 3) # 3 = 3 * 1 + self.assertNotIn(sm_a, self.model592.manufacturer_line_ids.stock_move_id) + self.assertNotIn(sm_b, self.model592.manufacturer_line_ids.stock_move_id) + self.assertIn(sm_c, self.model592.manufacturer_line_ids.stock_move_id) + res = self.model592.view_action_mod592_report_line_manufacturer() + items = self.env[res["res_model"]].search(res["domain"]) + self.assertEqual(self.model592.manufacturer_line_ids, items) + # report_file_name + self.assertTrue(self.model592.get_report_file_name()) + # export_csv_acquirer + csv_result_acquirer = self.model592.export_csv_acquirer() + csv_lines_acquirer = csv_result_acquirer.decode("utf-8").splitlines() + csv_line_1_acquirer = csv_lines_acquirer[1] + csv_line_2_acquirer = csv_lines_acquirer[2] + self.assertIn("A001", csv_line_1_acquirer) + self.assertIn("A002", csv_line_2_acquirer) + self.assertIn(self.picking.name, csv_line_1_acquirer) + # export_csv_manufacturer + csv_result_manufacturer = self.model592.export_csv_manufacturer() + csv_lines_manufacturer = csv_result_manufacturer.decode("utf-8").splitlines() + csv_line_1_manufacturer = csv_lines_manufacturer[1] + self.assertIn("M001", csv_line_1_manufacturer) + self.assertIn(self.picking.name, csv_line_1_manufacturer) + # export_xlsx_acquirer + xlsx_res = self.model592.export_xlsx_acquirer() + res = self.report_obj._get_report_from_name(xlsx_res["report_name"])._render( + xlsx_res["report_name"], self.model592.ids, {} + ) + wb = open_workbook(file_contents=res[0]) + sheet = wb.sheet_by_index(0) + self.assertEqual(sheet.cell(1, 0).value, "A001") + self.assertEqual(sheet.cell(2, 0).value, "A002") + # export_xlsx_manufacturer + xlsx_res = self.model592.export_xlsx_manufacturer() + res = self.report_obj._get_report_from_name(xlsx_res["report_name"])._render( + xlsx_res["report_name"], self.model592.ids, {} + ) + wb = open_workbook(file_contents=res[0]) + sheet = wb.sheet_by_index(0) + self.assertEqual(sheet.cell(1, 0).value, "M001") + # report_l10n_es_mod592_pdf + res = self.report_obj._get_report_from_name( + "l10n_es_aeat_mod592.report_l10n_es_mod592_pdf" + )._render_qweb_text( + "l10n_es_aeat_mod592.report_l10n_es_mod592_pdf", self.model592.ids + ) + res_text = str(res[0]) + self.assertRegex(res_text, "A001") + self.assertRegex(res_text, "A002") + self.assertRegex(res_text, "M001") + self.assertRegex(res_text, self.picking.name) diff --git a/l10n_es_aeat_mod592/views/mod592_acquirer_line_views.xml b/l10n_es_aeat_mod592/views/mod592_acquirer_line_views.xml new file mode 100644 index 00000000000..6532ea741a1 --- /dev/null +++ b/l10n_es_aeat_mod592/views/mod592_acquirer_line_views.xml @@ -0,0 +1,72 @@ + + + + + + + l10n_es_aeat_mod_592_acquirer_entries.view.tree + l10n.es.aeat.mod592.report.line.acquirer + + + + + + + + + + + + + + + + + + + + + + + l10n_es_aeat_mod_592_acquirer_entries.view.form + l10n.es.aeat.mod592.report.line.acquirer + +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + Mod 592 Report Lines + l10n.es.aeat.mod592.report.line.acquirer + tree,form + +
diff --git a/l10n_es_aeat_mod592/views/mod592_manufacturer_line_views.xml b/l10n_es_aeat_mod592/views/mod592_manufacturer_line_views.xml new file mode 100644 index 00000000000..ca0edb47581 --- /dev/null +++ b/l10n_es_aeat_mod592/views/mod592_manufacturer_line_views.xml @@ -0,0 +1,73 @@ + + + + + + + l10n_es_aeat_mod_592_manufacturer_eentries.view.tree + l10n.es.aeat.mod592.report.line.manufacturer + + + + + + + + + + + + + + + + + + + + + + + l10n_es_aeat_mod_592_manufacturer_entries.view.form + l10n.es.aeat.mod592.report.line.manufacturer + +
+ + + + + + + + + + + + + + + + + + + +
+
+
+ + Mod 592 Report Lines + l10n.es.aeat.mod592.report.line.manufacturer + tree,form + +
diff --git a/l10n_es_aeat_mod592/views/mod592_views.xml b/l10n_es_aeat_mod592/views/mod592_views.xml new file mode 100644 index 00000000000..b891594dfd6 --- /dev/null +++ b/l10n_es_aeat_mod592/views/mod592_views.xml @@ -0,0 +1,255 @@ + + + + + + + l10n_es.aeat.mod592.report.tree + l10n.es.aeat.mod592.report + + + + AEAT 592 reports + + + + + + + + + + + + l10n_es.aeat.mod592.report.form + l10n.es.aeat.mod592.report + + +
+ +
+ + + + + +
+ + +
+
+ + + +
+

Acquirer lines with errors

+
+
+

Manufacturer lines with errors

+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + + AEAT 592 Model + l10n.es.aeat.mod592.report + tree,form + Create and query AEAT 592 Model reports + + + + tree + + + + + + form + + + + + +
diff --git a/l10n_es_aeat_mod592/views/product_template_views.xml b/l10n_es_aeat_mod592/views/product_template_views.xml new file mode 100644 index 00000000000..08fd3da0cbf --- /dev/null +++ b/l10n_es_aeat_mod592/views/product_template_views.xml @@ -0,0 +1,109 @@ + + + + + product.template.view.form.inherit + product.template + + + + + + + + + + + + + + + + + + product.product.view.form.easy + product.product + + + + + + + + + + + + + + + + + diff --git a/l10n_es_aeat_mod592/views/res_company_views.xml b/l10n_es_aeat_mod592/views/res_company_views.xml new file mode 100644 index 00000000000..c639ffe7530 --- /dev/null +++ b/l10n_es_aeat_mod592/views/res_company_views.xml @@ -0,0 +1,20 @@ + + + + res.company.report.view.form.inherit + res.company + + + + + + + + + diff --git a/l10n_es_aeat_mod592/views/res_partner_views.xml b/l10n_es_aeat_mod592/views/res_partner_views.xml new file mode 100644 index 00000000000..9ee3cc881b7 --- /dev/null +++ b/l10n_es_aeat_mod592/views/res_partner_views.xml @@ -0,0 +1,19 @@ + + + + res.partner.view.form.inherit + res.partner + + + + + + + + diff --git a/setup/l10n_es_aeat_mod592/odoo/addons/l10n_es_aeat_mod592 b/setup/l10n_es_aeat_mod592/odoo/addons/l10n_es_aeat_mod592 new file mode 120000 index 00000000000..d8ea8128b7b --- /dev/null +++ b/setup/l10n_es_aeat_mod592/odoo/addons/l10n_es_aeat_mod592 @@ -0,0 +1 @@ +../../../../l10n_es_aeat_mod592 \ No newline at end of file diff --git a/setup/l10n_es_aeat_mod592/setup.py b/setup/l10n_es_aeat_mod592/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/l10n_es_aeat_mod592/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)