diff --git a/l10n_es_aeat_mod347/data/aeat_export_mod347_partner_data.xml b/l10n_es_aeat_mod347/data/aeat_export_mod347_partner_data.xml index e2030b403f0..f1239259295 100644 --- a/l10n_es_aeat_mod347/data/aeat_export_mod347_partner_data.xml +++ b/l10n_es_aeat_mod347/data/aeat_export_mod347_partner_data.xml @@ -381,14 +381,27 @@ 2 right - + 32 + Número de convocatoria BDNS + ${object.bdns_number if object.bdns_number else '000000' if object.report_id.year > 2024 else ' '} + string + 6 + left + + + + 33 + Blancos - + string - 201 + 195 left diff --git a/l10n_es_aeat_mod347/i18n/es.po b/l10n_es_aeat_mod347/i18n/es.po index 9d3dcde9764..6a4c1093bd8 100644 --- a/l10n_es_aeat_mod347/i18n/es.po +++ b/l10n_es_aeat_mod347/i18n/es.po @@ -6,15 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-08 12:15+0000\n" -"PO-Revision-Date: 2019-02-08 12:15+0000\n" +"POT-Creation-Date: 2026-02-26 08:51+0000\n" +"PO-Revision-Date: 2026-02-26 09:55+0100\n" "Last-Translator: <>\n" "Language-Team: \n" -"Language: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.8\n" #. module: l10n_es_aeat_mod347 #: model:mail.template,body_html:l10n_es_aeat_mod347.email_template_347 @@ -62,16 +63,16 @@ msgid "" " % endif\n" " % if object.real_estate_transmissions_amount:\n" "

\n" -" Importe de transmisión de inmueble: ${object." -"real_estate_transmissions_amount}
\n" -" Inmuebles primer trimestre: ${object." -"first_quarter_real_estate_transmission}
\n" -" Inmuebles segundo trimestre: ${object." -"second_quarter_real_estate_transmission}
\n" -" Inmuebles tercer trimestre: ${object." -"third_quarter_real_estate_transmission}
\n" -" Inmuebles cuarto trimestre: ${object." -"fourth_quarter_real_estate_transmission}
\n" +" Importe de transmisión de inmueble: $" +"{object.real_estate_transmissions_amount}
\n" +" Inmuebles primer trimestre: $" +"{object.first_quarter_real_estate_transmission}
\n" +" Inmuebles segundo trimestre: $" +"{object.second_quarter_real_estate_transmission}
\n" +" Inmuebles tercer trimestre: $" +"{object.third_quarter_real_estate_transmission}
\n" +" Inmuebles cuarto trimestre: $" +"{object.fourth_quarter_real_estate_transmission}
\n" "

\n" " % endif\n" "

En el documento adjunto se incluyen las facturas en base a las cuales " @@ -113,8 +114,8 @@ msgid "" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:124 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:131 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:125 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:132 #, python-format msgid "- %s (%s)" msgstr "- %s (%s)" @@ -304,6 +305,18 @@ msgstr "" msgid "B - Entregas de bienes y servicios superiores al límite (1)" msgstr "B - Entregas de bienes y servicios superiores al límite (1)" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__bdns_number +msgid "BDNS Call Number" +msgstr "" + +#. module: l10n_es_aeat_mod347 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:494 +#, python-format +msgid "" +"BDNS Call Number is mandatory for operation key E and it must have 6 digits" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__partner_bank_id msgid "Bank account" @@ -432,7 +445,7 @@ msgid "Complementary" msgstr "Complemento" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:556 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:583 #, python-format msgid "Compose Email" msgstr "Compose Email" @@ -440,11 +453,11 @@ msgstr "Compose Email" #. module: l10n_es_aeat_mod347 #: model:mail.template,subject:l10n_es_aeat_mod347.email_template_347 msgid "" -"Comprobación datos de modelo 347 año ${object.report_id.year} de ${user." -"company_id.name}" +"Comprobación datos de modelo 347 año ${object.report_id.year} de $" +"{user.company_id.name}" msgstr "" -"Comprobación datos de modelo 347 año ${object.report_id.year} de ${user." -"company_id.name}" +"Comprobación datos de modelo 347 año ${object.report_id.year} de $" +"{user.company_id.name}" #. module: l10n_es_aeat_mod347 #: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod347.view_l10n_es_aeat_mod347_partner_record_form @@ -586,6 +599,12 @@ msgstr "" msgid "F - Ventas agencia viaje" msgstr "F - Ventas agencia viaje" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__failed_message_ids +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__failed_message_ids +msgid "Failed Messages" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__first_quarter msgid "First quarter operations" @@ -811,12 +830,24 @@ msgstr "NIF representante legal" msgid "Main Attachment" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_content +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_content +msgid "Message Content" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_has_error #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_has_error msgid "Message Delivery error" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_content +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_content +msgid "Message content, to be used only in searches" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_ids #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_ids @@ -890,7 +921,7 @@ msgid "Next Activity Type" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:183 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:184 #, python-format msgid "No Tax Mapping was found" msgstr "No se ha encontrado mapeado de impuestos" @@ -1056,13 +1087,13 @@ msgid "Partner record" msgstr "Registro de empresa" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:137 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:138 #, python-format msgid "Partner record errors:\n" msgstr "Errores de registros de empresas:\n" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:155 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:156 #: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod347.view_l10n_es_aeat_mod347_report_form #, python-format msgid "Partner records" @@ -1101,7 +1132,7 @@ msgid "Planned" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:134 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:135 #, python-format msgid "" "Please review partner and real estate records, some of them are in red " @@ -1200,7 +1231,7 @@ msgid "Real estate info" msgstr "Información de inmuebles" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:141 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:142 #, python-format msgid "Real estate record errors:\n" msgstr "Errores de registros de inmuebles:\n" @@ -1246,6 +1277,13 @@ msgstr "Registros" msgid "Records in exception" msgstr "Registros con excepción" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__bdns_number +msgid "" +"Reference of Call of the subsidy or assistance in National Grands Database " +"(BDNS)." +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__related_goods_operation msgid "Related Goods Operation" @@ -1563,6 +1601,11 @@ msgid "" msgstr "" "NIE de profesionales establecidos en otros países miembros sin NIF nacional." +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__visible_bdns_number +msgid "Visible Bdns Number" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__website_message_ids #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__website_message_ids @@ -1644,16 +1687,16 @@ msgstr "" #~ " % endif\n" #~ " % if object.real_estate_transmissions_amount:\n" #~ "

