diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6be7fe1bd7ee..c6a17602f500 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,11 @@ exclude: | # Repos using Sphinx to generate docs don't need prettying ^docs/_templates/.*\.html$| # You don't usually want a bot to modify your legal texts - (LICENSE.*|COPYING.*) + (LICENSE.*|COPYING.*)| + # XML tests should not be reformatted + ^l10n_it_fatturapa_out/tests/data + # Do not touch test data + l10n_it_fatturapa_in/tests/data/ default_language_version: python: python3 node: "14.13.0" @@ -125,6 +129,7 @@ repos: args: - --rcfile=.pylintrc - --exit-zero + - --ignore=l10n_it_fatturapa_in/tests/data/ verbose: true additional_dependencies: &pylint_deps - pylint-odoo==3.5.0 @@ -132,4 +137,5 @@ repos: name: pylint with mandatory checks args: - --rcfile=.pylintrc-mandatory + - --ignore=l10n_it_fatturapa_in/tests/data/ additional_dependencies: *pylint_deps diff --git a/l10n_it_account/README.rst b/l10n_it_account/README.rst new file mode 100644 index 000000000000..e4042f0e4bb3 --- /dev/null +++ b/l10n_it_account/README.rst @@ -0,0 +1,95 @@ +====================== +ITA - Contabilità base +====================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/14.0-mig-l10n_it_account/l10n_it_account + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-14-0-mig-l10n_it_account/l10n-italy-14-0-mig-l10n_it_account-l10n_it_account + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/14.0-mig-l10n_it_account + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +**Italiano** + +Modulo di supporto per la contabilità. + +Usato da moduli come l10n_it_vat_registries e account_vat_period_end_statement + +**English** + +Accounting-related modules helpers. + +Used by modules like l10n_it_vat_registries and account_vat_period_end_statement + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Agile Business Group +* Abstract + +Contributors +~~~~~~~~~~~~ + +* Davide Corio +* Lorenzo Battistini +* Alex Comba +* Sergio Zanchetta +* Gianmarco Conte - Dinamiche Aziendali Sr + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* Odoo Italia Network + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_account/__init__.py b/l10n_it_account/__init__.py new file mode 100644 index 000000000000..2088d953be37 --- /dev/null +++ b/l10n_it_account/__init__.py @@ -0,0 +1,10 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models +from . import tools +from odoo import api, SUPERUSER_ID + + +def _l10n_it_account_post_init(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + env["account.account.type"].set_account_types_negative_sign() diff --git a/l10n_it_account/__manifest__.py b/l10n_it_account/__manifest__.py new file mode 100644 index 000000000000..d7984df1daba --- /dev/null +++ b/l10n_it_account/__manifest__.py @@ -0,0 +1,33 @@ +# Copyright 2015 Abstract srl () +# Copyright 2015-2017 Agile Business Group () +# Copyright 2015 Link It Spa () +# Copyright 2018 Sergio Zanchetta (Associazione PNLUG - Gruppo Odoo) +# Copyright 2018 Lorenzo Battistini +# Copyright 2020 Gianmarco Conte +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "ITA - Contabilità base", + "summary": "Modulo base usato come dipendenza di altri moduli contabili", + "version": "14.0.1.0.0", + "category": "Hidden", + "author": "Agile Business Group, Abstract, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-italy", + "license": "AGPL-3", + "depends": [ + "account_fiscal_year", + "account_tax_balance", + "web", + ], + "data": [ + "views/account_setting.xml", + "views/account_menuitem.xml", + "views/partner_view.xml", + "views/product_view.xml", + "views/res_config_settings_views.xml", + "reports/account_reports_view.xml", + "views/account_view.xml", + ], + "installable": True, + "post_init_hook": "_l10n_it_account_post_init", +} diff --git a/l10n_it_account/i18n/es_AR.po b/l10n_it_account/i18n/es_AR.po new file mode 100644 index 000000000000..11e55d94906f --- /dev/null +++ b/l10n_it_account/i18n/es_AR.po @@ -0,0 +1,133 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account +# +# Translators: +# Anael M , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-08 03:45+0000\n" +"PO-Revision-Date: 2017-12-08 03:45+0000\n" +"Last-Translator: Anael M , 2017\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "" +"
\n" +" TIN: " +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:97 +#, python-format +msgid "A recursion in '{}' parents has been found." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account +msgid "Account" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_group +msgid "Account Group" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account_type +msgid "Account Type" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.product_template_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_account.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account.view_partner_property_form +msgid "Accounting" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_ids +msgid "Accounts" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_group__account_ids +msgid "Assigned accounts." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_account_type__account_balance_sign +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_balance_sign +msgid "Balance sign" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_type.py:42 +#, python-format +msgid "Balance sign's value can only be 1 or -1." +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:27 +#, python-format +msgid "" +"Can't set '{}' as parent for group '{}'.\n" +"{}" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__cee_type +msgid "Include in VAT register" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:58 +#, python-format +msgid "Incoherent balance signs for '{}' and its subgroups." +msgstr "" + +#. module: l10n_it_account +#: model:ir.ui.menu,name:l10n_it_account.account_italian_localization +msgid "Italian Localization" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "Page:" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__parent_tax_ids +msgid "Parent Taxes" +msgstr "" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Purchase" +msgstr "" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Sale" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_tax +msgid "Tax" +msgstr "Impuesto" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_tax__cee_type +msgid "" +"Use in the case of tax with 'VAT integration'. This specifies the VAT " +"register (sales / purchases) where the tax must be computed." +msgstr "" diff --git a/l10n_it_account/i18n/it.po b/l10n_it_account/i18n/it.po new file mode 100644 index 000000000000..adb0df9399ff --- /dev/null +++ b/l10n_it_account/i18n/it.po @@ -0,0 +1,155 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-21 10:38+0000\n" +"PO-Revision-Date: 2020-03-06 12:13+0000\n" +"Last-Translator: Sergio Zanchetta \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "" +"
\n" +" TIN: " +msgstr "" +"
\n" +" IVA:" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:97 +#, python-format +msgid "A recursion in '{}' parents has been found." +msgstr "Trovata una ricorsività in \"{}\" padre." + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account +msgid "Account" +msgstr "Conto" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_group +msgid "Account Group" +msgstr "Gruppo contabile" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account_type +msgid "Account Type" +msgstr "Tipo conto" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.product_template_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_account.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account.view_partner_property_form +msgid "Accounting" +msgstr "Contabilità" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_ids +msgid "Accounts" +msgstr "Conti" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_group__account_ids +msgid "Assigned accounts." +msgstr "Conti assegnati." + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_account_type__account_balance_sign +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_balance_sign +msgid "Balance sign" +msgstr "Segno del saldo" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_type.py:42 +#, python-format +msgid "Balance sign's value can only be 1 or -1." +msgstr "Il valore del segno per il saldo può essere solo 1 o -1." + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:27 +#, python-format +msgid "" +"Can't set '{}' as parent for group '{}'.\n" +"{}" +msgstr "" +"Impossibile impostare \"{}\" come padre per il gruppo \"{}\".\n" +"{}" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__cee_type +msgid "Include in VAT register" +msgstr "Includere nel registro IVA" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:58 +#, python-format +msgid "Incoherent balance signs for '{}' and its subgroups." +msgstr "Segni del saldo incoerenti per \"{}\" e i sottogruppi." + +#. module: l10n_it_account +#: model:ir.ui.menu,name:l10n_it_account.account_italian_localization +msgid "Italian Localization" +msgstr "Fiscalità italiana" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "Page:" +msgstr "Pagina:" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__parent_tax_ids +msgid "Parent Taxes" +msgstr "Imposte padre" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Purchase" +msgstr "Acquisto" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Sale" +msgstr "Vendita" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_tax +msgid "Tax" +msgstr "Imposta" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_tax__cee_type +msgid "" +"Use in the case of tax with 'VAT integration'. This specifies the VAT " +"register (sales / purchases) where the tax must be computed." +msgstr "" +"Utilizzare nel caso di imposta per \"integrazione IVA\". Specifica il " +"registro IVA (vendite / acquisti) nel quale deve essere calcolata l'imposta." + +#~ msgid "Cannot link accounts of different types to group '{}'." +#~ msgstr "Impossibile collegare conti di tipo diverso al gruppo '{}'." + +#~ msgid "Date Range Types" +#~ msgstr "Tipi di intervallo date" + +#~ msgid "Date Ranges" +#~ msgstr "Intervalli date" + +#~ msgid "Date ranges" +#~ msgstr "Intervalli date" + +#~ msgid "Generate Date Ranges" +#~ msgstr "Generazione intervalli date" + +#~ msgid "Pag:" +#~ msgstr "Pag:" diff --git a/l10n_it_account/i18n/l10n_it_account.pot b/l10n_it_account/i18n/l10n_it_account.pot new file mode 100644 index 000000000000..1f274c75b322 --- /dev/null +++ b/l10n_it_account/i18n/l10n_it_account.pot @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "
\n" +" TIN: " +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:97 +#, python-format +msgid "A recursion in '{}' parents has been found." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account +msgid "Account" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_group +msgid "Account Group" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account_type +msgid "Account Type" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.product_template_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_account.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account.view_partner_property_form +msgid "Accounting" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_ids +msgid "Accounts" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_group__account_ids +msgid "Assigned accounts." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_account_type__account_balance_sign +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_balance_sign +msgid "Balance sign" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_type.py:42 +#, python-format +msgid "Balance sign's value can only be 1 or -1." +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:27 +#, python-format +msgid "Can't set '{}' as parent for group '{}'.\n" +"{}" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__cee_type +msgid "Include in VAT register" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:58 +#, python-format +msgid "Incoherent balance signs for '{}' and its subgroups." +msgstr "" + +#. module: l10n_it_account +#: model:ir.ui.menu,name:l10n_it_account.account_italian_localization +msgid "Italian Localization" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "Page:" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__parent_tax_ids +msgid "Parent Taxes" +msgstr "" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Purchase" +msgstr "" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Sale" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_tax__cee_type +msgid "Use in the case of tax with 'VAT integration'. This specifies the VAT register (sales / purchases) where the tax must be computed." +msgstr "" + diff --git a/l10n_it_account/i18n/sl.po b/l10n_it_account/i18n/sl.po new file mode 100644 index 000000000000..6d5416da712f --- /dev/null +++ b/l10n_it_account/i18n/sl.po @@ -0,0 +1,136 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-26 14:46+0000\n" +"PO-Revision-Date: 2017-07-26 14:46+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "" +"
\n" +" TIN: " +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:97 +#, python-format +msgid "A recursion in '{}' parents has been found." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account +msgid "Account" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_group +msgid "Account Group" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_account_type +msgid "Account Type" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.product_template_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_account.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account.view_partner_property_form +msgid "Accounting" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_ids +msgid "Accounts" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_group__account_ids +msgid "Assigned accounts." +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_account_type__account_balance_sign +#: model:ir.model.fields,field_description:l10n_it_account.field_account_group__account_balance_sign +msgid "Balance sign" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_type.py:42 +#, python-format +msgid "Balance sign's value can only be 1 or -1." +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:27 +#, python-format +msgid "" +"Can't set '{}' as parent for group '{}'.\n" +"{}" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__cee_type +msgid "Include in VAT register" +msgstr "" + +#. module: l10n_it_account +#: code:addons/l10n_it_account/models/account_group.py:58 +#, python-format +msgid "Incoherent balance signs for '{}' and its subgroups." +msgstr "" + +#. module: l10n_it_account +#: model:ir.ui.menu,name:l10n_it_account.account_italian_localization +msgid "Italian Localization" +msgstr "" + +#. module: l10n_it_account +#: model_terms:ir.ui.view,arch_db:l10n_it_account.internal_layout +msgid "Page:" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,field_description:l10n_it_account.field_account_tax__parent_tax_ids +msgid "Parent Taxes" +msgstr "" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Purchase" +msgstr "Nabava" + +#. module: l10n_it_account +#: selection:account.tax,cee_type:0 +msgid "Sale" +msgstr "Prodaja" + +#. module: l10n_it_account +#: model:ir.model,name:l10n_it_account.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account +#: model:ir.model.fields,help:l10n_it_account.field_account_tax__cee_type +msgid "" +"Use in the case of tax with 'VAT integration'. This specifies the VAT " +"register (sales / purchases) where the tax must be computed." +msgstr "" + +#~ msgid "Pag:" +#~ msgstr "Plač:" diff --git a/l10n_it_account/migrations/14.0.1.0.0/post-migration.py b/l10n_it_account/migrations/14.0.1.0.0/post-migration.py new file mode 100644 index 000000000000..2eee92d2b4e9 --- /dev/null +++ b/l10n_it_account/migrations/14.0.1.0.0/post-migration.py @@ -0,0 +1,9 @@ +from odoo import SUPERUSER_ID, api + + +def migrate(cr, version): + if not version: + return + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + env["account.account.type"].set_account_types_negative_sign() diff --git a/l10n_it_account/models/__init__.py b/l10n_it_account/models/__init__.py new file mode 100644 index 000000000000..af0169a83c34 --- /dev/null +++ b/l10n_it_account/models/__init__.py @@ -0,0 +1,6 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import account_account +from . import account_group +from . import account_tax +from . import account_type diff --git a/l10n_it_account/models/account_account.py b/l10n_it_account/models/account_account.py new file mode 100644 index 000000000000..d2b70b74dece --- /dev/null +++ b/l10n_it_account/models/account_account.py @@ -0,0 +1,18 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class Account(models.Model): + _inherit = "account.account" + + @api.constrains("group_id") + def check_balance_sign_coherence(self): + """ + Checks whether adding an account to (or removing it from) a group + creates incoherencies in account groups' balance signs. + """ + groups = self.mapped("group_id") + # Avoid check upon empty recordset to make it faster + if groups: + groups.check_balance_sign_coherence() diff --git a/l10n_it_account/models/account_group.py b/l10n_it_account/models/account_group.py new file mode 100644 index 000000000000..16bdc29ccbbd --- /dev/null +++ b/l10n_it_account/models/account_group.py @@ -0,0 +1,113 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class AccountGroup(models.Model): + _inherit = "account.group" + + account_ids = fields.One2many( + comodel_name="account.account", + inverse_name="group_id", + string="Accounts", + ) + account_balance_sign = fields.Integer( + compute="_compute_account_balance_sign", + string="Balance sign", + ) + + @api.constrains("parent_id") + def check_parent_recursion(self): + for group in self: + try: + group.get_group_parents() + except ValidationError as err: + raise ValidationError( + _("Can't set '{}' as parent for group '{}'." "\n{}").format( + group.parent_id.name_get()[0][-1], + group.name_get()[0][-1], + err.name, + ) + ) + + @api.constrains("account_ids", "parent_id") + def check_balance_sign_coherence(self): + """ + Checks whether every group (plus parents and subgroups) have the same + balance sign. This is done by first retrieving every group's progenitor + and then checking, for each of them, the account types' for accounts + linked to such progenitor group and its subgroups. + """ + # Force recursion check + self.check_parent_recursion() + if self.env.context.get("skip_check_balance_sign_coherence"): + return + done_group_ids, progenitor_ids = [], [] + for group in self: + if group.id in done_group_ids: + continue + progenitor = group.get_group_progenitor() + progenitor_ids.append(progenitor.id) + done_group_ids.extend(progenitor.get_group_subgroups().ids) + + for progenitor in self.browse(tuple(set(progenitor_ids))): + accounts = progenitor.get_group_accounts() + if not accounts.mapped("user_type_id").have_same_sign(): + raise ValidationError( + _("Incoherent balance signs for '{}' and its subgroups.").format( + progenitor.name_get()[0][-1] + ) + ) + + def _compute_account_balance_sign(self): + for group in self: + group.account_balance_sign = group.get_account_balance_sign() + + def get_account_balance_sign(self): + self.ensure_one() + progenitor = self.get_group_progenitor() + types = progenitor.get_group_accounts().mapped("user_type_id") + if types: + return types[0].account_balance_sign + return 1 + + def get_group_accounts(self): + """ Retrieves every account from `self` and `self`'s subgroups. """ + return (self + self.get_group_subgroups()).mapped("account_ids") + + def get_group_progenitor(self): + self.ensure_one() + if not self.parent_id: + return self + return self.get_group_parents().filtered(lambda g: not g.parent_id) + + def get_group_parents(self): + """ + Retrieves every parent for group `self`. + :return: group's parents as recordset, or empty recordset if `self` + has no parents. If a recursion is found, an error is raised. + """ + self.ensure_one() + parent_ids = [] + parent = self.parent_id + while parent: + if parent.id in parent_ids: + raise ValidationError( + _("A recursion in '{}' parents has been found.").format( + self.name_get()[0][-1] + ) + ) + else: + parent_ids.append(parent.id) + parent = parent.parent_id + return self.browse(parent_ids) + + def get_group_subgroups(self): + """ Retrieves every subgroup for groups `self`. """ + # Avoid recursion upon empty recordsets + if not self: + return self + subgroups = self.search([("parent_id", "in", self.ids)]) + subgroup_ids = subgroups.ids + subgroups.get_group_subgroups().ids + return self.browse(tuple(set(subgroup_ids))) diff --git a/l10n_it_account/models/account_tax.py b/l10n_it_account/models/account_tax.py new file mode 100644 index 000000000000..c319d9d140f0 --- /dev/null +++ b/l10n_it_account/models/account_tax.py @@ -0,0 +1,97 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class AccountTax(models.Model): + _inherit = "account.tax" + + cee_type = fields.Selection( + [("sale", "Sale"), ("purchase", "Purchase")], + string="Include in VAT register", + help="Use in the case of tax with 'VAT integration'. This " + "specifies the VAT register (sales / purchases) where the " + "tax must be computed.", + ) + parent_tax_ids = fields.Many2many( + "account.tax", + "account_tax_filiation_rel", + "child_tax", + "parent_tax", + string="Parent Taxes", + ) + + def _get_tax_amount(self): + self.ensure_one() + res = 0.0 + if self.amount_type == "group": + for child in self.children_tax_ids: + res += child.amount + else: + res = self.amount + return res + + def _get_tax_name(self): + self.ensure_one() + name = self.name + if self.parent_tax_ids and len(self.parent_tax_ids) == 1: + name = self.parent_tax_ids[0].name + return name + + def _compute_totals_tax(self, data): + """ + Args: + data: date range, journals and registry_type + Returns: + A tuple: (tax_name, base, tax, deductible, undeductible) + + """ + self.ensure_one() + context = { + "from_date": data["from_date"], + "to_date": data["to_date"], + } + registry_type = data.get("registry_type", "customer") + if data.get("journal_ids"): + context["vat_registry_journal_ids"] = data["journal_ids"] + + tax = self.env["account.tax"].with_context(context).browse(self.id) + tax_name = tax._get_tax_name() + if not tax.children_tax_ids: + base_balance = tax.base_balance + balance = tax.balance + if registry_type == "supplier": + base_balance = -base_balance + balance = -balance + return (tax_name, base_balance, balance, balance, 0) + else: + base_balance = tax.base_balance + + tax_balance = 0 + deductible = 0 + undeductible = 0 + for child in tax.children_tax_ids: + child_balance = child.balance + if ( + data["registry_type"] == "customer" and child.cee_type == "sale" + ) or ( + data["registry_type"] == "supplier" and child.cee_type == "purchase" + ): + # Prendo la parte di competenza di ogni registro e lo + # sommo sempre + child_balance = child_balance + + elif child.cee_type: + continue + + tax_balance += child_balance + if child.account_id: + deductible += child_balance + else: + undeductible += child_balance + if registry_type == "supplier": + base_balance = -base_balance + tax_balance = -tax_balance + deductible = -deductible + undeductible = -undeductible + return (tax_name, base_balance, tax_balance, deductible, undeductible) diff --git a/l10n_it_account/models/account_type.py b/l10n_it_account/models/account_type.py new file mode 100644 index 000000000000..5d952c098298 --- /dev/null +++ b/l10n_it_account/models/account_type.py @@ -0,0 +1,70 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +ACCOUNT_TYPES_NEGATIVE_SIGN = [ + "account.data_unaffected_earnings", + "account.data_account_type_equity", + "account.data_account_type_revenue", + "account.data_account_type_other_income", + "account.data_account_type_payable", + "account.data_account_type_credit_card", + "account.data_account_type_prepayments", + "account.data_account_type_current_liabilities", + "account.data_account_type_non_current_liabilities", +] + + +class AccountType(models.Model): + _inherit = "account.account.type" + + account_balance_sign = fields.Integer( + default=1, + string="Balance sign", + ) + + @api.model + def set_account_types_negative_sign(self): + for xml_id in ACCOUNT_TYPES_NEGATIVE_SIGN: + acc_type = self.env.ref(xml_id, raise_if_not_found=False) + if acc_type: + acc_type.with_context( + skip_check_balance_sign_coherence=True + ).account_balance_sign = -1 + + @api.constrains("account_balance_sign") + def check_balance_sign_value(self): + """ + Checks whether `account_balance_sign` gets a correct value of +1 or -1. + """ + if any(t.account_balance_sign not in (-1, 1) for t in self): + raise ValidationError(_("Balance sign's value can only be 1 or -1.")) + + @api.constrains("account_balance_sign") + def check_balance_sign_coherence(self): + """ + Checks whether changes upon `account_balance_sign` create incoherencies + in account groups' balance signs. + """ + # Force check upon sign itself before checking groups signs coherence + self.check_balance_sign_value() + acc_obj = self.env["account.account"] + for account_type in self: + accounts = acc_obj.search([("user_type_id", "=", account_type.id)]) + # Avoid check upon empty recordset to make it faster + if accounts: + accounts.check_balance_sign_coherence() + + def have_same_sign(self): + """ + Checks types' signs. + :return: True if there's nothing to check or there's only one type + to check; else, returns True or False according to whether every + type has the same value for `account_balance_sign` (if it's not 0). + """ + to_check = self.filtered(lambda t: t.account_balance_sign) + if len(to_check) <= 1: + return True + benchmark = to_check[0].account_balance_sign + return all(t.account_balance_sign == benchmark for t in to_check) diff --git a/l10n_it_account/readme/CONTRIBUTORS.rst b/l10n_it_account/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..de140b15b47c --- /dev/null +++ b/l10n_it_account/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* Davide Corio +* Lorenzo Battistini +* Alex Comba +* Sergio Zanchetta +* Gianmarco Conte - Dinamiche Aziendali Sr diff --git a/l10n_it_account/readme/CREDITS.rst b/l10n_it_account/readme/CREDITS.rst new file mode 100644 index 000000000000..0ee23f1d1533 --- /dev/null +++ b/l10n_it_account/readme/CREDITS.rst @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +* Odoo Italia Network diff --git a/l10n_it_account/readme/DESCRIPTION.rst b/l10n_it_account/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..2c7be5a2098f --- /dev/null +++ b/l10n_it_account/readme/DESCRIPTION.rst @@ -0,0 +1,11 @@ +**Italiano** + +Modulo di supporto per la contabilità. + +Usato da moduli come l10n_it_vat_registries e account_vat_period_end_statement + +**English** + +Accounting-related modules helpers. + +Used by modules like l10n_it_vat_registries and account_vat_period_end_statement diff --git a/l10n_it_account/reports/account_reports_view.xml b/l10n_it_account/reports/account_reports_view.xml new file mode 100644 index 000000000000..2cef4b31ffc2 --- /dev/null +++ b/l10n_it_account/reports/account_reports_view.xml @@ -0,0 +1,149 @@ + + + + + + Italian Accounting Reports A4 Portrait + + A4 + 0 + 0 + Portrait + 35 + 15 + 5 + 5 + + 30 + 90 + + + + Italian Accounting Reports A4 Landscape + + A4 + 0 + 0 + Landscape + 15 + 15 + 5 + 5 + + 10 + 90 + + + + + + + + diff --git a/l10n_it_account/static/description/icon.png b/l10n_it_account/static/description/icon.png new file mode 100644 index 000000000000..2aa4dd28bdc1 Binary files /dev/null and b/l10n_it_account/static/description/icon.png differ diff --git a/l10n_it_account/static/description/index.html b/l10n_it_account/static/description/index.html new file mode 100644 index 000000000000..2878dbfde830 --- /dev/null +++ b/l10n_it_account/static/description/index.html @@ -0,0 +1,437 @@ + + + + + + +ITA - Contabilità base + + + +
+

ITA - Contabilità base

+ + +

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

Italiano

+

Modulo di supporto per la contabilità.

+

Usato da moduli come l10n_it_vat_registries e account_vat_period_end_statement

+

English

+

Accounting-related modules helpers.

+

Used by modules like l10n_it_vat_registries and account_vat_period_end_statement

+

Table of contents

+ +
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Agile Business Group
  • +
  • Abstract
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The development of this module has been financially supported by:

+
    +
  • Odoo Italia Network
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

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

+

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

