[FIX] l10n_es{_edi_facturae}{_adm_centers}: add administrative centers
Currently it's not possible to send facturae invoices through FACe, since we did not include administrative centers in the XML. This commit fixes that by: - Introducing a new partner type for Administrative Centers, with the necessary fields - Adding all Administrative Centers linked to a partner on the facturae electronic invoice Since often the three required Administrative Centers (Fiscal, Receiver and Payer) are the same, we allow the user to specify multiple roles on an Administrative Center. Demo data was also added for the Administrative Centers and updated to pass the facturae validator. For stable versions, we use a patch module to not break things. This should be moved to the main module in master. task-3599447 closes odoo/odoo#146675 X-original-commit: 7c4e846f023f92f48ee465008769848075757a29 Signed-off-by: William André (wan) <wan@odoo.com> Signed-off-by: Dylan Kiss (dyki) <dyki@odoo.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="partner_demo_company_es" model="res.partner">
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="name">ES Company</field>
|
||||
<field name="vat">ES59962470K</field>
|
||||
<field name="street">A</field>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
'description': """
|
||||
This module create the Facturae file required to send the invoices information to the General State Administrations.
|
||||
It allows the export and signature of the signing of Facturae files.
|
||||
The current version of Facturae supported is the 3.2.1
|
||||
The current version of Facturae supported is the 3.2.2
|
||||
|
||||
for more informations, see https://www.facturae.gob.es/face/Paginas/FACE.aspx
|
||||
""",
|
||||
|
||||
@@ -5,18 +5,18 @@
|
||||
<template id="address_type">
|
||||
<t t-if="partner_country_code == 'ESP'">
|
||||
<AddressInSpain>
|
||||
<Address t-out="', '.join(val for val in (partner.street, partner.street2) if val)"/>
|
||||
<Address t-out="', '.join(val for val in (partner.street, partner.street2) if val)[:80]"/>
|
||||
<PostCode t-out="str(partner.zip)"/>
|
||||
<Town t-out="partner.city"/>
|
||||
<Province t-out="partner.state_id.name if partner.state_id else partner.country_id.name"/>
|
||||
<Town t-out="(partner.city or '')[:50]"/>
|
||||
<Province t-out="partner.state_id.name[:20] if partner.state_id else partner.country_id.name[:20]"/>
|
||||
<CountryCode t-out="partner_country_code"/>
|
||||
</AddressInSpain>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<OverseasAddress>
|
||||
<Address t-out="', '.join(val for val in (partner.street, partner.street2) if val)"/>
|
||||
<PostCodeAndTown t-out="' '.join(var for var in (str(partner.zip), partner.city) if var)"/>
|
||||
<Province t-out="partner.state_id.name if partner.state_id else partner.country_id.name"/>
|
||||
<Address t-out="', '.join(val for val in (partner.street, partner.street2) if val)[:80]"/>
|
||||
<PostCodeAndTown t-out="' '.join(var for var in (str(partner.zip), partner.city) if var)[:50]"/>
|
||||
<Province t-out="partner.state_id.name[:20] if partner.state_id else partner.country_id.name[:20]"/>
|
||||
<CountryCode t-out="partner_country_code"/>
|
||||
</OverseasAddress>
|
||||
</t>
|
||||
@@ -25,17 +25,17 @@
|
||||
<!-- Sub-template used for every instance of ContactDetails -->
|
||||
<template id="contact_details_type">
|
||||
<ContactDetails>
|
||||
<Telephone t-out="partner_phone"/>
|
||||
<WebAddress t-out="partner.website"/>
|
||||
<ElectronicMail t-out="partner.email"/>
|
||||
<Telephone t-out="(partner_phone or '')[:15]"/>
|
||||
<WebAddress t-out="(partner.website or '')[:60]"/>
|
||||
<ElectronicMail t-out="(partner.email or '')[:60]"/>
|
||||
</ContactDetails>
|
||||
</template>
|
||||
|
||||
<!-- Sub-template used for every instance of LegalEntityType -->
|
||||
<template id="legal_entity_type">
|
||||
<LegalEntity>
|
||||
<CorporateName t-out="partner.name"/>
|
||||
<TradeName t-out="partner.display_name"/>
|
||||
<CorporateName t-out="partner.name[:80]"/>
|
||||
<TradeName t-out="partner.display_name[:40]"/>
|
||||
<t t-call="l10n_es_edi_facturae.address_type"/>
|
||||
<t t-call="l10n_es_edi_facturae.contact_details_type"/>
|
||||
</LegalEntity>
|
||||
@@ -44,9 +44,9 @@
|
||||
<!-- Sub-template used for every instance of IndividualType -->
|
||||
<template id="individual_type">
|
||||
<Individual>
|
||||
<Name t-out="partner_name.get('firstname')"/>
|
||||
<FirstSurname t-out="partner_name.get('surname')"/>
|
||||
<SecondSurname t-out="partner_name.get('surname2')"/>
|
||||
<Name t-out="(partner_name.get('firstname') or '')[:40]"/>
|
||||
<FirstSurname t-out="(partner_name.get('surname') or '')[:40]"/>
|
||||
<SecondSurname t-out="(partner_name.get('surname2') or '')[:40]"/>
|
||||
<t t-call="l10n_es_edi_facturae.address_type"/>
|
||||
<t t-call="l10n_es_edi_facturae.contact_details_type"/>
|
||||
</Individual>
|
||||
@@ -245,9 +245,9 @@
|
||||
|
||||
<!-- Main template used for the EDI -->
|
||||
<template id="account_invoice_facturae_export">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality t-out="Modality"/>
|
||||
<InvoiceIssuerType t-out="'EM' if is_outstanding else 'RE'"/>
|
||||
<Batch>
|
||||
|
||||
@@ -0,0 +1,651 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_es_edi_facturae
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~16.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-07 09:50+0000\n"
|
||||
"PO-Revision-Date: 2023-12-07 10:52+0100\n"
|
||||
"Last-Translator: Dylan Kiss <dyki@odoo.com>\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: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.4.1\n"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.corrective_type
|
||||
msgid "01"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.account_invoice_facturae_export
|
||||
msgid "3.2.2"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__27
|
||||
msgid "6-Packs"
|
||||
msgstr "6-Packs"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_account_move_reversal
|
||||
msgid "Account Move Reversal"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_account_move_send
|
||||
msgid "Account Move Send"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__13
|
||||
msgid "Applicable Date/Period"
|
||||
msgstr "Fecha/Periodo a aplicar"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__12
|
||||
msgid "Applicable Tax Amount"
|
||||
msgstr "Cuota tributaria a aplicar"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__11
|
||||
msgid "Applicable Tax Rate"
|
||||
msgstr "Porcentaje impositivo a aplicar"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__10
|
||||
msgid "Bags"
|
||||
msgstr "Bolsas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__08
|
||||
msgid "Barrels"
|
||||
msgstr "Barriles"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__17
|
||||
msgid "Bins"
|
||||
msgstr "Cubos"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__12
|
||||
msgid "Bottles, non-protected, cylindrical"
|
||||
msgstr "Botellas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__06
|
||||
msgid "Boxes"
|
||||
msgstr "Cajas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__24
|
||||
msgid "Bunches"
|
||||
msgstr "Manojos"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__81
|
||||
msgid "Calculation of tax inputs"
|
||||
msgstr "Cálculo de cuotas retenidas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__80
|
||||
msgid "Calculation of tax outputs"
|
||||
msgstr "Cálculo de cuotas repercutidas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__13
|
||||
msgid "Canisters"
|
||||
msgstr "Botes"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__23
|
||||
msgid "Cans, rectangular"
|
||||
msgstr "Latas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__11
|
||||
msgid "Carboys, non-protected"
|
||||
msgstr "Bombonas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__19
|
||||
msgid "Cases"
|
||||
msgstr "Estuches"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__15
|
||||
msgid "Centiliters"
|
||||
msgstr "Centilitros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__16
|
||||
msgid "Centimeters"
|
||||
msgstr "Centímetros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.ui.menu,name:l10n_es_edi_facturae.menu_l10n_es_edi_facturae_root_certificates
|
||||
msgid "Certificates"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.actions.act_window,name:l10n_es_edi_facturae.l10n_es_edi_facturae_certificate_action
|
||||
msgid "Certificates for Facturae EDI invoices on Spain"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__company_id
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not retrieve currency: %s. Did you enable the multicurrency option and "
|
||||
"activate the currency?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Could not retrieve the tax: %s %% for line '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.actions.act_window,help:l10n_es_edi_facturae.l10n_es_edi_facturae_certificate_action
|
||||
msgid "Create the first certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Created from attachment in %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__33
|
||||
msgid "Cubic meter"
|
||||
msgstr "Metro cúbico"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Customer/Vendor could not be found and could not be created due to missing "
|
||||
"data in the XML."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__date_end
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__date_start
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__20
|
||||
msgid "Demijohns, non-protected"
|
||||
msgstr "Garrafas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__18
|
||||
msgid "Dozens"
|
||||
msgstr "Docenas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__31
|
||||
msgid "Envelopes"
|
||||
msgstr "Sobres"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move_send.py:0
|
||||
#, python-format
|
||||
msgid "Errors occured while creating the EDI document (format: %s):"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_bank_statement_line__l10n_es_edi_facturae_xml_id
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move__l10n_es_edi_facturae_xml_id
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_payment__l10n_es_edi_facturae_xml_id
|
||||
msgid "Facturae Attachment"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_l10n_es_edi_facturae_certificate
|
||||
msgid "Facturae Digital Certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_res_company__l10n_es_edi_facturae_residence_type
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_res_partner__l10n_es_edi_facturae_residence_type
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_res_users__l10n_es_edi_facturae_residence_type
|
||||
msgid "Facturae EDI Residency Type Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_res_company__l10n_es_edi_facturae_certificate_id
|
||||
msgid "Facturae EDI signing certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_bank_statement_line__l10n_es_edi_facturae_xml_file
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move__l10n_es_edi_facturae_xml_file
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_payment__l10n_es_edi_facturae_xml_file
|
||||
msgid "Facturae File"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.view_company_form_inherit_l10n_es_edi_facturae
|
||||
msgid "Facturae signature certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move_send__l10n_es_edi_facturae_checkbox_xml
|
||||
msgid "Generate Facturae edi file"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__21
|
||||
msgid "Grams"
|
||||
msgstr "Gramos"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__02
|
||||
msgid "Hours"
|
||||
msgstr "Horas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__14
|
||||
msgid "Invoice Class"
|
||||
msgstr "Clase de factura"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Invoice imported from Factura-E XML file."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__01
|
||||
msgid "Invoice number"
|
||||
msgstr "Número de la factura"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__02
|
||||
msgid "Invoice serial number"
|
||||
msgstr "Serie de la factura"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__03
|
||||
msgid "Issue date"
|
||||
msgstr "Fecha expedición"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__06
|
||||
msgid "Issuer's Tax Identification Number"
|
||||
msgstr "Identificación fiscal Emisor/Obligado"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__08
|
||||
msgid "Issuer's address"
|
||||
msgstr "Domicilio Emisor/Obligado"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__10
|
||||
msgid "Item line"
|
||||
msgstr "Detalle Operación"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__09
|
||||
msgid "Jerricans, cylindrical"
|
||||
msgstr "Bidones"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_account_move
|
||||
msgid "Journal Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__03
|
||||
msgid "Kilograms"
|
||||
msgstr "Kilogramos"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__22
|
||||
msgid "Kilometers"
|
||||
msgstr "Kilómetros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__36
|
||||
msgid "Kilowatt-hour"
|
||||
msgstr "Kilovatio por hora"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move_send__l10n_es_edi_facturae_enable_xml
|
||||
msgid "L10N Es Edi Facturae Enable Xml"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__15
|
||||
msgid "Legal literals"
|
||||
msgstr "Literales legales"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__04
|
||||
msgid "Liters"
|
||||
msgstr "Litros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__25
|
||||
msgid "Meters"
|
||||
msgstr "Metros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__26
|
||||
msgid "Millimeters"
|
||||
msgstr "Milímetros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__04
|
||||
msgid "Name and surnames/Corporate name - Issuer (Sender)"
|
||||
msgstr "Nombre y apellidos/Razón social - Emisor"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__05
|
||||
msgid "Name and surnames/Corporate name - Receiver"
|
||||
msgstr "Nombre y apellidos/Razón social - Receptor"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"No valid certificate found for this company, Facturae EDI file will not be "
|
||||
"signed.\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__05
|
||||
msgid "Other"
|
||||
msgstr "Otros"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__content
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__content
|
||||
msgid "PFX Certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__28
|
||||
msgid "Packages"
|
||||
msgstr "Paquetes"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__password
|
||||
msgid "Passphrase for the PFX certificate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__password
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__29
|
||||
msgid "Portions"
|
||||
msgstr "Raciones"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_uom_uom
|
||||
msgid "Product Unit of Measure"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.view_account_move_reversal_inherit_l10n_es_edi_facturae
|
||||
msgid "Reason"
|
||||
msgstr "Motivo"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__07
|
||||
msgid "Receiver's Tax Identification Number"
|
||||
msgstr "Identificación fiscal Receptor"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__09
|
||||
msgid "Receiver's address"
|
||||
msgstr "Domicilio Receptor"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.corrective_type
|
||||
msgid "Rectificación modelo íntegro."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__30
|
||||
msgid "Rolls"
|
||||
msgstr "Rollos"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__34
|
||||
msgid "Second"
|
||||
msgstr "Segundo"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__serial_number
|
||||
msgid "Serial Number"
|
||||
msgstr "Número de serie"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.ui.menu,name:l10n_es_edi_facturae.menu_l10n_es_edi_facturae_root
|
||||
msgid "Spain Facturae EDI"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_uom_uom__l10n_es_edi_facturae_uom_code
|
||||
msgid "Spanish EDI Units"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_bank_statement_line__l10n_es_edi_facturae_reason_code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move__l10n_es_edi_facturae_reason_code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move_reversal__l10n_es_edi_facturae_reason_code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_payment__l10n_es_edi_facturae_reason_code
|
||||
msgid "Spanish Facturae EDI Reason Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_tax__l10n_es_edi_facturae_tax_type
|
||||
msgid "Spanish Facturae EDI Tax Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.product_uom_categ_form_view_inherit_l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.product_uom_form_view_inherit_l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.product_uom_tree_view_inherit_l10n_es_edi_facturae
|
||||
msgid "Spanish Facturae EDI type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.view_tax_tree_inherit_l10n_es_edi_facturae
|
||||
msgid "Spanish Tax Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_account_tax
|
||||
msgid "Tax"
|
||||
msgstr "Impuesto"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__16
|
||||
msgid "Taxable Base"
|
||||
msgstr "Base imponible"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__83
|
||||
msgid "Taxable Base modified due to discounts and rebates"
|
||||
msgstr "Base imponible modificada por descuentos y bonificaciones"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__84
|
||||
msgid ""
|
||||
"Taxable Base modified due to firm court ruling or administrative decision"
|
||||
msgstr ""
|
||||
"Base imponible modificada por resolución firme, judicial o administrativa"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__82
|
||||
msgid "Taxable Base modified due to return of packages and packaging materials"
|
||||
msgstr "Base imponible modificada por devolución de envases/embalajes"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__85
|
||||
msgid ""
|
||||
"Taxable Base modified due to unpaid outputs where there is a judgement "
|
||||
"opening insolvency proceedings"
|
||||
msgstr ""
|
||||
"Base imponible modificada cuotas repercutidas no satisfechas. Auto de "
|
||||
"declaración de concurso"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__14
|
||||
msgid "Tetra Briks"
|
||||
msgstr "Tetra Briks"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/l10n_es_edi_facturae_certificate.py:0
|
||||
#, python-format
|
||||
msgid "The certificate is expired since %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "The company needs a set tax identification number or VAT number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__date_end
|
||||
msgid "The date on which the certificate expires"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__date_start
|
||||
msgid "The date on which the certificate starts to be valid"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "The partner needs a set country"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "The partner needs a set tax identification number or VAT number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "The product '%s' could not be found."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__serial_number
|
||||
msgid "The serial number to add to electronic documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/l10n_es_edi_facturae_certificate.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"There has been a problem with the certificate, some usual problems can be:\n"
|
||||
"\t- The password given or the certificate are not valid.\n"
|
||||
"\t- The certificate content is invalid."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__07
|
||||
msgid "Trays, one layer no cover, plastic"
|
||||
msgstr "Bandejas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__32
|
||||
msgid "Tubs"
|
||||
msgstr "Tarrinas"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__01
|
||||
msgid "Units"
|
||||
msgstr "Unidades"
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.l10n_es_edi_facturae_certificate_form
|
||||
msgid "Validity"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__35
|
||||
msgid "Watt"
|
||||
msgstr "Vatio"
|
||||
@@ -4,10 +4,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.3alpha1+e\n"
|
||||
"Project-Id-Version: Odoo Server saas~16.3+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-12 10:00+0000\n"
|
||||
"PO-Revision-Date: 2023-05-12 10:00+0000\n"
|
||||
"POT-Creation-Date: 2023-12-07 09:50+0000\n"
|
||||
"PO-Revision-Date: 2023-12-07 09:50+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.account_invoice_facturae_export
|
||||
msgid "3.2.1"
|
||||
msgid "3.2.2"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -40,6 +40,21 @@ msgstr ""
|
||||
msgid "Account Move Send"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__13
|
||||
msgid "Applicable Date/Period"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__12
|
||||
msgid "Applicable Tax Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__11
|
||||
msgid "Applicable Tax Rate"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__10
|
||||
msgid "Bags"
|
||||
@@ -71,15 +86,13 @@ msgid "Bunches"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__80
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__80
|
||||
msgid "Calculation of output quotas"
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__81
|
||||
msgid "Calculation of tax inputs"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__81
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__81
|
||||
msgid "Calculation of withholding taxes"
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__80
|
||||
msgid "Calculation of tax outputs"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -137,6 +150,22 @@ msgstr ""
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not retrieve currency: %s. Did you enable the multicurrency option and"
|
||||
" activate the currency?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Could not retrieve the tax: %s %% for line '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.actions.act_window,help:l10n_es_edi_facturae.l10n_es_edi_facturae_certificate_action
|
||||
msgid "Create the first certificate"
|
||||
@@ -147,6 +176,13 @@ msgstr ""
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Created from attachment in %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__create_date
|
||||
msgid "Created on"
|
||||
@@ -157,6 +193,15 @@ msgstr ""
|
||||
msgid "Cubic meter"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Customer/Vendor could not be found and could not be created due to missing "
|
||||
"data in the XML."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__date_end
|
||||
msgid "Date End"
|
||||
@@ -167,18 +212,6 @@ msgstr ""
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__03
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__03
|
||||
msgid "Date of issue"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__13
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__13
|
||||
msgid "Date/Period to apply"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__20
|
||||
msgid "Demijohns, non-protected"
|
||||
@@ -262,28 +295,46 @@ msgstr ""
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__14
|
||||
msgid "Invoice Class"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "Invoice imported from Factura-E XML file."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__01
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__01
|
||||
msgid "Invoice number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__02
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__02
|
||||
msgid "Invoice series"
|
||||
msgid "Invoice serial number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__14
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__14
|
||||
msgid "Invoice type"
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__03
|
||||
msgid "Issue date"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__06
|
||||
msgid "Issuer's Tax Identification Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__08
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__08
|
||||
msgid "Issuer/Oblige Address"
|
||||
msgid "Issuer's address"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__10
|
||||
msgid "Item line"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -306,6 +357,11 @@ msgstr ""
|
||||
msgid "Kilometers"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__36
|
||||
msgid "Kilowatt-hour"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae.field_account_move_send__l10n_es_edi_facturae_enable_xml
|
||||
msgid "L10N Es Edi Facturae Enable Xml"
|
||||
@@ -321,6 +377,11 @@ msgstr ""
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__15
|
||||
msgid "Legal literals"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__04
|
||||
msgid "Liters"
|
||||
@@ -338,14 +399,12 @@ msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__04
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__04
|
||||
msgid "Name and surname/company name - Issuer"
|
||||
msgid "Name and surnames/Corporate name - Issuer (Sender)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__05
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__05
|
||||
msgid "Name and surname/company name - Recipient"
|
||||
msgid "Name and surnames/Corporate name - Receiver"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -398,10 +457,14 @@ msgstr ""
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__07
|
||||
msgid "Receiver's Tax Identification Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__09
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__09
|
||||
msgid "Receiving Address"
|
||||
msgid "Receiver's address"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -459,67 +522,38 @@ msgstr ""
|
||||
msgid "Spanish Tax Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__15
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__15
|
||||
msgid "Statutory letters"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model,name:l10n_es_edi_facturae.model_account_tax
|
||||
msgid "Tax"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__06
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__06
|
||||
msgid "Tax identification Issuer/Oblige"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__07
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__07
|
||||
msgid "Tax identification Receiver"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__11
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__12
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__11
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__12
|
||||
msgid "Tax rate to be applied"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__16
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__16
|
||||
msgid "Taxable amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__82
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__82
|
||||
msgid "Taxable amount modified by return of containers/packaging"
|
||||
msgid "Taxable Base"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__83
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__83
|
||||
msgid "Taxable income modified by discounts and allowances"
|
||||
msgid "Taxable Base modified due to discounts and rebates"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__84
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__84
|
||||
msgid "Taxable income modified by final, judicial or administrative ruling"
|
||||
msgid ""
|
||||
"Taxable Base modified due to firm court ruling or administrative decision"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__82
|
||||
msgid ""
|
||||
"Taxable Base modified due to return of packages and packaging materials"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__85
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__85
|
||||
msgid ""
|
||||
"Taxable income modified by unpaid tax assessments. Order of declaration of "
|
||||
"bankruptcy"
|
||||
"Taxable Base modified due to unpaid outputs where there is a judgement "
|
||||
"opening insolvency proceedings"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
@@ -565,6 +599,13 @@ msgstr ""
|
||||
msgid "The partner needs a set tax identification number or VAT number"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae/models/account_move.py:0
|
||||
#, python-format
|
||||
msgid "The product '%s' could not be found."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae.field_l10n_es_edi_facturae_certificate__serial_number
|
||||
msgid "The serial number to add to electronic documents"
|
||||
@@ -580,12 +621,6 @@ msgid ""
|
||||
"\t- The certificate content is invalid."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move__l10n_es_edi_facturae_reason_code__10
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__account_move_reversal__l10n_es_edi_facturae_reason_code__10
|
||||
msgid "Transaction Details"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__07
|
||||
msgid "Trays, one layer no cover, plastic"
|
||||
@@ -610,18 +645,3 @@ msgstr ""
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae.selection__uom_uom__l10n_es_edi_facturae_uom_code__35
|
||||
msgid "Watt"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.template_xades_signature
|
||||
msgid "not(ancestor-or-self::ds:Signature)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.template_xades_signature
|
||||
msgid "text/xml"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae.template_xades_signature
|
||||
msgid "urn:oid:1.2.840.10003.5.109.10"
|
||||
msgstr ""
|
||||
@@ -57,28 +57,28 @@ class AccountMove(models.Model):
|
||||
)
|
||||
l10n_es_edi_facturae_reason_code = fields.Selection(
|
||||
selection=[
|
||||
('01', 'Invoice number'),
|
||||
('02', 'Invoice series'),
|
||||
('03', 'Date of issue'),
|
||||
('04', 'Name and surname/company name - Issuer'),
|
||||
('05', 'Name and surname/company name - Recipient'),
|
||||
('06', 'Tax identification Issuer/Oblige'),
|
||||
('07', 'Tax identification Receiver'),
|
||||
('08', 'Issuer/Oblige Address'),
|
||||
('09', 'Receiving Address'),
|
||||
('10', 'Transaction Details'),
|
||||
('11', 'Tax rate to be applied'),
|
||||
('12', 'Tax rate to be applied'),
|
||||
('13', 'Date/Period to apply'),
|
||||
('14', 'Invoice type'),
|
||||
('15', 'Statutory letters'),
|
||||
('16', 'Taxable amount'),
|
||||
('80', 'Calculation of output quotas'),
|
||||
('81', 'Calculation of withholding taxes'),
|
||||
('82', 'Taxable amount modified by return of containers/packaging'),
|
||||
('83', 'Taxable income modified by discounts and allowances'),
|
||||
('84', 'Taxable income modified by final, judicial or administrative ruling'),
|
||||
('85', 'Taxable income modified by unpaid tax assessments. Order of declaration of bankruptcy'),
|
||||
('01', "Invoice number"),
|
||||
('02', "Invoice serial number"),
|
||||
('03', "Issue date"),
|
||||
('04', "Name and surnames/Corporate name - Issuer (Sender)"),
|
||||
('05', "Name and surnames/Corporate name - Receiver"),
|
||||
('06', "Issuer's Tax Identification Number"),
|
||||
('07', "Receiver's Tax Identification Number"),
|
||||
('08', "Issuer's address"),
|
||||
('09', "Receiver's address"),
|
||||
('10', "Item line"),
|
||||
('11', "Applicable Tax Rate"),
|
||||
('12', "Applicable Tax Amount"),
|
||||
('13', "Applicable Date/Period"),
|
||||
('14', "Invoice Class"),
|
||||
('15', "Legal literals"),
|
||||
('16', "Taxable Base"),
|
||||
('80', "Calculation of tax outputs"),
|
||||
('81', "Calculation of tax inputs"),
|
||||
('82', "Taxable Base modified due to return of packages and packaging materials"),
|
||||
('83', "Taxable Base modified due to discounts and rebates"),
|
||||
('84', "Taxable Base modified due to firm court ruling or administrative decision"),
|
||||
('85', "Taxable Base modified due to unpaid outputs where there is a judgement opening insolvency proceedings"),
|
||||
], string='Spanish Facturae EDI Reason Code', default='10')
|
||||
|
||||
def _l10n_es_edi_facturae_get_default_enable(self):
|
||||
|
||||
@@ -41,4 +41,5 @@ class UoM(models.Model):
|
||||
('33', 'Cubic meter'),
|
||||
('34', 'Second'),
|
||||
('35', 'Watt'),
|
||||
('36', 'Kilowatt-hour')
|
||||
], string='Spanish EDI Units', default="05", required=True)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>RE</InvoiceIssuerType>
|
||||
<Batch>
|
||||
@@ -261,11 +261,11 @@
|
||||
</ds:Reference>
|
||||
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignatureProperties-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>SpcFoWamxWQCsYjqZ/lsru5Ia4MaKBVgXiUWgKKBh2s=</ds:DigestValue>
|
||||
<ds:DigestValue>xWymfRVUSeZuRVPTaTbaEwKo2L5VLUDeqVugfVoaLqY=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference URI="#KeyInfo-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>wwDtGZ3EpRH8tRKQ8lKgbpfDkE1Zmza9QHkjJDN1Nmw=</ds:DigestValue>
|
||||
<ds:DigestValue>ARCif8tQIKagVfeHX4Fit5ZfK3mXQCPclQISywh7h44=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue>___ignore___</ds:SignatureValue>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
@@ -64,15 +64,15 @@
|
||||
<InvoiceClass>OO</InvoiceClass>
|
||||
<Corrective>
|
||||
<InvoiceNumber>INV/2023/00001</InvoiceNumber>
|
||||
<ReasonCode>10</ReasonCode>
|
||||
<ReasonDescription>Transaction Details</ReasonDescription>
|
||||
<TaxPeriod>
|
||||
<StartDate>2023-01-01</StartDate>
|
||||
<EndDate>2023-01-31</EndDate>
|
||||
</TaxPeriod>
|
||||
<CorrectionMethod>01</CorrectionMethod>
|
||||
<CorrectionMethodDescription>Rectificación modelo íntegro.</CorrectionMethodDescription>
|
||||
</Corrective>
|
||||
<ReasonCode>10</ReasonCode>
|
||||
<ReasonDescription>Item line</ReasonDescription>
|
||||
<TaxPeriod>
|
||||
<StartDate>2023-01-01</StartDate>
|
||||
<EndDate>2023-01-31</EndDate>
|
||||
</TaxPeriod>
|
||||
<CorrectionMethod>01</CorrectionMethod>
|
||||
<CorrectionMethodDescription>Rectificación modelo íntegro.</CorrectionMethodDescription>
|
||||
</Corrective>
|
||||
</InvoiceHeader>
|
||||
<InvoiceIssueData>
|
||||
<IssueDate>2023-01-01</IssueDate>
|
||||
@@ -168,11 +168,11 @@
|
||||
</ds:Reference>
|
||||
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignatureProperties-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>SpcFoWamxWQCsYjqZ/lsru5Ia4MaKBVgXiUWgKKBh2s=</ds:DigestValue>
|
||||
<ds:DigestValue>xWymfRVUSeZuRVPTaTbaEwKo2L5VLUDeqVugfVoaLqY=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference URI="#KeyInfo-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>wwDtGZ3EpRH8tRKQ8lKgbpfDkE1Zmza9QHkjJDN1Nmw=</ds:DigestValue>
|
||||
<ds:DigestValue>ARCif8tQIKagVfeHX4Fit5ZfK3mXQCPclQISywh7h44=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue>___ignore___</ds:SignatureValue>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
@@ -257,15 +257,15 @@
|
||||
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
|
||||
</ds:Transforms>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>ZLrDCYSAq93Xpv9PLeS4CSBh4htTOx5j4f7zH0K8ddI=</ds:DigestValue>
|
||||
<ds:DigestValue>jmyIG4idEVMFXy59HSx1XJZPAjcjIBxf8CJzP4n8BVE=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignatureProperties-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>SpcFoWamxWQCsYjqZ/lsru5Ia4MaKBVgXiUWgKKBh2s=</ds:DigestValue>
|
||||
<ds:DigestValue>xWymfRVUSeZuRVPTaTbaEwKo2L5VLUDeqVugfVoaLqY=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference URI="#KeyInfo-Document-da39a3ee5e6b4b0d3255bfef95601890afd80709">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>wwDtGZ3EpRH8tRKQ8lKgbpfDkE1Zmza9QHkjJDN1Nmw=</ds:DigestValue>
|
||||
<ds:DigestValue>ARCif8tQIKagVfeHX4Fit5ZfK3mXQCPclQISywh7h44=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue>___ignore___</ds:SignatureValue>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.1</SchemaVersion>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
|
||||
@@ -5,30 +5,10 @@ class AccountMoveReversal(models.TransientModel):
|
||||
_inherit = 'account.move.reversal'
|
||||
|
||||
l10n_es_edi_facturae_reason_code = fields.Selection(
|
||||
selection=[
|
||||
('01', 'Invoice number'),
|
||||
('02', 'Invoice series'),
|
||||
('03', 'Date of issue'),
|
||||
('04', 'Name and surname/company name - Issuer'),
|
||||
('05', 'Name and surname/company name - Recipient'),
|
||||
('06', 'Tax identification Issuer/Oblige'),
|
||||
('07', 'Tax identification Receiver'),
|
||||
('08', 'Issuer/Oblige Address'),
|
||||
('09', 'Receiving Address'),
|
||||
('10', 'Transaction Details'),
|
||||
('11', 'Tax rate to be applied'),
|
||||
('12', 'Tax rate to be applied'),
|
||||
('13', 'Date/Period to apply'),
|
||||
('14', 'Invoice type'),
|
||||
('15', 'Statutory letters'),
|
||||
('16', 'Taxable amount'),
|
||||
('80', 'Calculation of output quotas'),
|
||||
('81', 'Calculation of withholding taxes'),
|
||||
('82', 'Taxable amount modified by return of containers/packaging'),
|
||||
('83', 'Taxable income modified by discounts and allowances'),
|
||||
('84', 'Taxable income modified by final, judicial or administrative ruling'),
|
||||
('85', 'Taxable income modified by unpaid tax assessments. Order of declaration of bankruptcy'),
|
||||
], string='Spanish Facturae EDI Reason Code', default='10')
|
||||
selection=lambda self: self.env['account.move']._fields['l10n_es_edi_facturae_reason_code']._description_selection(self.env),
|
||||
string='Spanish Facturae EDI Reason Code',
|
||||
default='10'
|
||||
)
|
||||
|
||||
def reverse_moves(self, is_modify=False):
|
||||
# Extends account_account
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
from . import models
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
'name': 'Spain - Facturae EDI - Administrative Centers Patch',
|
||||
'version': '1.0',
|
||||
'description': """
|
||||
Patch module to fix the missing Administrative Centers in the Facturae EDI.
|
||||
""",
|
||||
'license': 'LGPL-3',
|
||||
'category': 'Accounting/Localizations/EDI',
|
||||
'depends': [
|
||||
'l10n_es_edi_facturae',
|
||||
],
|
||||
'data': [
|
||||
'data/l10n_es_edi_facturae_adm_centers.ac_role_type.csv',
|
||||
'data/facturae_templates.xml',
|
||||
|
||||
'security/ir.model.access.csv',
|
||||
|
||||
'views/res_partner_views.xml',
|
||||
],
|
||||
'demo': [
|
||||
'demo/l10n_es_edi_facturae_demo.xml',
|
||||
],
|
||||
'auto_install': True,
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<!-- Sub-template used for every instance of AdministrativeCentresType -->
|
||||
<template id="administrative_centers_type">
|
||||
<AdministrativeCentres>
|
||||
<AdministrativeCentre t-foreach="administrative_centers" t-as="ac">
|
||||
<CentreCode t-out="(ac.get('center_code') or '')[:10]"/>
|
||||
<RoleTypeCode t-out="ac.get('role_type_code')"/>
|
||||
<Name t-out="(ac.get('name') or '')[:40]"/>
|
||||
<t t-call="l10n_es_edi_facturae.address_type">
|
||||
<t t-set="partner" t-value="ac.get('partner')"/>
|
||||
<t t-set="partner_country_code" t-value="ac.get('partner_country_code')"/>
|
||||
</t>
|
||||
<t t-call="l10n_es_edi_facturae.contact_details_type">
|
||||
<t t-set="partner" t-value="ac.get('partner')"/>
|
||||
<t t-set="partner_phone" t-value="ac.get('partner_phone')"/>
|
||||
</t>
|
||||
<PhysicalGLN t-out="(ac.get('physical_gln') or '')[:14]"/>
|
||||
<LogicalOperationalPoint t-out="(ac.get('logical_operational_point') or '')[:14]"/>
|
||||
</AdministrativeCentre>
|
||||
</AdministrativeCentres>
|
||||
</template>
|
||||
|
||||
<template id="business_type" inherit_id="l10n_es_edi_facturae.business_type">
|
||||
<xpath expr="//t[@t-call='l10n_es_edi_facturae.tax_identification_type']" position="after">
|
||||
<t t-call="l10n_es_edi_facturae_adm_centers.administrative_centers_type"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="account_invoice_facturae_export" inherit_id="l10n_es_edi_facturae.account_invoice_facturae_export">
|
||||
<xpath expr="//SellerParty//t[@t-set='partner_name']" position="after">
|
||||
<t t-set="administrative_centers" t-value="self_party_administrative_centers if is_outstanding else other_party_administrative_centers"/>
|
||||
</xpath>
|
||||
<xpath expr="//BuyerParty//t[@t-set='partner_name']" position="after">
|
||||
<t t-set="administrative_centers" t-value="other_party_administrative_centers if is_outstanding else self_party_administrative_centers"/>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
"id","code","name"
|
||||
"ac_role_type_01","01","Fiscal"
|
||||
"ac_role_type_02","02","Receiver"
|
||||
"ac_role_type_03","03","Payer"
|
||||
"ac_role_type_04","04","Buyer"
|
||||
"ac_role_type_05","05","Collector"
|
||||
"ac_role_type_06","06","Seller"
|
||||
"ac_role_type_07","07","Payment Receiver"
|
||||
"ac_role_type_08","08","Collection Receiver"
|
||||
"ac_role_type_09","09","Issuer"
|
||||
|
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="partner_demo_bilbao_es" model="res.partner">
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="name">Ayuntamiento De Bilbao</field>
|
||||
<field name="street">Plaza Ernesto Erkoreka, 1</field>
|
||||
<field name="city">Bilbao</field>
|
||||
<field name="country_id" ref="base.es"/>
|
||||
<field name="state_id" ref="base.state_es_bi"/>
|
||||
<field name="zip">48007</field>
|
||||
<field name="vat">P4802400D</field>
|
||||
<field name="email">info@bilbao.example.com</field>
|
||||
<field name="website">www.bilbao.eus</field>
|
||||
<field name="customer_rank" eval="1"/>
|
||||
</record>
|
||||
|
||||
<record id="partner_demo_bilbao_ac_es" model="res.partner">
|
||||
<field name="type">facturae_ac</field>
|
||||
<field name="name">Departamento de Contabilidad</field>
|
||||
<field name="street">Plaza Ernesto Erkoreka, 1</field>
|
||||
<field name="city">Bilbao</field>
|
||||
<field name="country_id" ref="base.es"/>
|
||||
<field name="state_id" ref="base.state_es_bi"/>
|
||||
<field name="zip">28701</field>
|
||||
<field name="email">info@bilbao.example.com</field>
|
||||
<field name="customer_rank" eval="1"/>
|
||||
<field name="l10n_es_edi_facturae_ac_center_code">L01480209</field>
|
||||
<field
|
||||
name="l10n_es_edi_facturae_ac_role_type_ids"
|
||||
eval="[(4, ref('l10n_es_edi_facturae_adm_centers.ac_role_type_01'), 0), (4, ref('l10n_es_edi_facturae_adm_centers.ac_role_type_02'), 0), (4, ref('l10n_es_edi_facturae_adm_centers.ac_role_type_03'), 0)]"
|
||||
/>
|
||||
<field name="parent_id" ref="l10n_es_edi_facturae_adm_centers.partner_demo_bilbao_es"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -0,0 +1,255 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_es_edi_facturae
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~16.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-07 09:51+0000\n"
|
||||
"PO-Revision-Date: 2023-12-07 10:54+0100\n"
|
||||
"Last-Translator: Dylan Kiss <dyki@odoo.com>\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: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.4.1\n"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__type
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__type
|
||||
msgid ""
|
||||
"- Contact: Use this to organize the contact details of employees of a given "
|
||||
"company (e.g. CEO, CFO, ...).\n"
|
||||
"- Invoice Address: Preferred address for all invoices. Selected by default "
|
||||
"when you invoice an order that belongs to this company.\n"
|
||||
"- Delivery Address: Preferred address for all deliveries. Selected by "
|
||||
"default when you deliver an order that belongs to this company.\n"
|
||||
"- Private: Private addresses are only visible by authorized users and "
|
||||
"contain sensitive data (employee home addresses, ...).\n"
|
||||
"- Other: Other address for the company (e.g. subsidiary, ...)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae_adm_centers.view_partner_form_inherit_l10n_es_edi_facturae
|
||||
msgid ""
|
||||
"<span>Administrative Center for Spain Public Administrations. Used in "
|
||||
"Spanish electronic invoices.</span>"
|
||||
msgstr ""
|
||||
"<span>Centro Administrativo de Administraciones Públicas de España. "
|
||||
"Utilizado en facturas electrónicas españolas.</span>"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__type
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__type
|
||||
msgid "Address Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_l10n_es_edi_facturae_adm_centers_ac_role_type
|
||||
msgid "Administrative Center Role Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_04
|
||||
msgid "Buyer"
|
||||
msgstr "Comprador"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_center_code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_center_code
|
||||
msgid "Code"
|
||||
msgstr "Código"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
msgid ""
|
||||
"Code identifying the company. Barcode of 13 standard positions. Codes are "
|
||||
"registered in Spain by AECOC. The code is made up of the country code (2 "
|
||||
"positions) Spain is '84' + Company code (5 positions) + the remaining "
|
||||
"positions. The last one is the product + check digit."
|
||||
msgstr ""
|
||||
"Punto Lógico Operacional. Código identificativo de la Empresa. Código de "
|
||||
"barras de 13 posiciones estándar. Valores registrados por AECOC. Recoge el "
|
||||
"código de País (2p) España es ’84’ + Empresa (5p) + los restantes - el "
|
||||
"último es el producto + dígito de control."
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_center_code
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_center_code
|
||||
msgid "Code of the issuing department."
|
||||
msgstr "Número del Departamento Emisor."
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_08
|
||||
msgid "Collection Receiver"
|
||||
msgstr "Receptor del cobro"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_05
|
||||
msgid "Collector"
|
||||
msgstr "Cobrador"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae_adm_centers.selection__res_partner__type__facturae_ac
|
||||
msgid "FACe Center"
|
||||
msgstr "Centro FACe"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_01
|
||||
msgid "Fiscal"
|
||||
msgstr "Fiscal"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_physical_gln
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_physical_gln
|
||||
msgid ""
|
||||
"Identification of the connection point to the VAN EDI (Global Location "
|
||||
"Number). Barcode of 13 standard positions. Codes are registered in Spain by "
|
||||
"AECOC. The code is made up of the country code (2 positions) Spain is '84' + "
|
||||
"Company code (5 positions) + the remaining positions. The last one is the "
|
||||
"product + check digit."
|
||||
msgstr ""
|
||||
"GLN Físico. Identificación del punto de conexión a la VAN EDI (Global "
|
||||
"Location Number). Código de barras de 13 posiciones estándar. Valores "
|
||||
"registrados por AECOC. Recoge el código de País (2p) España es ’84’ + "
|
||||
"Empresa (5p) + los restantes - el último es el producto + dígito de control."
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_09
|
||||
msgid "Issuer"
|
||||
msgstr "Emisor"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_role_type_ids
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_role_type_ids
|
||||
msgid ""
|
||||
"It indicates the role played by the Operational Point defined as a Workplace/"
|
||||
"Department.\n"
|
||||
"These functions are:\n"
|
||||
"- Receiver: Workplace associated to the recipient's tax identification "
|
||||
"number where the invoice will be received.\n"
|
||||
"- Payer: Workplace associated to the recipient's tax identification number "
|
||||
"responsible for paying the invoice.\n"
|
||||
"- Buyer: Workplace associated to the recipient's tax identification number "
|
||||
"who issued the purchase order.\n"
|
||||
"- Collector: Workplace associated to the issuer's tax identification number "
|
||||
"responsible for handling the collection.\n"
|
||||
"- Fiscal: Workplace associated to the recipient's tax identification number, "
|
||||
"where an Operational Point mailbox is shared by different client companies "
|
||||
"with different tax identification numbers and it is necessary to "
|
||||
"differentiate between where the message is received (shared letterbox) and "
|
||||
"the workplace where it must be stored (recipient company)."
|
||||
msgstr ""
|
||||
"Indica la función de un Punto Operacional (P.O.) definido como Centro/"
|
||||
"Departamento.\n"
|
||||
"Estas funciones son:\n"
|
||||
"- Receptor: Centro del NIF receptor destinatario de la factura..\n"
|
||||
"- Pagador: Centro del NIF receptor responsable de pagar la factura.\n"
|
||||
"- Comprador: Centro del NIF receptor que emitió el pedido.\n"
|
||||
"- Cobrador: Centro del NIF emisor responsable de gestionar el cobro.\n"
|
||||
"- Fiscal: Centro del NIF receptor de las facturas, cuando un P.O. buzón es "
|
||||
"compartido por varias empresas clientes con diferentes NIF.s y es necesario "
|
||||
"diferenciar el receptor del mensaje (buzón común) del lugar donde debe "
|
||||
"depositarse (empresa destinataria)."
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_account_move
|
||||
msgid "Journal Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
msgid "Logical Operational Point"
|
||||
msgstr "Punto Lógico Operacional"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__name
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_03
|
||||
msgid "Payer"
|
||||
msgstr "Pagador"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_07
|
||||
msgid "Payment Receiver"
|
||||
msgstr "Receptor del pago"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_physical_gln
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_physical_gln
|
||||
msgid "Physical GLN"
|
||||
msgstr "GLN Físico"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_02
|
||||
msgid "Receiver"
|
||||
msgstr "Receptor"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_role_type_ids
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_role_type_ids
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_06
|
||||
msgid "Seller"
|
||||
msgstr "Vendedor"
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae_adm_centers/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "The Logical Operational Point entered is not valid."
|
||||
msgstr "El Punto Lógico Operacional ingresado no es válido."
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae_adm_centers/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "The Physical GLN entered is not valid."
|
||||
msgstr "El GLN Físico ingresado no es válido."
|
||||
@@ -0,0 +1,219 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_es_edi_facturae_adm_centers
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server saas~16.3+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-07 09:51+0000\n"
|
||||
"PO-Revision-Date: 2023-12-07 09:51+0000\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_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__type
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__type
|
||||
msgid ""
|
||||
"- Contact: Use this to organize the contact details of employees of a given company (e.g. CEO, CFO, ...).\n"
|
||||
"- Invoice Address: Preferred address for all invoices. Selected by default when you invoice an order that belongs to this company.\n"
|
||||
"- Delivery Address: Preferred address for all deliveries. Selected by default when you deliver an order that belongs to this company.\n"
|
||||
"- Private: Private addresses are only visible by authorized users and contain sensitive data (employee home addresses, ...).\n"
|
||||
"- Other: Other address for the company (e.g. subsidiary, ...)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_es_edi_facturae_adm_centers.view_partner_form_inherit_l10n_es_edi_facturae
|
||||
msgid ""
|
||||
"<span>Administrative Center for Spain Public Administrations. Used in "
|
||||
"Spanish electronic invoices.</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__type
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__type
|
||||
msgid "Address Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_l10n_es_edi_facturae_adm_centers_ac_role_type
|
||||
msgid "Administrative Center Role Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_04
|
||||
msgid "Buyer"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_center_code
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_center_code
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
msgid ""
|
||||
"Code identifying the company. Barcode of 13 standard positions. Codes are "
|
||||
"registered in Spain by AECOC. The code is made up of the country code (2 "
|
||||
"positions) Spain is '84' + Company code (5 positions) + the remaining "
|
||||
"positions. The last one is the product + check digit."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_center_code
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_center_code
|
||||
msgid "Code of the issuing department."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_08
|
||||
msgid "Collection Receiver"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_05
|
||||
msgid "Collector"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields.selection,name:l10n_es_edi_facturae_adm_centers.selection__res_partner__type__facturae_ac
|
||||
msgid "FACe Center"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_01
|
||||
msgid "Fiscal"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_physical_gln
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_physical_gln
|
||||
msgid ""
|
||||
"Identification of the connection point to the VAN EDI (Global Location "
|
||||
"Number). Barcode of 13 standard positions. Codes are registered in Spain by "
|
||||
"AECOC. The code is made up of the country code (2 positions) Spain is '84' +"
|
||||
" Company code (5 positions) + the remaining positions. The last one is the "
|
||||
"product + check digit."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_09
|
||||
msgid "Issuer"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_role_type_ids
|
||||
#: model:ir.model.fields,help:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_role_type_ids
|
||||
msgid ""
|
||||
"It indicates the role played by the Operational Point defined as a Workplace/Department.\n"
|
||||
"These functions are:\n"
|
||||
"- Receiver: Workplace associated to the recipient's tax identification number where the invoice will be received.\n"
|
||||
"- Payer: Workplace associated to the recipient's tax identification number responsible for paying the invoice.\n"
|
||||
"- Buyer: Workplace associated to the recipient's tax identification number who issued the purchase order.\n"
|
||||
"- Collector: Workplace associated to the issuer's tax identification number responsible for handling the collection.\n"
|
||||
"- Fiscal: Workplace associated to the recipient's tax identification number, where an Operational Point mailbox is shared by different client companies with different tax identification numbers and it is necessary to differentiate between where the message is received (shared letterbox) and the workplace where it must be stored (recipient company)."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model,name:l10n_es_edi_facturae_adm_centers.model_account_move
|
||||
msgid "Journal Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_logical_operational_point
|
||||
msgid "Logical Operational Point"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_l10n_es_edi_facturae_adm_centers_ac_role_type__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_03
|
||||
msgid "Payer"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_07
|
||||
msgid "Payment Receiver"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_physical_gln
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_physical_gln
|
||||
msgid "Physical GLN"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_02
|
||||
msgid "Receiver"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_partner__l10n_es_edi_facturae_ac_role_type_ids
|
||||
#: model:ir.model.fields,field_description:l10n_es_edi_facturae_adm_centers.field_res_users__l10n_es_edi_facturae_ac_role_type_ids
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#: model:l10n_es_edi_facturae_adm_centers.ac_role_type,name:l10n_es_edi_facturae_adm_centers.ac_role_type_06
|
||||
msgid "Seller"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae_adm_centers/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "The Logical Operational Point entered is not valid."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_es_edi_facturae_adm_centers
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_es_edi_facturae_adm_centers/models/res_partner.py:0
|
||||
#, python-format
|
||||
msgid "The Physical GLN entered is not valid."
|
||||
msgstr ""
|
||||
@@ -0,0 +1,2 @@
|
||||
from . import account_move
|
||||
from . import res_partner
|
||||
@@ -0,0 +1,37 @@
|
||||
from odoo import models
|
||||
from odoo.addons.l10n_es_edi_facturae.models.account_move import COUNTRY_CODE_MAP, PHONE_CLEAN_TABLE
|
||||
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = 'account.move'
|
||||
|
||||
def _l10n_es_edi_facturae_get_administrative_centers(self, partner):
|
||||
self.ensure_one()
|
||||
administrative_centers = []
|
||||
for ac in partner.child_ids.filtered(lambda p: p.type == 'facturae_ac'):
|
||||
ac_template = {
|
||||
'center_code': ac.l10n_es_edi_facturae_ac_center_code,
|
||||
'name': ac.name,
|
||||
'partner': ac,
|
||||
'partner_country_code': COUNTRY_CODE_MAP[ac.country_code],
|
||||
'partner_phone': ac.phone.translate(PHONE_CLEAN_TABLE) if ac.phone else False,
|
||||
'physical_gln': ac.l10n_es_edi_facturae_ac_physical_gln,
|
||||
'logical_operational_point': ac.l10n_es_edi_facturae_ac_logical_operational_point,
|
||||
}
|
||||
# An administrative center can have multiple roles, each of which should be reported separately.
|
||||
for role in ac.l10n_es_edi_facturae_ac_role_type_ids or [self.env['l10n_es_edi_facturae_adm_centers.ac_role_type']]:
|
||||
administrative_centers.append({
|
||||
**ac_template,
|
||||
'role_type_code': role.code,
|
||||
})
|
||||
return administrative_centers
|
||||
|
||||
def _l10n_es_edi_facturae_export_facturae(self):
|
||||
template_values, signature_values = super()._l10n_es_edi_facturae_export_facturae()
|
||||
template_values['self_party_administrative_centers'] = self._l10n_es_edi_facturae_get_administrative_centers(
|
||||
template_values.get('self_party')
|
||||
)
|
||||
template_values['other_party_administrative_centers'] = self._l10n_es_edi_facturae_get_administrative_centers(
|
||||
template_values.get('other_party')
|
||||
)
|
||||
return template_values, signature_values
|
||||
@@ -0,0 +1,61 @@
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tools import check_barcode_encoding
|
||||
|
||||
|
||||
class AcRoleType(models.Model):
|
||||
_name = 'l10n_es_edi_facturae_adm_centers.ac_role_type'
|
||||
_description = 'Administrative Center Role Type'
|
||||
|
||||
code = fields.Char(required=True)
|
||||
name = fields.Char(required=True, translate=True)
|
||||
|
||||
|
||||
class Partner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
type = fields.Selection(selection_add=[('facturae_ac', 'FACe Center'), ('other',)])
|
||||
l10n_es_edi_facturae_ac_center_code = fields.Char(string='Code', size=10, help="Code of the issuing department.")
|
||||
l10n_es_edi_facturae_ac_role_type_ids = fields.Many2many(
|
||||
string='Roles',
|
||||
comodel_name='l10n_es_edi_facturae_adm_centers.ac_role_type',
|
||||
help="It indicates the role played by the Operational Point defined as a Workplace/Department.\n"
|
||||
"These functions are:\n"
|
||||
"- Receiver: Workplace associated to the recipient's tax identification number where the invoice will be received.\n"
|
||||
"- Payer: Workplace associated to the recipient's tax identification number responsible for paying the invoice.\n"
|
||||
"- Buyer: Workplace associated to the recipient's tax identification number who issued the purchase order.\n"
|
||||
"- Collector: Workplace associated to the issuer's tax identification number responsible for handling the collection.\n"
|
||||
"- Fiscal: Workplace associated to the recipient's tax identification number, where an Operational Point mailbox is shared "
|
||||
"by different client companies with different tax identification numbers and it is necessary to differentiate between "
|
||||
"where the message is received (shared letterbox) and the workplace where it must be stored (recipient company).",
|
||||
)
|
||||
l10n_es_edi_facturae_ac_physical_gln = fields.Char(
|
||||
string='Physical GLN',
|
||||
size=14,
|
||||
help="Identification of the connection point to the VAN EDI (Global Location Number). Barcode of 13 standard positions. "
|
||||
"Codes are registered in Spain by AECOC. The code is made up of the country code (2 positions) Spain is '84' "
|
||||
"+ Company code (5 positions) + the remaining positions. The last one is the product + check digit."
|
||||
)
|
||||
l10n_es_edi_facturae_ac_logical_operational_point = fields.Char(
|
||||
string='Logical Operational Point',
|
||||
size=14,
|
||||
help="Code identifying the company. Barcode of 13 standard positions. Codes are registered in Spain by AECOC. "
|
||||
"The code is made up of the country code (2 positions) Spain is '84' + Company code (5 positions) + the remaining positions. "
|
||||
"The last one is the product + check digit.",
|
||||
)
|
||||
|
||||
@api.constrains('l10n_es_edi_facturae_ac_physical_gln')
|
||||
def _validate_l10n_es_edi_facturae_ac_physical_gln(self):
|
||||
for p in self:
|
||||
if not p.l10n_es_edi_facturae_ac_physical_gln:
|
||||
continue
|
||||
if not check_barcode_encoding(p.l10n_es_edi_facturae_ac_physical_gln, 'ean13'):
|
||||
raise ValidationError(_('The Physical GLN entered is not valid.'))
|
||||
|
||||
@api.constrains('l10n_es_edi_facturae_ac_logical_operational_point')
|
||||
def _validate_l10n_es_edi_facturae_ac_logical_operational_point(self):
|
||||
for p in self:
|
||||
if not p.l10n_es_edi_facturae_ac_logical_operational_point:
|
||||
continue
|
||||
if not check_barcode_encoding(p.l10n_es_edi_facturae_ac_logical_operational_point, 'ean13'):
|
||||
raise ValidationError(_('The Logical Operational Point entered is not valid.'))
|
||||
@@ -0,0 +1,3 @@
|
||||
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
|
||||
l10n_es_edi_facturae_adm_centers.access_l10n_es_edi_facturae_ac_role_type_invoice,access_l10n_es_edi_facturae_ac_role_type,l10n_es_edi_facturae_adm_centers.model_l10n_es_edi_facturae_adm_centers_ac_role_type,account.group_account_invoice,1,0,0,0
|
||||
l10n_es_edi_facturae_adm_centers.access_l10n_es_edi_facturae_ac_role_type_readonly,access_l10n_es_edi_facturae_ac_role_type,l10n_es_edi_facturae_adm_centers.model_l10n_es_edi_facturae_adm_centers_ac_role_type,account.group_account_readonly,1,0,0,0
|
||||
|
@@ -0,0 +1 @@
|
||||
from . import test_edi_xml
|
||||
@@ -0,0 +1,267 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<fac:Facturae xmlns:fac="http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml">
|
||||
<FileHeader>
|
||||
<SchemaVersion>3.2.2</SchemaVersion>
|
||||
<Modality>I</Modality>
|
||||
<InvoiceIssuerType>EM</InvoiceIssuerType>
|
||||
<Batch>
|
||||
<BatchIdentifier>INV/2023/00001</BatchIdentifier>
|
||||
<InvoicesCount>1</InvoicesCount>
|
||||
<TotalInvoicesAmount>
|
||||
<TotalAmount>121.00</TotalAmount>
|
||||
</TotalInvoicesAmount>
|
||||
<TotalOutstandingAmount>
|
||||
<TotalAmount>121.00</TotalAmount>
|
||||
</TotalOutstandingAmount>
|
||||
<TotalExecutableAmount>
|
||||
<TotalAmount>121.00</TotalAmount>
|
||||
</TotalExecutableAmount>
|
||||
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
|
||||
</Batch>
|
||||
</FileHeader>
|
||||
<Parties>
|
||||
<SellerParty>
|
||||
<TaxIdentification>
|
||||
<PersonTypeCode>J</PersonTypeCode>
|
||||
<ResidenceTypeCode>R</ResidenceTypeCode>
|
||||
<TaxIdentificationNumber>ES59962470K</TaxIdentificationNumber>
|
||||
</TaxIdentification>
|
||||
<LegalEntity>
|
||||
<CorporateName>company_1_data</CorporateName>
|
||||
<TradeName>company_1_data</TradeName>
|
||||
<AddressInSpain>
|
||||
<Address>C. de Embajadores, 68-116</Address>
|
||||
<PostCode>12345</PostCode>
|
||||
<Town>Madrid</Town>
|
||||
<Province>Madrid</Province>
|
||||
<CountryCode>ESP</CountryCode>
|
||||
</AddressInSpain>
|
||||
</LegalEntity>
|
||||
</SellerParty>
|
||||
<BuyerParty>
|
||||
<TaxIdentification>
|
||||
<PersonTypeCode>J</PersonTypeCode>
|
||||
<ResidenceTypeCode>R</ResidenceTypeCode>
|
||||
<TaxIdentificationNumber>P2813400E</TaxIdentificationNumber>
|
||||
</TaxIdentification>
|
||||
<AdministrativeCentres>
|
||||
<AdministrativeCentre>
|
||||
<CentreCode>L01281343</CentreCode>
|
||||
<RoleTypeCode>01</RoleTypeCode>
|
||||
<Name>Intervención Municipal</Name>
|
||||
<AddressInSpain>
|
||||
<Address>Plaza de la Constitución, 1</Address>
|
||||
<PostCode>28701</PostCode>
|
||||
<Town>San Sebastián de los Reyes</Town>
|
||||
<Province>Madrid</Province>
|
||||
<CountryCode>ESP</CountryCode>
|
||||
</AddressInSpain>
|
||||
</AdministrativeCentre>
|
||||
<AdministrativeCentre>
|
||||
<CentreCode>L01281343</CentreCode>
|
||||
<RoleTypeCode>02</RoleTypeCode>
|
||||
<Name>Intervención Municipal</Name>
|
||||
<AddressInSpain>
|
||||
<Address>Plaza de la Constitución, 1</Address>
|
||||
<PostCode>28701</PostCode>
|
||||
<Town>San Sebastián de los Reyes</Town>
|
||||
<Province>Madrid</Province>
|
||||
<CountryCode>ESP</CountryCode>
|
||||
</AddressInSpain>
|
||||
</AdministrativeCentre>
|
||||
<AdministrativeCentre>
|
||||
<CentreCode>L01281343</CentreCode>
|
||||
<RoleTypeCode>03</RoleTypeCode>
|
||||
<Name>Intervención Municipal</Name>
|
||||
<AddressInSpain>
|
||||
<Address>Plaza de la Constitución, 1</Address>
|
||||
<PostCode>28701</PostCode>
|
||||
<Town>San Sebastián de los Reyes</Town>
|
||||
<Province>Madrid</Province>
|
||||
<CountryCode>ESP</CountryCode>
|
||||
</AddressInSpain>
|
||||
</AdministrativeCentre>
|
||||
</AdministrativeCentres>
|
||||
<LegalEntity>
|
||||
<CorporateName>Ayuntamiento de San Sebastián de los Reyes</CorporateName>
|
||||
<TradeName>Ayuntamiento de San Sebastián de los Rey</TradeName>
|
||||
<AddressInSpain>
|
||||
<Address>Plaza de la Constitución, 1</Address>
|
||||
<PostCode>28701</PostCode>
|
||||
<Town>San Sebastián de los Reyes</Town>
|
||||
<Province>Madrid</Province>
|
||||
<CountryCode>ESP</CountryCode>
|
||||
</AddressInSpain>
|
||||
</LegalEntity>
|
||||
</BuyerParty>
|
||||
</Parties>
|
||||
<Invoices>
|
||||
<Invoice>
|
||||
<InvoiceHeader>
|
||||
<InvoiceNumber>INV/2023/00001</InvoiceNumber>
|
||||
<InvoiceDocumentType>FC</InvoiceDocumentType>
|
||||
<InvoiceClass>OO</InvoiceClass>
|
||||
</InvoiceHeader>
|
||||
<InvoiceIssueData>
|
||||
<IssueDate>2023-01-01</IssueDate>
|
||||
<InvoiceCurrencyCode>EUR</InvoiceCurrencyCode>
|
||||
<TaxCurrencyCode>EUR</TaxCurrencyCode>
|
||||
<LanguageName>en</LanguageName>
|
||||
</InvoiceIssueData>
|
||||
<TaxesOutputs>
|
||||
<Tax>
|
||||
<TaxTypeCode>01</TaxTypeCode>
|
||||
<TaxRate>21.000</TaxRate>
|
||||
<TaxableBase>
|
||||
<TotalAmount>100.00</TotalAmount>
|
||||
</TaxableBase>
|
||||
<TaxAmount>
|
||||
<TotalAmount>21.00</TotalAmount>
|
||||
</TaxAmount>
|
||||
</Tax>
|
||||
</TaxesOutputs>
|
||||
<InvoiceTotals>
|
||||
<TotalGrossAmount>100.00</TotalGrossAmount>
|
||||
<TotalGrossAmountBeforeTaxes>100.00</TotalGrossAmountBeforeTaxes>
|
||||
<TotalTaxOutputs>21.00</TotalTaxOutputs>
|
||||
<TotalTaxesWithheld>0.00</TotalTaxesWithheld>
|
||||
<InvoiceTotal>121.00</InvoiceTotal>
|
||||
<TotalOutstandingAmount>121.00</TotalOutstandingAmount>
|
||||
<TotalExecutableAmount>121.00</TotalExecutableAmount>
|
||||
</InvoiceTotals>
|
||||
<Items>
|
||||
<InvoiceLine>
|
||||
<ItemDescription>product_a</ItemDescription>
|
||||
<Quantity>1.0</Quantity>
|
||||
<UnitOfMeasure>01</UnitOfMeasure>
|
||||
<UnitPriceWithoutTax>100.00</UnitPriceWithoutTax>
|
||||
<TotalCost>100.00</TotalCost>
|
||||
<GrossAmount>100.00</GrossAmount>
|
||||
<TaxesOutputs>
|
||||
<Tax>
|
||||
<TaxTypeCode>01</TaxTypeCode>
|
||||
<TaxRate>21.000</TaxRate>
|
||||
<TaxableBase>
|
||||
<TotalAmount>100.00</TotalAmount>
|
||||
</TaxableBase>
|
||||
<TaxAmount>
|
||||
<TotalAmount>21.00</TotalAmount>
|
||||
</TaxAmount>
|
||||
</Tax>
|
||||
</TaxesOutputs>
|
||||
</InvoiceLine>
|
||||
</Items>
|
||||
</Invoice>
|
||||
</Invoices>
|
||||
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<ds:SignedInfo>
|
||||
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
|
||||
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
|
||||
<ds:Reference Type="http://www.w3.org/2000/09/xmldsig#Object" URI="" Id="Reference-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<ds:Transforms>
|
||||
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
|
||||
</ds:Transforms>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>urompTUIWaKzL528cuOOuM8Lh/fUUgxrngI3Fg2r++s=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignatureProperties-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>9OTHwuw/VnkBZI/MGreCHPV82wcp/TpojzPYzsxH0zs=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
<ds:Reference URI="#KeyInfo-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>srbcYkX+wYhxw3fk/CIkmKpiHUIjC4LiVyUCoGGJzNQ=</ds:DigestValue>
|
||||
</ds:Reference>
|
||||
</ds:SignedInfo>
|
||||
<ds:SignatureValue>QeorE6zhXkiH/SYsdKaZDCGyvix4d3oJOV+v6BB4y8Sz9ULy2oR4Rgu0hCZK306rwLmT01UmaDMK
|
||||
Tr8c7FkiUWAfYO3WjSiDRZxzgffdHCnOYKjh6KBjJKBjoaqyZaWNgNr1E+aSnNicBO2EVIYdP956
|
||||
qr9nzgwwQLLofV35mTa3+TbI3G3nA7BJ4jHYyvgiBjpH7so6r8OVXmlGlx8u1Ng+ThRgR2O8Llx8
|
||||
EkVFnnJcmzKBdiIpT3hxWe2AsQHhOUOraF9ZWl5WMAtZBsX6MheIYqEHesSHhNM9ZlzQhBUjkLVf
|
||||
tV4OWdhjYhltzlfvD50BsQExAz59uD8KmBkEUg==
|
||||
</ds:SignatureValue>
|
||||
<ds:KeyInfo Id="KeyInfo-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<ds:X509Data>
|
||||
<ds:X509Certificate>MIID8jCCAtqgAwIBAgIUYBl+61DsTkNyyUFGveskbaGP/SkwDQYJKoZIhvcNAQELBQAwgYoxCzAJ
|
||||
BgNVBAYTAkJFMRIwEAYDVQQIDAlXYWxsb25uaWExEjAQBgNVBAcMCVJhbWlsbGllczENMAsGA1UE
|
||||
CgwET2RvbzEMMAoGA1UECwwDUiZEMRgwFgYDVQQDDA9ydW5ib3Qub2Rvby5jb20xHDAaBgkqhkiG
|
||||
9w0BCQEWDWluZm9Ab2Rvby5jb20wHhcNMjIwNDI2MDczMTUwWhcNMjMwNDI2MDczMTUwWjCBlTEL
|
||||
MAkGA1UEBhMCQkUxEjAQBgNVBAgMCVdhbGxvbm5pYTESMBAGA1UEBwwJUmFtaWxsaWVzMRIwEAYD
|
||||
VQQKDAlPZG9vIFMuQS4xGTAXBgNVBAsMEFImRCAtIEFjY291bnRpbmcxETAPBgNVBAMMCG9kb28u
|
||||
Y29tMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9kb28uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAtGUbyNJrA3yyOC01gIMR1A1rWIHCHD+afLCLCddBDZwC4Q034yFBuMqQFNWaxxLc
|
||||
9s+wFbNZqu5D7rynN3qXvWJj40VZxygoV/09y71IhaspuAZ0rdzYsqjDmTJiPSrEl6iydF2eq6sJ
|
||||
4J0ItCUFc2e88B25wz7esslAN249C20oQj5ZiGifR4P0CRQSmDy0SPYZGxTurVwtq6IsYbOqEw8/
|
||||
Wqx6ApOltperFX88DZCdbY59ZedqQrGQh2Z5Au7h/8nhmdbpz7Ixw2zocxVigR0ClNDpKKxvolX1
|
||||
virQpICkfWcAaWAYAMCL4KhvISclysD+5juDLpGCLHPtKxBXTQIDAQABo0MwQTAfBgNVHSMEGDAW
|
||||
gBTmxEG4Ub7b5wRXqWea94Vs1hB13zAJBgNVHRMEAjAAMBMGA1UdEQQMMAqCCG9kb28uY29tMA0G
|
||||
CSqGSIb3DQEBCwUAA4IBAQAFLvTlSELTVWRfIlGthoFOmkv8MrwJuo8y7qTmvsFXeA2hZtsPdNxx
|
||||
iwAGPobiUO0GCEPUFKZ7NksQa7DAKGXfb5RSwfujDfEMAhgi00+wF1VIKeKqnGt4idzCr+2NtiQY
|
||||
e9oK+Ee7o82llnNFwbWvRKx55lhHW3bwN6Tl31qUYbxacJyA9z5sQpe2zImWMVsm4g7OAjzg3Cn2
|
||||
0TFu+0XekB892n7DYh4gHiMWaMOVYmi/aEWLSqxMlbiHQr75FmPftozFvTxW26jU3ALhq+yXPVa4
|
||||
lg4r/h6HH5TbtSjYzTSJ4MvMyrECgIQYf0zsS4D6K/GvCZbu7LKHRwuC0fis
|
||||
</ds:X509Certificate>
|
||||
</ds:X509Data>
|
||||
<ds:KeyValue>
|
||||
<ds:RSAKeyValue>
|
||||
<ds:Modulus>tGUbyNJrA3yyOC01gIMR1A1rWIHCHD+afLCLCddBDZwC4Q034yFBuMqQFNWaxxLc9s+wFbNZqu5D
|
||||
7rynN3qXvWJj40VZxygoV/09y71IhaspuAZ0rdzYsqjDmTJiPSrEl6iydF2eq6sJ4J0ItCUFc2e8
|
||||
8B25wz7esslAN249C20oQj5ZiGifR4P0CRQSmDy0SPYZGxTurVwtq6IsYbOqEw8/Wqx6ApOltper
|
||||
FX88DZCdbY59ZedqQrGQh2Z5Au7h/8nhmdbpz7Ixw2zocxVigR0ClNDpKKxvolX1virQpICkfWcA
|
||||
aWAYAMCL4KhvISclysD+5juDLpGCLHPtKxBXTQ==
|
||||
</ds:Modulus>
|
||||
<ds:Exponent>AQAB
|
||||
</ds:Exponent>
|
||||
</ds:RSAKeyValue>
|
||||
</ds:KeyValue>
|
||||
</ds:KeyInfo>
|
||||
<ds:Object>
|
||||
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<xades:SignedProperties Id="SignatureProperties-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<xades:SignedSignatureProperties>
|
||||
<xades:SigningTime>2023-01-01T00:00:00</xades:SigningTime>
|
||||
<xades:SigningCertificate>
|
||||
<xades:Cert>
|
||||
<xades:CertDigest>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>FHf2lN+5FALNa7JXV2+pByL92/dr8LeCVhpItYic5oA=</ds:DigestValue>
|
||||
</xades:CertDigest>
|
||||
<xades:IssuerSerial>
|
||||
<ds:X509IssuerName>C=BE, CN=runbot.odoo.com, L=Ramillies, O=Odoo, OU=R&D, ST=Wallonnia</ds:X509IssuerName>
|
||||
<ds:X509SerialNumber>548631688851000697209704649636588277530075594025</ds:X509SerialNumber>
|
||||
</xades:IssuerSerial>
|
||||
</xades:Cert>
|
||||
</xades:SigningCertificate>
|
||||
<xades:SignaturePolicyIdentifier>
|
||||
<xades:SignaturePolicyId>
|
||||
<xades:SigPolicyId>
|
||||
<xades:Identifier>http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf</xades:Identifier>
|
||||
<xades:Description>Política de firma electrónica para facturación electrónica con formato Facturae</xades:Description>
|
||||
</xades:SigPolicyId>
|
||||
<xades:SigPolicyHash>
|
||||
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<ds:DigestValue>a/vDoueJq9zxWGCFwdsXdlXtkFSEek4XVtmlQCEDaE8=</ds:DigestValue>
|
||||
</xades:SigPolicyHash>
|
||||
<xades:SigPolicyQualifiers>
|
||||
<xades:SigPolicyQualifier>
|
||||
<xades:SPURI>http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf</xades:SPURI>
|
||||
</xades:SigPolicyQualifier>
|
||||
</xades:SigPolicyQualifiers>
|
||||
</xades:SignaturePolicyId>
|
||||
</xades:SignaturePolicyIdentifier>
|
||||
</xades:SignedSignatureProperties>
|
||||
<xades:SignedDataObjectProperties>
|
||||
<xades:DataObjectFormat ObjectReference="#Reference-Document-d6c35cd34a32582d4a379bd7e7c26ac95b3d2974">
|
||||
<xades:Description/>
|
||||
<xades:ObjectIdentifier>
|
||||
<xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier>
|
||||
<xades:Description/>
|
||||
</xades:ObjectIdentifier>
|
||||
<xades:MimeType>text/xml</xades:MimeType>
|
||||
<xades:Encoding/>
|
||||
</xades:DataObjectFormat>
|
||||
</xades:SignedDataObjectProperties>
|
||||
</xades:SignedProperties>
|
||||
</xades:QualifyingProperties>
|
||||
</ds:Object>
|
||||
</ds:Signature>
|
||||
</fac:Facturae>
|
||||
@@ -0,0 +1,54 @@
|
||||
import lxml
|
||||
from freezegun.api import freeze_time
|
||||
|
||||
from odoo.fields import Command
|
||||
from odoo.tests import tagged
|
||||
from odoo.tools import file_open
|
||||
|
||||
from odoo.addons.l10n_es_edi_facturae.tests.test_edi_xml import TestEdiFacturaeXmls
|
||||
|
||||
|
||||
@tagged('post_install_l10n', 'post_install', '-at_install')
|
||||
class TestEdiFacturaeAdmCentersXmls(TestEdiFacturaeXmls):
|
||||
@classmethod
|
||||
def setUpClass(cls, chart_template_ref='es_full'):
|
||||
super().setUpClass(chart_template_ref)
|
||||
|
||||
cls.partner_b.write({
|
||||
'name': 'Ayuntamiento de San Sebastián de los Reyes',
|
||||
'is_company': True,
|
||||
'country_id': cls.env.ref('base.es').id,
|
||||
'vat': 'P2813400E',
|
||||
'city': 'San Sebastián de los Reyes',
|
||||
'street': 'Plaza de la Constitución, 1',
|
||||
'zip': '28701',
|
||||
'state_id': cls.env.ref('base.state_es_m').id,
|
||||
})
|
||||
partner_b_ac = cls.partner_b.copy()
|
||||
partner_b_ac.write({
|
||||
'type': 'facturae_ac',
|
||||
'parent_id': cls.partner_b.id,
|
||||
'name': 'Intervención Municipal',
|
||||
'l10n_es_edi_facturae_ac_center_code': 'L01281343',
|
||||
'l10n_es_edi_facturae_ac_role_type_ids': [
|
||||
Command.link(cls.env.ref('l10n_es_edi_facturae_adm_centers.ac_role_type_01').id),
|
||||
Command.link(cls.env.ref('l10n_es_edi_facturae_adm_centers.ac_role_type_02').id),
|
||||
Command.link(cls.env.ref('l10n_es_edi_facturae_adm_centers.ac_role_type_03').id),
|
||||
],
|
||||
})
|
||||
|
||||
@freeze_time('2023-01-01')
|
||||
def test_generate_with_administrative_centers(self):
|
||||
invoice = self.create_invoice(
|
||||
partner_id=self.partner_b.id,
|
||||
move_type='out_invoice',
|
||||
invoice_line_ids=[{'price_unit': 100.0, 'tax_ids': [self.tax.id]},]
|
||||
)
|
||||
invoice.action_post()
|
||||
generated_file, errors = invoice._l10n_es_edi_facturae_render_facturae()
|
||||
self.assertFalse(errors)
|
||||
self.assertTrue(generated_file)
|
||||
|
||||
with file_open('l10n_es_edi_facturae_adm_centers/tests/data/expected_ac_document.xml', 'rt') as f:
|
||||
expected_xml = lxml.etree.fromstring(f.read().encode())
|
||||
self.assertXmlTreeEqual(lxml.etree.fromstring(generated_file), expected_xml)
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_partner_form_inherit_l10n_es_edi_facturae" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.inherit.l10n_es_edi_facturae</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='child_ids']//div[hasclass('oe_edit_only')]" position="inside">
|
||||
<p class="mb-0" attrs="{'invisible': [('type', '!=', 'facturae_ac')]}">
|
||||
<span>Administrative Center for Spain Public Administrations. Used in Spanish electronic invoices.</span>
|
||||
</p>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='child_ids']//form//field[@name='name']" position="after">
|
||||
<field name="l10n_es_edi_facturae_ac_center_code" attrs="{'invisible': [('type', '!=', 'facturae_ac')]}"/>
|
||||
<field name="l10n_es_edi_facturae_ac_role_type_ids" widget="many2many_tags" attrs="{'invisible': [('type', '!=', 'facturae_ac')]}"/>
|
||||
<field name="l10n_es_edi_facturae_ac_physical_gln" attrs="{'invisible': [('type', '!=', 'facturae_ac')]}"/>
|
||||
<field name="l10n_es_edi_facturae_ac_logical_operational_point" attrs="{'invisible': [('type', '!=', 'facturae_ac')]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user