\n" -#~ " Importe de transmisión de inmueble: ${object." -#~ "real_estate_transmissions_amount}
\n" -#~ " Inmuebles primer trimestre: ${object." -#~ "first_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles segundo trimestre: ${object." -#~ "second_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles tercer trimestre: ${object." -#~ "third_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles cuarto trimestre: ${object." -#~ "fourth_quarter_real_estate_transmission_amount}
\n" +#~ " Importe de transmisión de inmueble: $" +#~ "{object.real_estate_transmissions_amount}
\n" +#~ " Inmuebles primer trimestre: $" +#~ "{object.first_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles segundo trimestre: $" +#~ "{object.second_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles tercer trimestre: $" +#~ "{object.third_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles cuarto trimestre: $" +#~ "{object.fourth_quarter_real_estate_transmission_amount}
\n" #~ "

\n" #~ " % endif\n" #~ "

En el documento adjunto se incluyen las facturas en base a las " @@ -1738,16 +1781,16 @@ msgstr "" #~ " % endif\n" #~ " % if object.real_estate_transmissions_amount:\n" #~ "

\n" -#~ " Importe de transmisión de inmueble: ${object." -#~ "real_estate_transmissions_amount}
\n" -#~ " Inmuebles primer trimestre: ${object." -#~ "first_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles segundo trimestre: ${object." -#~ "second_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles tercer trimestre: ${object." -#~ "third_quarter_real_estate_transmission_amount}
\n" -#~ " Inmuebles cuarto trimestre: ${object." -#~ "fourth_quarter_real_estate_transmission_amount}
\n" +#~ " Importe de transmisión de inmueble: $" +#~ "{object.real_estate_transmissions_amount}
\n" +#~ " Inmuebles primer trimestre: $" +#~ "{object.first_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles segundo trimestre: $" +#~ "{object.second_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles tercer trimestre: $" +#~ "{object.third_quarter_real_estate_transmission_amount}
\n" +#~ " Inmuebles cuarto trimestre: $" +#~ "{object.fourth_quarter_real_estate_transmission_amount}
\n" #~ "

\n" #~ " % endif\n" #~ "

En el documento adjunto se incluyen las facturas en base a las " diff --git a/l10n_es_aeat_mod347/i18n/l10n_es_aeat_mod347.pot b/l10n_es_aeat_mod347/i18n/l10n_es_aeat_mod347.pot index fa6ba46c329..ea5baa36955 100644 --- a/l10n_es_aeat_mod347/i18n/l10n_es_aeat_mod347.pot +++ b/l10n_es_aeat_mod347/i18n/l10n_es_aeat_mod347.pot @@ -6,6 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-26 08:51+0000\n" +"PO-Revision-Date: 2026-02-26 08:51+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -91,8 +93,8 @@ msgid "\n" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:124 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:131 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:125 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:132 #, python-format msgid "- %s (%s)" msgstr "" @@ -276,6 +278,17 @@ msgstr "" msgid "B - Entregas de bienes y servicios superiores al límite (1)" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__bdns_number +msgid "BDNS Call Number" +msgstr "" + +#. module: l10n_es_aeat_mod347 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:494 +#, python-format +msgid "BDNS Call Number is mandatory for operation key E and it must have 6 digits" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__partner_bank_id msgid "Bank account" @@ -399,7 +412,7 @@ msgid "Complementary" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:556 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:583 #, python-format msgid "Compose Email" msgstr "" @@ -540,6 +553,12 @@ msgstr "" msgid "F - Ventas agencia viaje" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__failed_message_ids +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__failed_message_ids +msgid "Failed Messages" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__first_quarter msgid "First quarter operations" @@ -757,12 +776,24 @@ msgstr "" msgid "Main Attachment" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_content +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_content +msgid "Message Content" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_has_error #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_has_error msgid "Message Delivery error" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_content +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_content +msgid "Message content, to be used only in searches" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__message_ids #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__message_ids @@ -835,7 +866,7 @@ msgid "Next Activity Type" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:183 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:184 #, python-format msgid "No Tax Mapping was found" msgstr "" @@ -982,14 +1013,14 @@ msgid "Partner record" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:137 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:138 #, python-format msgid "Partner record errors:\n" "" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:155 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:156 #: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod347.view_l10n_es_aeat_mod347_report_form #, python-format msgid "Partner records" @@ -1027,7 +1058,7 @@ msgid "Planned" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:134 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:135 #, python-format msgid "Please review partner and real estate records, some of them are in red color:\n" "\n" @@ -1122,7 +1153,7 @@ msgid "Real estate info" msgstr "" #. module: l10n_es_aeat_mod347 -#: code:addons/l10n_es_aeat_mod347/models/mod347.py:141 +#: code:addons/l10n_es_aeat_mod347/models/mod347.py:142 #, python-format msgid "Real estate record errors:\n" "" @@ -1169,6 +1200,11 @@ msgstr "" msgid "Records in exception" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,help:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__bdns_number +msgid "Reference of Call of the subsidy or assistance in National Grands Database (BDNS)." +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__related_goods_operation msgid "Related Goods Operation" @@ -1427,6 +1463,11 @@ msgstr "" msgid "VAT number for professionals established in other state member without national VAT" msgstr "" +#. module: l10n_es_aeat_mod347 +#: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__visible_bdns_number +msgid "Visible Bdns Number" +msgstr "" + #. module: l10n_es_aeat_mod347 #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_partner_record__website_message_ids #: model:ir.model.fields,field_description:l10n_es_aeat_mod347.field_l10n_es_aeat_mod347_report__website_message_ids diff --git a/l10n_es_aeat_mod347/models/mod347.py b/l10n_es_aeat_mod347/models/mod347.py index 11997523a17..f7683ed7429 100644 --- a/l10n_es_aeat_mod347/models/mod347.py +++ b/l10n_es_aeat_mod347/models/mod347.py @@ -15,6 +15,7 @@ from calendar import monthrange import odoo.addons.decimal_precision as dp + KEY_TAX_MAPPING = { 'A': 'l10n_es_aeat_mod347.aeat_mod347_map_a', 'B': 'l10n_es_aeat_mod347.aeat_mod347_map_b', @@ -471,11 +472,30 @@ def _default_record_id(self): store=True, help='Checked if this record is OK', ) + bdns_number = fields.Char( + string="BDNS Call Number", + help="Reference of Call of the subsidy or assistance in National Grands " + "Database (BDNS).", + ) + visible_bdns_number = fields.Boolean( + compute="_compute_visible_bdns_number") @api.depends('partner_country_code', 'partner_state_code', 'partner_vat', - 'community_vat') + 'community_vat', "operation_key", "bdns_number") def _compute_check_ok(self): for record in self: + if (record.operation_key == "E" and not record.bdns_number) or ( + record.operation_key == "E" + and record.bdns_number + and len(record.bdns_number) != 6 + ): + # BDSN can have a maximum of 6 digits + raise exceptions.ValidationError( + _( + "BDNS Call Number is mandatory for operation key E and it must" + " have 6 digits" + ) + ) record.check_ok = ( record.partner_country_code and record.partner_state_code and @@ -483,6 +503,13 @@ def _compute_check_ok(self): (record.partner_vat or record.partner_country_code != 'ES') ) + @api.depends("operation_key", "report_id.year") + def _compute_visible_bdns_number(self): + for record in self: + record.visible_bdns_number = ( + record.operation_key == "E" and record.report_id.year >= 2025 + ) + @api.onchange('partner_id') def _onchange_partner_id(self): """Loads some partner data when the selected partner changes.""" diff --git a/l10n_es_aeat_mod347/views/mod347_view.xml b/l10n_es_aeat_mod347/views/mod347_view.xml index 413c96c867b..52a29144aa9 100644 --- a/l10n_es_aeat_mod347/views/mod347_view.xml +++ b/l10n_es_aeat_mod347/views/mod347_view.xml @@ -115,6 +115,11 @@ + +