+
+
+
+ + diff --git a/l10n_it_account/static/src/css/l10n_it_account.css b/l10n_it_account/static/src/css/l10n_it_account.css new file mode 100644 index 000000000000..68cd2be72002 --- /dev/null +++ b/l10n_it_account/static/src/css/l10n_it_account.css @@ -0,0 +1,61 @@ +table { + border: 0px; +} +thead { + background: #f5f5f5; +} + +.left_with_line { + text-align: left; + vertical-align: text-top; + border-top: 1px solid #a1a1a1; + padding: 5px; +} +.right_with_line { + text-align: right; + vertical-align: text-top; + border-top: 1px solid #a1a1a1; + padding: 5px; +} +.left_without_line { + text-align: left; + vertical-align: text-top; + padding: 5px; +} +.right_without_line { + text-align: right; + vertical-align: text-top; + padding: 5px; +} +.left_with_line_bottom { + text-align: left; + vertical-align: text-top; + border-bottom: 1px solid #a1a1a1; + padding: 5px; +} +.right_with_line_bottom { + text-align: right; + vertical-align: text-top; + border-bottom: 1px solid #a1a1a1; + padding: 5px; +} +.left_without_line_bold { + text-align: left; + vertical-align: text-top; + padding: 5px; + font-weight: bold; +} +.right_without_line_bold { + text-align: right; + vertical-align: text-top; + padding: 5px; + font-weight: bold; + white-space: nowrap; +} + +.first_th_row { + border-style: solid; + border-width: 1px; + border-color: #a1a1a1; + background: #fff; +} diff --git a/l10n_it_account/tests/__init__.py b/l10n_it_account/tests/__init__.py new file mode 100644 index 000000000000..660d694f88a2 --- /dev/null +++ b/l10n_it_account/tests/__init__.py @@ -0,0 +1 @@ +from . import test_l10n_it_account diff --git a/l10n_it_account/tests/test_l10n_it_account.py b/l10n_it_account/tests/test_l10n_it_account.py new file mode 100644 index 000000000000..07b08467fa56 --- /dev/null +++ b/l10n_it_account/tests/test_l10n_it_account.py @@ -0,0 +1,33 @@ +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + + +class TestAccount(TransactionCase): + def setUp(self): + super(TestAccount, self).setUp() + self.data_account_type_current_assets = self.env.ref( + "account.data_account_type_current_assets" + ) + self.data_account_type_current_liabilities = self.env.ref( + "account.data_account_type_current_liabilities" + ) + self.group_1 = self.env["account.group"].create({"name": "1"}) + + def test_group_constraint(self): + self.env["account.account"].create( + { + "name": "it_account_1", + "code": "it_account_1", + "group_id": self.group_1.id, + "user_type_id": self.data_account_type_current_assets.id, + } + ) + with self.assertRaises(ValidationError): + self.env["account.account"].create( + { + "name": "it_account_2", + "code": "it_account_2", + "group_id": self.group_1.id, + "user_type_id": self.data_account_type_current_liabilities.id, + } + ) diff --git a/l10n_it_account/tools/__init__.py b/l10n_it_account/tools/__init__.py new file mode 100644 index 000000000000..a954d99f2646 --- /dev/null +++ b/l10n_it_account/tools/__init__.py @@ -0,0 +1 @@ +from . import account_tools diff --git a/l10n_it_account/tools/account_tools.py b/l10n_it_account/tools/account_tools.py new file mode 100644 index 000000000000..c0f8688feb1a --- /dev/null +++ b/l10n_it_account/tools/account_tools.py @@ -0,0 +1,12 @@ +import re + +# compiled reg expression for whitespace characters substitution +reg_whitespace = re.compile(r"\s+") + + +def encode_for_export(string_to_encode, max_chars, encoding="latin"): + return ( + reg_whitespace.sub(" ", string_to_encode) + .encode(encoding, errors="replace") + .decode(encoding)[:max_chars] + ) diff --git a/l10n_it_account/views/account_menuitem.xml b/l10n_it_account/views/account_menuitem.xml new file mode 100644 index 000000000000..bd9280c84b04 --- /dev/null +++ b/l10n_it_account/views/account_menuitem.xml @@ -0,0 +1,9 @@ + + + + + + Accounting + + diff --git a/l10n_it_account/views/account_setting.xml b/l10n_it_account/views/account_setting.xml new file mode 100644 index 000000000000..93d91a852d5d --- /dev/null +++ b/l10n_it_account/views/account_setting.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/l10n_it_account/views/account_view.xml b/l10n_it_account/views/account_view.xml new file mode 100644 index 000000000000..0c3625a35d54 --- /dev/null +++ b/l10n_it_account/views/account_view.xml @@ -0,0 +1,24 @@ + + + + account.account.type.form.sign + account.account.type + + + + + + + + + + account.group.form.sign + account.group + + + + + + + + diff --git a/l10n_it_account/views/partner_view.xml b/l10n_it_account/views/partner_view.xml new file mode 100644 index 000000000000..9db01a796258 --- /dev/null +++ b/l10n_it_account/views/partner_view.xml @@ -0,0 +1,16 @@ + + + + + + res.partner.inherit.view.form + res.partner + + + + Accounting + + + + diff --git a/l10n_it_account/views/product_view.xml b/l10n_it_account/views/product_view.xml new file mode 100644 index 000000000000..44088ea0ad4f --- /dev/null +++ b/l10n_it_account/views/product_view.xml @@ -0,0 +1,16 @@ + + + + + + product.template.inherit.view.form + product.template + + + + Accounting + + + + diff --git a/l10n_it_account/views/res_config_settings_views.xml b/l10n_it_account/views/res_config_settings_views.xml new file mode 100644 index 000000000000..55976528fa8b --- /dev/null +++ b/l10n_it_account/views/res_config_settings_views.xml @@ -0,0 +1,16 @@ + + + + + + res.config.settings.inherit.view.form + res.config.settings + + +
+ Accounting +
+
+
+
diff --git a/l10n_it_account_tax_kind/README.rst b/l10n_it_account_tax_kind/README.rst new file mode 100644 index 000000000000..972735684317 --- /dev/null +++ b/l10n_it_account_tax_kind/README.rst @@ -0,0 +1,94 @@ +================================================ +Italian Localisation - Natura delle aliquote IVA +================================================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_account_tax_kind + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_account_tax_kind + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of account tax. + +With this module is possibile to set a kind of exemption for every account tax you need. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +#. Go to Accounting -> Configuration -> Taxes -> Italian Localization -> Tax Exemption Kind +#. Create a new exemption kind or modify existing one + +Usage +===== + +To use this module, you need to: + +#. Go to Accounting -> Configuration -> Accounting -> Taxes +#. Open the tax to modify, go to "Advanced Options" tab and set an Exemption Kind value + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Apulia Software s.r.l + +Contributors +~~~~~~~~~~~~ + +* Apruzzese Francesco +* Lorenzo Battistini +* Alex Comba +* Gianmarco Conte + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_account_tax_kind/__init__.py b/l10n_it_account_tax_kind/__init__.py new file mode 100644 index 000000000000..c48585cc61ff --- /dev/null +++ b/l10n_it_account_tax_kind/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import model diff --git a/l10n_it_account_tax_kind/__manifest__.py b/l10n_it_account_tax_kind/__manifest__.py new file mode 100644 index 000000000000..5b612aef8231 --- /dev/null +++ b/l10n_it_account_tax_kind/__manifest__.py @@ -0,0 +1,26 @@ +# Copyright 2017 Apulia Software s.r.l. (http://www.apuliasoftware.it) +# @author Francesco Apruzzese +# Copyright 2017 Alex Comba - Agile Business Group +# Copyright 2018 Lorenzo Battistini +# Copyright 2020 Gianmarco Conte +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Italian Localisation - Natura delle aliquote IVA", + "version": "14.0.1.0.0", + "development_status": "Production/Stable", + "category": "Localisation/Italy", + "author": "Odoo Community Association (OCA), Apulia Software s.r.l", + "website": "https://github.com/OCA/l10n-italy", + "license": "AGPL-3", + "depends": [ + "l10n_it_account", + ], + "data": [ + "view/account_tax_kind_view.xml", + "view/account_tax_view.xml", + "data/account.tax.kind.csv", + "security/ir.model.access.csv", + ], + "installable": True, +} diff --git a/l10n_it_account_tax_kind/data/account.tax.kind.csv b/l10n_it_account_tax_kind/data/account.tax.kind.csv new file mode 100644 index 000000000000..37369ac1af20 --- /dev/null +++ b/l10n_it_account_tax_kind/data/account.tax.kind.csv @@ -0,0 +1,25 @@ +id,code,name +n1,N1,Escluse ex art. 15 +n2,N2,Non soggette +n3,N3,Non imponibili +n4,N4,Esenti +n5,N5,Regime del margine / IVA non esposta in fattura +n6,N6,Inversione contabile +n7,N7,IVA assolta in altro stato UE +n2_1,N2.1,non soggette ad IVA ai sensi degli artt. da 7 a 7-septies del DPR 633/72 +n2_2,N2.2,non soggette – altri casi +n3_1,N3.1,non imponibili – esportazioni +n3_2,N3.2,non imponibili – cessioni intracomunitarie +n3_3,N3.3,non imponibili – cessioni verso San Marino +n3_4,N3.4,non imponibili – operazioni assimilate alle cessioni all’esportazione +n3_5,N3.5,non imponibili – a seguito di dichiarazioni d’intento +n3_6,N3.6,non imponibili – altre operazioni che non concorrono alla formazione del plafond +n6_1,N6.1,inversione contabile – cessione di rottami e altri materiali di recupero +n6_2,N6.2,inversione contabile – cessione di oro e argento puro +n6_3,N6.3,inversione contabile – subappalto nel settore edile +n6_4,N6.4,inversione contabile – cessione di fabbricati +n6_5,N6.5,inversione contabile – cessione di telefoni cellulari +n6_6,N6.6,inversione contabile – cessione di prodotti elettronici +n6_7,N6.7,inversione contabile – prestazioni comparto edile e settori connessi +n6_8,N6.8,inversione contabile – operazioni settore energetico +n6_9,N6.9,inversione contabile – altri casi diff --git a/l10n_it_account_tax_kind/i18n/am.po b/l10n_it_account_tax_kind/i18n/am.po new file mode 100644 index 000000000000..d822ca626bff --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/am.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n" +"Language: am\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/ar.po b/l10n_it_account_tax_kind/i18n/ar.po new file mode 100644 index 000000000000..86642e17f964 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ar.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "المعرف" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "الاسم" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/bg.po b/l10n_it_account_tax_kind/i18n/bg.po new file mode 100644 index 000000000000..6f7ac4bff61c --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/bg.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Последно променено на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Последно обновено от" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Последно обновено на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Име" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/bs.po b/l10n_it_account_tax_kind/i18n/bs.po new file mode 100644 index 000000000000..2d53ea02cc2b --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/bs.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Ime" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/ca.po b/l10n_it_account_tax_kind/i18n/ca.po new file mode 100644 index 000000000000..7bf2b543bf34 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ca.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Darrera Actualització per" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Darrera Actualització el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nom" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/cs.po b/l10n_it_account_tax_kind/i18n/cs.po new file mode 100644 index 000000000000..37566bc6ba64 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/cs.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Vytvořil(a)" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Vytvořeno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Naposled upraveno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Naposled upraveno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Naposled upraveno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Název" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/da.po b/l10n_it_account_tax_kind/i18n/da.po new file mode 100644 index 000000000000..c0574baeebb1 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/da.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "Id" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Sidst ændret den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Navn" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/de.po b/l10n_it_account_tax_kind/i18n/de.po new file mode 100644 index 000000000000..bf20b6ee4ab7 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/de.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +# Niki Waibel, 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: Niki Waibel, 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Angelegt durch" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Angelegt am" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert durch" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Bezeichnung" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/el_GR.po b/l10n_it_account_tax_kind/i18n/el_GR.po new file mode 100644 index 000000000000..cde5fad4eddc --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/el_GR.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από " + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "Κωδικός" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Τελευταία ενημέρωση από" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Τελευταία ενημέρωση στις" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Ονομασία" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/en_GB.po b/l10n_it_account_tax_kind/i18n/en_GB.po new file mode 100644 index 000000000000..3ef25be20145 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/en_GB.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/" +"teams/23907/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Created by" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Created on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Last Modified on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Name" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es.po b/l10n_it_account_tax_kind/i18n/es.po new file mode 100644 index 000000000000..074337469c20 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Last Modified on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última Actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última Actualización el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_AR.po b/l10n_it_account_tax_kind/i18n/es_AR.po new file mode 100644 index 000000000000..d7f3ff15b194 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_AR.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +# Anael M , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: Anael M , 2017\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización realizada por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "Impuesto" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_CL.po b/l10n_it_account_tax_kind/i18n/es_CL.po new file mode 100644 index 000000000000..7fecc497619b --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_CL.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Chile) (https://www.transifex.com/oca/teams/23907/" +"es_CL/)\n" +"Language: es_CL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_CO.po b/l10n_it_account_tax_kind/i18n/es_CO.po new file mode 100644 index 000000000000..c27c0f23e5b3 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_CO.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/" +"es_CO/)\n" +"Language: es_CO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Actualizado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Actualizado" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_CR.po b/l10n_it_account_tax_kind/i18n/es_CR.po new file mode 100644 index 000000000000..b132e2a6705c --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_CR.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/" +"teams/23907/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_DO.po b/l10n_it_account_tax_kind/i18n/es_DO.po new file mode 100644 index 000000000000..5ca731945352 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_DO.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/oca/" +"teams/23907/es_DO/)\n" +"Language: es_DO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_EC.po b/l10n_it_account_tax_kind/i18n/es_EC.po new file mode 100644 index 000000000000..48c9f2d9307f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_EC.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/" +"es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_ES.po b/l10n_it_account_tax_kind/i18n/es_ES.po new file mode 100644 index 000000000000..5fda91d2d530 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_ES.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_MX.po b/l10n_it_account_tax_kind/i18n/es_MX.po new file mode 100644 index 000000000000..78351ec3aac2 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_MX.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Ultima modificacion realizada" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizacion por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima actualización realizada" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_PE.po b/l10n_it_account_tax_kind/i18n/es_PE.po new file mode 100644 index 000000000000..9974398869c6 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_PE.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Peru) (https://www.transifex.com/oca/teams/23907/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Ultima Modificación en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Actualizado última vez por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima Actualización" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_PY.po b/l10n_it_account_tax_kind/i18n/es_PY.po new file mode 100644 index 000000000000..fc49dd2bacc4 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_PY.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Paraguay) (https://www.transifex.com/oca/teams/23907/" +"es_PY/)\n" +"Language: es_PY\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/es_VE.po b/l10n_it_account_tax_kind/i18n/es_VE.po new file mode 100644 index 000000000000..cbd61665bcc1 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/es_VE.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/" +"teams/23907/es_VE/)\n" +"Language: es_VE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Modificada por última vez" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Última actualización realizada por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima actualizacion en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/et.po b/l10n_it_account_tax_kind/i18n/et.po new file mode 100644 index 000000000000..41a83d4ba9f8 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/et.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Loonud" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Viimati muudetud" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nimi" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/eu.po b/l10n_it_account_tax_kind/i18n/eu.po new file mode 100644 index 000000000000..d7ce531c0c7d --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/eu.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Nork sortua" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Created on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Izena" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/fa.po b/l10n_it_account_tax_kind/i18n/fa.po new file mode 100644 index 000000000000..e442a4a5585d --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/fa.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "ایجاد شده توسط" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "ایجاد شده در" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "شناسه" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "تاریخ آخرین به‌روزرسانی" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "آخرین به روز رسانی توسط" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "آخرین به روز رسانی در" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "نام" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/fi.po b/l10n_it_account_tax_kind/i18n/fi.po new file mode 100644 index 000000000000..d2df4be8ec5c --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/fi.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivitetty" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivittänyt" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nimi" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/fr.po b/l10n_it_account_tax_kind/i18n/fr.po new file mode 100644 index 000000000000..5a25ce754ee6 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/fr.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Modifié le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nom" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/fr_CA.po b/l10n_it_account_tax_kind/i18n/fr_CA.po new file mode 100644 index 000000000000..945a7a518cda --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/fr_CA.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/" +"fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "Identifiant" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nom" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/fr_CH.po b/l10n_it_account_tax_kind/i18n/fr_CH.po new file mode 100644 index 000000000000..c225fcbab91f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/fr_CH.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/gl.po b/l10n_it_account_tax_kind/i18n/gl.po new file mode 100644 index 000000000000..080eebd59fd2 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/gl.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Modificado por última vez o" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "ültima actualización por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/gl_ES.po b/l10n_it_account_tax_kind/i18n/gl_ES.po new file mode 100644 index 000000000000..b9b16c617443 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/gl_ES.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (Spain) (https://www.transifex.com/oca/teams/23907/" +"gl_ES/)\n" +"Language: gl_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/he.po b/l10n_it_account_tax_kind/i18n/he.po new file mode 100644 index 000000000000..f2c56db4c2db --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/he.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hebrew (https://www.transifex.com/oca/teams/23907/he/)\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " +"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "נוצר על ידי" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "מזהה" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "תאריך שינוי אחרון" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על ידי" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "עודכן לאחרונה על" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "שם" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/hr.po b/l10n_it_account_tax_kind/i18n/hr.po new file mode 100644 index 000000000000..a120337d32eb --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/hr.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Datum kreiranja" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zadnja promjena" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Promijenio" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Vrijeme promjene" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Naziv" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/hr_HR.po b/l10n_it_account_tax_kind/i18n/hr_HR.po new file mode 100644 index 000000000000..09097eb54a6a --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/hr_HR.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zadnje modificirano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Naziv" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/hu.po b/l10n_it_account_tax_kind/i18n/hu.po new file mode 100644 index 000000000000..95930df6055e --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/hu.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Készítette" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Létrehozás dátuma" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Utolsó frissítés dátuma" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Utoljára frissítve, által" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Utoljára frissítve " + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Név" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/id.po b/l10n_it_account_tax_kind/i18n/id.po new file mode 100644 index 000000000000..bf0bc60f9204 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/id.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Terakhir Dimodifikasi pada" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Diperbaharui oleh" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Diperbaharui pada" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nama" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/it.po b/l10n_it_account_tax_kind/i18n/it.po new file mode 100644 index 000000000000..8e35586d675f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/it.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +# Paolo Valier, 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-12-07 15:08+0000\n" +"Last-Translator: Lorenzo Battistini \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.3\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "Codice" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "Natura esenzione" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "Riferimento normativo" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "Imposta" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "Natura esenzione imposta" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "Natura esenzione imposta" + +#~ msgid "Kind" +#~ msgstr "Tipo" + +#~ msgid "account.tax.kind" +#~ msgstr "account.tax.kind" diff --git a/l10n_it_account_tax_kind/i18n/ja.po b/l10n_it_account_tax_kind/i18n/ja.po new file mode 100644 index 000000000000..1fa9bef8cad0 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ja.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "作成日" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "最終更新日" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "名称" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/ko.po b/l10n_it_account_tax_kind/i18n/ko.po new file mode 100644 index 000000000000..7ad8fa5eeda7 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ko.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Korean (https://www.transifex.com/oca/teams/23907/ko/)\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "작성일" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "최근 수정" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "최근 갱신 날짜" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "이름" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/l10n_it_account_tax_kind.pot b/l10n_it_account_tax_kind/i18n/l10n_it_account_tax_kind.pot new file mode 100644 index 000000000000..8f44a2c63873 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/l10n_it_account_tax_kind.pot @@ -0,0 +1,88 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" + diff --git a/l10n_it_account_tax_kind/i18n/lt.po b/l10n_it_account_tax_kind/i18n/lt.po new file mode 100644 index 000000000000..bf1ad2a0390c --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/lt.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " +"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " +"1 : n % 1 != 0 ? 2: 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Paskutinį kartą keista" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Pavadinimas" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/lt_LT.po b/l10n_it_account_tax_kind/i18n/lt_LT.po new file mode 100644 index 000000000000..5bbb714fda0e --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/lt_LT.po @@ -0,0 +1,95 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/" +"teams/23907/lt_LT/)\n" +"Language: lt_LT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " +"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " +"1 : n % 1 != 0 ? 2: 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/lv.po b/l10n_it_account_tax_kind/i18n/lv.po new file mode 100644 index 000000000000..ac119f22d034 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/lv.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Izveidoja" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Izveidots" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Pēdējo reizi atjaunoja" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Pēdējās izmaiņas" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nosaukums" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/mk.po b/l10n_it_account_tax_kind/i18n/mk.po new file mode 100644 index 000000000000..967d3ee14773 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/mk.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Креирано од" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Креирано на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Последна промена на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Последно ажурирање од" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Последно ажурирање на" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Име" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/mn.po b/l10n_it_account_tax_kind/i18n/mn.po new file mode 100644 index 000000000000..2156cf46fc60 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/mn.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Үүсгэгч" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Үүсгэсэн" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Сүүлийн засвар хийсэн" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Нэр" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/nb.po b/l10n_it_account_tax_kind/i18n/nb.po new file mode 100644 index 000000000000..82e3160ffc6d --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/nb.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/" +"nb/)\n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Opprettet av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Opprettet den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Sist oppdatert " + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Navn" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/nb_NO.po b/l10n_it_account_tax_kind/i18n/nb_NO.po new file mode 100644 index 000000000000..2c3135fa7aa1 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/nb_NO.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Laget av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Laget den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Sist endret den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/nl.po b/l10n_it_account_tax_kind/i18n/nl.po new file mode 100644 index 000000000000..b8225bd5d98c --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/nl.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Laatst bijgewerkt op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Naam" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/nl_BE.po b/l10n_it_account_tax_kind/i18n/nl_BE.po new file mode 100644 index 000000000000..029a3bcf0dfc --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/nl_BE.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/" +"nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Gemaakt door" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Gemaakt op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Laatst Aangepast op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Naam:" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/pl.po b/l10n_it_account_tax_kind/i18n/pl.po new file mode 100644 index 000000000000..a43b018b058e --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/pl.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" +"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" +"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Utworzone przez" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Utworzono" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Ostatnio modyfikowano" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ostatnio modyfikowane przez" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ostatnia zmiana" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nazwa" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/pt.po b/l10n_it_account_tax_kind/i18n/pt.po new file mode 100644 index 000000000000..cb2c86938e9b --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/pt.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Modificado a última vez por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/pt_BR.po b/l10n_it_account_tax_kind/i18n/pt_BR.po new file mode 100644 index 000000000000..9bc31d74388e --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/pt_BR.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "Identificação" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Útima atualização por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Útima atualização em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/pt_PT.po b/l10n_it_account_tax_kind/i18n/pt_PT.po new file mode 100644 index 000000000000..6594e2c4995e --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/pt_PT.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/ro.po b/l10n_it_account_tax_kind/i18n/ro.po new file mode 100644 index 000000000000..7f35e7520e70 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ro.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Creat de" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Creat la" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Ultima actualizare în" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizare făcută de" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Ultima actualizare la" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Nume" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/ru.po b/l10n_it_account_tax_kind/i18n/ru.po new file mode 100644 index 000000000000..b8c24870f7ea --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/ru.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Создано" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Создан" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Последний раз обновлено" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Последний раз обновлено" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Название" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/sk.po b/l10n_it_account_tax_kind/i18n/sk.po new file mode 100644 index 000000000000..bb353e4fc425 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/sk.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " +">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Posledná modifikácia" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravoval" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Naposledy upravované" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Meno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/sl.po b/l10n_it_account_tax_kind/i18n/sl.po new file mode 100644 index 000000000000..790d86b708a7 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/sl.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Naziv" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/sr.po b/l10n_it_account_tax_kind/i18n/sr.po new file mode 100644 index 000000000000..bbe7de308c6b --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/sr.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (https://www.transifex.com/oca/teams/23907/sr/)\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Ime" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/sr@latin.po b/l10n_it_account_tax_kind/i18n/sr@latin.po new file mode 100644 index 000000000000..51e75723ec0f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/sr@latin.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/sr" +"%40latin/)\n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Zadnja izmjena" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Zadnja izmjena" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Zadnja izmjena" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Ime:" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/sv.po b/l10n_it_account_tax_kind/i18n/sv.po new file mode 100644 index 000000000000..eaa0b99e6bc4 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/sv.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Senast redigerad" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Namn" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/th.po b/l10n_it_account_tax_kind/i18n/th.po new file mode 100644 index 000000000000..89a9d241af11 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/th.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "รหัส" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "อัพเดทครั้งสุดท้ายโดย" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "อัพเดทครั้งสุดท้ายเมื่อ" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "ชื่อ" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/tr.po b/l10n_it_account_tax_kind/i18n/tr.po new file mode 100644 index 000000000000..7bebcda0be01 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/tr.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Son güncelleyen" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Son güncellenme" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Adı" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/uk.po b/l10n_it_account_tax_kind/i18n/uk.po new file mode 100644 index 000000000000..1d39f1336a6f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/uk.po @@ -0,0 +1,95 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Ukrainian (https://www.transifex.com/oca/teams/23907/uk/)\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Дата створення" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Остання модифікація" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Востаннє оновив" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Останнє оновлення" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Name" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/vi.po b/l10n_it_account_tax_kind/i18n/vi.po new file mode 100644 index 000000000000..b19282ee0f0f --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/vi.po @@ -0,0 +1,92 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Được tạo bởi" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Được tạo vào" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "Sửa lần cuối vào" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Tên" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/vi_VN.po b/l10n_it_account_tax_kind/i18n/vi_VN.po new file mode 100644 index 000000000000..b1b12e525199 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/vi_VN.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "Tạo bởi" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "Tạo vào" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "Tên" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/zh_CN.po b/l10n_it_account_tax_kind/i18n/zh_CN.po new file mode 100644 index 000000000000..ccd4ed91f921 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/zh_CN.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "最后修改时间" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "名称" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/i18n/zh_TW.po b/l10n_it_account_tax_kind/i18n/zh_TW.po new file mode 100644 index 000000000000..fc575f5401a8 --- /dev/null +++ b/l10n_it_account_tax_kind/i18n/zh_TW.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_account_tax_kind +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-06-01 08:10+0000\n" +"PO-Revision-Date: 2018-06-01 08:10+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/" +"zh_TW/)\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__code +msgid "Code" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_uid +msgid "Created by" +msgstr "建立者" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__create_date +msgid "Created on" +msgstr "建立於" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__kind_id +msgid "Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__id +msgid "ID" +msgstr "編號" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind____last_update +msgid "Last Modified on" +msgstr "最後修改:" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_uid +msgid "Last Updated by" +msgstr "最後更新:" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax__law_reference +msgid "Law reference" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model.fields,field_description:l10n_it_account_tax_kind.field_account_tax_kind__name +msgid "Name" +msgstr "名稱" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.actions.act_window,name:l10n_it_account_tax_kind.view_account_tax_kind_action +#: model:ir.ui.menu,name:l10n_it_account_tax_kind.account_tax_kind_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_form +#: model_terms:ir.ui.view,arch_db:l10n_it_account_tax_kind.view_account_tax_kind_tree +msgid "Tax Exemption Kind" +msgstr "" + +#. module: l10n_it_account_tax_kind +#: model:ir.model,name:l10n_it_account_tax_kind.model_account_tax_kind +msgid "Tax exemption kind" +msgstr "" diff --git a/l10n_it_account_tax_kind/model/__init__.py b/l10n_it_account_tax_kind/model/__init__.py new file mode 100644 index 000000000000..21e225f26968 --- /dev/null +++ b/l10n_it_account_tax_kind/model/__init__.py @@ -0,0 +1,2 @@ +from . import account_tax +from . import account_tax_kind diff --git a/l10n_it_account_tax_kind/model/account_tax.py b/l10n_it_account_tax_kind/model/account_tax.py new file mode 100644 index 000000000000..bb09779d08ee --- /dev/null +++ b/l10n_it_account_tax_kind/model/account_tax.py @@ -0,0 +1,11 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class AccountTax(models.Model): + + _inherit = "account.tax" + + kind_id = fields.Many2one("account.tax.kind", string="Exemption Kind") + law_reference = fields.Char("Law reference") diff --git a/l10n_it_account_tax_kind/model/account_tax_kind.py b/l10n_it_account_tax_kind/model/account_tax_kind.py new file mode 100644 index 000000000000..2e42a78c9462 --- /dev/null +++ b/l10n_it_account_tax_kind/model/account_tax_kind.py @@ -0,0 +1,28 @@ +from odoo import api, fields, models + + +class AccountTaxKind(models.Model): + _name = "account.tax.kind" + _description = "Tax exemption kind" + + code = fields.Char(string="Code", size=4, required=True) + name = fields.Char(string="Name", required=True) + + def name_get(self): + res = [] + for tax_kind in self: + res.append((tax_kind.id, "[{}] {}".format(tax_kind.code, tax_kind.name))) + return res + + @api.model + def name_search(self, name="", args=None, operator="ilike", limit=100): + if not args: + args = [] + if name: + records = self.search( + ["|", ("name", operator, name), ("code", operator, name)] + args, + limit=limit, + ) + else: + records = self.search(args, limit=limit) + return records.name_get() diff --git a/l10n_it_account_tax_kind/readme/CONFIGURE.rst b/l10n_it_account_tax_kind/readme/CONFIGURE.rst new file mode 100644 index 000000000000..3979dcdfbc86 --- /dev/null +++ b/l10n_it_account_tax_kind/readme/CONFIGURE.rst @@ -0,0 +1,4 @@ +To configure this module, you need to: + +#. Go to Accounting -> Configuration -> Taxes -> Italian Localization -> Tax Exemption Kind +#. Create a new exemption kind or modify existing one diff --git a/l10n_it_account_tax_kind/readme/CONTRIBUTORS.rst b/l10n_it_account_tax_kind/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..fd73d5923939 --- /dev/null +++ b/l10n_it_account_tax_kind/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Apruzzese Francesco +* Lorenzo Battistini +* Alex Comba +* Gianmarco Conte diff --git a/l10n_it_account_tax_kind/readme/DESCRIPTION.rst b/l10n_it_account_tax_kind/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..20849e761737 --- /dev/null +++ b/l10n_it_account_tax_kind/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module extends the functionality of account tax. + +With this module is possibile to set a kind of exemption for every account tax you need. diff --git a/l10n_it_account_tax_kind/readme/USAGE.rst b/l10n_it_account_tax_kind/readme/USAGE.rst new file mode 100644 index 000000000000..0ab8305d6a4e --- /dev/null +++ b/l10n_it_account_tax_kind/readme/USAGE.rst @@ -0,0 +1,4 @@ +To use this module, you need to: + +#. Go to Accounting -> Configuration -> Accounting -> Taxes +#. Open the tax to modify, go to "Advanced Options" tab and set an Exemption Kind value diff --git a/l10n_it_account_tax_kind/security/ir.model.access.csv b/l10n_it_account_tax_kind/security/ir.model.access.csv new file mode 100644 index 000000000000..d1afee85ccf5 --- /dev/null +++ b/l10n_it_account_tax_kind/security/ir.model.access.csv @@ -0,0 +1,3 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_account_tax_kind_user","account_tax_kind user","model_account_tax_kind",,1,0,0,0 +"access_account_tax_kind_manager","account_tax_kind manager","model_account_tax_kind","account.group_account_invoice",1,1,1,1 diff --git a/l10n_it_account_tax_kind/static/description/icon.png b/l10n_it_account_tax_kind/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/l10n_it_account_tax_kind/static/description/icon.png differ diff --git a/l10n_it_account_tax_kind/static/description/index.html b/l10n_it_account_tax_kind/static/description/index.html new file mode 100644 index 000000000000..968fb7f23c0b --- /dev/null +++ b/l10n_it_account_tax_kind/static/description/index.html @@ -0,0 +1,441 @@ + + + + + + +Italian Localisation - Natura delle aliquote IVA + + + +
+

Italian Localisation - Natura delle aliquote IVA

+ + +

Production/Stable License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

This module extends the functionality of account tax.

+

With this module is possibile to set a kind of exemption for every account tax you need.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  1. Go to Accounting -> Configuration -> Taxes -> Italian Localization -> Tax Exemption Kind
  2. +
  3. Create a new exemption kind or modify existing one
  4. +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Accounting -> Configuration -> Accounting -> Taxes
  2. +
  3. Open the tax to modify, go to “Advanced Options” tab and set an Exemption Kind value
  4. +
+
+
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Apulia Software s.r.l
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

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

+

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

+
+
+
+ + diff --git a/l10n_it_account_tax_kind/tests/__init__.py b/l10n_it_account_tax_kind/tests/__init__.py new file mode 100644 index 000000000000..944400f7d602 --- /dev/null +++ b/l10n_it_account_tax_kind/tests/__init__.py @@ -0,0 +1 @@ +from . import test_account_tax_kind diff --git a/l10n_it_account_tax_kind/tests/test_account_tax_kind.py b/l10n_it_account_tax_kind/tests/test_account_tax_kind.py new file mode 100644 index 000000000000..19beb4638cd9 --- /dev/null +++ b/l10n_it_account_tax_kind/tests/test_account_tax_kind.py @@ -0,0 +1,20 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestAccountTaxKind(TransactionCase): + def setUp(self): + super(TestAccountTaxKind, self).setUp() + self.tax_kind_n1 = self.env.ref("l10n_it_account_tax_kind.n1") + + def test_compute_display_name(self): + self.tax_kind_n1._compute_display_name() + self.assertEqual( + self.tax_kind_n1.display_name, + u"[{}] {}".format(self.tax_kind_n1.code, self.tax_kind_n1.name), + ) + + def test_name_search(self): + result = self.env["account.tax.kind"].name_search("Escluse ex art. 15") + self.assertEqual(result and result[0][0], self.tax_kind_n1.id) diff --git a/l10n_it_account_tax_kind/view/account_tax_kind_view.xml b/l10n_it_account_tax_kind/view/account_tax_kind_view.xml new file mode 100644 index 000000000000..a66a2f12c65b --- /dev/null +++ b/l10n_it_account_tax_kind/view/account_tax_kind_view.xml @@ -0,0 +1,44 @@ + + + + + account.tax.kind.tree + account.tax.kind + + + + + + + + + + account.tax.kind.form + account.tax.kind + +
+ + + + +
+
+
+ + + Tax Exemption Kind + ir.actions.act_window + account.tax.kind + tree,form + + + + + +
diff --git a/l10n_it_account_tax_kind/view/account_tax_view.xml b/l10n_it_account_tax_kind/view/account_tax_view.xml new file mode 100644 index 000000000000..2054309468b8 --- /dev/null +++ b/l10n_it_account_tax_kind/view/account_tax_view.xml @@ -0,0 +1,16 @@ + + + + + account.tax.form.account.tax.kind + account.tax + + + + + + + + + + diff --git a/l10n_it_causali_pagamento/README.rst b/l10n_it_causali_pagamento/README.rst new file mode 100644 index 000000000000..0a744a7bf0e2 --- /dev/null +++ b/l10n_it_causali_pagamento/README.rst @@ -0,0 +1,88 @@ +======================= +ITA - Causali pagamento +======================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_causali_pagamento + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_causali_pagamento + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Tabelle delle causali di pagamento da usare ad esempio nelle ritenute d'acconto + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +La tabella viene aggiunta nell'area contabilità, ed è raggiungibile nella +sezione configurazione. Occorre avere i privilegi di account manager. + +Usage +===== + +Installando il modulo vengono precaricati i codici disponibili. +E' possibile aggiungere nuovi codici o modificare quelli esistenti. +Non è possibile avere più di un elemento con lo stesso codice. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Agile Business Group + +Contributors +~~~~~~~~~~~~ + +* Lorenzo Battistini +* Alex Comba +* Marco Colombo + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_causali_pagamento/__init__.py b/l10n_it_causali_pagamento/__init__.py new file mode 100644 index 000000000000..0650744f6bc6 --- /dev/null +++ b/l10n_it_causali_pagamento/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/l10n_it_causali_pagamento/__manifest__.py b/l10n_it_causali_pagamento/__manifest__.py new file mode 100644 index 000000000000..f41d132abe45 --- /dev/null +++ b/l10n_it_causali_pagamento/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2018 Lorenzo Battistini - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "ITA - Causali pagamento", + "summary": "Aggiunge la tabella delle causali di pagamento da usare ad esempio " + "nelle ritenute d'acconto", + "version": "14.0.2.0.0", + "development_status": "Production/Stable", + "category": "Account", + "author": "Agile Business Group," "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-italy", + "license": "AGPL-3", + "depends": [ + "l10n_it_account", + ], + "data": [ + "security/ir.model.access.csv", + "data/causali_pagamento_data.xml", + "views/causali_pagamento_view.xml", + ], + "installable": True, +} diff --git a/l10n_it_causali_pagamento/data/causali_pagamento_data.xml b/l10n_it_causali_pagamento/data/causali_pagamento_data.xml new file mode 100644 index 000000000000..1974d3706369 --- /dev/null +++ b/l10n_it_causali_pagamento/data/causali_pagamento_data.xml @@ -0,0 +1,184 @@ + + + + A + Prestazioni di lavoro autonomo rientranti nell'esercizio di arte o professione abituale + + + B + Utilizzazione economica, da parte dell'autore o dell'inventore, di opere dell'ingegno, di brevetti industriali e di processi, formule o informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico + + + + C + Utili derivanti da contratti di associazione in partecipazione e da contratti di cointeressenza, quando l'apporto è costituito esclusivamente dalla prestazione di lavoro + + + D + Utili spettanti ai soci promotori e ai soci fondatori delle società di capitali + + + + E + Levata di protesti cambiari da parte dei segretari comunali + + + + G + Indennità corrisposte per la cessazione di attività sportiva professionale + + + + H + Indennità corrisposte per la cessazione dei rapporti di agenzia delle persone fisiche e delle società di persone, con esclusione delle somme maturate entro il 31.12.2003, già imputate per competenza e tassate come reddito d'impresa + + + I + Indennità corrisposte per la cessazione da funzioni notarili + + + L + Redditi derivanti dall’utilizzazione economica di opere dell’ingegno, di brevetti industriali e di processi, formule e informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico, che sono percepiti dagli aventi causa a titolo gratuito (ad es. eredi e legatari dell’autore e inventore) + + + M + Prestazioni di lavoro autonomo non esercitate abitualmente, obblighi di fare, di non fare o permettere + + + + N + Indennità di trasferta, rimborso forfetario di spese, premi e compensi erogati: .. nell'esercizio diretto di attività sportive dilettantistiche + + + + O + Prestazioni di lavoro autonomo non esercitate abitualmente, obblighi di fare, di non fare o permettere, per le quali non sussiste l'obbligo di iscrizione alla gestione separata (Circ. Inps 104/2001) + + + + P + Compensi corrisposti a soggetti non residenti privi di stabile organizzazione per l'uso o la concessione in uso di attrezzature industriali, commerciali o scientifiche che si trovano nel territorio dello + + + Q + Provvigioni corrisposte ad agente o rappresentante di commercio monomandatario + + + + R + Provvigioni corrisposte ad agente o rappresentante di commercio plurimandatario + + + + S + Provvigioni corrisposte a commissionario + + + + T + Provvigioni corrisposte a mediatore + + + + U + Provvigioni corrisposte a procacciatore di affari + + + + V + Provvigioni corrisposte a incaricato per le vendite a domicilio e provvigioni corrisposte a incaricato per la vendita porta a porta e per la vendita ambulante di giornali quotidiani e periodici (L. 25.02.1987, n. 67) + + + + W + Corrispettivi erogati nel 2013 per prestazioni relative a contratti d'appalto cui si sono resi applicabili le disposizioni contenute nell'art. 25-ter D.P.R. 600/1973 + + + + X + Canoni corrisposti nel 2004 da società o enti residenti, ovvero da stabili organizzazioni di società estere di cui all'art. 26-quater, c. 1, lett. a) e b) D.P.R. 600/1973, a società o stabili organizzazioni di società, situate in altro Stato membro dell'Unione Europea in presenza dei relativi requisiti richiesti, per i quali è stato effettuato nel 2006 il rimborso della ritenuta ai sensi dell'art. 4 D. Lgs. 143/2005 + + + + Y + Canoni corrisposti dal 1.01.2005 al 26.07.2005 da soggetti di cui al punto precedente + + + + ZO + Titolo diverso dai precedenti + + + + L1 + Redditi derivanti dall’utilizzazione economica di opere dell’ingegno, di brevetti industriali e di processi, formule e informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico, che sono percepiti da soggetti che abbiano acquistato a titolo oneroso i diritti alla loro utilizzazione + + + + M1 + Redditi derivanti dall’assunzione di obblighi di fare, di non fare o permettere + + + + M2 + Prestazioni di lavoro autonomo non esercitate abitualmente per le quali sussiste l’obbligo di iscrizione alla Gestione Separata ENPAPI + + + + O1 + Redditi derivanti dall’assunzione di obblighi di fare, di non fare o permettere, per le quali non sussiste l’obbligo di iscrizione alla gestione separata (Circ. INPS n. 104/2001) + + + + V1 + Redditi derivanti da attività commerciali non esercitate abitualmente (ad esempio, provvigioni corrisposte per prestazioni occasionali ad agente o rappresentante di commercio, mediatore, procacciatore d’affari) + + + + diff --git a/l10n_it_causali_pagamento/i18n/it.po b/l10n_it_causali_pagamento/i18n/it.po new file mode 100644 index 000000000000..5ce979412017 --- /dev/null +++ b/l10n_it_causali_pagamento/i18n/it.po @@ -0,0 +1,89 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_causali_pagamento +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-08-23 17:48+0000\n" +"PO-Revision-Date: 2018-12-10 15:58+0000\n" +"Last-Translator: Sergio Zanchetta \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.3\n" + +#. module: l10n_it_causali_pagamento +#: model:ir.model,name:l10n_it_causali_pagamento.model_causale_pagamento +#, fuzzy +msgid "Causale Pagamento" +msgstr "Causale pagamento" + +#. module: l10n_it_causali_pagamento +#: model_terms:ir.ui.view,arch_db:l10n_it_causali_pagamento.view_causale_pagamento_form +#: model_terms:ir.ui.view,arch_db:l10n_it_causali_pagamento.view_causale_pagamento_tree +#, fuzzy +msgid "Causale pagamento" +msgstr "Causale pagamento" + +#. module: l10n_it_causali_pagamento +#: model:ir.actions.act_window,name:l10n_it_causali_pagamento.action_causale_pagamento +#: model:ir.ui.menu,name:l10n_it_causali_pagamento.menu_causale_pagamento +#, fuzzy +msgid "Causali pagamento" +msgstr "Causali pagamento" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__code +msgid "Code" +msgstr "Codice" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__name +msgid "Description" +msgstr "Descrizione" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__id +msgid "ID" +msgstr "ID" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: l10n_it_causali_pagamento +#: code:addons/l10n_it_causali_pagamento/models/causale_pagamento.py:17 +#, python-format +msgid "The element with code %s already exists" +msgstr "L'elemento con codice %s esiste già" diff --git a/l10n_it_causali_pagamento/i18n/l10n_it_causali_pagamento.pot b/l10n_it_causali_pagamento/i18n/l10n_it_causali_pagamento.pot new file mode 100644 index 000000000000..9847766d38cc --- /dev/null +++ b/l10n_it_causali_pagamento/i18n/l10n_it_causali_pagamento.pot @@ -0,0 +1,83 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_causali_pagamento +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_it_causali_pagamento +#: model:ir.model,name:l10n_it_causali_pagamento.model_causale_pagamento +msgid "Causale Pagamento" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model_terms:ir.ui.view,arch_db:l10n_it_causali_pagamento.view_causale_pagamento_form +#: model_terms:ir.ui.view,arch_db:l10n_it_causali_pagamento.view_causale_pagamento_tree +msgid "Causale pagamento" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.actions.act_window,name:l10n_it_causali_pagamento.action_causale_pagamento +#: model:ir.ui.menu,name:l10n_it_causali_pagamento.menu_causale_pagamento +msgid "Causali pagamento" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__code +msgid "Code" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__name +msgid "Description" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__id +msgid "ID" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: model:ir.model.fields,field_description:l10n_it_causali_pagamento.field_causale_pagamento__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_causali_pagamento +#: code:addons/l10n_it_causali_pagamento/models/causale_pagamento.py:17 +#, python-format +msgid "The element with code %s already exists" +msgstr "" + diff --git a/l10n_it_causali_pagamento/migrations/12.0.1.1.0/post-migrate.py b/l10n_it_causali_pagamento/migrations/12.0.1.1.0/post-migrate.py new file mode 100644 index 000000000000..ecdd09e5c754 --- /dev/null +++ b/l10n_it_causali_pagamento/migrations/12.0.1.1.0/post-migrate.py @@ -0,0 +1,25 @@ +# Copyright 2020 Alex Comba - Agile Business Group +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import SUPERUSER_ID, api + + +def migrate(cr, version): + """Rename: + code from Z to ZO + description corresponding to code L + """ + if not version: + return + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + env.ref("l10n_it_causali_pagamento.z").write({"code": "ZO"}) + name = ( + "Redditi derivanti dall’utilizzazione economica di opere " + "dell’ingegno, di brevetti industriali e di processi, formule e " + "informazioni relativi a esperienze acquisite in campo " + "industriale, commerciale o scientifico, che sono percepiti dagli " + "aventi causa a titolo gratuito (ad es. eredi e " + "legatari dell’autore e inventore)" + ) + env.ref("l10n_it_causali_pagamento.l").write({"name": name}) diff --git a/l10n_it_causali_pagamento/models/__init__.py b/l10n_it_causali_pagamento/models/__init__.py new file mode 100644 index 000000000000..25b6abb76ffc --- /dev/null +++ b/l10n_it_causali_pagamento/models/__init__.py @@ -0,0 +1 @@ +from . import causale_pagamento diff --git a/l10n_it_causali_pagamento/models/causale_pagamento.py b/l10n_it_causali_pagamento/models/causale_pagamento.py new file mode 100644 index 000000000000..ba85c5a9b7ce --- /dev/null +++ b/l10n_it_causali_pagamento/models/causale_pagamento.py @@ -0,0 +1,29 @@ +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class CausalePagamento(models.Model): + _name = "causale.pagamento" + _description = "Payment Reason" + + @api.constrains("code") + def _check_code(self): + for causale in self: + domain = [("code", "=", causale.code)] + elements = self.search(domain) + if len(elements) > 1: + raise ValidationError( + _("The element with code %s already exists") % causale.code + ) + + def name_get(self): + res = [] + for cau in self: + name = "{} - {}".format(cau.code, cau.name) + if len(name) > 50: + name = name[:50] + "..." + res.append((cau.id, name)) + return res + + code = fields.Char(string="Code", size=2, required=True) + name = fields.Text(string="Description", required=True) diff --git a/l10n_it_causali_pagamento/readme/CONFIGURE.rst b/l10n_it_causali_pagamento/readme/CONFIGURE.rst new file mode 100644 index 000000000000..323dadee62e7 --- /dev/null +++ b/l10n_it_causali_pagamento/readme/CONFIGURE.rst @@ -0,0 +1,2 @@ +La tabella viene aggiunta nell'area contabilità, ed è raggiungibile nella +sezione configurazione. Occorre avere i privilegi di account manager. diff --git a/l10n_it_causali_pagamento/readme/CONTRIBUTORS.rst b/l10n_it_causali_pagamento/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..14201216ac6b --- /dev/null +++ b/l10n_it_causali_pagamento/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Lorenzo Battistini +* Alex Comba +* Marco Colombo diff --git a/l10n_it_causali_pagamento/readme/DESCRIPTION.rst b/l10n_it_causali_pagamento/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..bdd626f3266e --- /dev/null +++ b/l10n_it_causali_pagamento/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Tabelle delle causali di pagamento da usare, ad esempio, nelle ritenute d'acconto. diff --git a/l10n_it_causali_pagamento/readme/USAGE.rst b/l10n_it_causali_pagamento/readme/USAGE.rst new file mode 100644 index 000000000000..d65efcc63183 --- /dev/null +++ b/l10n_it_causali_pagamento/readme/USAGE.rst @@ -0,0 +1,3 @@ +Installando il modulo vengono precaricati i codici disponibili. +È possibile aggiungere nuovi codici o modificare quelli esistenti. +Non è possibile avere più di un elemento con lo stesso codice. diff --git a/l10n_it_causali_pagamento/security/ir.model.access.csv b/l10n_it_causali_pagamento/security/ir.model.access.csv new file mode 100644 index 000000000000..807bcb4889a9 --- /dev/null +++ b/l10n_it_causali_pagamento/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_causale_pagamento_user,causale_pagamento user,model_causale_pagamento,base.group_user,1,0,0,0 +access_causale_pagamento_manager,causale_pagamento manager,model_causale_pagamento,account.group_account_manager,1,1,1,1 diff --git a/l10n_it_causali_pagamento/static/description/icon.png b/l10n_it_causali_pagamento/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/l10n_it_causali_pagamento/static/description/icon.png differ diff --git a/l10n_it_causali_pagamento/static/description/index.html b/l10n_it_causali_pagamento/static/description/index.html new file mode 100644 index 000000000000..09a07e6e3b8d --- /dev/null +++ b/l10n_it_causali_pagamento/static/description/index.html @@ -0,0 +1,434 @@ + + + + + + +ITA - Causali pagamento + + + +
+

ITA - Causali pagamento

+ + +

Production/Stable License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

Tabelle delle causali di pagamento da usare ad esempio nelle ritenute d’acconto

+

Table of contents

+ +
+

Configuration

+

La tabella viene aggiunta nell’area contabilità, ed è raggiungibile nella +sezione configurazione. Occorre avere i privilegi di account manager.

+
+
+

Usage

+

Installando il modulo vengono precaricati i codici disponibili. +E’ possibile aggiungere nuovi codici o modificare quelli esistenti. +Non è possibile avere più di un elemento con lo stesso codice.

+
+
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Agile Business Group
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

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

+

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

+
+
+
+ + diff --git a/l10n_it_causali_pagamento/tests/__init__.py b/l10n_it_causali_pagamento/tests/__init__.py new file mode 100644 index 000000000000..eb445cddc4e3 --- /dev/null +++ b/l10n_it_causali_pagamento/tests/__init__.py @@ -0,0 +1 @@ +from . import test_causali diff --git a/l10n_it_causali_pagamento/tests/test_causali.py b/l10n_it_causali_pagamento/tests/test_causali.py new file mode 100644 index 000000000000..dd67c7d44d07 --- /dev/null +++ b/l10n_it_causali_pagamento/tests/test_causali.py @@ -0,0 +1,37 @@ +from odoo.exceptions import ValidationError +from odoo.tests.common import TransactionCase + + +class TestCausali(TransactionCase): + def setUp(self): + super(TestCausali, self).setUp() + self.causale_model = self.env["causale.pagamento"] + self.causale_b = self.env.ref("l10n_it_causali_pagamento.b") + + def test_causali(self): + with self.assertRaises(ValidationError): + self.causale_model.create({"code": "B", "name": "Test"}) + name = self.causale_b.name_get() + self.assertEqual( + name, + [ + ( + self.causale_b.id, + "B - Utilizzazione economica, da parte dell'autore ...", + ) + ], + ) + + def test_renaming_causali(self): + causale_zo = self.env.ref("l10n_it_causali_pagamento.z") + self.assertEqual(causale_zo.code, "ZO") + causale_l = self.env.ref("l10n_it_causali_pagamento.l") + name = ( + "Redditi derivanti dall’utilizzazione economica di opere " + "dell’ingegno, di brevetti industriali e di processi, formule e " + "informazioni relativi a esperienze acquisite in campo " + "industriale, commerciale o scientifico, che sono percepiti dagli " + "aventi causa a titolo gratuito (ad es. eredi e " + "legatari dell’autore e inventore)" + ) + self.assertEqual(causale_l.name, name) diff --git a/l10n_it_causali_pagamento/views/causali_pagamento_view.xml b/l10n_it_causali_pagamento/views/causali_pagamento_view.xml new file mode 100644 index 000000000000..b4f821cd8c18 --- /dev/null +++ b/l10n_it_causali_pagamento/views/causali_pagamento_view.xml @@ -0,0 +1,45 @@ + + + + + view.causale.pagamento.tree + causale.pagamento + + + + + + + + + + view.causale.pagamento.form + causale.pagamento + +
+ + + + + + +
+
+
+ + + Payment Reasons + causale.pagamento + + + + + +
diff --git a/l10n_it_delivery_note/README.rst b/l10n_it_delivery_note/README.rst new file mode 100644 index 000000000000..9ac4abb529a0 --- /dev/null +++ b/l10n_it_delivery_note/README.rst @@ -0,0 +1,212 @@ +============================ +ITA - Documento di trasporto +============================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_delivery_note + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_delivery_note + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +**English** + +This module manage the Italian DDT (Delivery note). + +From a picking is possible to generate a Delivery Note and group more picking in one delivery note. It's also possible to invoice from the delivery note form. + +This module is alternative to :code:`l10n_it_ddt`, it follows the Odoo way to process sale orders, pickings and invoices. + +You can't have both :code:`l10n_it_ddt` and :code:`l10n_it_delivery_note` installed together. + +There are two available settings: + +- Base (default): one picking, one DN. +- Advanced: more picking in one DN. + + +**Italiano** + +Questo modulo consente di gestire i DDT. + +Da un prelievo è possibile generare un DDT e raggruppare più prelievi in un DDT. È anche possibile fatturare dalla scheda del DDT. + +Questo modulo è un alternativa al modulo :code:`l10n_it_ddt`, segue la modalità Odoo di gestire ordini di vendita, prelievi e fatture. + +Non è possibile avere installati contemporaneamente :code:`l10n_it_ddt` e :code:`l10n_it_delivery_note`. + +Ci sono due impostazioni possibili. + +- Base (predefinita): un prelievo, un DDT. +- Avanzata: più prelievi in un DDT. + + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, go to: + +1. *Inventory → Configuration → Settings - Delivery Notes* + + Checking 'Use Advanced DN Features' allows you to manage more picking on one delivery note. + +2. *Inventory → Configuration → Warehouse Management → Delivery Note Types* + + In delivery note type you can specify if the product price have to be printed in the delivery note report/slip. + + - *Inventory → Configuration → Delivery Notes → Conditions of Transport* + - *Inventory → Configuration → Delivery Notes → Appearances of Goods* + - *Inventory → Configuration → Delivery Notes → Reasons of Transport* + - *Inventory → Configuration → Delivery Notes → Methods of Transport* + +3. *Settings → User & Companies → Users* + + In the user profile settings, "Show product information in DN lines" allows showing prices in the form. + +Usage +===== + +Funzionalità base +~~~~~~~~~~~~~~~~~ + +Quando un prelievo viene validato compare una scheda DDT. + +Nella scheda fare clic su "Crea nuovo", si apre un procedura guidata dove scegliere il tipo di DDT, quindi confermare. Immettere i dati richiesti e poi fare clic su "Valida" per numerare il DDT. + +Una volta validato, è possibile emettere fattura direttamente dal DDT se il DDT stesso è di tipo consegna a cliente (In uscita) e si hanno i permessi sull'utente. + +È possibile annullare il DDT, reimpostarlo a bozza e poi modificarlo. Se il DDT è fatturato il numero e la data non sono modificabili. + +Per i trasferimenti tra magazzini creare un prelievo di tipo interno con le relative ubicazioni. Validare il prelievo visualizza la scheda DDT. + +È possibile anche avere DDT in ingresso, ovvero dopo la validazione del prelievo selezionare la scheda per indicare il numero del DDT fornitore e la data. + +Funzionalità avanzata +~~~~~~~~~~~~~~~~~~~~~ + +Vengono attivate varie funzionalità aggiuntive: + +- più prelievi per un DDT +- selezione multipla di prelievi e generazione dei DDT +- aggiunta righe nota e righe sezione descrittive. +- lista dei DDT. + +Il report DDT stampa in righe aggiuntive i lotti/seriali e le scadenze del prodotto. + +Il prezzo può essere indicato anche nel report DDT se nel tipo DDT è indicata la stampa prezzi. +La visibilità dei prezzi si trova nei permessi dell'utente. + +Le fatture generate dai DDT contengono i riferimenti al DDT stesso nelle righe nota. + + +Migrazione dei dati da *l10n_it_ddt* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Il modulo presenta una funzione di migrazione dei dati dal modulo OCA *l10n_it_ddt* da eseguire manualmente. +Al momento, non è ancora presente un menù oppure una voce da interfaccia che permetta di eseguire questa operazione; bensì, è stato definito un comando da CLI da eseguire all’avvio di Odoo. +Di seguito, una piccola lista di passi da seguire per portare a termine la migrazione: + +1. Eseguire un back-up del database. + + Questa procedura di migrazione dei dati è stata sì sviluppata e testata, MA solamente per un numero limitato di casi. + NON è consigliata in alcun modo come funzionalità production-ready. + +2. Installare il modulo *l10n_it_delivery_note* SENZA prima disinstallare il modulo OCA *l10n_it_ddt*. + + N.B.: NON iniziare ad usare il modulo *l10n_it_delivery_note* senza aver prima migrato i dati. + Potrebbero verificarsi, in prima battuta, problemi legati alla numerazione dei documenti creati. + Inoltre, la procedura di migrazione stessa è progettata affinché verifichi che non siano presenti documenti di *l10n_it_delivery_note*; qualora ne rilevi alcuni, si interromperà non eseguendo alcuna migrazione. + +3. Terminata l’installazione del modulo, terminare in sicurezza il processo di Odoo. + +4. Lanciare Odoo, nella maniera in cui si è soliti fare, aggiungendo alcuni parametri al comando d’avvio: + + `./odoo-bin migrate_ddt_data --database [...]` + +5. Una volta terminata l’esecuzione della procedura, verificare che tutti i documenti siano stati migrati con successo e nel modo atteso. + +6. Verificata l’esattezza dei dati migrati, disinstallare il modulo *l10n_it_ddt*. + +È possibile iniziare ad utilizzare *l10n_it_delivery_note*. + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Marco Calcagni +* Gianmarco Conte +* Link IT Europe Srl + +Contributors +~~~~~~~~~~~~ + +* Riccardo Bellanova +* Matteo Bilotta +* Giuseppe Borruso +* Marco Calcagni +* Marco Colombo +* Gianmarco Conte +* Letizia Freda +* Andrea Piovesana + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-As400it| image:: https://github.com/As400it.png?size=40px + :target: https://github.com/As400it + :alt: As400it +.. |maintainer-Byloth| image:: https://github.com/Byloth.png?size=40px + :target: https://github.com/Byloth + :alt: Byloth + +Current `maintainers `__: + +|maintainer-As400it| |maintainer-Byloth| + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_delivery_note/__init__.py b/l10n_it_delivery_note/__init__.py new file mode 100644 index 000000000000..08b82294f530 --- /dev/null +++ b/l10n_it_delivery_note/__init__.py @@ -0,0 +1,4 @@ +from . import cli +from . import mixins +from . import models +from . import wizard diff --git a/l10n_it_delivery_note/__manifest__.py b/l10n_it_delivery_note/__manifest__.py new file mode 100644 index 000000000000..3abab6845003 --- /dev/null +++ b/l10n_it_delivery_note/__manifest__.py @@ -0,0 +1,46 @@ +# Copyright 2014-2019 Dinamiche Aziendali srl +# (http://www.dinamicheaziendali.it/) +# @author: Marco Calcagni +# @author: Gianmarco Conte +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +# noinspection PyStatementEffect +{ + "name": "ITA - Documento di trasporto", + "summary": "Crea, gestisce e fattura i DDT partendo dalle consegne", + "author": "Marco Calcagni, Gianmarco Conte, Link IT Europe Srl, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-italy" "l10n_it_delivery_note", + "version": "14.0.1.0.0", + "category": "Localization/Italy", + "license": "AGPL-3", + "maintainers": ["As400it", "Byloth"], + "depends": [ + "delivery", + "l10n_it_delivery_note_base", + "mail", + "sale_stock", + "stock_account", + "product", + ], + "data": [ + "security/ir_rule.xml", + "security/res_groups.xml", + "security/res_users.xml", + "security/ir.model.access.csv", + "report/report_delivery_note.xml", + "views/account_move.xml", + "views/assets.xml", + "views/res_config_settings.xml", + "views/res_partner.xml", + "views/sale_order.xml", + "views/stock_delivery_note.xml", + "views/stock_picking.xml", + "wizard/delivery_note_create.xml", + "wizard/delivery_note_select.xml", + "wizard/delivery_note_template.xml", + "wizard/sale_advance_payment_inv.xml", + ], +} diff --git a/l10n_it_delivery_note/cli/__init__.py b/l10n_it_delivery_note/cli/__init__.py new file mode 100644 index 000000000000..76b5467d965d --- /dev/null +++ b/l10n_it_delivery_note/cli/__init__.py @@ -0,0 +1,3 @@ +from . import core + +from . import migrate_l10n_it_ddt diff --git a/l10n_it_delivery_note/cli/core.py b/l10n_it_delivery_note/cli/core.py new file mode 100644 index 000000000000..d8244b4650ff --- /dev/null +++ b/l10n_it_delivery_note/cli/core.py @@ -0,0 +1,99 @@ +# Copyright (c) 2020, Link IT Europe Srl +# @author: Matteo Bilotta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import argparse +import functools +import logging + +import odoo +from odoo import SUPERUSER_ID +from odoo.cli import Command + +_logger = logging.getLogger(__name__) + + +def environment(funct=None, parser_args_method=None): + if not funct: + return functools.partial(environment, parser_args_method=parser_args_method) + + @functools.wraps(funct) + def env_enabler(self, args): + command_args = unknown_args = args + + if parser_args_method: + command_args, unknown_args = parser_args_method(self, args) + + odoo.tools.config._parse_config(unknown_args) + odoo.netsvc.init_logger() + + config = odoo.tools.config + + with odoo.api.Environment.manage(): + cr = odoo.registry(config["db_name"]).cursor() + env = odoo.api.Environment(cr, SUPERUSER_ID, {}) + + funct(self, command_args, env) + + return env_enabler + + +class EasyCommand(Command): + args = None + env = None + + is_debugging = None + + def __init__(self): + self.is_debugging = False + + def _commit(self): + self.env.cr.commit() # pylint: disable=invalid-commit + + def _rollback(self): + self.env.cr.rollback() + + def _close(self): + self.env.cr.close() + + def initialize(self, args, env): + self.args = args + self.env = env + + if args: + self.is_debugging = args.debug + + def execute(self): + raise NotImplementedError("This method hasn't yet been implemented.") + + # noinspection PyMethodMayBeStatic + def get_args_parser(self): + args_parser = argparse.ArgumentParser() + args_parser.add_argument("--debug", action="store_true", default=False) + + return args_parser + + def parse_args(self, args): + arg_parser = self.get_args_parser() + + return arg_parser.parse_known_args(args) + + @environment(parser_args_method=parse_args) + def run(self, args, env): + try: + self.initialize(args, env) + self.execute() + + _logger.info("Execution completed successfully! Committing...") + + self._commit() + + except BaseException: + _logger.exception( + "Something went wrong during command execution. " "Rolling back..." + ) + + self._rollback() + + finally: + self._close() diff --git a/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py b/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py new file mode 100644 index 000000000000..ca865de6fc58 --- /dev/null +++ b/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py @@ -0,0 +1,327 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import _ +from odoo.exceptions import UserError, ValidationError + +from .core import EasyCommand + +_logger = logging.getLogger(__name__) + +STATES_MAPPING = { + "draft": "draft", + "cancel": "cancel", + "in_pack": "draft", + "done": "confirm", +} + + +# noinspection PyPep8Naming +class MigrateL10nItDdt(EasyCommand): + _carriage_conditions = None + _goods_descriptions = None + _transportation_reasons = None + _transportation_methods = None + _document_types = None + + def __init__(self): + super().__init__() + + self._carriage_conditions = {} + self._goods_descriptions = {} + self._transportation_reasons = {} + self._transportation_methods = {} + self._document_types = {} + + @property + def _default_volume_uom(self): + return self.env.ref("uom.product_uom_litre", raise_if_not_found=False) + + @property + def _default_weight_uom(self): + return self.env.ref("uom.product_uom_kgm", raise_if_not_found=False) + + # noinspection PyMethodMayBeStatic + def _map_create(self, map_dict, old_records, Model, vals_getter=None): + if not old_records: + return + + def default_getter(record): + return {"name": record.name, "note": record.note} + + if not vals_getter: + vals_getter = default_getter + + for old_record in old_records: + vals = vals_getter(old_record) + new_record = Model.create(vals) + + map_dict[old_record] = new_record + + def _map_ref(self, map_dict, old_ext_id, new_ext_id): + old_record = self.env.ref("l10n_it_ddt.{}".format(old_ext_id)) + new_record = self.env.ref("l10n_it_delivery_note_base.{}".format(new_ext_id)) + + map_dict[old_record] = new_record + + return old_record + + def check_database_integrity(self): + _logger.info("Checking database integrity before run data migration..") + + self.env.cr.execute( + """ + SELECT "id", "state" FROM "ir_module_module" + WHERE "name" = 'l10n_it_ddt'; + """ + ) + old_module = self.env.cr.fetchone() + if not old_module or old_module[1] != "installed": + raise UserError( + _( + "Module `l10n_it_ddt` isn't installed on this database. " + "You don't need to run this command." + ) + ) + + old_sequence = self.env.ref("l10n_it_ddt.seq_ddt") + if old_sequence.number_next_actual == 1: + raise UserError( + _( + "It seems that there are no documents to migrate. " + "You don't need to run this command." + ) + ) + + new_sequence = self.env.ref("l10n_it_delivery_note.delivery_note_sequence_ddt") + if new_sequence.number_next_actual > 1: + raise ValidationError( + _( + "It seems that at least one delivery note has been " + "already created. " + "You can't migrate any data on an already used database." + ) + ) + + _logger.info("Database integrity check successfully passed.") + + def migrate_carriage_conditions(self): + _logger.info("Migrating carriage conditions data...") + + CarriageCondition = self.env["stock.picking.carriage_condition"] + TransportCondition = self.env["stock.picking.transport.condition"] + + pf = self._map_ref( + self._carriage_conditions, "carriage_condition_PF", "transport_condition_PF" + ) + pa = self._map_ref( + self._carriage_conditions, "carriage_condition_PA", "transport_condition_PA" + ) + paf = self._map_ref( + self._carriage_conditions, + "carriage_condition_PAF", + "transport_condition_PAF", + ) + + records = CarriageCondition.search( + [("id", "not in", [pf.id, pa.id, paf.id])], order="id ASC" + ) + + self._map_create(self._carriage_conditions, records, TransportCondition) + + _logger.info("Carriage conditions data successfully migrated.") + + def migrate_goods_descriptions(self): + _logger.info("Migrating goods descriptions data...") + + GoodsDescription = self.env["stock.picking.goods_description"] + GoodsAppearance = self.env["stock.picking.goods.appearance"] + + car = self._map_ref( + self._goods_descriptions, "goods_description_CAR", "goods_appearance_CAR" + ) + ban = self._map_ref( + self._goods_descriptions, "goods_description_BAN", "goods_appearance_BAN" + ) + sfu = self._map_ref( + self._goods_descriptions, "goods_description_SFU", "goods_appearance_SFU" + ) + cba = self._map_ref( + self._goods_descriptions, "goods_description_CBA", "goods_appearance_CBA" + ) + + records = GoodsDescription.search( + [("id", "not in", [car.id, ban.id, sfu.id, cba.id])], order="id ASC" + ) + + self._map_create(self._goods_descriptions, records, GoodsAppearance) + + _logger.info("Goods descriptions data successfully migrated.") + + def migrate_transportation_reasons(self): + _logger.info("Migrating transportation reasons data...") + + TransportationReason = self.env["stock.picking.transportation_reason"] + TransportReason = self.env["stock.picking.transport.reason"] + + ven = self._map_ref( + self._transportation_reasons, + "transportation_reason_VEN", + "transport_reason_VEN", + ) + vis = self._map_ref( + self._transportation_reasons, + "transportation_reason_VIS", + "transport_reason_VIS", + ) + res = self._map_ref( + self._transportation_reasons, + "transportation_reason_RES", + "transport_reason_RES", + ) + + records = TransportationReason.search( + [("id", "not in", [ven.id, vis.id, res.id])], order="id ASC" + ) + + self._map_create(self._transportation_reasons, records, TransportReason) + + _logger.info("Transportation reasons data successfully migrated.") + + def migrate_transportation_methods(self): + _logger.info("Migrating transportation methods data...") + + TransportationMethod = self.env["stock.picking.transportation_method"] + TransportMethod = self.env["stock.picking.transport.method"] + + mit = self._map_ref( + self._transportation_methods, + "transportation_method_MIT", + "transport_method_MIT", + ) + des = self._map_ref( + self._transportation_methods, + "transportation_method_DES", + "transport_method_DES", + ) + cor = self._map_ref( + self._transportation_methods, + "transportation_method_COR", + "transport_method_COR", + ) + + records = TransportationMethod.search( + [("id", "not in", [mit.id, des.id, cor.id])], order="id ASC" + ) + + self._map_create(self._transportation_methods, records, TransportMethod) + + _logger.info("Transportation methods data successfully migrated.") + + def migrate_document_types(self): + _logger.info("Migrating document types data...") + + DocumentType = self.env["stock.ddt.type"] + DeliveryNoteType = self.env["stock.delivery.note.type"] + + old_type = self.env.ref("l10n_it_ddt.ddt_type_ddt") + new_type = self.env.ref("l10n_it_delivery_note.delivery_note_type_ddt") + new_type.write({"sequence_id": old_type.sequence_id.id}) + + self.env.cr.execute( + """ + DELETE FROM "ir_model_data" + WHERE "module" = 'l10n_it_ddt' AND "name" = 'seq_ddt'; + """ + ) + + self._document_types[old_type] = new_type + + records = DocumentType.search([("id", "not in", [old_type.id])], order="id ASC") + + self._map_create( + self._document_types, + records, + DeliveryNoteType, + lambda r: { + "name": r.name, + "sequence_id": r.sequence_id.id, + "default_goods_appearance_id": self._goods_descriptions[ + r.default_goods_description_id + ].id, + "default_transport_reason_id": self._transportation_reasons[ + r.default_transportation_reason_id + ].id, + "default_transport_condition_id": self._carriage_conditions[ + r.default_carriage_condition_id + ].id, + "default_transport_method_id": self._transportation_methods[ + r.default_transportation_method_id + ].id, + "note": r.note, + }, + ) + + _logger.info("Document types data successfully migrated.") + + def migrate_documents(self): + def vals_getter(record): + return { + "state": STATES_MAPPING[record.state], + "name": record.ddt_number, + "partner_sender_id": record.company_id.id, + "partner_id": record.partner_id.id, + "partner_shipping_id": record.partner_shipping_id.id, + "type_id": self._document_types[record.ddt_type_id].id, + "date": record.date, + "carrier_id": record.carrier_id.id, + "delivery_method_id": record.partner_id.property_delivery_carrier_id.id, + "transport_datetime": record.date_done, + "packages": record.parcels, + "volume": record.volume, + "volume_uom_id": record.volume_uom_id.id or self._default_volume_uom.id, + "gross_weight": record.gross_weight or record.weight, + "gross_weight_uom_id": record.gross_weight_uom_id.id + or self._default_weight_uom.id, + "net_weight": record.weight_manual or record.weight, + "net_weight_uom_id": record.weight_manual_uom_id.id + or self._default_weight_uom.id, + "goods_appearance_id": self._goods_descriptions[ + record.goods_description_id + ].id, + "transport_reason_id": self._transportation_reasons[ + record.transportation_reason_id + ].id, + "transport_condition_id": self._carriage_conditions[ + record.carriage_condition_id + ].id, + "transport_method_id": self._transportation_methods[ + record.transportation_method_id + ].id, + "picking_ids": [(4, p.id) for p in record.picking_ids], + "invoice_ids": [(4, record.invoice_id.id)] if record.invoice_id else [], + "note": record.note, + } + + _logger.info("Migrating documents data...") + + Document = self.env["stock.picking.package.preparation"] + DeliveryNote = self.env["stock.delivery.note"] + + documents = Document.search([], order="id ASC") + for document in documents: + DeliveryNote.create(vals_getter(document)) + + _logger.info("Documents data successfully migrated.") + + def execute(self): + self.check_database_integrity() + self.migrate_carriage_conditions() + self.migrate_goods_descriptions() + self.migrate_transportation_reasons() + self.migrate_transportation_methods() + self.migrate_document_types() + self.migrate_documents() diff --git a/l10n_it_delivery_note/i18n/it.po b/l10n_it_delivery_note/i18n/it.po new file mode 100644 index 000000000000..811715569fa6 --- /dev/null +++ b/l10n_it_delivery_note/i18n/it.po @@ -0,0 +1,1546 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_delivery_note +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-10-15 08:35+0000\n" +"PO-Revision-Date: 2020-11-11 19:35+0000\n" +"Last-Translator: Sergio Zanchetta \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "(e.g. link multiple pickings to a single DN)" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid " Warning!" +msgstr " Attenzione!" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Phone:" +msgstr "Telefono:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "VAT:" +msgstr "Partita IVA:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "" +"\n" +" " +"Warning!\n" +" \n" +" Inconsistent DN info in sale orders!" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "" +" Delivery Note: \n" +" Under the terms of Italian Presidential Decree 472-96 of " +"14.08.1996" +msgstr "" +" Documento di trasporto: \n" +" Ai sensi del DPR 472-96 del 14.08.1996" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Customer:" +msgstr "Cliente:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Delivery address:" +msgstr "Indirizzo di consegna:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "" +"N.B.: there will be no way, subsequently, to restore\n" +" this binding between the delivery note lines with " +"the related sales order." +msgstr "" +"N.B.: non ci sarà modo, a posteriori, di ripristinare\n" +" il legame tra righe del DdT con il rispettivo ordine " +"di vendita." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Warehouse:" +msgstr "Magazzino:" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note_line__product_description +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" +"Una descrizione del prodotto da mostrare ai clienti. La descrizione sarà " +"inserita in ogni ordine di vendita, ordine di spedizione e fatturazione/nota " +"di credito del cliente" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__active +msgid "Active" +msgstr "Attivo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_ids +msgid "Activities" +msgstr "Attività" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_state +msgid "Activity State" +msgstr "Stato attività" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Add a note" +msgstr "Aggiungi un commento" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Add a section" +msgstr "Aggiungi una sezione" + +#. module: l10n_it_delivery_note +#: model:res.groups,name:l10n_it_delivery_note.can_change_number +msgid "Allow to change delivery note number" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__goods_appearance_id +msgid "Appearance of goods" +msgstr "Aspetto dei beni" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_goods_appearance_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_good_appearance_menu +msgid "Appearances of goods" +msgstr "Aspetti dei beni" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Archived" +msgstr "Archiviati" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:106 +#, python-format +msgid "" +"At least one picking you've selected appears to be already related to " +"another delivery note." +msgstr "" +"Almeno un prelievo tra quelli selezionati è già legato ad un altro DdT." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:33 +#, python-format +msgid "At least one picking you've selected doesn't appear to be completed." +msgstr "Almeno un prelievo tra quelli selezionati non è stato completato." + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_attachment_count +msgid "Attachment Count" +msgstr "Numero allegati" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__can_be_invoiced +msgid "Can Be Invoiced" +msgstr "Può essere fatturato" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__can_change_number +msgid "Can Change Number" +msgstr "Può cambiare numero" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Cancel" +msgstr "Annulla" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Cancelled" +msgstr "Annullato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Carriage Condition" +msgstr "Condizione di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__carrier_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Carrier" +msgstr "Vettore" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Carrier's Signature" +msgstr "Firma del corriere" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Carriers" +msgstr "Corrieri" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__company_id +msgid "Company" +msgstr "Azienda" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_condition_id +msgid "Condition of transport" +msgstr "Condizione di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_condition_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_condition_menu +msgid "Conditions of transport" +msgstr "Condizioni di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni di configurazione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +#: selection:sale.advance.payment.inv,step:0 +msgid "Confirm" +msgstr "Conferma" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:184 +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_create_action +#, python-format +msgid "Create a new delivery note" +msgstr "Crea un nuovo DdT" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Create invoice" +msgstr "Crea fattura" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Create new" +msgstr "Crea nuovo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_advance_payment_inv__step +msgid "Current step" +msgstr "Passo corrente" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_carrier_id +msgid "DN Carrier" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_date +msgid "DN Date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__picking_type_code +msgid "DN Operation Type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__packages +msgid "DN Packages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_state +msgid "DN State" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_volume +msgid "DN Volume" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "DN date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__date +msgid "Date" +msgstr "Data" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Dates" +msgstr "Date" + +#. module: l10n_it_delivery_note +#: model:ir.actions.report,name:l10n_it_delivery_note.delivery_note_report_action +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice_line__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__delivery_note_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Delivery Note" +msgstr "DdT" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/account_invoice.py:103 +#, python-format +msgid "Delivery Note \"{}\" of {}" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_base_wizard +msgid "Delivery Note Base" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice__delivery_note_count +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__delivery_note_count +msgid "Delivery Note Count" +msgstr "Conto DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_create_wizard +msgid "Delivery Note Creator" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_draft +msgid "Delivery Note Draft" +msgstr "DdT in bozza" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_exists +msgid "Delivery Note Exists" +msgstr "Esiste DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_line +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order_line__delivery_note_line_ids +msgid "Delivery Note Line" +msgstr "Riga DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_readonly +msgid "Delivery Note Readonly" +msgstr "DdT in sola-lettura" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_select_wizard +msgid "Delivery Note Selector" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_type_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_type_menu +msgid "Delivery Note Types" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_visible +msgid "Delivery Note Visible" +msgstr "DdT visibile" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_action +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice__delivery_note_ids +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_config_menu +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.account_invoice_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Delivery Notes" +msgstr "DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order_line__delivery_picking_id +msgid "Delivery Picking" +msgstr "Prelievo DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__delivery_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_method_id +msgid "Delivery method" +msgstr "Metodo di consegna" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__name +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Description" +msgstr "Descrizione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Details" +msgstr "Dettagli" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__discount +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Discount" +msgstr "Sconto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Document" +msgstr "Documento" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Document:" +msgstr "Documento:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Done" +msgstr "Completato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Draft" +msgstr "Bozza" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "Draft DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Draft document" +msgstr "Documento in bozza" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Draft document:" +msgstr "Documento in bozza:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Driver's Signature" +msgstr "Firma del corriere" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__error_message +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__error_message +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__error_message +msgid "Error Message" +msgstr "Messaggio di errore" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_follower_ids +msgid "Followers" +msgstr "Follower" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_channel_ids +msgid "Followers (Channels)" +msgstr "Chi sta seguendo (canali)" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_partner_ids +msgid "Followers (Partners)" +msgstr "Chi sta seguendo (partner)" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "Fully invoiced" +msgstr "Interamente fatturato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_tree_view +msgid "Go to delivery note" +msgstr "Vai al DdT" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Go to invoice" +msgstr "Vai alla fattura" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Goods Description" +msgstr "Descrizione dei beni" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Gross Weight" +msgstr "Peso lordo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__gross_weight +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__gross_weight +msgid "Gross weight" +msgstr "Peso lordo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__gross_weight_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__gross_weight_uom_id +msgid "Gross weight UoM" +msgstr "UdM del peso lordo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin__id +msgid "ID" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_unread +msgid "If checked new messages require your attention." +msgstr "Se selezionato, nuovi messaggi richiedono attenzione." + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionato, nuovi messaggi richiedono attenzione." + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionato, alcuni messaggi presentano un errore di consegna." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "If these problems persist, don't hesitate to contact the helpdesk." +msgstr "Se questi problemi persistono, non esitate a contattare l'helpdesk." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Incoming" +msgstr "In entrata" + +#. module: l10n_it_delivery_note +#: selection:sale.advance.payment.inv,step:0 +msgid "Initial" +msgstr "Iniziale" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Internal" +msgstr "Interno" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_note +msgid "Internal note" +msgstr "Nota interna" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Internal notes" +msgstr "Note interne" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_account_invoice +msgid "Invoice" +msgstr "Fattura" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_account_invoice_line +msgid "Invoice Line" +msgstr "Riga fattura" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/wizard/sale_advance_payment_inv.py:44 +#, python-format +msgid "Invoice Order" +msgstr "Ordine fattura" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__invoice_status +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__invoice_status +msgid "Invoice status" +msgstr "Stato fatturazione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Invoice statuses" +msgstr "Stati fatturazione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Invoiced" +msgstr "Fatturate" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__invoice_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Invoices" +msgstr "Fatture" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_is_follower +msgid "Is Follower" +msgstr "Sta seguendo" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "" +"It allows to prompt a confirmation to the user\n" +" during the invoicing action if there's " +"at\n" +" least one unconfirmed delivery note." +msgstr "" +"Consente di mostrare una richiesta di conferma all'utente\n" +" durante l'azione di fatturazione di un " +"ordine se\n" +" è presente almeno un DdT non confermato." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "" +"It extends the standard behaviour of DNs\n" +" management by introducing additional " +"functions." +msgstr "" +"Estende il comportamento standard della gestione dei\n" +" DdT introducendo funzionalità aggiuntive." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:98 +#, python-format +msgid "" +"It seems that at least one delivery note has been already created. You can't " +"migrate any data on an already used database." +msgstr "" +"Sembra che sia stato già creato almeno un DdT. Non puoi migrare nessun dato " +"se il database è già in uso." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:91 +#, python-format +msgid "" +"It seems that there are no documents to migrate. You don't need to run this " +"command." +msgstr "" +"Sembra che non ci siano documenti da migrare. Non si necessita di eseguire " +"questo comando." + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__display_type +msgid "Line type" +msgstr "Tipo riga" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__line_ids +msgid "Lines" +msgstr "Righe" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_main_attachment_id +msgid "Main Attachment" +msgstr "Allegato principale" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,picking_type:0 +msgid "Manufacturing Operation" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Method of Transport / Carrier" +msgstr "Metodo di trasporto / Corriere" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_method_id +msgid "Method of transport" +msgstr "Metodo di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_method_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_method_menu +msgid "Methods of transport" +msgstr "Metodi di trasporto" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:84 +#, python-format +msgid "" +"Module `l10n_it_ddt` isn't installed on this database. You don't need to run " +"this command." +msgstr "" +"Il modulo `l10n_it_ddt` non è installato in questo database. Non si " +"necessita di eseguire questo comando." + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__name +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_tree_view +msgid "Name" +msgstr "Nome" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Net Weight" +msgstr "Peso netto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__net_weight +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__net_weight +msgid "Net weight" +msgstr "Peso netto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__net_weight_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__net_weight_uom_id +msgid "Net weight UoM" +msgstr "UdM del peso netto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza attività successiva" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attività" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_type_id +msgid "Next Activity Type" +msgstr "Tipologia prossima attività" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "No DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: selection:stock.delivery.note.line,display_type:0 +msgid "Note" +msgstr "Nota" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Notes" +msgstr "Note" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "Nothing to invoice" +msgstr "Niente da fatturare" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_company__draft_delivery_note_invoicing_notify +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_config_settings__draft_delivery_note_invoicing_notify +msgid "Notify if delivery note isn't validated" +msgstr "Notifica se il DdT non è validato" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_has_error_counter +msgid "Number of error" +msgstr "Numero di errori" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_unread_counter +msgid "Number of unread messages" +msgstr "Numero di messaggi non letti" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Open picking" +msgstr "Apri consegna" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Outgoing" +msgstr "In uscita" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Overdue" +msgstr "In ritardo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__packages +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Packages" +msgstr "Colli" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Partner document" +msgstr "Contatto del documento" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_ref +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_partner_ref +msgid "Partner reference" +msgstr "Referenza del contatto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__picking_ids +msgid "Picking" +msgstr "Prelievo" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_picking_checker_mixin +msgid "Picking Checker Mixin" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__picking_type +msgid "Picking type" +msgstr "Tipo di consegna" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Picking types" +msgstr "Tipi di consegna" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__picking_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +msgid "Pickings" +msgstr "Consegne" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__pickings_picker +msgid "Pickings Picker" +msgstr "Raccoglitore prelievi" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Planned" +msgstr "Pianificato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "Please, check and solve these problems before trying again." +msgstr "Prego, controllare e risolvere questi problemi prima di riprovare." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Print" +msgstr "Stampa" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Product" +msgstr "Prodotto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_qty +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Quantity" +msgstr "Quantità" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Reason of Transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_reason_id +msgid "Reason of transport" +msgstr "Causale di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_reason_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_reason_menu +msgid "Reasons of transport" +msgstr "Motivi di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_id +msgid "Recipient" +msgstr "Destinatario" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Recipient's Signature" +msgstr "Firma del destinatario" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Recipients" +msgstr "Destinatari" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Reset to draft" +msgstr "Reimposta a bozza" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sale_ids +msgid "Sale" +msgstr "Vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sale_count +msgid "Sale Count" +msgstr "Numero vendite" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_description +msgid "Sale Description" +msgstr "Descrizione vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__sale_line_id +msgid "Sale Line" +msgstr "Riga di vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_order +msgid "Sale Order" +msgstr "Ordine di vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "Anticipo su fattura di vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sales_transport_check +msgid "Sales Transport Check" +msgstr "Controllo Ordine Trasporto" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Sales orders" +msgstr "Ordini di vendita" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note.line,display_type:0 +msgid "Section" +msgstr "Sezione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Section name (e.g. Products, Services)" +msgstr "Nome sezione (es. Prodotti, Servizi)" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:197 +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_select_action +#, python-format +msgid "Select an existing delivery note" +msgstr "Seleziona un DdT esistente" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Select existing" +msgstr "Seleziona esistente" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__selected_picking_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__selected_picking_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__selected_picking_ids +msgid "Selected Picking" +msgstr "Prelievi selezionati" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_sender_id +msgid "Sender" +msgstr "Mittente" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Senders" +msgstr "Mittenti" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sequence_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__sequence +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_sequence_id +msgid "Sequence" +msgstr "Sequenza" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Set done" +msgstr "Segna come completato" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_shipping_information_updater_mixin +msgid "Shipping Information Updater Mixin" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_partner_shipping_id +msgid "Shipping address" +msgstr "Indirizzo di spedizione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_partner_form_view +msgid "Shipping information" +msgstr "Informazioni spedizione" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__show_product_information +msgid "Show Product Information" +msgstr "Mostra le informazioni di prodotto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__print_prices +msgid "Show prices on printed DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__state +msgid "State" +msgstr "Provincia" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "States" +msgstr "Condizioni" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Stato basato sulle attività\n" +"In ritardo: data di scadenza già superata\n" +"Oggi: attività in data odierna\n" +"Pianificato: attività future." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +msgid "Summary" +msgstr "Sommario" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Tax" +msgstr "Imposta" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Tax excluded" +msgstr "Imponibile" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__tax_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Taxes" +msgstr "Imposte" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:76 +#, python-format +msgid "" +"The pickings you've selected don't seem to have any location of departure." +msgstr "" +"I prelievi che hai selezionato non sembrano avere nessun luogo di partenza." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:92 +#, python-format +msgid "" +"The pickings you've selected don't seem to have any location of destination." +msgstr "" +"I prelievi che hai selezionato non sembrano avere nessun luogo di " +"destinazione." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:61 +#, python-format +msgid "" +"The pickings you've selected don't seem to have any partner or the selected " +"warehouse doesn't have a valid address." +msgstr "" +"I prelievi che hai selezionato non sembrano avere nessun partner oppure il " +"magazzino selezionato non ha un indirizzo valido." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:43 +#, python-format +msgid "The pickings you've selected don't seem to have any type." +msgstr "I prelievi che hai selezionato non sembrano avere nessun tipo." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "" +"There appears to be one or more delivery notes in \"Draft\" state.
\n" +" If you proceed with the creation of an invoice " +"(other than the downpayment one),\n" +" the affected delivery note lines will be detached " +"from the sales order and\n" +" will not appear linked to the generated invoice." +msgstr "" +"Sembra siano presenti uno o più DdT in stato \"Bozza\".
\n" +" Se si proseguirà con la creazione di una fattura " +"(diversa da quella di acconto),\n" +" le righe interessate di suddetti DdT verranno " +"scollegate dall'ordine di vendita e\n" +" non risulteranno associate alla fattura generata." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "There are one or more problems with the pickings you've selected:" +msgstr "Sono presenti uno o più problemi con i prelievi che hai selezionato:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "" +"This behaviour just described may not be wrong in some very specific cases." +"
\n" +" Proceed only if you are absolutely sure and aware of " +"what you're doing." +msgstr "" +"Questo comportamento appena descritto potrebbe non essere\n" +" necessariamente scorretto in alcuni casi molto " +"specifici.
\n" +" Proseguire solo ed esclusivamente se si è " +"assolutamente\n" +" sicuri e consci di quello che si sta facendo." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "To invoice" +msgstr "Da fatturare" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "To pay" +msgstr "Da pagare" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Today" +msgstr "Oggi" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Total" +msgstr "Totale" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_picking +msgid "Transfer" +msgstr "Trasferimento" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_datetime +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_datetime +msgid "Transport date" +msgstr "Data di trasporto" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_type_id +msgid "Type" +msgstr "Tipologia" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Type codes" +msgstr "Codici tipo" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__type_code +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_type_code +msgid "Type of Operation" +msgstr "Tipo di operazione" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Types" +msgstr "Tipi" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "Understood, continue anyway" +msgstr "Ho capito, continua ugualmente" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__price_unit +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Unit price" +msgstr "Prezzo unitario" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_unread +msgid "Unread Messages" +msgstr "Messaggi non letti" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Numero messaggi non letti" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_uom_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "UoM" +msgstr "UdM" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Update to now" +msgstr "Aggiorna ad adesso" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__use_advanced_behaviour +msgid "Use Advanced Behaviour" +msgstr "Usa funzioni avanzate" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_config_settings__group_use_advanced_delivery_notes +#: model:res.groups,name:l10n_it_delivery_note.use_advanced_delivery_notes +msgid "Use Advanced DN Features" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__use_delivery_note +msgid "Use Delivery Note" +msgstr "Usa il DdT" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__valid_move_ids +msgid "Valid Move" +msgstr "Movimenti validi" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Validate" +msgstr "Valida" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Validated" +msgstr "Validato" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "Validated DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__volume +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Volume" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__volume_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_volume_uom_id +msgid "Volume UoM" +msgstr "UdM del volume" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__move_id +msgid "Warehouse movement" +msgstr "Movimento di magazzino" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:325 +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:361 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:142 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:161 +#: code:addons/l10n_it_delivery_note/wizard/delivery_note_base.py:65 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__website_message_ids +msgid "Website communication history" +msgstr "Cronologia comunicazioni sito web" + +#. module: l10n_it_delivery_note +#: sql_constraint:stock.delivery.note.line:0 +msgid "" +"You cannot assign the same warehouse movement to different delivery notes!" +msgstr "Non puoi assegnare lo stesso movimento di magazzino a DdT differenti!" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:382 +#, python-format +msgid "" +"You cannot cancel this delivery note. There is at least one invoice related " +"to this delivery note." +msgstr "" +"Non puoi cancellare questo DdT. È presente, almeno, una fattura legata a " +"questo DdT." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:699 +#, python-format +msgid "" +"You cannot change the type of a delivery note line. Instead you should " +"delete the current line and create a new line of the proper type." +msgstr "" +"Non puoi cambiare il tipo della riga del DdT. Dovresti, invece, eliminare la " +"riga corrente e creare una riga nuova del tipo corretto." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:319 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:136 +#, python-format +msgid "" +"You cannot set this delivery note type due of a different numerator " +"configuration." +msgstr "" +"Non puoi cambiare il tipo del DdT a causa dell'uso di un numeratore " +"differente." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:82 +#, python-format +msgid "You need to select pickings with all the same location of departure." +msgstr "È necessario selezionare prelievi con lo stesso luogo di destinazione." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:98 +#, python-format +msgid "You need to select pickings with all the same location of destination." +msgstr "È necessario selezionare prelievi con lo stesso luogo di destinazione." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:67 +#, python-format +msgid "You need to select pickings with all the same recipient." +msgstr "È necessario selezionare prelievi con lo stesso destinatario." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:48 +#, python-format +msgid "You need to select pickings with all the same type." +msgstr "È necessario selezionare prelievi con lo stesso tipo." + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:25 +#, python-format +msgid "" +"You shouldn't be able to launch this wizard without selecting any pickings." +msgstr "" +"Non dovresti essere in grado di lanciare questo wizard senza selezionare " +"alcun prelievo." + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "best before" +msgstr "data di scadenza" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "lot / sn :" +msgstr "lotto / numero di serie:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "of:" +msgstr "di:" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "qty" +msgstr "q.tà" diff --git a/l10n_it_delivery_note/i18n/l10n_it_delivery_note.pot b/l10n_it_delivery_note/i18n/l10n_it_delivery_note.pot new file mode 100644 index 000000000000..98bbf1c2e2c8 --- /dev/null +++ b/l10n_it_delivery_note/i18n/l10n_it_delivery_note.pot @@ -0,0 +1,1453 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_delivery_note +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "(e.g. link multiple pickings to a single DN)" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid " Warning!" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Phone:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "VAT:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "\n" +" Warning!\n" +" \n" +" Inconsistent DN info in sale orders!" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid " Delivery Note: \n" +" Under the terms of Italian Presidential Decree 472-96 of 14.08.1996" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Customer:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Delivery address:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "N.B.: there will be no way, subsequently, to restore\n" +" this binding between the delivery note lines with the related sales order." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Warehouse:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note_line__product_description +msgid "A description of the Product that you want to communicate to your customers. This description will be copied to every Sales Order, Delivery Order and Customer Invoice/Credit Note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__active +msgid "Active" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_ids +msgid "Activities" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_state +msgid "Activity State" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Add a note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Add a section" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:res.groups,name:l10n_it_delivery_note.can_change_number +msgid "Allow to change delivery note number" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__goods_appearance_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__goods_appearance_id +msgid "Appearance of goods" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_goods_appearance_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_good_appearance_menu +msgid "Appearances of goods" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Archived" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:106 +#, python-format +msgid "At least one picking you've selected appears to be already related to another delivery note." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:33 +#, python-format +msgid "At least one picking you've selected doesn't appear to be completed." +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__can_be_invoiced +msgid "Can Be Invoiced" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__can_change_number +msgid "Can Change Number" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Cancel" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Cancelled" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Carriage Condition" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__carrier_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Carrier" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Carrier's Signature" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Carriers" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_company +msgid "Companies" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__company_id +msgid "Company" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_condition_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_condition_id +msgid "Condition of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_condition_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_condition_menu +msgid "Conditions of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +#: selection:sale.advance.payment.inv,step:0 +msgid "Confirm" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_res_partner +msgid "Contact" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:184 +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_create_action +#, python-format +msgid "Create a new delivery note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Create invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Create new" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__create_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__create_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__currency_id +msgid "Currency" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_advance_payment_inv__step +msgid "Current step" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_carrier_id +msgid "DN Carrier" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_date +msgid "DN Date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__picking_type_code +msgid "DN Operation Type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__packages +msgid "DN Packages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_state +msgid "DN State" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_volume +msgid "DN Volume" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "DN date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__date +msgid "Date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Dates" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.report,name:l10n_it_delivery_note.delivery_note_report_action +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice_line__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__delivery_note_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__delivery_note_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Delivery Note" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/account_invoice.py:103 +#, python-format +msgid "Delivery Note \"{}\" of {}" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_base_wizard +msgid "Delivery Note Base" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice__delivery_note_count +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__delivery_note_count +msgid "Delivery Note Count" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_create_wizard +msgid "Delivery Note Creator" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_draft +msgid "Delivery Note Draft" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_exists +msgid "Delivery Note Exists" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_line +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order_line__delivery_note_line_ids +msgid "Delivery Note Line" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_readonly +msgid "Delivery Note Readonly" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_delivery_note_select_wizard +msgid "Delivery Note Selector" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_type_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_type_menu +msgid "Delivery Note Types" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_visible +msgid "Delivery Note Visible" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_action +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_account_invoice__delivery_note_ids +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_config_menu +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_delivery_note_menu +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.account_invoice_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Delivery Notes" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order_line__delivery_picking_id +msgid "Delivery Picking" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__delivery_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_method_id +msgid "Delivery method" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__name +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Description" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Details" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__discount +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Discount" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__display_name +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Document" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Document:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Done" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Draft" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "Draft DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Draft document" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Draft document:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Driver's Signature" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__error_message +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__error_message +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__error_message +msgid "Error Message" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "Fully invoiced" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_tree_view +msgid "Go to delivery note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Go to invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Goods Description" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Gross Weight" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__gross_weight +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__gross_weight +msgid "Gross weight" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__gross_weight_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__gross_weight_uom_id +msgid "Gross weight UoM" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin__id +msgid "ID" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "If these problems persist, don't hesitate to contact the helpdesk." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Incoming" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:sale.advance.payment.inv,step:0 +msgid "Initial" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Internal" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_note +msgid "Internal note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Internal notes" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_account_invoice_line +msgid "Invoice Line" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/wizard/sale_advance_payment_inv.py:44 +#, python-format +msgid "Invoice Order" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__invoice_status +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__invoice_status +msgid "Invoice status" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Invoice statuses" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Invoiced" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__invoice_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Invoices" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "It allows to prompt a confirmation to the user\n" +" during the invoicing action if there's at\n" +" least one unconfirmed delivery note." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_config_settings_form_view +msgid "It extends the standard behaviour of DNs\n" +" management by introducing additional functions." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:98 +#, python-format +msgid "It seems that at least one delivery note has been already created. You can't migrate any data on an already used database." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:91 +#, python-format +msgid "It seems that there are no documents to migrate. You don't need to run this command." +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_shipping_information_updater_mixin____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard____last_update +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking_checker_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__write_uid +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__write_date +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__display_type +msgid "Line type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__line_ids +msgid "Lines" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,picking_type:0 +msgid "Manufacturing Operation" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_ids +msgid "Messages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Method of Transport / Carrier" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_method_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_method_id +msgid "Method of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_method_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_method_menu +msgid "Methods of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/cli/migrate_l10n_it_ddt.py:84 +#, python-format +msgid "Module `l10n_it_ddt` isn't installed on this database. You don't need to run this command." +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__name +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_tree_view +msgid "Name" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Net Weight" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__net_weight +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__net_weight +msgid "Net weight" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__net_weight_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__net_weight_uom_id +msgid "Net weight UoM" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "No DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: selection:stock.delivery.note.line,display_type:0 +msgid "Note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Notes" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "Nothing to invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_company__draft_delivery_note_invoicing_notify +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_config_settings__draft_delivery_note_invoicing_notify +msgid "Notify if delivery note isn't validated" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Open picking" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,picking_type:0 +msgid "Outgoing" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Overdue" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__packages +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Packages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Partner document" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_ref +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_partner_ref +msgid "Partner reference" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__picking_ids +msgid "Picking" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_picking_checker_mixin +msgid "Picking Checker Mixin" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__picking_type +msgid "Picking type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Picking types" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__picking_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +msgid "Pickings" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__pickings_picker +msgid "Pickings Picker" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Planned" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "Please, check and solve these problems before trying again." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Print" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Product" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_qty +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Quantity" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Reason of Transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_partner__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_users__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_sale_order__default_transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_reason_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_reason_id +msgid "Reason of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_picking_transport_reason_action +#: model:ir.ui.menu,name:l10n_it_delivery_note.stock_picking_transport_reason_menu +msgid "Reasons of transport" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_id +msgid "Recipient" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Recipient's Signature" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Recipients" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Reset to draft" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sale_ids +msgid "Sale" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sale_count +msgid "Sale Count" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_description +msgid "Sale Description" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__sale_line_id +msgid "Sale Line" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_order +msgid "Sale Order" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sales_transport_check +msgid "Sales Transport Check" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Sales orders" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note.line,display_type:0 +msgid "Section" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Section name (e.g. Products, Services)" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:197 +#: model:ir.actions.act_window,name:l10n_it_delivery_note.stock_delivery_note_select_action +#, python-format +msgid "Select an existing delivery note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Select existing" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__selected_picking_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__selected_picking_ids +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__selected_picking_ids +msgid "Selected Picking" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_sender_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_sender_id +msgid "Sender" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Senders" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__sequence_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__sequence +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_sequence_id +msgid "Sequence" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Set done" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_shipping_information_updater_mixin +msgid "Shipping Information Updater Mixin" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__partner_shipping_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_partner_shipping_id +msgid "Shipping address" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.res_partner_form_view +msgid "Shipping information" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__show_product_information +msgid "Show Product Information" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__print_prices +msgid "Show prices on printed DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__state +msgid "State" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "States" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__activity_state +msgid "Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_create_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_select_form_view +msgid "Summary" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Tax" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Tax excluded" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__tax_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Taxes" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:76 +#, python-format +msgid "The pickings you've selected don't seem to have any location of departure." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:92 +#, python-format +msgid "The pickings you've selected don't seem to have any location of destination." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:61 +#, python-format +msgid "The pickings you've selected don't seem to have any partner or the selected warehouse doesn't have a valid address." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:43 +#, python-format +msgid "The pickings you've selected don't seem to have any type." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "There appears to be one or more delivery notes in \"Draft\" state.
\n" +" If you proceed with the creation of an invoice (other than the downpayment one),\n" +" the affected delivery note lines will be detached from the sales order and\n" +" will not appear linked to the generated invoice." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_wizard_error_message_template +msgid "There are one or more problems with the pickings you've selected:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "This behaviour just described may not be wrong in some very specific cases.
\n" +" Proceed only if you are absolutely sure and aware of what you're doing." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: selection:stock.delivery.note,invoice_status:0 +#: selection:stock.delivery.note.line,invoice_status:0 +msgid "To invoice" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "To pay" +msgstr "" + +#. module: l10n_it_delivery_note +#: selection:stock.delivery.note,activity_state:0 +msgid "Today" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +msgid "Total" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model,name:l10n_it_delivery_note.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__transport_datetime +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__transport_datetime +msgid "Transport date" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_base_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_create_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_select_wizard__type_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_type_id +msgid "Type" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Type codes" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__type_code +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_type_code +msgid "Type of Operation" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +msgid "Types" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.sale_advance_payment_inv_form_view +msgid "Understood, continue anyway" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__price_unit +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "Unit price" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__product_uom_id +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "UoM" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Update to now" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__use_advanced_behaviour +msgid "Use Advanced Behaviour" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_res_config_settings__group_use_advanced_delivery_notes +#: model:res.groups,name:l10n_it_delivery_note.use_advanced_delivery_notes +msgid "Use Advanced DN Features" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__use_delivery_note +msgid "Use Delivery Note" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__valid_move_ids +msgid "Valid Move" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_form_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Validate" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_delivery_note_search_view +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +#: selection:stock.delivery.note,state:0 +msgid "Validated" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_search_view +msgid "Validated DN" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__volume +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.stock_picking_form_view +msgid "Volume" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__volume_uom_id +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_picking__delivery_note_volume_uom_id +msgid "Volume UoM" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note_line__move_id +msgid "Warehouse movement" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:325 +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:361 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:142 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:161 +#: code:addons/l10n_it_delivery_note/wizard/delivery_note_base.py:65 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,field_description:l10n_it_delivery_note.field_stock_delivery_note__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: l10n_it_delivery_note +#: model:ir.model.fields,help:l10n_it_delivery_note.field_stock_delivery_note__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: l10n_it_delivery_note +#: sql_constraint:stock.delivery.note.line:0 +msgid "You cannot assign the same warehouse movement to different delivery notes!" +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:382 +#, python-format +msgid "You cannot cancel this delivery note. There is at least one invoice related to this delivery note." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:699 +#, python-format +msgid "You cannot change the type of a delivery note line. Instead you should delete the current line and create a new line of the proper type." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/models/stock_delivery_note.py:319 +#: code:addons/l10n_it_delivery_note/models/stock_picking.py:136 +#, python-format +msgid "You cannot set this delivery note type due of a different numerator configuration." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:82 +#, python-format +msgid "You need to select pickings with all the same location of departure." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:98 +#, python-format +msgid "You need to select pickings with all the same location of destination." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:67 +#, python-format +msgid "You need to select pickings with all the same recipient." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:48 +#, python-format +msgid "You need to select pickings with all the same type." +msgstr "" + +#. module: l10n_it_delivery_note +#: code:addons/l10n_it_delivery_note/mixins/picking_checker.py:25 +#, python-format +msgid "You shouldn't be able to launch this wizard without selecting any pickings." +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "best before" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "lot / sn :" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "of:" +msgstr "" + +#. module: l10n_it_delivery_note +#: model_terms:ir.ui.view,arch_db:l10n_it_delivery_note.delivery_note_report_template +msgid "qty" +msgstr "" + diff --git a/l10n_it_delivery_note/migration/14.0.1.0.0/noupdate_changes.xml b/l10n_it_delivery_note/migration/14.0.1.0.0/noupdate_changes.xml new file mode 100644 index 000000000000..9b35cebea654 --- /dev/null +++ b/l10n_it_delivery_note/migration/14.0.1.0.0/noupdate_changes.xml @@ -0,0 +1,8 @@ + + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + diff --git a/l10n_it_delivery_note/migration/14.0.1.0.0/post-migration.py b/l10n_it_delivery_note/migration/14.0.1.0.0/post-migration.py new file mode 100644 index 000000000000..30fd074cc9e0 --- /dev/null +++ b/l10n_it_delivery_note/migration/14.0.1.0.0/post-migration.py @@ -0,0 +1,8 @@ +from openupgradelib import openupgrade # pylint: disable=W7936 + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.load_data( + env.cr, "l10n_it_delivery_note", "migrations/14.0.1.0.0/noupdate_changes.xml" + ) diff --git a/l10n_it_delivery_note/mixins/__init__.py b/l10n_it_delivery_note/mixins/__init__.py new file mode 100644 index 000000000000..5fb6adab4175 --- /dev/null +++ b/l10n_it_delivery_note/mixins/__init__.py @@ -0,0 +1,2 @@ +from . import picking_checker +from . import shipping_updater diff --git a/l10n_it_delivery_note/mixins/picking_checker.py b/l10n_it_delivery_note/mixins/picking_checker.py new file mode 100644 index 000000000000..49a6c838aae3 --- /dev/null +++ b/l10n_it_delivery_note/mixins/picking_checker.py @@ -0,0 +1,134 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta + +from odoo import _, api, models +from odoo.exceptions import ValidationError + +DONE_PICKING_STATE = "done" + +PICKING_TYPES = [ + ("incoming", "Incoming"), + ("outgoing", "Outgoing"), + ("internal", "Internal"), + ("mrp_operation", "Manufacturing Operation"), +] +DOMAIN_PICKING_TYPES = [t[0] for t in PICKING_TYPES] + + +class StockPickingCheckerMixin(models.AbstractModel): + _name = "stock.picking.checker.mixin" + _description = "Picking Checker Mixin" + + @api.model + def _check_pickings(self, pickings): + if not pickings: + raise ValidationError( + _( + "You shouldn't be able to launch this wizard " + "without selecting any pickings." + ) + ) + + @api.model + def _check_pickings_state(self, pickings): + if pickings.filtered(lambda p: p.state != DONE_PICKING_STATE): + raise ValidationError( + _( + "At least one picking you've selected doesn't " + "appear to be completed." + ) + ) + + @api.model + def _check_pickings_types(self, pickings): + types = set(pickings.mapped("picking_type_code")) + + if not types: + raise ValidationError( + _("The pickings you've selected don't seem to have any type.") + ) + + if len(types) > 1: + raise ValidationError( + _("You need to select pickings with all the same type.") + ) + + @api.model + def _check_pickings_partners(self, pickings): + types = set(pickings.mapped("picking_type_code")) + if "internal" in types: + return + + partners = pickings.mapped("partner_id") + + if not partners: + raise ValidationError( + _( + "The pickings you've selected don't seem to have any partner" + " or the selected warehouse doesn't have a valid address." + ) + ) + + if len(partners) > 1: + raise ValidationError( + _("You need to select pickings with all the same recipient.") + ) + + @api.model + def _check_pickings_src_locations(self, pickings): + src_locations = pickings.mapped("location_id") + + if not src_locations: + raise ValidationError( + _( + "The pickings you've selected don't seem to " + "have any location of departure." + ) + ) + + if len(src_locations) > 1: + raise ValidationError( + _( + "You need to select pickings with all the same " + "location of departure." + ) + ) + + @api.model + def _check_pickings_dest_locations(self, pickings): + dest_locations = pickings.mapped("location_dest_id") + + if not dest_locations: + raise ValidationError( + _( + "The pickings you've selected don't seem to have any " + "location of destination." + ) + ) + + if len(dest_locations) > 1: + raise ValidationError( + _( + "You need to select pickings with all the same location " + "of destination." + ) + ) + + @api.model + def _check_delivery_notes(self, pickings): + if pickings.filtered(lambda p: p.delivery_note_id): + raise ValidationError( + _( + "At least one picking you've selected appears to" + " be already related to another delivery note." + ) + ) + + @api.model + def check_compliance(self, pickings): + self._check_pickings(pickings) + self._check_pickings_state(pickings) + self._check_pickings_types(pickings) + self._check_pickings_partners(pickings) + self._check_pickings_src_locations(pickings) + self._check_pickings_dest_locations(pickings) diff --git a/l10n_it_delivery_note/mixins/shipping_updater.py b/l10n_it_delivery_note/mixins/shipping_updater.py new file mode 100644 index 000000000000..193fce034cf6 --- /dev/null +++ b/l10n_it_delivery_note/mixins/shipping_updater.py @@ -0,0 +1,66 @@ +# Copyright (c) 2020, Link IT Europe Srl +# @author: Matteo Bilotta + +from odoo import models + + +class ShippingInformationUpdaterMixin(models.AbstractModel): + _name = "shipping.information.updater.mixin" + _description = "Shipping Information Updater Mixin" + + def _update_generic_shipping_information(self, record): + changed = False + + if ( + record.default_transport_condition_id + and self.transport_condition_id != record.default_transport_condition_id + ): + if self.transport_condition_id: + changed = True + + self.transport_condition_id = record.default_transport_condition_id + + if ( + record.default_goods_appearance_id + and self.goods_appearance_id != record.default_goods_appearance_id + ): + if self.goods_appearance_id: + changed = True + + self.goods_appearance_id = record.default_goods_appearance_id + + if ( + record.default_transport_reason_id + and self.transport_reason_id != record.default_transport_reason_id + ): + if self.transport_reason_id: + changed = True + + self.transport_reason_id = record.default_transport_reason_id + + if ( + record.default_transport_method_id + and self.transport_method_id != record.default_transport_method_id + ): + if self.transport_method_id: + changed = True + + self.transport_method_id = record.default_transport_method_id + + return changed + + def _update_partner_shipping_information(self, partner): + changed = False + + if ( + partner.property_delivery_carrier_id + and self.delivery_method_id != partner.property_delivery_carrier_id + ): + if self.delivery_method_id: + changed = True + + self.delivery_method_id = partner.property_delivery_carrier_id + + changed |= self._update_generic_shipping_information(partner) + + return changed diff --git a/l10n_it_delivery_note/models/__init__.py b/l10n_it_delivery_note/models/__init__.py new file mode 100644 index 000000000000..d8e086570206 --- /dev/null +++ b/l10n_it_delivery_note/models/__init__.py @@ -0,0 +1,7 @@ +from . import account_invoice +from . import res_company +from . import res_config_settings +from . import res_partner +from . import sale_order +from . import stock_delivery_note +from . import stock_picking diff --git a/l10n_it_delivery_note/models/account_invoice.py b/l10n_it_delivery_note/models/account_invoice.py new file mode 100644 index 000000000000..64a9d94d827e --- /dev/null +++ b/l10n_it_delivery_note/models/account_invoice.py @@ -0,0 +1,127 @@ +# Copyright 2014-2019 Dinamiche Aziendali srl +# (http://www.dinamicheaziendali.it/) +# @author: Marco Calcagni +# @author: Gianmarco Conte +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, fields, models + +from .stock_delivery_note import DATE_FORMAT + + +class AccountInvoice(models.Model): + _inherit = "account.move" + + delivery_note_ids = fields.Many2many( + "stock.delivery.note", + "stock_delivery_note_account_invoice_rel", + "invoice_id", + "delivery_note_id", + string="Delivery Notes", + copy=False, + ) + + delivery_note_count = fields.Integer(compute="_compute_delivery_note_count") + + def _compute_delivery_note_count(self): + for invoice in self: + invoice.delivery_note_count = len(invoice.delivery_note_ids) + + def goto_delivery_notes(self, **kwargs): + delivery_notes = self.mapped("delivery_note_ids") + action = self.env.ref( + "l10n_it_delivery_note." "stock_delivery_note_action" + ).read()[0] + action.update(kwargs) + + if len(delivery_notes) > 1: + action["domain"] = [("id", "in", delivery_notes.ids)] + + elif len(delivery_notes) == 1: + action["views"] = [ + ( + self.env.ref( + "l10n_it_delivery_note." "stock_delivery_note_form_view" + ).id, + "form", + ) + ] + action["res_id"] = delivery_notes.id + + else: + action = {"type": "ir.actions.act_window_close"} + + return action + + def goto_invoice(self, **kwargs): + self.ensure_one() + + if self.move_type.startswith("out_"): + view_id = self.env.ref("account.view_move_form").id + + else: + view_id = False + + return { + "type": "ir.actions.act_window", + "res_model": "account.move", + "res_id": self.id, + "views": [(view_id, "form")], + "view_type": "form", + "view_mode": "form", + "target": "current", + **kwargs, + } + + def update_delivery_note_lines(self): + context = {} + + for invoice in self.filtered(lambda i: i.delivery_note_ids): + new_lines = [] + old_lines = invoice.invoice_line_ids.filtered(lambda l: l.delivery_note_id) + old_lines.unlink() + + # + # TODO: Come bisogna comportarsi nel caso in + # cui il DdT non sia un DdT "valido"? + # Al momento, potrebbe essere possibile avere + # sia sei DdT senza numero (non ancora confermati) + # così come è possibile avere dei DdT senza, necessariamente, + # data di trasporto (non è un campo obbligatorio). + # + + # + # THIS ALLOWS TO CHANGE TRANSLATION LANGUAGE FOR EVERY INVOICE! + # + # See: odoo/tools/translate.py -> 'def _get_lang(self, frame):' + # + context["lang"] = invoice.partner_id.lang + + for note in invoice.delivery_note_ids: + new_lines.append( + ( + 0, + False, + { + "sequence": 99, + "display_type": "line_note", + "name": _("""Delivery Note "{}" of {}""").format( + note.name, note.date.strftime(DATE_FORMAT) + ), + "delivery_note_id": note.id, + "quantity": 0, + }, + ) + ) + + invoice.write({"invoice_line_ids": new_lines}) + + +class AccountInvoiceLine(models.Model): + _inherit = "account.move.line" + + delivery_note_id = fields.Many2one( + "stock.delivery.note", string="Delivery Note", readonly=True, copy=False + ) diff --git a/l10n_it_delivery_note/models/res_company.py b/l10n_it_delivery_note/models/res_company.py new file mode 100644 index 000000000000..2544ec609db2 --- /dev/null +++ b/l10n_it_delivery_note/models/res_company.py @@ -0,0 +1,9 @@ +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + draft_delivery_note_invoicing_notify = fields.Boolean( + string="Notify if delivery note isn't validated" + ) diff --git a/l10n_it_delivery_note/models/res_config_settings.py b/l10n_it_delivery_note/models/res_config_settings.py new file mode 100644 index 000000000000..b67fa996c306 --- /dev/null +++ b/l10n_it_delivery_note/models/res_config_settings.py @@ -0,0 +1,17 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + group_use_advanced_delivery_notes = fields.Boolean( + string="Use Advanced DN Features", + implied_group="l10n_it_delivery_note." "use_advanced_delivery_notes", + ) + + draft_delivery_note_invoicing_notify = fields.Boolean( + related="company_id.draft_delivery_note_invoicing_notify", readonly=False + ) diff --git a/l10n_it_delivery_note/models/res_partner.py b/l10n_it_delivery_note/models/res_partner.py new file mode 100644 index 000000000000..928760d2b8de --- /dev/null +++ b/l10n_it_delivery_note/models/res_partner.py @@ -0,0 +1,21 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta + +from odoo import fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + default_transport_condition_id = fields.Many2one( + "stock.picking.transport.condition", string="Condition of transport" + ) + default_goods_appearance_id = fields.Many2one( + "stock.picking.goods.appearance", string="Appearance of goods" + ) + default_transport_reason_id = fields.Many2one( + "stock.picking.transport.reason", string="Reason of transport" + ) + default_transport_method_id = fields.Many2one( + "stock.picking.transport.method", string="Method of transport" + ) diff --git a/l10n_it_delivery_note/models/sale_order.py b/l10n_it_delivery_note/models/sale_order.py new file mode 100644 index 000000000000..90157addcc0a --- /dev/null +++ b/l10n_it_delivery_note/models/sale_order.py @@ -0,0 +1,206 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta + +from odoo import api, fields, models + +from .stock_delivery_note import DOMAIN_DELIVERY_NOTE_STATES, DOMAIN_INVOICE_STATUSES + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + delivery_note_ids = fields.Many2many( + "stock.delivery.note", compute="_compute_delivery_notes" + ) + delivery_note_count = fields.Integer(compute="_compute_delivery_notes") + + default_transport_condition_id = fields.Many2one( + "stock.picking.transport.condition", + string="Condition of transport", + default=False, + ) + default_goods_appearance_id = fields.Many2one( + "stock.picking.goods.appearance", string="Appearance of goods", default=False + ) + default_transport_reason_id = fields.Many2one( + "stock.picking.transport.reason", string="Reason of transport", default=False + ) + default_transport_method_id = fields.Many2one( + "stock.picking.transport.method", string="Method of transport", default=False + ) + + @api.onchange("partner_id") + def onchange_partner_id_shipping_info(self): + if self.partner_id: + values = { + "default_transport_condition_id": ( + self.partner_id.default_transport_condition_id + ), + "default_goods_appearance_id": ( + self.partner_id.default_goods_appearance_id + ), + "default_transport_reason_id": ( + self.partner_id.default_transport_reason_id + ), + "default_transport_method_id": ( + self.partner_id.default_transport_method_id + ), + } + + else: + values = { + "default_transport_condition_id": False, + "default_goods_appearance_id": False, + "default_transport_reason_id": False, + "default_transport_method_id": False, + } + + self.update(values) + + def _compute_delivery_notes(self): + for order in self: + delivery_notes = order.order_line.mapped( + "delivery_note_line_ids." "delivery_note_id" + ) + + order.delivery_note_ids = delivery_notes + order.delivery_note_count = len(delivery_notes) + + def _assign_delivery_notes_invoices(self, invoice_ids): + order_lines = self.mapped("order_line").filtered( + lambda l: l.is_invoiced and l.delivery_note_line_ids + ) + + delivery_note_lines = order_lines.mapped("delivery_note_line_ids").filtered( + lambda l: l.is_invoiceable + ) + delivery_notes = delivery_note_lines.mapped("delivery_note_id") + + ready_delivery_notes = delivery_notes.filtered( + lambda n: n.state != DOMAIN_DELIVERY_NOTE_STATES[0] + ) + + draft_delivery_notes = delivery_notes - ready_delivery_notes + draft_delivery_note_lines = ( + draft_delivery_notes.mapped("line_ids") & delivery_note_lines + ) + + ready_delivery_note_lines = delivery_note_lines - draft_delivery_note_lines + + # + # TODO: È necessario gestire il caso di fatturazione splittata + # di una stessa riga d'ordine associata ad una sola + # picking (e di conseguenza, ad un solo DdT)? + # Può essere, invece, un caso "borderline" + # da lasciar gestire all'operatore? + # Personalmente, non lo gestirei e delegherei + # all'operatore questa responsabilità... + # + + draft_delivery_note_lines.write( + {"invoice_status": DOMAIN_INVOICE_STATUSES[0], "sale_line_id": None} + ) + + ready_delivery_note_lines.write({"invoice_status": DOMAIN_INVOICE_STATUSES[2]}) + ids = list( + dict.fromkeys(ready_delivery_notes.invoice_ids.ids + invoice_ids.ids) + ) + ready_delivery_notes.write({"invoice_ids": [(6, 0, ids)]}) + + ready_delivery_notes._compute_invoice_status() + + def _generate_delivery_note_lines(self, invoice_ids): + invoices = self.env["account.move"].browse(invoice_ids.ids) + invoices.update_delivery_note_lines() + + def _create_invoices(self, grouped=False, final=False): + invoice_ids = super()._create_invoices(grouped=grouped, final=final) + + self._assign_delivery_notes_invoices(invoice_ids) + self._generate_delivery_note_lines(invoice_ids) + + return invoice_ids + + def goto_delivery_notes(self, **kwargs): + delivery_notes = self.mapped("delivery_note_ids") + action = self.env.ref( + "l10n_it_delivery_note." "stock_delivery_note_action" + ).read()[0] + action.update(kwargs) + + if len(delivery_notes) > 1: + action["domain"] = [("id", "in", delivery_notes.ids)] + + elif len(delivery_notes) == 1: + action["views"] = [ + ( + self.env.ref( + "l10n_it_delivery_note." "stock_delivery_note_form_view" + ).id, + "form", + ) + ] + action["res_id"] = delivery_notes.id + + else: + action = {"type": "ir.actions.act_window_close"} + + return action + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + delivery_note_line_ids = fields.One2many( + "stock.delivery.note.line", "sale_line_id", readonly=True + ) + delivery_picking_id = fields.Many2one("stock.picking", readonly=True, copy=False) + + @property + def has_picking(self): + return self.move_ids or (self.is_delivery and self.delivery_picking_id) + + @property + def is_invoiceable(self): + return ( + self.invoice_status == DOMAIN_INVOICE_STATUSES[1] + and self.qty_to_invoice != 0 + ) + + @property + def is_invoiced(self): + return ( + self.invoice_status != DOMAIN_INVOICE_STATUSES[1] and self.qty_invoiced != 0 + ) + + @property + def need_to_be_invoiced(self): + return self.product_uom_qty != (self.qty_to_invoice + self.qty_invoiced) + + def fix_qty_to_invoice(self, new_qty_to_invoice=0): + self.ensure_one() + + cache = { + "invoice_status": self.invoice_status, + "qty_to_invoice": self.qty_to_invoice, + } + + self.write( + { + "invoice_status": "to invoice" if new_qty_to_invoice else "no", + "qty_to_invoice": new_qty_to_invoice, + } + ) + + return cache + + def is_pickings_related(self, picking_ids): + if self.is_delivery: + return self.delivery_picking_id in picking_ids + + return bool(self.move_ids & picking_ids.mapped("move_lines")) + + def retrieve_pickings_lines(self, picking_ids): + return self.filtered(lambda l: l.has_picking).filtered( + lambda l: l.is_pickings_related(picking_ids) + ) diff --git a/l10n_it_delivery_note/models/stock_delivery_note.py b/l10n_it_delivery_note/models/stock_delivery_note.py new file mode 100644 index 000000000000..e7c433d1a551 --- /dev/null +++ b/l10n_it_delivery_note/models/stock_delivery_note.py @@ -0,0 +1,753 @@ +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta + +import datetime + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + +from ..mixins.picking_checker import DONE_PICKING_STATE, PICKING_TYPES + +DATE_FORMAT = "%d/%m/%Y" +DATETIME_FORMAT = "%d/%m/%Y %H:%M:%S" + +DELIVERY_NOTE_STATES = [ + ("draft", "Draft"), + ("confirm", "Validated"), + ("invoiced", "Invoiced"), + ("done", "Done"), + ("cancel", "Cancelled"), +] +DOMAIN_DELIVERY_NOTE_STATES = [s[0] for s in DELIVERY_NOTE_STATES] + +LINE_DISPLAY_TYPES = [("line_section", "Section"), ("line_note", "Note")] +DOMAIN_LINE_DISPLAY_TYPES = [t[0] for t in LINE_DISPLAY_TYPES] + +DRAFT_EDITABLE_STATE = {"draft": [("readonly", False)]} +DONE_READONLY_STATE = {"done": [("readonly", True)]} + +INVOICE_STATUSES = [ + ("no", "Nothing to invoice"), + ("to invoice", "To invoice"), + ("invoiced", "Fully invoiced"), +] +DOMAIN_INVOICE_STATUSES = [s[0] for s in INVOICE_STATUSES] + + +class StockDeliveryNote(models.Model): + _name = "stock.delivery.note" + _inherit = [ + "mail.thread", + "mail.activity.mixin", + "stock.picking.checker.mixin", + "shipping.information.updater.mixin", + ] + _description = "Delivery Note" + _order = "date DESC, id DESC" + + def _default_company(self): + return self.env.company + + def _default_type(self): + return self.env["stock.delivery.note.type"].search([], limit=1) + + def _default_volume_uom(self): + return self.env.ref("uom.product_uom_litre", raise_if_not_found=False) + + def _domain_volume_uom(self): + uom_category_id = self.env.ref( + "uom.product_uom_categ_vol", raise_if_not_found=False + ) + + return [("category_id", "=", uom_category_id.id)] + + def _default_weight_uom(self): + return self.env.ref("uom.product_uom_kgm", raise_if_not_found=False) + + def _domain_weight_uom(self): + uom_category_id = self.env.ref( + "uom.product_uom_categ_kgm", raise_if_not_found=False + ) + + return [("category_id", "=", uom_category_id.id)] + + active = fields.Boolean(default=True) + name = fields.Char( + string="Name", + readonly=True, + index=True, + copy=False, + tracking=True, + ) + partner_ref = fields.Char( + string="Partner reference", + index=True, + copy=False, + states=DONE_READONLY_STATE, + tracking=True, + ) + + state = fields.Selection( + DELIVERY_NOTE_STATES, + string="State", + copy=False, + default=DOMAIN_DELIVERY_NOTE_STATES[0], + required=True, + tracking=True, + ) + + partner_sender_id = fields.Many2one( + "res.partner", + string="Sender", + states=DRAFT_EDITABLE_STATE, + default=_default_company, + readonly=True, + required=True, + tracking=True, + ) + + partner_id = fields.Many2one( + "res.partner", + string="Recipient", + states=DRAFT_EDITABLE_STATE, + readonly=True, + required=True, + index=True, + tracking=True, + ) + partner_shipping_id = fields.Many2one( + "res.partner", + string="Shipping address", + states=DONE_READONLY_STATE, + required=True, + tracking=True, + ) + + carrier_id = fields.Many2one( + "res.partner", + string="Carrier", + states=DONE_READONLY_STATE, + tracking=True, + ) + delivery_method_id = fields.Many2one( + "delivery.carrier", + string="Delivery method", + states=DONE_READONLY_STATE, + tracking=True, + ) + + date = fields.Date(string="Date", states=DRAFT_EDITABLE_STATE, copy=False) + type_id = fields.Many2one( + "stock.delivery.note.type", + string="Type", + default=_default_type, + states=DRAFT_EDITABLE_STATE, + readonly=True, + required=True, + index=True, + ) + + sequence_id = fields.Many2one("ir.sequence", readonly=True, copy=False) + type_code = fields.Selection( + string="Type of Operation", related="type_id.code", store=True + ) + packages = fields.Integer(string="Packages", states=DONE_READONLY_STATE) + volume = fields.Float(string="Volume", states=DONE_READONLY_STATE) + + volume_uom_id = fields.Many2one( + "uom.uom", + string="Volume UoM", + default=_default_volume_uom, + domain=_domain_volume_uom, + states=DONE_READONLY_STATE, + ) + gross_weight = fields.Float(string="Gross weight", states=DONE_READONLY_STATE) + gross_weight_uom_id = fields.Many2one( + "uom.uom", + string="Gross weight UoM", + default=_default_weight_uom, + domain=_domain_weight_uom, + states=DONE_READONLY_STATE, + ) + net_weight = fields.Float(string="Net weight", states=DONE_READONLY_STATE) + net_weight_uom_id = fields.Many2one( + "uom.uom", + string="Net weight UoM", + default=_default_weight_uom, + domain=_domain_weight_uom, + states=DONE_READONLY_STATE, + ) + + transport_condition_id = fields.Many2one( + "stock.picking.transport.condition", + string="Condition of transport", + states=DONE_READONLY_STATE, + ) + goods_appearance_id = fields.Many2one( + "stock.picking.goods.appearance", + string="Appearance of goods", + states=DONE_READONLY_STATE, + ) + transport_reason_id = fields.Many2one( + "stock.picking.transport.reason", + string="Reason of transport", + states=DONE_READONLY_STATE, + ) + transport_method_id = fields.Many2one( + "stock.picking.transport.method", + string="Method of transport", + states=DONE_READONLY_STATE, + ) + + transport_datetime = fields.Datetime( + string="Transport date", states=DONE_READONLY_STATE + ) + + line_ids = fields.One2many( + "stock.delivery.note.line", "delivery_note_id", string="Lines" + ) + invoice_status = fields.Selection( + INVOICE_STATUSES, + string="Invoice status", + compute="_compute_invoice_status", + default=DOMAIN_INVOICE_STATUSES[0], + readonly=True, + store=True, + copy=False, + ) + + picking_ids = fields.One2many( + "stock.picking", "delivery_note_id", string="Pickings" + ) + pickings_picker = fields.Many2many( + "stock.picking", + compute="_compute_get_pickings", + inverse="_inverse_set_pickings", + ) + + picking_type = fields.Selection( + PICKING_TYPES, + string="Picking type", + compute="_compute_picking_type", + store=True, + ) + + sale_ids = fields.Many2many("sale.order", compute="_compute_sales") + sale_count = fields.Integer(compute="_compute_sales") + sales_transport_check = fields.Boolean(compute="_compute_sales", default=True) + + invoice_ids = fields.Many2many( + "account.move", + "stock_delivery_note_account_invoice_rel", + "delivery_note_id", + "invoice_id", + string="Invoices", + copy=False, + ) + + print_prices = fields.Boolean( + string="Show prices on printed DN", related="type_id.print_prices", store=True + ) + note = fields.Html(string="Internal note", states=DONE_READONLY_STATE) + + can_change_number = fields.Boolean(compute="_compute_boolean_flags") + show_product_information = fields.Boolean(compute="_compute_boolean_flags") + company_id = fields.Many2one("res.company", required=True, default=_default_company) + + @api.depends("name", "partner_id", "partner_ref", "partner_id.display_name") + def name_get(self): + result = [] + for note in self: + if not note.name: + partner_name = note.partner_id.display_name + create_date = note.create_date.strftime(DATETIME_FORMAT) + name = "{} - {}".format(partner_name, create_date) + + else: + name = note.name + + if note.partner_ref and note.type_code == "incoming": + name = "{} ({})".format(name, note.partner_ref) + result.append((note.id, name)) + + return result + + @api.depends("state", "line_ids", "line_ids.invoice_status") + def _compute_invoice_status(self): + for note in self: + lines = note.line_ids.filtered(lambda l: l.sale_line_id) + + if all(line.invoice_status == DOMAIN_INVOICE_STATUSES[2] for line in lines): + note.state = DOMAIN_DELIVERY_NOTE_STATES[2] + note.invoice_status = DOMAIN_INVOICE_STATUSES[2] + + elif any( + line.invoice_status == DOMAIN_INVOICE_STATUSES[1] for line in lines + ): + note.invoice_status = DOMAIN_INVOICE_STATUSES[1] + + else: + note.invoice_status = DOMAIN_INVOICE_STATUSES[0] + + def _compute_get_pickings(self): + for note in self: + note.pickings_picker = note.picking_ids + + def _inverse_set_pickings(self): + for note in self: + if note.pickings_picker: + self.check_compliance(note.pickings_picker) + + note.picking_ids = note.pickings_picker + + @api.depends("picking_ids") + def _compute_picking_type(self): + for note in self.filtered(lambda n: n.picking_ids): + picking_types = set(note.picking_ids.mapped("picking_type_code")) + picking_types = list(picking_types) + + if len(picking_types) != 1: + raise ValueError( + "You have just called this method on an " + "heterogeneous set of pickings.\n" + "All pickings should have the same " + "'picking_type_code' field value." + ) + + note.picking_type = picking_types[0] + + @api.depends("picking_ids") + def _compute_sales(self): + for note in self: + sales = note.mapped("picking_ids.sale_id") + + note.sale_ids = sales + note.sale_count = len(sales) + + tc = sales.mapped("default_transport_condition_id") + ga = sales.mapped("default_goods_appearance_id") + tr = sales.mapped("default_transport_reason_id") + tm = sales.mapped("default_transport_method_id") + note.sales_transport_check = all([len(x) < 2 for x in [tc, ga, tr, tm]]) + + def _compute_boolean_flags(self): + can_change_number = self.user_has_groups( + "l10n_it_delivery_note.can_change_number" + ) + show_product_information = self.user_has_groups( + "l10n_it_delivery_note_base." "show_product_related_fields" + ) + + for note in self: + note.can_change_number = note.state == "draft" and can_change_number + note.show_product_information = show_product_information + + @api.onchange("type_id") + def _onchange_type(self): + if self.type_id: + if self.name and self.type_id.sequence_id != self.sequence_id: + raise UserError( + _( + "You cannot set this delivery note type due" + " of a different numerator configuration." + ) + ) + + if self._update_generic_shipping_information(self.type_id): + return { + "warning": { + "title": _("Warning!"), + "message": "Some of the shipping configuration have " + "been overwritten with" + " the default ones of the selected delivery" + " note type.\n" + "Please, make sure to check this " + "information before continuing.", + } + } + + @api.onchange("partner_id") + def _onchange_partner(self): + self.partner_shipping_id = self.partner_id + + if self.partner_id: + pickings_picker_domain = [ + ("delivery_note_id", "=", False), + ("state", "=", DONE_PICKING_STATE), + ("picking_type_code", "=", self.picking_type), + ("partner_id", "=", self.partner_id.id), + ] + + else: + pickings_picker_domain = [("id", "=", False)] + + return {"domain": {"pickings_picker": pickings_picker_domain}} + + @api.onchange("partner_shipping_id") + def _onchange_partner_shipping(self): + if self.partner_shipping_id: + changed = self._update_partner_shipping_information( + self.partner_shipping_id + ) + + if changed: + return { + "warning": { + "title": _("Warning!"), + "message": "Some of the shipping configuration have " + "been overwritten with" + " the default ones of the selected " + "shipping partner address.\n" + "Please, make sure to check this " + "information before continuing.", + } + } + + else: + self.delivery_method_id = False + + def check_compliance(self, pickings): + super().check_compliance(pickings) + + self._check_delivery_notes(self.pickings_picker - self.picking_ids) + + def ensure_annulability(self): + if self.mapped("invoice_ids"): + raise UserError( + _( + "You cannot cancel this delivery note. " + "There is at least one invoice" + " related to this delivery note." + ) + ) + + def action_draft(self): + self.write({"state": DOMAIN_DELIVERY_NOTE_STATES[0]}) + self.line_ids.sync_invoice_status() + + def action_confirm(self): + for note in self: + sequence = note.type_id.sequence_id + + note.state = DOMAIN_DELIVERY_NOTE_STATES[1] + if not note.date: + note.date = datetime.date.today() + + if not note.name: + note.name = sequence.next_by_id() + note.sequence_id = sequence + + def _fix_quantities_to_invoice(self, lines): + cache = {} + + pickings_lines = lines.retrieve_pickings_lines(self.picking_ids) + other_lines = lines - pickings_lines + + for line in other_lines: + cache[line] = line.fix_qty_to_invoice() + + pickings_move_ids = self.mapped("picking_ids.move_lines") + for line in pickings_lines.filtered(lambda l: len(l.move_ids) > 1): + move_ids = line.move_ids & pickings_move_ids + qty_to_invoice = sum(move_ids.mapped("quantity_done")) + + if qty_to_invoice < (line.product_uom_qty - line.qty_to_invoice): + cache[line] = line.fix_qty_to_invoice(qty_to_invoice) + + return cache + + def action_invoice(self): + self.ensure_one() + + orders_lines = self.mapped("sale_ids.order_line").filtered( + lambda l: l.product_id + ) + + downpayment_lines = orders_lines.filtered(lambda l: l.is_downpayment) + invoiceable_lines = orders_lines.filtered(lambda l: l.is_invoiceable) + + cache = self._fix_quantities_to_invoice(invoiceable_lines - downpayment_lines) + + for downpayment in downpayment_lines: + order = downpayment.order_id + order_lines = order.order_line.filtered( + lambda l: l.product_id and not l.is_downpayment + ) + + if order_lines.filtered(lambda l: l.need_to_be_invoiced): + cache[downpayment] = downpayment.fix_qty_to_invoice() + + self.sale_ids.filtered( + lambda o: o.invoice_status == DOMAIN_INVOICE_STATUSES[1] + )._create_invoices(final=True) + + for line, vals in cache.items(): + line.write(vals) + + orders_lines._get_to_invoice_qty() + + def action_done(self): + self.write({"state": DOMAIN_DELIVERY_NOTE_STATES[3]}) + + def action_cancel(self): + self.ensure_annulability() + + self.write({"state": DOMAIN_DELIVERY_NOTE_STATES[4]}) + + def action_print(self): + return self.env.ref( + "l10n_it_delivery_note." "delivery_note_report_action" + ).report_action(self) + + def update_transport_datetime(self): + self.transport_datetime = datetime.datetime.now() + + def goto(self, **kwargs): + self.ensure_one() + + return { + "type": "ir.actions.act_window", + "res_model": self._name, + "res_id": self.id, + "views": [(False, "form")], + "view_type": "form", + "view_mode": "form", + "target": "current", + **kwargs, + } + + def goto_sales(self, **kwargs): + sales = self.mapped("sale_ids") + action = self.env.ref("sale.action_orders").read()[0] + action.update(kwargs) + + if len(sales) > 1: + action["domain"] = [("id", "in", sales.ids)] + + elif len(sales) == 1: + action["views"] = [(self.env.ref("sale.view_order_form").id, "form")] + action["res_id"] = sales.id + + else: + action = {"type": "ir.actions.act_window_close"} + + return action + + def _create_detail_lines(self, move_ids): + if not move_ids: + return + + moves = self.env["stock.move"].browse(move_ids) + lines_vals = self.env["stock.delivery.note.line"]._prepare_detail_lines(moves) + + self.write({"line_ids": [(0, False, vals) for vals in lines_vals]}) + + def _delete_detail_lines(self, move_ids): + if not move_ids: + return + + lines = self.env["stock.delivery.note.line"].search( + [("move_id", "in", move_ids)] + ) + + self.write({"line_ids": [(2, line.id, False) for line in lines]}) + + def update_detail_lines(self): + for note in self: + lines_move_ids = note.mapped("line_ids.move_id").ids + pickings_move_ids = note.mapped("picking_ids.valid_move_ids").ids + + move_ids_to_create = [ + line for line in pickings_move_ids if line not in lines_move_ids + ] + move_ids_to_delete = [ + line for line in lines_move_ids if line not in pickings_move_ids + ] + + note._create_detail_lines(move_ids_to_create) + note._delete_detail_lines(move_ids_to_delete) + + @api.model + def create(self, vals): + res = super().create(vals) + + if "picking_ids" in vals: + res.update_detail_lines() + + return res + + def write(self, vals): + res = super().write(vals) + + if "picking_ids" in vals: + self.update_detail_lines() + + return res + + def unlink(self): + self.ensure_annulability() + + return super().unlink() + + @api.model + def get_location_address(self, location_id): + location_address = "" + warehouse = self.env["stock.warehouse"].search( + [("lot_stock_id", "=", location_id)] + ) + + if warehouse and warehouse.partner_id: + partner = warehouse.partner_id + + location_address += "{}, ".format(partner.name) + if partner.street: + location_address += "{} - ".format(partner.street) + + location_address += "{} {}".format(partner.zip, partner.city) + if partner.state_id: + location_address += " ({})".format(partner.state_id.name) + + return location_address + + +class StockDeliveryNoteLine(models.Model): + _name = "stock.delivery.note.line" + _description = "Delivery Note Line" + _order = "sequence, id" + + def _default_currency(self): + return self.env.company.currency_id + + def _default_unit_uom(self): + return self.env.ref("uom.product_uom_unit", raise_if_not_found=False) + + delivery_note_id = fields.Many2one( + "stock.delivery.note", string="Delivery Note", required=True, ondelete="cascade" + ) + + sequence = fields.Integer(string="Sequence", required=True, default=10, index=True) + name = fields.Text(string="Description", required=True) + display_type = fields.Selection( + LINE_DISPLAY_TYPES, string="Line type", default=False + ) + product_id = fields.Many2one("product.product", string="Product") + product_description = fields.Text(related="product_id.description_sale") + product_qty = fields.Float( + string="Quantity", + digits="Product Unit of Measure", + default=1.0, + ) + product_uom_id = fields.Many2one("uom.uom", string="UoM", default=_default_unit_uom) + price_unit = fields.Monetary( + string="Unit price", + currency_field="currency_id", + digits="Product Price", + ) + currency_id = fields.Many2one( + "res.currency", string="Currency", required=True, default=_default_currency + ) + discount = fields.Float(string="Discount", digits="Discount") + tax_ids = fields.Many2many("account.tax", string="Taxes") + + move_id = fields.Many2one( + "stock.move", string="Warehouse movement", readonly=True, copy=False + ) + sale_line_id = fields.Many2one( + "sale.order.line", related="move_id.sale_line_id", store=True, copy=False + ) + invoice_status = fields.Selection( + INVOICE_STATUSES, + string="Invoice status", + required=True, + default=DOMAIN_INVOICE_STATUSES[0], + copy=False, + ) + + _sql_constraints = [ + ( + "move_uniq", + "unique(move_id)", + "You cannot assign the same warehouse movement to " + "different delivery notes!", + ) + ] + + @property + def is_invoiceable(self): + return self.invoice_status == DOMAIN_INVOICE_STATUSES[1] + + @api.onchange("product_id") + def _onchange_product_id(self): + if self.product_id: + domain = [("category_id", "=", self.product_id.uom_id.category_id.id)] + self.name = self.product_id.get_product_multiline_description_sale() + + else: + domain = [] + + return {"domain": {"product_uom_id": domain}} + + @api.model + def _prepare_detail_lines(self, moves): + lines = [] + for move in moves: + line = { + "move_id": move.id, + "name": move.name, + "product_id": move.product_id.id, + "product_qty": move.product_uom_qty, + "product_uom_id": move.product_uom.id, + } + + if move.sale_line_id: + order_line = move.sale_line_id + order = order_line.order_id + + line["price_unit"] = order_line.price_unit + line["currency_id"] = order.currency_id.id + line["discount"] = order_line.discount + line["tax_ids"] = [(6, False, order_line.tax_id.ids)] + line["invoice_status"] = DOMAIN_INVOICE_STATUSES[1] + + lines.append(line) + + return lines + + @api.model + def create(self, vals): + if vals.get("display_type"): + vals.update( + { + "product_id": False, + "product_qty": 0.0, + "product_uom_id": False, + "price_unit": 0.0, + "discount": 0.0, + "tax_ids": [(5, False, False)], + } + ) + + return super().create(vals) + + def write(self, vals): + if "display_type" in vals and self.filtered( + lambda l: l.display_type != vals["display_type"] + ): + raise UserError( + _( + "You cannot change the type of a delivery note line. " + "Instead you should delete the current line" + " and create a new line of the proper type." + ) + ) + + return super().write(vals) + + def sync_invoice_status(self): + for line in self.filtered(lambda l: l.sale_line_id): + invoice_status = line.sale_line_id.invoice_status + line.invoice_status = ( + DOMAIN_INVOICE_STATUSES[1] + if invoice_status == "upselling" + else invoice_status + ) diff --git a/l10n_it_delivery_note/models/stock_picking.py b/l10n_it_delivery_note/models/stock_picking.py new file mode 100644 index 000000000000..2298a4655a68 --- /dev/null +++ b/l10n_it_delivery_note/models/stock_picking.py @@ -0,0 +1,368 @@ +# Copyright 2014-2019 Dinamiche Aziendali srl +# (http://www.dinamicheaziendali.it/) +# @author: Marco Calcagni +# @author: Gianmarco Conte +# Copyright (c) 2019, Link IT Europe Srl +# @author: Matteo Bilotta +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + +from ..mixins.picking_checker import DOMAIN_PICKING_TYPES, DONE_PICKING_STATE +from .stock_delivery_note import DOMAIN_DELIVERY_NOTE_STATES + +CANCEL_MOVE_STATE = "cancel" + + +class StockPicking(models.Model): + _name = "stock.picking" + _inherit = ["stock.picking", "shipping.information.updater.mixin"] + + delivery_note_id = fields.Many2one( + "stock.delivery.note", string="Delivery Note", copy=False + ) + delivery_note_sequence_id = fields.Many2one( + "ir.sequence", related="delivery_note_id.sequence_id" + ) + delivery_note_state = fields.Selection( + string="DN State", related="delivery_note_id.state" + ) + delivery_note_partner_ref = fields.Char(related="delivery_note_id.partner_ref") + delivery_note_partner_shipping_id = fields.Many2one( + "res.partner", related="delivery_note_id.partner_shipping_id" + ) + + delivery_note_carrier_id = fields.Many2one( + "res.partner", string="DN Carrier", related="delivery_note_id.carrier_id" + ) + delivery_method_id = fields.Many2one( + "delivery.carrier", related="delivery_note_id.delivery_method_id" + ) + + delivery_note_type_id = fields.Many2one( + "stock.delivery.note.type", related="delivery_note_id.type_id" + ) + delivery_note_type_code = fields.Selection(related="delivery_note_type_id.code") + delivery_note_date = fields.Date(string="DN Date", related="delivery_note_id.date") + delivery_note_note = fields.Html(related="delivery_note_id.note") + + transport_condition_id = fields.Many2one( + "stock.picking.transport.condition", + related="delivery_note_id.transport_condition_id", + ) + goods_appearance_id = fields.Many2one( + "stock.picking.goods.appearance", related="delivery_note_id.goods_appearance_id" + ) + transport_reason_id = fields.Many2one( + "stock.picking.transport.reason", related="delivery_note_id.transport_reason_id" + ) + transport_method_id = fields.Many2one( + "stock.picking.transport.method", related="delivery_note_id.transport_method_id" + ) + + transport_datetime = fields.Datetime(related="delivery_note_id.transport_datetime") + + packages = fields.Integer(string="DN Packages", related="delivery_note_id.packages") + delivery_note_volume = fields.Float( + string="DN Volume", related="delivery_note_id.volume" + ) + delivery_note_volume_uom_id = fields.Many2one( + "uom.uom", related="delivery_note_id.volume_uom_id" + ) + gross_weight = fields.Float(related="delivery_note_id.gross_weight") + gross_weight_uom_id = fields.Many2one( + "uom.uom", related="delivery_note_id.gross_weight_uom_id" + ) + net_weight = fields.Float(related="delivery_note_id.net_weight") + net_weight_uom_id = fields.Many2one( + "uom.uom", related="delivery_note_id.net_weight_uom_id" + ) + + valid_move_ids = fields.One2many( + "stock.move", "picking_id", domain=[("state", "!=", CANCEL_MOVE_STATE)] + ) + picking_type_code = fields.Selection( + string="DN Operation Type", related="picking_type_id.code" + ) + + use_delivery_note = fields.Boolean(compute="_compute_boolean_flags") + use_advanced_behaviour = fields.Boolean(compute="_compute_boolean_flags") + delivery_note_exists = fields.Boolean(compute="_compute_boolean_flags") + delivery_note_draft = fields.Boolean(compute="_compute_boolean_flags") + delivery_note_readonly = fields.Boolean(compute="_compute_boolean_flags") + delivery_note_visible = fields.Boolean(compute="_compute_boolean_flags") + can_be_invoiced = fields.Boolean(compute="_compute_boolean_flags") + + @property + def _delivery_note_fields(self): + from collections import OrderedDict + + fields = OrderedDict( + { + key: field + for key, field in self._fields.items() + if field.related and field.related[0] == "delivery_note_id" + } + ) + + type(self)._delivery_note_fields = fields + + return fields + + def _compute_boolean_flags(self): + from_delivery_note = self.env.context.get("from_delivery_note") + use_advanced_behaviour = self.user_has_groups( + "l10n_it_delivery_note." "use_advanced_delivery_notes" + ) + + for picking in self: + picking.use_delivery_note = ( + not from_delivery_note and picking.state == DONE_PICKING_STATE + ) + + picking.delivery_note_visible = use_advanced_behaviour + picking.use_advanced_behaviour = use_advanced_behaviour + + picking.delivery_note_draft = False + picking.delivery_note_readonly = True + picking.delivery_note_exists = False + picking.can_be_invoiced = False + + if picking.use_delivery_note and picking.delivery_note_id: + picking.delivery_note_exists = True + picking.delivery_note_draft = ( + picking.delivery_note_id.state == DOMAIN_DELIVERY_NOTE_STATES[0] + ) + picking.delivery_note_readonly = ( + picking.delivery_note_id.state == DOMAIN_DELIVERY_NOTE_STATES[3] + ) + picking.can_be_invoiced = bool(picking.delivery_note_id.sale_ids) + + @api.onchange("delivery_note_type_id") + def _onchange_delivery_note_type(self): + if self.delivery_note_type_id: + if ( + self.delivery_note_id.name + and self.delivery_note_type_id.sequence_id + != self.delivery_note_sequence_id + ): + raise UserError( + _( + "You cannot set this delivery note type due" + " of a different numerator configuration." + ) + ) + + if self._update_generic_shipping_information(self.delivery_note_type_id): + return { + "warning": { + "title": _("Warning!"), + "message": "Some of the shipping configuration have " + "been overwritten with" + " the default ones of the selected " + "delivery note type.\n" + "Please, make sure to check this " + "information before continuing.", + } + } + + @api.onchange("delivery_note_partner_shipping_id") + def _onchange_delivery_note_partner_shipping(self): + if self.delivery_note_partner_shipping_id: + changed = self._update_partner_shipping_information( + self.delivery_note_partner_shipping_id + ) + + if changed: + return { + "warning": { + "title": _("Warning!"), + "message": "Some of the shipping configuration have " + "been overwritten with" + " the default ones of the selected shipping" + " partner address.\n" + "Please, make sure to check this " + "information before continuing.", + } + } + + else: + self.delivery_method_id = False + + def _add_delivery_cost_to_so(self): + self.ensure_one() + + super( + StockPicking, self.with_context(default_delivery_picking_id=self.id) + )._add_delivery_cost_to_so() + + def action_delivery_note_create(self): + self.ensure_one() + + return { + "name": _("Create a new delivery note"), + "type": "ir.actions.act_window", + "res_model": "stock.delivery.note.create.wizard", + "view_type": "form", + "view_mode": "form", + "target": "new", + "context": {"active_ids": self.ids}, + } + + def action_delivery_note_select(self): + self.ensure_one() + + return { + "name": _("Select an existing delivery note"), + "type": "ir.actions.act_window", + "res_model": "stock.delivery.note.select.wizard", + "view_type": "form", + "view_mode": "form", + "target": "new", + "context": {"active_ids": self.ids}, + } + + def action_delivery_note_draft(self): + self.ensure_one() + + return self.delivery_note_id.action_draft() + + def action_delivery_note_confirm(self): + self.ensure_one() + + return self.delivery_note_id.action_confirm() + + def action_delivery_note_invoice(self): + self.ensure_one() + + return self.delivery_note_id.action_invoice() + + def action_delivery_note_done(self): + self.ensure_one() + + return self.delivery_note_id.action_done() + + def action_delivery_note_cancel(self): + self.ensure_one() + + return self.delivery_note_id.action_cancel() + + def action_delivery_note_print(self): + self.ensure_one() + + return self.delivery_note_id.action_print() + + def action_done(self): + res = super().action_done() + codes = self.mapped("picking_type_code") + + if all( + code != DOMAIN_PICKING_TYPES[0] for code in codes + ) and not self.user_has_groups( + "l10n_it_delivery_note." "use_advanced_delivery_notes" + ): + partners = self.get_partners() + delivery_note = self.env["stock.delivery.note"].create( + { + "partner_sender_id": partners[0].id, + "partner_id": partners[1].id, + "partner_shipping_id": partners[1].id, + } + ) + + self.write({"delivery_note_id": delivery_note.id}) + + return res + + def delivery_note_update_transport_datetime(self): + self.delivery_note_id.update_transport_datetime() + + def get_partners(self): + partner_id = self.mapped("partner_id") + + if len(partner_id) != 1 and self.location_dest_id.usage == "customer": + raise ValueError( + "You have just called this method on an heterogeneous set " + "of pickings.\n" + "All pickings should have the same 'partner_id' field value." + ) + + src_location_id = self.mapped("location_id") + + if len(src_location_id) != 1: + raise ValueError( + "You have just called this method on an heterogeneous set " + "of pickings.\n" + "All pickings should have the same 'location_id' field value." + ) + + dest_location_id = self.mapped("location_dest_id") + + if len(dest_location_id) != 1: + raise ValueError( + "You have just called this method on an heterogeneous " + "set of pickings.\n" + "All pickings should have the same 'location_dest_id' " + "field value." + ) + + src_warehouse_id = src_location_id.get_warehouse() + dest_warehouse_id = dest_location_id.get_warehouse() + + src_partner_id = src_warehouse_id.partner_id + dest_partner_id = dest_warehouse_id.partner_id + + if not src_partner_id: + src_partner_id = partner_id + + if not dest_partner_id: + raise ValueError( + "Fields 'src_partner_id' and 'dest_partner_id' " + "cannot be both unset." + ) + + elif not dest_partner_id: + dest_partner_id = partner_id + + return (src_partner_id, dest_partner_id) + + def goto(self, **kwargs): + self.ensure_one() + + return { + "type": "ir.actions.act_window", + "res_model": self._name, + "res_id": self.id, + "views": [(False, "form")], + "view_type": "form", + "view_mode": "form", + "target": "current", + **kwargs, + } + + def goto_delivery_note(self, **kwargs): + return self.delivery_note_id.goto(**kwargs) + + def update_delivery_note_fields(self, vals): + note_fields = self._delivery_note_fields + + if any(key in note_fields for key in vals.keys()): + delivery_note_vals = { + note_fields[key].related[1]: value + for key, value in vals.items() + if key in note_fields + } + + self.mapped("delivery_note_id").write(delivery_note_vals) + + def write(self, vals): + res = super().write(vals) + + if self.mapped("delivery_note_id"): + self.update_delivery_note_fields(vals) + + if "delivery_note_id" in vals: + self.mapped("delivery_note_id").update_detail_lines() + + return res diff --git a/l10n_it_delivery_note/readme/CONFIGURE.rst b/l10n_it_delivery_note/readme/CONFIGURE.rst new file mode 100644 index 000000000000..b5a314532cde --- /dev/null +++ b/l10n_it_delivery_note/readme/CONFIGURE.rst @@ -0,0 +1,18 @@ +To configure this module, go to: + +1. *Inventory → Configuration → Settings - Delivery Notes* + + Checking 'Use Advanced DN Features' allows you to manage more picking on one delivery note. + +2. *Inventory → Configuration → Warehouse Management → Delivery Note Types* + + In delivery note type you can specify if the product price have to be printed in the delivery note report/slip. + + - *Inventory → Configuration → Delivery Notes → Conditions of Transport* + - *Inventory → Configuration → Delivery Notes → Appearances of Goods* + - *Inventory → Configuration → Delivery Notes → Reasons of Transport* + - *Inventory → Configuration → Delivery Notes → Methods of Transport* + +3. *Settings → User & Companies → Users* + + In the user profile settings, "Show product information in DN lines" allows showing prices in the form. diff --git a/l10n_it_delivery_note/readme/CONTRIBUTORS.rst b/l10n_it_delivery_note/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..efb25ead1c1c --- /dev/null +++ b/l10n_it_delivery_note/readme/CONTRIBUTORS.rst @@ -0,0 +1,8 @@ +* Riccardo Bellanova +* Matteo Bilotta +* Giuseppe Borruso +* Marco Calcagni +* Marco Colombo +* Gianmarco Conte +* Letizia Freda +* Andrea Piovesana diff --git a/l10n_it_delivery_note/readme/DESCRIPTION.rst b/l10n_it_delivery_note/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..89f3ff685b44 --- /dev/null +++ b/l10n_it_delivery_note/readme/DESCRIPTION.rst @@ -0,0 +1,30 @@ +**English** + +This module manage the Italian DDT (Delivery note). + +From a picking is possible to generate a Delivery Note and group more picking in one delivery note. It's also possible to invoice from the delivery note form. + +This module is alternative to :code:`l10n_it_ddt`, it follows the Odoo way to process sale orders, pickings and invoices. + +You can't have both :code:`l10n_it_ddt` and :code:`l10n_it_delivery_note` installed together. + +There are two available settings: + +- Base (default): one picking, one DN. +- Advanced: more picking in one DN. + + +**Italiano** + +Questo modulo consente di gestire i DDT. + +Da un prelievo è possibile generare un DDT e raggruppare più prelievi in un DDT. È anche possibile fatturare dalla scheda del DDT. + +Questo modulo è un alternativa al modulo :code:`l10n_it_ddt`, segue la modalità Odoo di gestire ordini di vendita, prelievi e fatture. + +Non è possibile avere installati contemporaneamente :code:`l10n_it_ddt` e :code:`l10n_it_delivery_note`. + +Ci sono due impostazioni possibili. + +- Base (predefinita): un prelievo, un DDT. +- Avanzata: più prelievi in un DDT. diff --git a/l10n_it_delivery_note/readme/USAGE.rst b/l10n_it_delivery_note/readme/USAGE.rst new file mode 100644 index 000000000000..d7c2461cd1cf --- /dev/null +++ b/l10n_it_delivery_note/readme/USAGE.rst @@ -0,0 +1,62 @@ +Funzionalità base +~~~~~~~~~~~~~~~~~ + +Quando un prelievo viene validato compare una scheda DDT. + +Nella scheda fare clic su "Crea nuovo", si apre un procedura guidata dove scegliere il tipo di DDT, quindi confermare. Immettere i dati richiesti e poi fare clic su "Valida" per numerare il DDT. + +Una volta validato, è possibile emettere fattura direttamente dal DDT se il DDT stesso è di tipo consegna a cliente (In uscita) e si hanno i permessi sull'utente. + +È possibile annullare il DDT, reimpostarlo a bozza e poi modificarlo. Se il DDT è fatturato il numero e la data non sono modificabili. + +Per i trasferimenti tra magazzini creare un prelievo di tipo interno con le relative ubicazioni. Validare il prelievo visualizza la scheda DDT. + +È possibile anche avere DDT in ingresso, ovvero dopo la validazione del prelievo selezionare la scheda per indicare il numero del DDT fornitore e la data. + +Funzionalità avanzata +~~~~~~~~~~~~~~~~~~~~~ + +Vengono attivate varie funzionalità aggiuntive: + +- più prelievi per un DDT +- selezione multipla di prelievi e generazione dei DDT +- aggiunta righe nota e righe sezione descrittive. +- lista dei DDT. + +Il report DDT stampa in righe aggiuntive i lotti/seriali e le scadenze del prodotto. + +Il prezzo può essere indicato anche nel report DDT se nel tipo DDT è indicata la stampa prezzi. +La visibilità dei prezzi si trova nei permessi dell'utente. + +Le fatture generate dai DDT contengono i riferimenti al DDT stesso nelle righe nota. + + +Migrazione dei dati da *l10n_it_ddt* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Il modulo presenta una funzione di migrazione dei dati dal modulo OCA *l10n_it_ddt* da eseguire manualmente. +Al momento, non è ancora presente un menù oppure una voce da interfaccia che permetta di eseguire questa operazione; bensì, è stato definito un comando da CLI da eseguire all’avvio di Odoo. +Di seguito, una piccola lista di passi da seguire per portare a termine la migrazione: + +1. Eseguire un back-up del database. + + Questa procedura di migrazione dei dati è stata sì sviluppata e testata, MA solamente per un numero limitato di casi. + NON è consigliata in alcun modo come funzionalità production-ready. + +2. Installare il modulo *l10n_it_delivery_note* SENZA prima disinstallare il modulo OCA *l10n_it_ddt*. + + N.B.: NON iniziare ad usare il modulo *l10n_it_delivery_note* senza aver prima migrato i dati. + Potrebbero verificarsi, in prima battuta, problemi legati alla numerazione dei documenti creati. + Inoltre, la procedura di migrazione stessa è progettata affinché verifichi che non siano presenti documenti di *l10n_it_delivery_note*; qualora ne rilevi alcuni, si interromperà non eseguendo alcuna migrazione. + +3. Terminata l’installazione del modulo, terminare in sicurezza il processo di Odoo. + +4. Lanciare Odoo, nella maniera in cui si è soliti fare, aggiungendo alcuni parametri al comando d’avvio: + + `./odoo-bin migrate_ddt_data --database [...]` + +5. Una volta terminata l’esecuzione della procedura, verificare che tutti i documenti siano stati migrati con successo e nel modo atteso. + +6. Verificata l’esattezza dei dati migrati, disinstallare il modulo *l10n_it_ddt*. + +È possibile iniziare ad utilizzare *l10n_it_delivery_note*. diff --git a/l10n_it_delivery_note/report/report_delivery_note.xml b/l10n_it_delivery_note/report/report_delivery_note.xml new file mode 100644 index 000000000000..aee50fcab327 --- /dev/null +++ b/l10n_it_delivery_note/report/report_delivery_note.xml @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + Delivery Note + stock.delivery.note + qweb-pdf + l10n_it_delivery_note.delivery_note_report_main_template + l10n_it_delivery_note.delivery_note_report_main_template + 'Delivery Note - %s' % object.display_name + + + report + + + diff --git a/l10n_it_delivery_note/security/ir.model.access.csv b/l10n_it_delivery_note/security/ir.model.access.csv new file mode 100644 index 000000000000..861c6f261a18 --- /dev/null +++ b/l10n_it_delivery_note/security/ir.model.access.csv @@ -0,0 +1,18 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_picking_goods_appearance_manager,stock.picking.goods.appearance manager,l10n_it_delivery_note_base.model_stock_picking_goods_appearance,stock.group_stock_manager,1,1,1,1 +access_stock_picking_goods_appearance_user,stock.picking.goods.appearance user,l10n_it_delivery_note_base.model_stock_picking_goods_appearance,base.group_user,1,0,0,0 +access_stock_picking_transport_condition_manager,stock.picking.transport.condition manager,l10n_it_delivery_note_base.model_stock_picking_transport_condition,stock.group_stock_manager,1,1,1,1 +access_stock_picking_transport_condition_user,stock.picking.transport.condition user,l10n_it_delivery_note_base.model_stock_picking_transport_condition,base.group_user,1,0,0,0 +access_stock_picking_transport_reason_manager,stock.picking.transport.reason manager,l10n_it_delivery_note_base.model_stock_picking_transport_reason,stock.group_stock_manager,1,1,1,1 +access_stock_picking_transport_reason_user,stock.picking.transport.reason user,l10n_it_delivery_note_base.model_stock_picking_transport_reason,base.group_user,1,0,0,0 +access_stock_picking_transport_method_manager,stock.picking.transport.method manager,l10n_it_delivery_note_base.model_stock_picking_transport_method,stock.group_stock_manager,1,1,1,1 +access_stock_picking_transport_method_user,stock.picking.transport.method user,l10n_it_delivery_note_base.model_stock_picking_transport_method,base.group_user,1,0,0, +access_stock_delivery_note_user,access_stock_delivery_note user,model_stock_delivery_note,stock.group_stock_user,1,1,1,1 +access_stock_delivery_note_manager,access_stock_delivery_note manager,model_stock_delivery_note,stock.group_stock_manager,1,1,1,1 +access_stock_delivery_note_line_user,access_stock_delivery_note_line user,model_stock_delivery_note_line,stock.group_stock_user,1,0,0,0 +access_stock_delivery_note_line_manager,access_stock_delivery_note_line manager,model_stock_delivery_note_line,stock.group_stock_manager,1,1,1,1 +access_stock_delivery_note_type_user,access_stock_delivery_note_type user,l10n_it_delivery_note_base.model_stock_delivery_note_type,stock.group_stock_user,1,0,0,0 +access_stock_delivery_note_type_manager,access_stock_delivery_note_type manager,l10n_it_delivery_note_base.model_stock_delivery_note_type,stock.group_stock_manager,1,1,1,1 +access_stock_delivery_note_create_wizard_manager,access_stock_delivery_note_create_wizard manager,l10n_it_delivery_note.model_stock_delivery_note_create_wizard,l10n_it_delivery_note.use_advanced_delivery_notes,1,1,1,1 +access_stock_delivery_note_select_wizard_manager,access_stock_delivery_note_select_wizard manager,l10n_it_delivery_note.model_stock_delivery_note_select_wizard,l10n_it_delivery_note.use_advanced_delivery_notes,1,1,1,1 +access_stock_delivery_note_base_wizard_manager,access_stock_delivery_note_base_wizard manager,l10n_it_delivery_note.model_stock_delivery_note_base_wizard,l10n_it_delivery_note.use_advanced_delivery_notes,1,1,1,1 diff --git a/l10n_it_delivery_note/security/ir_rule.xml b/l10n_it_delivery_note/security/ir_rule.xml new file mode 100644 index 000000000000..f6bb7d702b5e --- /dev/null +++ b/l10n_it_delivery_note/security/ir_rule.xml @@ -0,0 +1,16 @@ + + + + + + Delivery note type multi-company + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + + + diff --git a/l10n_it_delivery_note/security/res_groups.xml b/l10n_it_delivery_note/security/res_groups.xml new file mode 100644 index 000000000000..bab6cedc0322 --- /dev/null +++ b/l10n_it_delivery_note/security/res_groups.xml @@ -0,0 +1,21 @@ + + + + + + Use Advanced DN Features + + + + + Allow to change delivery note number + + + + diff --git a/l10n_it_delivery_note/security/res_users.xml b/l10n_it_delivery_note/security/res_users.xml new file mode 100644 index 000000000000..2d4f27d79d63 --- /dev/null +++ b/l10n_it_delivery_note/security/res_users.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/l10n_it_delivery_note/static/description/icon.jpg b/l10n_it_delivery_note/static/description/icon.jpg new file mode 100644 index 000000000000..76e120ceb5b8 Binary files /dev/null and b/l10n_it_delivery_note/static/description/icon.jpg differ diff --git a/l10n_it_delivery_note/static/description/icon.png b/l10n_it_delivery_note/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/l10n_it_delivery_note/static/description/icon.png differ diff --git a/l10n_it_delivery_note/static/description/index.html b/l10n_it_delivery_note/static/description/index.html new file mode 100644 index 000000000000..68fbc191917a --- /dev/null +++ b/l10n_it_delivery_note/static/description/index.html @@ -0,0 +1,530 @@ + + + + + + +ITA - Documento di trasporto + + + +
+

ITA - Documento di trasporto

+ + +

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

English

+

This module manage the Italian DDT (Delivery note).

+

From a picking is possible to generate a Delivery Note and group more picking in one delivery note. It’s also possible to invoice from the delivery note form.

+

This module is alternative to l10n_it_ddt, it follows the Odoo way to process sale orders, pickings and invoices.

+

You can’t have both l10n_it_ddt and l10n_it_delivery_note installed together.

+

There are two available settings:

+
    +
  • Base (default): one picking, one DN.
  • +
  • Advanced: more picking in one DN.
  • +
+

Italiano

+

Questo modulo consente di gestire i DDT.

+

Da un prelievo è possibile generare un DDT e raggruppare più prelievi in un DDT. È anche possibile fatturare dalla scheda del DDT.

+

Questo modulo è un alternativa al modulo l10n_it_ddt, segue la modalità Odoo di gestire ordini di vendita, prelievi e fatture.

+

Non è possibile avere installati contemporaneamente l10n_it_ddt e l10n_it_delivery_note.

+

Ci sono due impostazioni possibili.

+
    +
  • Base (predefinita): un prelievo, un DDT.
  • +
  • Avanzata: più prelievi in un DDT.
  • +
+

Table of contents

+ +
+

Configuration

+

To configure this module, go to:

+
    +
  1. Inventory → Configuration → Settings - Delivery Notes

    +

    Checking ‘Use Advanced DN Features’ allows you to manage more picking on one delivery note.

    +
  2. +
  3. Inventory → Configuration → Warehouse Management → Delivery Note Types

    +

    In delivery note type you can specify if the product price have to be printed in the delivery note report/slip.

    +
      +
    • Inventory → Configuration → Delivery Notes → Conditions of Transport
    • +
    • Inventory → Configuration → Delivery Notes → Appearances of Goods
    • +
    • Inventory → Configuration → Delivery Notes → Reasons of Transport
    • +
    • Inventory → Configuration → Delivery Notes → Methods of Transport
    • +
    +
  4. +
  5. Settings → User & Companies → Users

    +

    In the user profile settings, “Show product information in DN lines” allows showing prices in the form.

    +
  6. +
+
+
+

Usage

+
+

Funzionalità base

+

Quando un prelievo viene validato compare una scheda DDT.

+

Nella scheda fare clic su “Crea nuovo”, si apre un procedura guidata dove scegliere il tipo di DDT, quindi confermare. Immettere i dati richiesti e poi fare clic su “Valida” per numerare il DDT.

+

Una volta validato, è possibile emettere fattura direttamente dal DDT se il DDT stesso è di tipo consegna a cliente (In uscita) e si hanno i permessi sull’utente.

+

È possibile annullare il DDT, reimpostarlo a bozza e poi modificarlo. Se il DDT è fatturato il numero e la data non sono modificabili.

+

Per i trasferimenti tra magazzini creare un prelievo di tipo interno con le relative ubicazioni. Validare il prelievo visualizza la scheda DDT.

+

È possibile anche avere DDT in ingresso, ovvero dopo la validazione del prelievo selezionare la scheda per indicare il numero del DDT fornitore e la data.

+
+
+

Funzionalità avanzata

+

Vengono attivate varie funzionalità aggiuntive:

+
    +
  • più prelievi per un DDT
  • +
  • selezione multipla di prelievi e generazione dei DDT
  • +
  • aggiunta righe nota e righe sezione descrittive.
  • +
  • lista dei DDT.
  • +
+

Il report DDT stampa in righe aggiuntive i lotti/seriali e le scadenze del prodotto.

+

Il prezzo può essere indicato anche nel report DDT se nel tipo DDT è indicata la stampa prezzi. +La visibilità dei prezzi si trova nei permessi dell’utente.

+

Le fatture generate dai DDT contengono i riferimenti al DDT stesso nelle righe nota.

+
+
+

Migrazione dei dati da l10n_it_ddt

+

Il modulo presenta una funzione di migrazione dei dati dal modulo OCA l10n_it_ddt da eseguire manualmente. +Al momento, non è ancora presente un menù oppure una voce da interfaccia che permetta di eseguire questa operazione; bensì, è stato definito un comando da CLI da eseguire all’avvio di Odoo. +Di seguito, una piccola lista di passi da seguire per portare a termine la migrazione:

+
    +
  1. Eseguire un back-up del database.

    +

    Questa procedura di migrazione dei dati è stata sì sviluppata e testata, MA solamente per un numero limitato di casi. +NON è consigliata in alcun modo come funzionalità production-ready.

    +
  2. +
  3. Installare il modulo l10n_it_delivery_note SENZA prima disinstallare il modulo OCA l10n_it_ddt.

    +

    N.B.: NON iniziare ad usare il modulo l10n_it_delivery_note senza aver prima migrato i dati. +Potrebbero verificarsi, in prima battuta, problemi legati alla numerazione dei documenti creati. +Inoltre, la procedura di migrazione stessa è progettata affinché verifichi che non siano presenti documenti di l10n_it_delivery_note; qualora ne rilevi alcuni, si interromperà non eseguendo alcuna migrazione.

    +
  4. +
  5. Terminata l’installazione del modulo, terminare in sicurezza il processo di Odoo.

    +
  6. +
  7. Lanciare Odoo, nella maniera in cui si è soliti fare, aggiungendo alcuni parametri al comando d’avvio:

    +

    ./odoo-bin migrate_ddt_data –database <nome_database> […]

    +
  8. +
  9. Una volta terminata l’esecuzione della procedura, verificare che tutti i documenti siano stati migrati con successo e nel modo atteso.

    +
  10. +
  11. Verificata l’esattezza dei dati migrati, disinstallare il modulo l10n_it_ddt.

    +
  12. +
+

È possibile iniziare ad utilizzare l10n_it_delivery_note.

+
+
+
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Marco Calcagni
  • +
  • Gianmarco Conte
  • +
  • Link IT Europe Srl
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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

+

Current maintainers:

+

As400it Byloth

+

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

+

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

+
+
+
+ + diff --git a/l10n_it_delivery_note/static/src/scss/stock_delivery_note.scss b/l10n_it_delivery_note/static/src/scss/stock_delivery_note.scss new file mode 100644 index 000000000000..6182e8d15e85 --- /dev/null +++ b/l10n_it_delivery_note/static/src/scss/stock_delivery_note.scss @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2019, Link IT Europe Srl + * @author: Matteo Bilotta + */ + +.o_form_view .o_notebook > .tab-content > .tab-pane { + & > .no-margin-page-content { + margin-bottom: -46px; + margin-left: -16px; + margin-right: -16px; + margin-top: -16px; + + min-height: 83px; + + & > .header { + border-bottom: 1px solid #ced4da; + border-top: 1px solid #ced4da; + display: flex; + margin-top: -17px; + min-height: 34px; + padding-left: 16px; + + & > div > .btn, + & > div > div > .btn { + margin: 4px 3px 4px 0px; + min-height: 25px; + padding-bottom: 2px; + padding-top: 2px; + } + + & > .statusbar_status { + align-content: space-around; + align-items: center; + align-self: stretch; + display: flex; + flex-flow: row-reverse wrap-reverse; + margin-bottom: 0px; + margin-left: auto; + overflow: hidden; + + & > .arrow_button { + background-color: #ffffff; + border-left: 1px solid #dee2e6; + border-radius: 0; + border-width: 0 0 0; + color: #adb5bd; + cursor: default; + font-size: 11px; + font-weight: bold; + margin: 0px; + min-height: 33px; + opacity: 1; + padding-left: 22px; + pointer-events: none; + position: relative; + transition: all 0.1s ease 0s; + + &:not(:first-child):before, + &:not(:first-child):after { + border-bottom: 17px solid transparent; + border-left: 11px solid white; + border-right: none; + border-top: 16px solid transparent; + bottom: auto; + content: " "; + display: block; + left: auto; + position: absolute; + right: -10px; + transition: border 0.2s ease 0s; + top: 0; + } + &:not(:first-child):before { + border-left-color: #dee2e6; + right: -11px; + } + + &.first_arrow { + padding-left: 15px; + border-left: 1px solid #ced4da; + } + + &.active { + background-color: #e9ecef; + color: #7c7bad; + + &:after { + border-left-color: #e9ecef; + } + } + } + } + } + & > .content { + box-shadow: inset 0px 5px 10px -4px rgba(0, 0, 0, 0.1); + padding: 16px; + + & > :first-child { + margin-top: 0; + + &.o_field_x2many.o_field_x2many_list tr > :first-child, + &.o_field_x2many.o_field_x2many_list tr > :first-child .o_input { + padding-left: 16px; + } + } + } + } +} + +.btn, +.o_icon_button { + &.fa { + font-family: FontAwesome, Roboto, sans-serif; + } + + & > .fa:not(:last-child):before { + margin-right: 0.5em; + } +} + +table.o_list_view tr.o_data_row > td.o_list_button { + padding-left: 16px !important; + width: 1px; + + & > button.o_icon_button > .fa:before { + margin: 0px; + } +} diff --git a/l10n_it_delivery_note/tests/__init__.py b/l10n_it_delivery_note/tests/__init__.py new file mode 100644 index 000000000000..e1f46a858e91 --- /dev/null +++ b/l10n_it_delivery_note/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_delivery_note_invoicing diff --git a/l10n_it_delivery_note/tests/test_stock_delivery_note_invoicing.py b/l10n_it_delivery_note/tests/test_stock_delivery_note_invoicing.py new file mode 100644 index 000000000000..e212072b0cd5 --- /dev/null +++ b/l10n_it_delivery_note/tests/test_stock_delivery_note_invoicing.py @@ -0,0 +1,1346 @@ +from datetime import datetime, timedelta + +from odoo.tests import Form +from odoo.tests.common import TransactionCase + +DOWNPAYMENT_METHODS = ["fixed", "percentage"] + + +class StockDeliveryNoteInvoicingTest(TransactionCase): + at_install = False + post_install = True + + sender = None + recipient = None + + desk_combination_line = None + customizable_desk_line = None + right_corner_desk_line = None + large_cabinet_line = None + storage_box_line = None + large_desk_line = None + + def create_partner(self, name, **kwargs): + return self.env["res.partner"].create({"name": name, **kwargs}) + + def create_sales_order(self, lines, **kwargs): + vals = {"partner_id": self.recipient.id} + + if lines: + vals["order_line"] = lines + + vals.update(kwargs) + + return self.env["sale.order"].create(vals) + + def prepare_sales_order_line(self, product, quantity=1.0, price=None, **kwargs): + vals = {"product_id": product.id, "product_uom_qty": quantity} + + if price: + vals["price_unit"] = price + + vals.update(kwargs) + + return 0, False, vals + + def add_downpayment_line(self, sales_order, method, amount, **kwargs): + if method not in DOWNPAYMENT_METHODS: + raise ValueError("Downpayment method must be 'fixed' or 'percentage'.") + + return ( + self.env["sale.advance.payment.inv"] + .with_context(active_ids=sales_order.ids) + .create({"advance_payment_method": method, "amount": amount, **kwargs}) + .create_invoices() + ) + + def create_delivery_note(self, **kwargs): + vals = { + "partner_sender_id": self.sender.id, + "partner_id": self.recipient.id, + "partner_shipping_id": self.recipient.id, + } + + vals.update(kwargs) + + return self.env["stock.delivery.note"].create(vals) + + def setUp(self): + super().setUp() + + self.env.user.write( + { + "groups_id": [ + ( + 4, + self.env.ref( + "l10n_it_delivery_note." "use_advanced_delivery_notes" + ).id, + ) + ] + } + ) + + self.sender = self.env.ref("base.main_partner") + self.recipient = self.create_partner("Mario Rossi") + + try: + self.desk_combination_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_3"), 1 + ) + self.customizable_desk_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_4"), 3 + ) + self.right_corner_desk_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_5"), 2 + ) + self.large_cabinet_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_6"), 11 + ) + self.storage_box_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_7"), 5 + ) + self.large_desk_line = self.prepare_sales_order_line( + self.env.ref("product." "product_product_8"), 1 + ) + + except ValueError as exc: + raise RuntimeError( + "It seems you're not using a database with" + " demonstration data loaded for this tests." + ) from exc + + # ⇒ "Ordine singolo: fatturazione completa" + def test_complete_invoicing_single_so(self): + # + # SO ┐ ┌ DdT + # └ Picking ┘ + # + + sales_order = self.create_sales_order( + [ + self.desk_combination_line, + self.right_corner_desk_line, + self.large_cabinet_line, + self.large_desk_line, + ] + ) + self.assertEqual(len(sales_order.order_line), 4) + + sales_order.action_confirm() + self.add_downpayment_line(sales_order, "percentage", 10) + self.assertEqual(len(sales_order.order_line), 5) + self.assertEqual(sales_order.invoice_status, "no") + + downpayment_order_line = sales_order.order_line[4] + self.assertEqual(downpayment_order_line.invoice_status, "invoiced") + self.assertEqual(downpayment_order_line.qty_to_invoice, -1) + self.assertEqual(downpayment_order_line.qty_invoiced, 1) + + downpayment_invoice = sales_order.invoice_ids + self.assertEqual(len(downpayment_invoice), 1) + + downpayment_invoice_line = downpayment_invoice.invoice_line_ids + self.assertEqual(len(downpayment_invoice_line), 1) + self.assertEqual(downpayment_invoice_line.quantity, 1) + + picking = sales_order.picking_ids + self.assertEqual(len(picking), 1) + self.assertEqual(len(picking.move_lines), 4) + + picking.move_lines[0].quantity_done = 1 + picking.move_lines[1].quantity_done = 2 + picking.move_lines[2].quantity_done = 11 + picking.move_lines[3].quantity_done = 1 + + result = picking.button_validate() + self.assertTrue(result) + + delivery_note = self.create_delivery_note() + delivery_note.transport_datetime = datetime.now() + timedelta(days=1, hours=3) + delivery_note.picking_ids = picking + delivery_note.action_confirm() + self.assertEqual(len(delivery_note.line_ids), 4) + self.assertEqual(delivery_note.state, "confirm") + self.assertEqual(delivery_note.invoice_status, "to invoice") + + delivery_note.action_invoice() + self.assertEqual(len(delivery_note.line_ids), 4) + self.assertEqual(delivery_note.state, "invoiced") + self.assertEqual(delivery_note.invoice_status, "invoiced") + + self.assertEqual(len(sales_order.order_line), 5) + self.assertEqual(sales_order.invoice_status, "invoiced") + + invoices = sales_order.invoice_ids + self.assertEqual(len(invoices), 2) + + final_invoice = invoices[0] + # in sale.advance.payment.inv the method create_invoices uses the field + # deduct_down_payments (default True) that includes selection lines: + # so 4 product lines, 1 ddt note, 1 down_payment and 1 selection line + self.assertEqual(len(final_invoice.invoice_line_ids), 7) + self.assertEqual(final_invoice.delivery_note_ids, delivery_note) + + self.assertEqual(delivery_note.invoice_ids, final_invoice) + + # + # Linea 1 + # + order_line = sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Linea 2 + # + order_line = sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 2) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 2) + + delivery_note_line = delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = final_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Linea 3 + # + order_line = sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 11) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 11) + + delivery_note_line = delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 11) + + invoice_line = final_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 11) + + # + # Linea 4 + # + order_line = sales_order.order_line[3] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = delivery_note.line_ids[3] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Linea 5 (Downpayment) + # + order_line = sales_order.order_line[4] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 0) + + move = order_line.move_ids + self.assertEqual(len(move), 0) + + delivery_note_line = delivery_note.line_ids.filtered( + lambda l: l.sale_line_id == order_line + ) + + self.assertEqual(len(delivery_note_line), 0) + + invoice_line = final_invoice.invoice_line_ids[4] + self.assertEqual(invoice_line.display_type, "line_section") + self.assertEqual(invoice_line.name, "Down Payments") + + invoice_line = final_invoice.invoice_line_ids[5] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, -1) + + # + # Linea 7 (DdT in fattura) + # + invoice_line = final_invoice.invoice_line_ids[6] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, delivery_note) + + # ⇒ "Ordine singolo: fatturazione parziale" + def test_partial_invoicing_single_so(self): + # + # SO ┐ ┌ DdT + # ├ Picking ┘ + # │ + # └ Picking ┐ + # └ DdT + # + + StockPicking = self.env["stock.picking"] + + sales_order = self.create_sales_order( + [ + self.customizable_desk_line, + self.right_corner_desk_line, + self.large_cabinet_line, + self.storage_box_line, + ] + ) + self.assertEqual(len(sales_order.order_line), 4) + + sales_order.action_confirm() + self.add_downpayment_line(sales_order, "percentage", 10) + self.assertEqual(len(sales_order.order_line), 5) + self.assertEqual(sales_order.invoice_status, "no") + + downpayment_order_line = sales_order.order_line[4] + self.assertEqual(downpayment_order_line.invoice_status, "invoiced") + self.assertEqual(downpayment_order_line.qty_to_invoice, -1) + self.assertEqual(downpayment_order_line.qty_invoiced, 1) + + downpayment_invoice = sales_order.invoice_ids + self.assertEqual(len(downpayment_invoice), 1) + + downpayment_invoice_line = downpayment_invoice.invoice_line_ids + self.assertEqual(len(downpayment_invoice_line), 1) + self.assertEqual(downpayment_invoice_line.quantity, 1) + + picking = sales_order.picking_ids + self.assertEqual(len(picking), 1) + self.assertEqual(len(picking.move_lines), 4) + + picking.move_lines[0].quantity_done = 2 # 3 + picking.move_lines[1].quantity_done = 2 + picking.move_lines[2].quantity_done = 6 # 11 + picking.move_lines[3].quantity_done = 3 # 5 + + result = picking.button_validate() + self.assertTrue(result) + + wizard = Form( + self.env[(result.get("res_model"))].with_context(result["context"]) + ).save() + self.assertEqual(wizard._name, "stock.backorder.confirmation") + wizard.process() + + first_delivery_note = self.create_delivery_note() + first_delivery_note.transport_datetime = datetime.now() + timedelta( + days=1, hours=3 + ) + first_delivery_note.picking_ids = picking + first_delivery_note.action_confirm() + self.assertEqual(len(first_delivery_note.line_ids), 4) + self.assertEqual(first_delivery_note.state, "confirm") + self.assertEqual(first_delivery_note.invoice_status, "to invoice") + + sales_order._create_invoices(final=False) + + self.assertEqual(len(sales_order.order_line), 5) + self.assertEqual(sales_order.invoice_status, "no") + + invoices = sales_order.invoice_ids + self.assertEqual(len(invoices), 2) + + partial_invoice = invoices[0] + self.assertEqual(len(partial_invoice.invoice_line_ids), 5) + self.assertEqual(partial_invoice.delivery_note_ids, first_delivery_note) + + self.assertEqual(len(first_delivery_note.line_ids), 4) + self.assertEqual(first_delivery_note.state, "invoiced") + self.assertEqual(first_delivery_note.invoice_status, "invoiced") + self.assertEqual(first_delivery_note.invoice_ids, partial_invoice) + + # + # = = - = = - = = - = = + # + + backorder = StockPicking.search([("backorder_id", "=", picking.id)]) + self.assertEqual(len(backorder), 1) + self.assertEqual(len(backorder.move_lines), 3) + + backorder.move_lines[0].quantity_done = 1 + backorder.move_lines[1].quantity_done = 5 + backorder.move_lines[2].quantity_done = 2 + + result = backorder.button_validate() + self.assertTrue(result) + + second_delivery_note = self.create_delivery_note() + second_delivery_note.transport_datetime = datetime.now() + timedelta( + days=1, hours=3 + ) + second_delivery_note.picking_ids = backorder + second_delivery_note.action_confirm() + self.assertEqual(len(second_delivery_note.line_ids), 3) + self.assertEqual(second_delivery_note.state, "confirm") + self.assertEqual(second_delivery_note.invoice_status, "to invoice") + + # + # Linea 1 + # + order_line = sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 1) + self.assertEqual(order_line.qty_invoiced, 2) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 2) + + delivery_note_line = first_delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = partial_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Linea 2 + # + order_line = sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 2) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 2) + + delivery_note_line = first_delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = partial_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Linea 3 + # + order_line = sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 5) + self.assertEqual(order_line.qty_invoiced, 6) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 6) + + delivery_note_line = first_delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 6) + + invoice_line = partial_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 6) + + # + # Linea 4 + # + order_line = sales_order.order_line[3] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 2) + self.assertEqual(order_line.qty_invoiced, 3) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 3) + + delivery_note_line = first_delivery_note.line_ids[3] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 3) + + invoice_line = partial_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 3) + + # + # Linea 5 (DdT in fattura) + # + invoice_line = partial_invoice.invoice_line_ids[4] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, first_delivery_note) + + # + # = = - = = - = = - = = + # + + second_delivery_note.action_invoice() + self.assertEqual(len(second_delivery_note.line_ids), 3) + self.assertEqual(second_delivery_note.state, "invoiced") + self.assertEqual(second_delivery_note.invoice_status, "invoiced") + + self.assertEqual(len(sales_order.order_line), 5) + self.assertEqual(sales_order.invoice_status, "invoiced") + + invoices = sales_order.invoice_ids + self.assertEqual(len(invoices), 3) + + final_invoice = invoices[1] + self.assertEqual(len(final_invoice.invoice_line_ids), 6) + self.assertEqual(final_invoice.delivery_note_ids, second_delivery_note) + + self.assertEqual(second_delivery_note.invoice_ids, final_invoice) + + # + # Linea ordine 1 + # Linea fattura 1 + # + order_line = sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 3) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 1) + + delivery_note_line = second_delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Linea ordine 3 + # Linea fattura 2 + # + order_line = sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 11) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 5) + + delivery_note_line = second_delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 5) + + invoice_line = final_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 5) + + # + # Linea ordine 4 + # Linea fattura 3 + # + order_line = sales_order.order_line[3] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 5) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 2) + + delivery_note_line = second_delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = final_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Linea ordine 5 (Downpayment) + # Linea fattura 4 + # + order_line = sales_order.order_line[4] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 0) + + move = order_line.move_ids + self.assertEqual(len(move), 0) + + delivery_notes = first_delivery_note | second_delivery_note + delivery_note_line = delivery_notes.mapped("line_ids").filtered( + lambda l: l.sale_line_id == order_line + ) + + self.assertEqual(len(delivery_note_line), 0) + + invoice_line = final_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.display_type, "line_section") + self.assertEqual(invoice_line.name, "Down Payments") + + invoice_line = final_invoice.invoice_line_ids[4] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, -1) + + # + # Linea fattura 5 (DdT in fattura) + # + invoice_line = final_invoice.invoice_line_ids[5] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, second_delivery_note) + + # ⇒ "Ordini multipli: fatturazione completa" + def test_complete_invoicing_multiple_so(self): + # + # SO ┐ + # └ Picking ┐ + # ├ DdT + # ┌ Picking ┘ + # SO ┘ + # + + first_sales_order = self.create_sales_order( + [ + self.desk_combination_line, + self.customizable_desk_line, + self.right_corner_desk_line, + ] + ) + self.assertEqual(len(first_sales_order.order_line), 3) + + first_sales_order.action_confirm() + self.add_downpayment_line(first_sales_order, "percentage", 10) + self.assertEqual(len(first_sales_order.order_line), 4) + self.assertEqual(first_sales_order.invoice_status, "no") + + downpayment_order_line = first_sales_order.order_line[3] + self.assertEqual(downpayment_order_line.invoice_status, "invoiced") + self.assertEqual(downpayment_order_line.qty_to_invoice, -1) + self.assertEqual(downpayment_order_line.qty_invoiced, 1) + + downpayment_invoice = first_sales_order.invoice_ids + self.assertEqual(len(downpayment_invoice), 1) + + downpayment_invoice_line = downpayment_invoice.invoice_line_ids + self.assertEqual(len(downpayment_invoice_line), 1) + self.assertEqual(downpayment_invoice_line.quantity, 1) + + first_picking = first_sales_order.picking_ids + self.assertEqual(len(first_picking), 1) + self.assertEqual(len(first_picking.move_lines), 3) + + first_picking.move_lines[0].quantity_done = 1 + first_picking.move_lines[1].quantity_done = 3 + first_picking.move_lines[2].quantity_done = 2 + + result = first_picking.button_validate() + self.assertTrue(result) + + # + # = = - = = - = = - = = + # + + second_sales_order = self.create_sales_order( + [self.large_cabinet_line, self.storage_box_line, self.large_desk_line] + ) + self.assertEqual(len(second_sales_order.order_line), 3) + + second_sales_order.action_confirm() + self.assertEqual(second_sales_order.invoice_status, "no") + + second_picking = second_sales_order.picking_ids + self.assertEqual(len(second_picking), 1) + self.assertEqual(len(second_picking.move_lines), 3) + + second_picking.move_lines[0].quantity_done = 11 + second_picking.move_lines[1].quantity_done = 5 + second_picking.move_lines[2].quantity_done = 1 + + result = second_picking.button_validate() + self.assertTrue(result) + + # + # = = - = = - = = - = = + # + + pickings = first_picking | second_picking + delivery_note = self.create_delivery_note() + delivery_note.transport_datetime = datetime.now() + timedelta(days=1, hours=3) + delivery_note.picking_ids = pickings + delivery_note.action_confirm() + self.assertEqual(len(delivery_note.line_ids), 6) + self.assertEqual(delivery_note.state, "confirm") + self.assertEqual(delivery_note.invoice_status, "to invoice") + + delivery_note.action_invoice() + self.assertEqual(len(delivery_note.line_ids), 6) + self.assertEqual(delivery_note.state, "invoiced") + self.assertEqual(delivery_note.invoice_status, "invoiced") + + self.assertEqual(len(first_sales_order.order_line), 4) + self.assertEqual(first_sales_order.invoice_status, "invoiced") + + self.assertEqual(len(second_sales_order.order_line), 3) + self.assertEqual(second_sales_order.invoice_status, "invoiced") + + sales_orders = first_sales_order | second_sales_order + + invoices = sales_orders.mapped("invoice_ids") + self.assertEqual(len(invoices), 2) + + final_invoice = invoices[0] + self.assertEqual(len(final_invoice.invoice_line_ids), 9) + self.assertEqual(final_invoice.delivery_note_ids, delivery_note) + + self.assertEqual(delivery_note.invoice_ids, final_invoice) + + # + # Ordine 1 - Linea 1 + # Linea fattura 1 + # + order_line = first_sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Ordine 1 - Linea 2 + # Linea fattura 2 + # + order_line = first_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 3) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 3) + + delivery_note_line = delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 3) + + invoice_line = final_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 3) + + # + # Ordine 1 - Linea 3 + # Linea fattura 3 + # + order_line = first_sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 2) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 2) + + delivery_note_line = delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = final_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Ordine 1 - Linea 4 (Downpayment) + # Linea fattura 4 + # + order_line = first_sales_order.order_line[3] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 0) + + move = order_line.move_ids + self.assertEqual(len(move), 0) + + delivery_note_line = delivery_note.line_ids.filtered( + lambda l: l.sale_line_id == order_line + ) + + self.assertEqual(len(delivery_note_line), 0) + + invoice_line = final_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.display_type, "line_section") + self.assertEqual(invoice_line.name, "Down Payments") + + invoice_line = final_invoice.invoice_line_ids[4] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, -1) + + # + # Ordine 2 - Linea 1 + # Linea fattura 5 + # + order_line = second_sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 11) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 11) + + delivery_note_line = delivery_note.line_ids[3] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 11) + + invoice_line = final_invoice.invoice_line_ids[5] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 11) + + # + # Ordine 2 - Linea 2 + # Linea fattura 6 + # + order_line = second_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 5) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 5) + + delivery_note_line = delivery_note.line_ids[4] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 5) + + invoice_line = final_invoice.invoice_line_ids[6] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 5) + + # + # Ordine 2 - Linea 3 + # Linea fattura 7 + # + order_line = second_sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = delivery_note.line_ids[5] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[7] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Linea fattura 9 (DdT in fattura) + # + invoice_line = final_invoice.invoice_line_ids[8] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, delivery_note) + + # ⇒ "Ordini multipli: fatturazione parziale" + def test_partial_invoicing_multiple_so(self): + # + # ┌ Picking ──────┐ + # SO ┤ ├ DdT + # │ ┌ Picking ┘ + # │ SO ┤ + # │ └ Picking ┐ + # │ ├ DdT + # └ Picking ──────┘ + # + + StockPicking = self.env["stock.picking"] + + first_sales_order = self.create_sales_order( + [ + self.desk_combination_line, + self.right_corner_desk_line, + self.large_desk_line, + ] + ) + self.assertEqual(len(first_sales_order.order_line), 3) + + first_sales_order.action_confirm() + self.add_downpayment_line(first_sales_order, "percentage", 10) + self.assertEqual(len(first_sales_order.order_line), 4) + self.assertEqual(first_sales_order.invoice_status, "no") + + downpayment_order_line = first_sales_order.order_line[3] + self.assertEqual(downpayment_order_line.invoice_status, "invoiced") + self.assertEqual(downpayment_order_line.qty_to_invoice, -1) + self.assertEqual(downpayment_order_line.qty_invoiced, 1) + + downpayment_invoice = first_sales_order.invoice_ids + self.assertEqual(len(downpayment_invoice), 1) + + downpayment_invoice_line = downpayment_invoice.invoice_line_ids + self.assertEqual(len(downpayment_invoice_line), 1) + self.assertEqual(downpayment_invoice_line.quantity, 1) + + first_picking = first_sales_order.picking_ids + self.assertEqual(len(first_picking), 1) + self.assertEqual(len(first_picking.move_lines), 3) + + first_picking.move_lines[0].quantity_done = 1 + first_picking.move_lines[1].quantity_done = 1 # 2 + first_picking.move_lines[2].quantity_done = 1 + + result = first_picking.button_validate() + self.assertTrue(result) + + wizard = Form( + self.env[(result.get("res_model"))].with_context(result["context"]) + ).save() + self.assertEqual(wizard._name, "stock.backorder.confirmation") + wizard.process() + + # + # = = - = = - = = - = = + # + + second_sales_order = self.create_sales_order( + [ + self.customizable_desk_line, + self.large_cabinet_line, + self.storage_box_line, + ] + ) + self.assertEqual(len(second_sales_order.order_line), 3) + + second_sales_order.action_confirm() + self.assertEqual(second_sales_order.invoice_status, "no") + + second_picking = second_sales_order.picking_ids + self.assertEqual(len(second_picking), 1) + self.assertEqual(len(second_picking.move_lines), 3) + + second_picking.move_lines[0].quantity_done = 3 + second_picking.move_lines[1].quantity_done = 3 # 11 + second_picking.move_lines[2].quantity_done = 3 # 5 + + result = second_picking.button_validate() + self.assertTrue(result) + + wizard = Form( + self.env[(result.get("res_model"))].with_context(result["context"]) + ).save() + self.assertEqual(wizard._name, "stock.backorder.confirmation") + wizard.process() + + # + # = = - = = - = = - = = + # + + pickings = first_picking | second_picking + first_delivery_note = self.create_delivery_note() + first_delivery_note.transport_datetime = datetime.now() + timedelta( + days=1, hours=3 + ) + first_delivery_note.picking_ids = pickings + first_delivery_note.action_confirm() + self.assertEqual(len(first_delivery_note.line_ids), 6) + self.assertEqual(first_delivery_note.state, "confirm") + self.assertEqual(first_delivery_note.invoice_status, "to invoice") + + # TODO: questo test fallisce perche non viene per qualche motivo settato il + # first_delivery_note in una delle fatture... da capire il perchè. + + first_sales_order._create_invoices(final=False) + self.assertEqual(len(first_sales_order.order_line), 4) + self.assertEqual(first_sales_order.invoice_status, "no") + + second_sales_order._create_invoices(final=False) + self.assertEqual(len(second_sales_order.order_line), 3) + self.assertEqual(second_sales_order.invoice_status, "no") + + sales_orders = first_sales_order | second_sales_order + + invoices = sales_orders.mapped("invoice_ids") + self.assertEqual(len(invoices), 3) + + first_partial_invoice = invoices[0] + self.assertEqual(len(first_partial_invoice.invoice_line_ids), 4) + self.assertEqual(first_partial_invoice.delivery_note_ids, first_delivery_note) + + second_partial_invoice = invoices[2] + self.assertEqual(len(second_partial_invoice.invoice_line_ids), 4) + self.assertEqual(second_partial_invoice.delivery_note_ids, first_delivery_note) + + self.assertEqual(len(first_delivery_note.line_ids), 6) + # + # TODO: self.assertEqual(first_delivery_note.state, 'invoiced')? + # + self.assertEqual(len(first_delivery_note.invoice_ids), 2) + self.assertEqual(first_delivery_note.invoice_ids[0], first_partial_invoice) + self.assertEqual(first_delivery_note.invoice_ids[1], second_partial_invoice) + + # + # = = - = = - = = - = = + # + + first_backorder = StockPicking.search([("backorder_id", "=", first_picking.id)]) + self.assertEqual(len(first_backorder), 1) + self.assertEqual(len(first_backorder.move_lines), 1) + + first_backorder.move_lines[0].quantity_done = 1 + + result = first_backorder.button_validate() + self.assertTrue(result) + + # + # = = - = = - = = - = = + # + + second_backorder = StockPicking.search( + [("backorder_id", "=", second_picking.id)] + ) + self.assertEqual(len(second_backorder), 1) + self.assertEqual(len(second_backorder.move_lines), 2) + + second_backorder.move_lines[0].quantity_done = 8 + second_backorder.move_lines[1].quantity_done = 2 + + result = second_backorder.button_validate() + self.assertTrue(result) + + backorders = first_backorder | second_backorder + second_delivery_note = self.create_delivery_note() + second_delivery_note.transport_datetime = datetime.now() + timedelta( + days=1, hours=3 + ) + second_delivery_note.picking_ids = backorders + second_delivery_note.action_confirm() + self.assertEqual(len(second_delivery_note.line_ids), 3) + self.assertEqual(second_delivery_note.state, "confirm") + self.assertEqual(second_delivery_note.invoice_status, "to invoice") + + # + # Ordine 1 - Linea 1 + # Fattura 1 - Linea 1 + # + order_line = first_sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = first_delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = first_partial_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Ordine 1 - Linea 2 + # Fattura 1 - Linea 2 + # + order_line = first_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 1) + self.assertEqual(order_line.qty_invoiced, 1) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 1) + + delivery_note_line = first_delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = first_partial_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Ordine 1 - Linea 3 + # Fattura 1 - Linea 3 + # + order_line = first_sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 1) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 1) + + delivery_note_line = first_delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = first_partial_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Fattura 1 - Linea 4 (DdT in fattura) + # + invoice_line = first_partial_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, first_delivery_note) + + # + # Ordine 2 - Linea 1 + # Fattura 2 - Linea 1 + # + order_line = second_sales_order.order_line[0] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 3) + + move = order_line.move_ids + self.assertEqual(len(move), 1) + self.assertEqual(move.quantity_done, 3) + + delivery_note_line = first_delivery_note.line_ids[3] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 3) + + invoice_line = second_partial_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 3) + + # + # Ordine 2 - Linea 2 + # Fattura 2 - Linea 2 + # + order_line = second_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 8) + self.assertEqual(order_line.qty_invoiced, 3) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 3) + + delivery_note_line = first_delivery_note.line_ids[4] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 3) + + invoice_line = second_partial_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 3) + + # + # Ordine 2 - Linea 3 + # Fattura 2 - Linea 3 + # + order_line = second_sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "to invoice") + self.assertEqual(order_line.qty_to_invoice, 2) + self.assertEqual(order_line.qty_invoiced, 3) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[0].quantity_done, 3) + + delivery_note_line = first_delivery_note.line_ids[5] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 3) + + invoice_line = second_partial_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 3) + + # + # Fattura 2 - Linea 4 (DdT in fattura) + # + invoice_line = second_partial_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, first_delivery_note) + + # + # = = - = = - = = - = = + # + + second_delivery_note.action_invoice() + self.assertEqual(len(second_delivery_note.line_ids), 3) + self.assertEqual(second_delivery_note.state, "invoiced") + self.assertEqual(second_delivery_note.invoice_status, "invoiced") + + self.assertEqual(len(first_sales_order.order_line), 4) + self.assertEqual(first_sales_order.invoice_status, "invoiced") + + self.assertEqual(len(second_sales_order.order_line), 3) + self.assertEqual(second_sales_order.invoice_status, "invoiced") + + invoices = sales_orders.mapped("invoice_ids") + self.assertEqual(len(invoices), 4) + + final_invoice = invoices[1] + self.assertEqual(len(final_invoice.invoice_line_ids), 6) + self.assertEqual(final_invoice.delivery_note_ids, second_delivery_note) + + self.assertEqual(second_delivery_note.invoice_ids, final_invoice) + + # + # Ordine 1 - Linea 2 + # Fattura 3 - Linea 1 + # + order_line = first_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 2) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 1) + + delivery_note_line = second_delivery_note.line_ids[0] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 1) + + invoice_line = final_invoice.invoice_line_ids[0] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 1) + + # + # Ordine 1 - Linea 4 (Downpayment) + # Fattura 3 - Linea 2 + # + order_line = first_sales_order.order_line[3] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 0) + + move = order_line.move_ids + self.assertEqual(len(move), 0) + + delivery_notes = first_delivery_note | second_delivery_note + delivery_note_line = delivery_notes.mapped("line_ids").filtered( + lambda l: l.sale_line_id == order_line + ) + + self.assertEqual(len(delivery_note_line), 0) + + invoice_line = final_invoice.invoice_line_ids[1] + self.assertEqual(invoice_line.display_type, "line_section") + self.assertEqual(invoice_line.name, "Down Payments") + + invoice_line = final_invoice.invoice_line_ids[2] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, -1) + + # + # Ordine 2 - Linea 2 + # Fattura 3 - Linea 3 + # + order_line = second_sales_order.order_line[1] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 11) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 8) + + delivery_note_line = second_delivery_note.line_ids[1] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 8) + + invoice_line = final_invoice.invoice_line_ids[3] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 8) + + # + # Ordine 2 - Linea 3 + # Fattura 3 - Linea 4 + # + order_line = second_sales_order.order_line[2] + self.assertEqual(order_line.invoice_status, "invoiced") + self.assertEqual(order_line.qty_to_invoice, 0) + self.assertEqual(order_line.qty_invoiced, 5) + + moves = order_line.move_ids + self.assertEqual(len(moves), 2) + self.assertEqual(moves[1].quantity_done, 2) + + delivery_note_line = second_delivery_note.line_ids[2] + self.assertEqual(delivery_note_line.invoice_status, "invoiced") + self.assertEqual(delivery_note_line.sale_line_id, order_line) + self.assertEqual(delivery_note_line.product_qty, 2) + + invoice_line = final_invoice.invoice_line_ids[4] + self.assertEqual(invoice_line.sale_line_ids, order_line) + self.assertEqual(invoice_line.quantity, 2) + + # + # Fattura 3 - Linea 5 (DdT in fattura) + # + invoice_line = final_invoice.invoice_line_ids[5] + self.assertEqual(invoice_line.display_type, "line_note") + self.assertEqual(invoice_line.quantity, 0) + self.assertEqual(invoice_line.delivery_note_id, second_delivery_note) diff --git a/l10n_it_delivery_note/views/account_move.xml b/l10n_it_delivery_note/views/account_move.xml new file mode 100644 index 000000000000..ce8fdb348edc --- /dev/null +++ b/l10n_it_delivery_note/views/account_move.xml @@ -0,0 +1,32 @@ + + + + + + account.view.move.form + account.move + + + + + + + + + diff --git a/l10n_it_delivery_note/views/assets.xml b/l10n_it_delivery_note/views/assets.xml new file mode 100644 index 000000000000..5dfb8b1c9185 --- /dev/null +++ b/l10n_it_delivery_note/views/assets.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/l10n_it_delivery_note/views/res_config_settings.xml b/l10n_it_delivery_note/views/res_config_settings.xml new file mode 100644 index 000000000000..ac5e44941831 --- /dev/null +++ b/l10n_it_delivery_note/views/res_config_settings.xml @@ -0,0 +1,51 @@ + + + + + + res.config.settings.form + res.config.settings + + + +

Delivery Notes

+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
diff --git a/l10n_it_delivery_note/views/res_partner.xml b/l10n_it_delivery_note/views/res_partner.xml new file mode 100644 index 000000000000..186739fe4475 --- /dev/null +++ b/l10n_it_delivery_note/views/res_partner.xml @@ -0,0 +1,24 @@ + + + + + + res.partner.form + res.partner + + + + + + + + + + + + + + diff --git a/l10n_it_delivery_note/views/sale_order.xml b/l10n_it_delivery_note/views/sale_order.xml new file mode 100644 index 000000000000..c9dd9bed306b --- /dev/null +++ b/l10n_it_delivery_note/views/sale_order.xml @@ -0,0 +1,22 @@ + + + + + + sale.order.form + sale.order + + + + + + + + + + + + diff --git a/l10n_it_delivery_note/views/stock_delivery_note.xml b/l10n_it_delivery_note/views/stock_delivery_note.xml new file mode 100644 index 000000000000..640955ce9fec --- /dev/null +++ b/l10n_it_delivery_note/views/stock_delivery_note.xml @@ -0,0 +1,631 @@ + + + + + + stock.delivery.note.form + stock.delivery.note + form + +
+ + + + + + + +
+
+ +
+ +
+ +
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + +
+
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + stock.picking.tree + stock.picking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+
+
+
+
+
+
+
diff --git a/l10n_it_fatturapa_out/views/attachment_view.xml b/l10n_it_fatturapa_out/views/attachment_view.xml new file mode 100644 index 000000000000..ed6c24c56254 --- /dev/null +++ b/l10n_it_fatturapa_out/views/attachment_view.xml @@ -0,0 +1,150 @@ + + + + + + fatturapa.attachment.out.tree + fatturapa.attachment.out + + + + + + + + + + + + + fatturapa.attachment.out.search + fatturapa.attachment.out + + + + + + + + + + + + + + + fatturapa.attachment.out.form + fatturapa.attachment.out + +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+
+ + + Electronic Invoice Export Files + ir.actions.act_window + fatturapa.attachment.out + tree,form + + {'search_default_ready': True, 'search_default_sender_error': True, + 'search_default_rejected': True, } + + + + +
+
diff --git a/l10n_it_fatturapa_out/views/company_view.xml b/l10n_it_fatturapa_out/views/company_view.xml new file mode 100644 index 000000000000..f50771ba8ac1 --- /dev/null +++ b/l10n_it_fatturapa_out/views/company_view.xml @@ -0,0 +1,29 @@ + + + + + + view_account_config_settings + res.config.settings + + + +
+
+
+
+
+
+ +
diff --git a/l10n_it_fatturapa_out/views/partner_view.xml b/l10n_it_fatturapa_out/views/partner_view.xml new file mode 100644 index 000000000000..faab8e14dfdf --- /dev/null +++ b/l10n_it_fatturapa_out/views/partner_view.xml @@ -0,0 +1,15 @@ + + + + + partner.form.fatturapa + res.partner + + + + + + + + + diff --git a/l10n_it_fatturapa_out/wizard/__init__.py b/l10n_it_fatturapa_out/wizard/__init__.py new file mode 100644 index 000000000000..9a7525763867 --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2014 Davide Corio +from . import efattura +from . import wizard_export_fatturapa +from . import wizard_export_fatturapa_regenerate diff --git a/l10n_it_fatturapa_out/wizard/efattura.py b/l10n_it_fatturapa_out/wizard/efattura.py new file mode 100644 index 000000000000..6346ee2abb0f --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/efattura.py @@ -0,0 +1,316 @@ +# Copyright 2020 Giuseppe Borruso +# Copyright 2020 Marco Colombo +import logging +import os +from datetime import datetime + +import xmlschema +from lxml import etree +from unidecode import unidecode + +from odoo.exceptions import UserError +from odoo.modules.module import get_module_resource +from odoo.tools import float_repr + +from odoo.addons.l10n_it_account.tools.account_tools import encode_for_export + +_logger = logging.getLogger(__name__) + +# XXX da vedere se spostare in fatturapa e fare una import del validator, es. +# from from odoo.addons.l10n_it_fatturapa import FPAValidator + + +# fix # noqa: B950 +class FPAValidator: + + _XSD_SCHEMA = "Schema_del_file_xml_FatturaPA_versione_1.2.1.xsd" + _xml_schema_1_2_1 = get_module_resource( + "l10n_it_fatturapa", "bindings", "xsd", _XSD_SCHEMA + ) + _old_xsd_specs = get_module_resource( + "l10n_it_fatturapa", "bindings", "xsd", "xmldsig-core-schema.xsd" + ) + + def __init__(self): + self.error_log = [] + locations = {"http://www.w3.org/2000/09/xmldsig#": self._old_xsd_specs} + self._validator = xmlschema.XMLSchema( + self._xml_schema_1_2_1, + locations=locations, + validation="lax", + allow="local", + loglevel=20, + ) + + def __call__(self, *args, **kwargs): + self.error_log = list(self._validator.iter_errors(*args, **kwargs)) + return not self.error_log + + +DEFAULT_INVOICE_ITALIAN_DATE_FORMAT = "%Y-%m-%d" + + +class EFatturaOut: + + _validator = FPAValidator() + + def validate(self, tree): + ret = self._validator(tree) + errors = self._validator.error_log + return (ret, errors) + + def to_xml(self, env): # noqa: C901 + """Create the xml file content. + :return: The XML content as str. + """ + + self.env = env + + def format_date(dt): + # Format the date in the italian standard. + dt = dt or datetime.now() + return dt.strftime(DEFAULT_INVOICE_ITALIAN_DATE_FORMAT) + + def format_monetary(number, currency): + # Format the monetary values to avoid trailing decimals + # (e.g. 90.85000000000001). + return float_repr(number, min(2, currency.decimal_places)) + + def format_numbers(number): + # format number to str with between 2 and 8 decimals (event if it's .00) + number_splited = str(number).split(".") + if len(number_splited) == 1: + return "%.02f" % number + + cents = number_splited[1] + if len(cents) > 8: + return "%.08f" % number + return float_repr(number, max(2, len(cents))) + + def format_numbers_two(number): + # format number to str with 2 (event if it's .00) + return "%.02f" % number + + def format_phone(number): + if not number: + return False + number = number.replace(" ", "").replace("/", "").replace(".", "") + if len(number) > 4 and len(number) < 13: + return number + return False + + def format_price(line): + res = line.price_unit + if line.tax_ids and line.tax_ids[0].price_include: + res = line.price_unit / (1 + (line.tax_ids[0].amount / 100)) + price_precision = env["decimal.precision"].precision_get( + "Product Price for XML e-invoices" + ) + if price_precision < 2: + price_precision = 2 + + # lo SdI non accetta quantità negative, quindi invertiamo price_unit + # e quantity (vd. format_quantity) + if line.quantity < 0: + res = -res + + # XXX arrotondamento? + res = "{prezzo:.{precision}f}".format(prezzo=res, precision=price_precision) + return res + + def format_quantity(line): + uom_precision = env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + if uom_precision < 2: + uom_precision = 2 + + quantity = line.quantity + 0 + + # lo SdI non accetta quantità negative, quindi invertiamo price_unit + # e quantity (vd. format_price) + if line.quantity < 0: + quantity = -quantity + + # XXX arrotondamento? + res = ("{qta:.{precision}f}".format(qta=quantity, precision=uom_precision),) + return res[0] + + def get_vat_number(vat): + # return vat[2:].replace(' ', '') if vat else "" + return vat[2:] if vat else "" + + def get_vat_country(vat): + return vat[:2].upper() if vat else "" + + def get_causale(invoice): + res = [] + if invoice.narration: + # max length of Causale is 200 + caus_list = invoice.narration.split("\n") + for causale in caus_list: + if not causale: + continue + causale_list_200 = [ + causale[i : i + 200] for i in range(0, len(causale), 200) + ] + for causale200 in causale_list_200: + # Remove non latin chars, but go back to unicode string, + # as expected by String200LatinType + causale = encode_for_export(causale200, 200) + res.append(causale) + return res + + def get_nome_attachment(doc_id): + file_name, file_extension = os.path.splitext(doc_id.name) + attachment_name = ( + doc_id.name + if len(doc_id.name) <= 60 + else "".join([file_name[: (60 - len(file_extension))], file_extension]) + ) + return encode_for_export(attachment_name, 60) + + def in_eu(partner): + europe = env.ref("base.europe", raise_if_not_found=False) + country = partner.country_id + if not europe or not country or country in europe.country_ids: + return True + return False + + def get_all_taxes(record): + out = {} + out_computed = {} + there_is_a_note = False + tax_ids = record.line_ids.filtered(lambda line: line.tax_line_id) + for tax_id in tax_ids: + tax_line_id = tax_id.tax_line_id + aliquota = format_numbers(tax_line_id.amount) + key = "{}_{}".format(aliquota, tax_line_id.kind_id.code) + out_computed[key] = { + "AliquotaIVA": aliquota, + "Natura": tax_line_id.kind_id.code, + # 'Arrotondamento':'', + "ImponibileImporto": tax_id.tax_base_amount, + "Imposta": tax_id.price_total, + "EsigibilitaIVA": tax_line_id.payability, + } + if tax_line_id.law_reference: + out_computed[key]["RiferimentoNormativo"] = encode_for_export( + tax_line_id.law_reference, 100 + ) + for line in record.invoice_line_ids: + if ( + line.display_type in ("line_section", "line_note") + and not there_is_a_note + ): + there_is_a_note = True + for tax_id in line.tax_ids: + aliquota = format_numbers(tax_id.amount) + key = "{}_{}".format(aliquota, tax_id.kind_id.code) + if key in out_computed: + continue + if key not in out: + out[key] = { + "AliquotaIVA": aliquota, + "Natura": tax_id.kind_id.code, + # 'Arrotondamento':'', + "ImponibileImporto": line.price_subtotal, + "Imposta": 0.0, + "EsigibilitaIVA": tax_id.payability, + } + if tax_id.law_reference: + out[key]["RiferimentoNormativo"] = encode_for_export( + tax_id.law_reference, 100 + ) + else: + out[key]["ImponibileImporto"] += line.price_subtotal + out[key]["Imposta"] += 0.0 + out.update(out_computed) + if there_is_a_note: + new_key = "22.00_False" + if new_key not in out: + out[new_key] = { + "AliquotaIVA": "22.00", + "ImponibileImporto": 0.00, + "Imposta": 0.00, + } + return list(out.values()) + + def get_importo(line): + str_number = str(line.discount) + number = str_number[::-1].find(".") + if number <= 2: + return False + return line.price_unit * line.discount / 100 + + def get_default_note_tax(record): + all_taxes = get_all_taxes(record) + return all_taxes[0]["AliquotaIVA"] if all_taxes else "0.00" + + if self.partner_id.commercial_partner_id.is_pa: + # check value code + code = self.partner_id.ipa_code + else: + code = self.partner_id.codice_destinatario + + price_subtotals = {} + for invoice in self.invoices: + inv_subtotals = {} + for line in invoice.invoice_line_ids: + for tax_id in line.tax_ids: + inv_subtotals[tax_id.id] = ( + inv_subtotals.get(tax_id.id, 0.0) + line.price_subtotal + ) + price_subtotals[invoice.id] = inv_subtotals + + # Create file content. + template_values = { + "formato_trasmissione": "FPA12" if self.partner_id.is_pa else "FPR12", + "company_id": self.company_id, + "partner_id": self.partner_id, + "invoices": self.invoices, + "progressivo_invio": self.progressivo_invio, + "encode_for_export": encode_for_export, + "format_date": format_date, + "format_monetary": format_monetary, + "format_numbers": format_numbers, + "format_numbers_two": format_numbers_two, + "format_phone": format_phone, + "format_quantity": format_quantity, + "format_price": format_price, + "get_vat_number": get_vat_number, + "get_vat_country": get_vat_country, + "get_causale": get_causale, + "get_nome_attachment": get_nome_attachment, + "codice_destinatario": code.upper(), + "in_eu": in_eu, + "unidecode": unidecode, + "wizard": self.wizard, + "get_importo": get_importo, + "get_all_taxes": get_all_taxes, + "get_default_note_tax": get_default_note_tax, + # "base64": base64, + } + content = env.ref( + "l10n_it_fatturapa_out.account_invoice_it_FatturaPA_export" + )._render(template_values) + # 14.0 - occorre rimuovere gli spazi tra i tag + root = etree.fromstring(content, parser=etree.XMLParser(remove_blank_text=True)) + # già che ci siamo, validiamo con l'XMLSchema dello SdI + ok, errors = self.validate(root) + if not ok: + # XXX - da migliorare? + # i controlli precedenti dovrebbero escludere errori di sintassi XML + # with open("/tmp/fatturaout.xml", "wb") as o: + # o.write(etree.tostring(root, xml_declaration=True, encoding="utf-8")) + raise UserError("\n".join(e.message for e in errors)) + content = etree.tostring(root, xml_declaration=True, encoding="utf-8") + return content + + def __init__(self, wizard, partner_id, invoices, progressivo_invio): + self.wizard = wizard + self.company_id = wizard.env.company + self.partner_id = partner_id + self.invoices = invoices + self.progressivo_invio = progressivo_invio diff --git a/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py new file mode 100644 index 000000000000..be3fedee67c3 --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py @@ -0,0 +1,204 @@ +# Copyright 2014 Davide Corio +# Copyright 2015-2016 Lorenzo Battistini - Agile Business Group +# Copyright 2018 Simone Rubino - Agile Business Group +# Copyright 2018 Sergio Corato +# Copyright 2019 Alex Comba - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import base64 +import logging +import random +import string + +from odoo import api, fields, models +from odoo.exceptions import UserError +from odoo.tools.translate import _ + +from .efattura import EFatturaOut + +_logger = logging.getLogger(__name__) + +try: + from pyxb.utils import domutils + from pyxb.binding.datatypes import decimal as pyxb_decimal + from unidecode import unidecode + from pyxb.exceptions_ import SimpleFacetValueError, SimpleTypeValueError +except ImportError as err: + _logger.debug(err) + + + +class FatturapaBDS(domutils.BindingDOMSupport): + + def valueAsText(self, value, enable_default_namespace=True): + if isinstance(value, pyxb_decimal) and hasattr(value, '_CF_pattern'): + # PyXB changes the text representation of decimals + # so that it breaks pattern matching. + # We have to use directly the string value + # instead of letting PyXB edit it + return str(value) + return super(FatturapaBDS, self) \ + .valueAsText(value, enable_default_namespace) + + +fatturapaBDS = FatturapaBDS() + + + + +def id_generator( + size=5, chars=string.ascii_uppercase + string.digits + string.ascii_lowercase +): + return "".join(random.choice(chars) for dummy in range(size)) + + +class WizardExportFatturapa(models.TransientModel): + _name = "wizard.export.fatturapa" + _description = "Export E-invoice" + + @api.model + def _domain_ir_values(self): + model_name = self.env.context.get("active_model", False) + # Get all print actions for current model + return [ + ("binding_model_id", "=", model_name), + ("type", "=", "ir.actions.report"), + ] + + report_print_menu = fields.Many2one( + comodel_name="ir.actions.actions", + domain=_domain_ir_values, + help="This report will be automatically included in the created XML", + ) + + def saveAttachment(self, fatturapa, number): + attach_obj = self.env["fatturapa.attachment.out"] + vat = attach_obj.get_file_vat() + + attach_str = fatturapa.to_xml(self.env) + attach_vals = { + "name": "{}_{}.xml".format(vat, number), + "datas": base64.encodebytes(attach_str), + } + return attach_obj.create(attach_vals) + + def getPartnerId(self, invoice_ids): + + invoice_model = self.env["account.move"] + partner = False + + invoices = invoice_model.browse(invoice_ids) + + for invoice in invoices: + if not partner: + partner = invoice.partner_id + if invoice.partner_id != partner: + raise UserError( + _("Invoices %s must belong to the same partner.") + % invoices.mapped("number") + ) + + return partner + + def group_invoices_by_partner(self): + invoice_ids = self.env.context.get("active_ids", False) + res = {} + for invoice in self.env["account.move"].browse(invoice_ids): + if invoice.partner_id.id not in res: + res[invoice.partner_id.id] = [] + res[invoice.partner_id.id].append(invoice.id) + return res + + def exportFatturaPA(self): + invoices_by_partner = self.group_invoices_by_partner() + attachments = self.env["fatturapa.attachment.out"] + for partner_id in invoices_by_partner: + invoice_ids = invoices_by_partner[partner_id] + partner = self.getPartnerId(invoice_ids) + context_partner = self.env.context.copy() + context_partner.update({"lang": partner.lang}) + + progressivo_invio = id_generator() + while self.env["fatturapa.attachment.out"].file_name_exists( + progressivo_invio + ): + progressivo_invio = id_generator() + + invoice_ids = ( + self.env["account.move"] + .with_context(context_partner) + .browse(invoice_ids) + ) + + self.checkPaymentTerms(invoice_ids) + fatturapa = EFatturaOut(self, partner, invoice_ids, progressivo_invio) + + attach = self.saveAttachment(fatturapa, progressivo_invio) + attachments |= attach + + invoice_ids.write({"fatturapa_attachment_out_id": attach.id}) + + action = { + "name": "Export Electronic Invoice", + "res_model": "fatturapa.attachment.out", + "type": "ir.actions.act_window", + } + if len(attachments) == 1: + action["view_mode"] = "form" + action["res_id"] = attachments[0].id + else: + action["view_mode"] = "tree,form" + action["domain"] = [("id", "in", attachments.ids)] + return action + + def checkPaymentTerms(self,invoices): + for invoice in invoices: + if invoice.invoice_payment_term_id.id and invoice.invoice_payment_term_id.fatturapa_pt_id.code is False: + raise UserError( + _("Invoice %s fiscal payment term must be set for the selected payment term %s", + invoice.name, invoice.invoice_payment_term_id.name) + ) + + if invoice.invoice_payment_term_id.id and invoice.invoice_payment_term_id.fatturapa_pm_id.code is False: + raise UserError( + _("Invoice %s fiscal payment method must be set for the selected payment term %s", + invoice.name, invoice.invoice_payment_term_id.name) + ) + def generate_attach_report(self, inv): + binding_model_id = self.with_context( + lang=None + ).report_print_menu.binding_model_id.id + name = self.report_print_menu.name + report_model = ( + self.env["ir.actions.report"] + .with_context(lang=None) + .search([("binding_model_id", "=", binding_model_id), ("name", "=", name)]) + ) + attachment, attachment_type = report_model.render_qweb_pdf(inv.ids) + att_id = self.env["ir.attachment"].create( + { + "name": "{}.pdf".format(inv.number), + "type": "binary", + "datas": base64.encodebytes(attachment), + "res_model": "account.move", + "res_id": inv.id, + "mimetype": "application/x-pdf", + } + ) + inv.write( + { + "fatturapa_doc_attachments": [ + ( + 0, + 0, + { + "is_pdf_invoice_print": True, + "ir_attachment_id": att_id.id, + "description": _( + "Attachment generated by " "electronic invoice export" + ), + }, + ) + ] + } + ) diff --git a/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_regenerate.py b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_regenerate.py new file mode 100644 index 000000000000..8245cb619d4b --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_regenerate.py @@ -0,0 +1,76 @@ +# Copyright 2019 Roberto Fichera - Level Prime Srl +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import base64 + +from odoo import _, models +from odoo.exceptions import ValidationError + + +class WizardExportFatturapa(models.TransientModel): + _inherit = "wizard.export.fatturapa" + + def updateAttachment(self, attach, fatturapa): + attach_str = fatturapa.to_xml(self.env) + attach.write( + { + "datas": base64.encodebytes(attach_str), + "state": "ready", + } + ) + + def exportFatturaPARegenerate(self): + invoice_obj = self.env["account.move"] + attachments = self.env["fatturapa.attachment.out"] + # Browse active invoice + active_id = invoice_obj.browse(self._context.get("active_id")) + + if not active_id: + raise ValidationError(_("The method can be called with a valid active_id")) + + # Search all the invoices belonging the same xml file + invoice_ids = invoice_obj.search( + [ + ( + "fatturapa_attachment_out_id", + "=", + active_id.fatturapa_attachment_out_id.id, + ) + ] + ).ids + + attach = active_id.fatturapa_attachment_out_id + if not attach: + raise ValidationError( + _( + "The invoice cannot be regenerated because doesn't have a " + "e-invoice attachment associated to it" + ) + ) + + partner = active_id.partner_id + context_partner = self.env.context.copy() + context_partner.update({"lang": partner.lang}) + + fatturapa, number = self.exportInvoiceXML( + partner, invoice_ids, attach=attach, context=context_partner + ) + + self.updateAttachment(attach, fatturapa) + + attachments |= attach + + action = { + "name": "Re-Export Electronic Invoice", + "res_model": "fatturapa.attachment.out", + "type": "ir.actions.act_window", + } + + if len(attachments) == 1: + action["view_mode"] = "form" + action["res_id"] = attachments[0].id + else: + action["view_mode"] = "tree,form" + action["domain"] = [("id", "in", attachments.ids)] + + return action diff --git a/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view.xml b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view.xml new file mode 100644 index 000000000000..491c244844f9 --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view.xml @@ -0,0 +1,43 @@ + + + + Export Electronic Invoice + wizard.export.fatturapa + +
+ + + + + + +
+
+
+
+
+ + + ir.actions.act_window + Export Electronic Invoice + wizard.export.fatturapa + + new + form + + +
diff --git a/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view_regenerate.xml b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view_regenerate.xml new file mode 100644 index 000000000000..a3c05779093a --- /dev/null +++ b/l10n_it_fatturapa_out/wizard/wizard_export_fatturapa_view_regenerate.xml @@ -0,0 +1,38 @@ + + + + Export Electronic Invoice Regenerate + wizard.export.fatturapa + primary + + + + 1 + + + + + + + + view.account.invoice.fatturapa.out.pec.filter + account.move + + + + + + + + + + + + + + + diff --git a/l10n_it_fatturapa_pec/views/company_view.xml b/l10n_it_fatturapa_pec/views/company_view.xml new file mode 100644 index 000000000000..ba7ab529ed47 --- /dev/null +++ b/l10n_it_fatturapa_pec/views/company_view.xml @@ -0,0 +1,33 @@ + + + + + view_account_config_settings_ftpa_pec + res.config.settings + + + +
+
+
+
+ Supplier Bills + +
+ Default user used in electronic supplier bills +
+
+
+
+
+
+
+
+ + + + + diff --git a/l10n_it_fatturapa_pec/views/fatturapa_attachment_out.xml b/l10n_it_fatturapa_pec/views/fatturapa_attachment_out.xml new file mode 100644 index 000000000000..7b4e8f322813 --- /dev/null +++ b/l10n_it_fatturapa_pec/views/fatturapa_attachment_out.xml @@ -0,0 +1,80 @@ + + + + + fatturapa.attachment.out.form + fatturapa.attachment.out + + + +
+
+
+ + + + + + + {'readonly': [('state', 'not in', ['ready', 'sender_error'])]} + +
+
+
+
+ + + view_fatturapa_out_pec_attachment_form_statusbar + fatturapa.attachment.out + + + + + 1 + + + + + + view_fatturapa_out_attachment_tree_state + fatturapa.attachment.out + + + + + + + + + + + view_fatturapa_out_attachment_search_state + fatturapa.attachment.out + + + + + + + + + + + + + + {'search_default_ready': True, 'search_default_sender_error': True, 'search_default_rejected': True, } + + +
diff --git a/l10n_it_fatturapa_pec/views/fetchmail_view.xml b/l10n_it_fatturapa_pec/views/fetchmail_view.xml new file mode 100644 index 000000000000..abc98942651d --- /dev/null +++ b/l10n_it_fatturapa_pec/views/fetchmail_view.xml @@ -0,0 +1,27 @@ + + + + + view_email_server_form_e_invoice + fetchmail.server + + + + + + + + + + + + + {'invisible': [('is_fatturapa_pec', '=', True)]} + + + + + + + diff --git a/l10n_it_fatturapa_pec/wizard/__init__.py b/l10n_it_fatturapa_pec/wizard/__init__.py new file mode 100644 index 000000000000..ec8ceddeffdc --- /dev/null +++ b/l10n_it_fatturapa_pec/wizard/__init__.py @@ -0,0 +1,3 @@ + +from . import send_pec +from . import wizard_export_fatturapa diff --git a/l10n_it_fatturapa_pec/wizard/send_pec.py b/l10n_it_fatturapa_pec/wizard/send_pec.py new file mode 100644 index 000000000000..9fa8d079c28e --- /dev/null +++ b/l10n_it_fatturapa_pec/wizard/send_pec.py @@ -0,0 +1,14 @@ + +from odoo import models, api + + +class SendPEC(models.TransientModel): + _name = 'wizard.fatturapa.send.pec' + _description = "Wizard to send multiple e-invoice PEC" + + + def send_pec(self): + if self.env.context.get('active_ids'): + attachments = self.env['fatturapa.attachment.out'].browse( + self.env.context['active_ids']) + attachments.send_via_pec() diff --git a/l10n_it_fatturapa_pec/wizard/send_pec_view.xml b/l10n_it_fatturapa_pec/wizard/send_pec_view.xml new file mode 100644 index 000000000000..03201ac4c128 --- /dev/null +++ b/l10n_it_fatturapa_pec/wizard/send_pec_view.xml @@ -0,0 +1,30 @@ + + + + wizard_fatturapa_send_pec_view + wizard.fatturapa.send.pec + +
+ + + + + +
+
+
+
+
+ + + + + + + + + +
diff --git a/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa.py b/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa.py new file mode 100644 index 000000000000..8182da8d623a --- /dev/null +++ b/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa.py @@ -0,0 +1,80 @@ +# -*- coding: utf-8 -*- +# Copyright 2019 Roberto Fichera - Level Prime Srl +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import base64 +import logging + +from odoo import models, _ +from odoo.exceptions import ValidationError + +from odoo.addons.l10n_it_fatturapa_out.wizard.wizard_export_fatturapa import ( + fatturapaBDS +) + +_logger = logging.getLogger(__name__) + + +class WizardExportFatturapa(models.TransientModel): + _inherit = "wizard.export.fatturapa" + + def updateAttachment(self, attach, fatturapa): + attach_str = fatturapa.toxml( + encoding="UTF-8", + bds=fatturapaBDS, + ) + fatturapaBDS.reset() + attach.write({ + 'datas': base64.encodestring(attach_str), + 'state': 'ready', + }) + + def exportFatturaPARegenerate(self): + invoice_obj = self.env['account.invoice'] + attachments = self.env['fatturapa.attachment.out'] + # Browse active invoice + active_id = invoice_obj.browse(self._context.get('active_id')) + + if not active_id: + raise ValidationError( + _('The method can be called with a valid active_id')) + + # Search all the invoices belonging the same xml file + invoice_ids = invoice_obj.search( + [('fatturapa_attachment_out_id', '=', + active_id.fatturapa_attachment_out_id.id)]).ids + + attach = active_id.fatturapa_attachment_out_id + if not attach: + raise ValidationError( + _("The invoice cannot be regenerated because doesn't have a " + "e-invoice attachment associated to it")) + + partner = active_id.partner_id + company = self.env.user.company_id + context_partner = self.env.context.copy() + context_partner.update({'lang': partner.lang}) + + fatturapa, number = self.exportInvoiceXML( + company, partner, invoice_ids, attach=attach, + context=context_partner) + + self.updateAttachment(attach, fatturapa) + + attachments += attach + + action = { + 'view_type': 'form', + 'name': "Re-Export Electronic Invoice", + 'res_model': 'fatturapa.attachment.out', + 'type': 'ir.actions.act_window', + } + + if len(attachments) == 1: + action['view_mode'] = 'form' + action['res_id'] = attachments[0].id + else: + action['view_mode'] = 'tree,form' + action['domain'] = [('id', 'in', attachments.ids)] + + return action diff --git a/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa_view.xml b/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa_view.xml new file mode 100644 index 000000000000..ef3a0b3b831c --- /dev/null +++ b/l10n_it_fatturapa_pec/wizard/wizard_export_fatturapa_view.xml @@ -0,0 +1,18 @@ + + + + Export Electronic Invoice Regenerate + wizard.export.fatturapa + primary + + + + 1 + + +