diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..dc5e6b6 --- /dev/null +++ b/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..b4e4f69 --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Sales Expense', + 'version': '1.0', + 'category': 'Sales/Sales', + 'summary': 'Quotation, Sales Orders, Delivery & Invoicing Control', + 'description': """ +Reinvoice Employee Expense +========================== + +Create some products for which you can re-invoice the costs. +This module allow to reinvoice employee expense, by setting the SO directly on the expense. +""", + 'depends': ['sale_management', 'hr_expense'], + 'data': [ + 'data/sale_expense_data.xml', + 'views/product_view.xml', + 'views/hr_expense_views.xml', + 'views/sale_order_views.xml', + 'views/hr_expense_sheet_views.xml', + ], + 'installable': True, + 'auto_install': True, + 'assets': { + 'web.assets_backend': [ + 'sale_expense/static/src/**/*', + ], + 'web.qunit_suite_tests': [ + 'sale_expense/static/tests/**/*', + ], + }, + 'license': 'LGPL-3', +} diff --git a/data/sale_expense_data.xml b/data/sale_expense_data.xml new file mode 100644 index 0000000..3cdf4fb --- /dev/null +++ b/data/sale_expense_data.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/i18n/ar.po b/i18n/ar.po new file mode 100644 index 0000000..484d7d0 --- /dev/null +++ b/i18n/ar.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "عدد النفقات " + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "يمكن إعادة فوترته " + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "العميل لإعادة إنشاء فاتورته " + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "النفقة " + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "تلميحات سياسة النفقات " + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "تقرير النفقات " + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "تقسيم النفقات" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "النفقات " + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "قد لا تتم إضافة نفقات هذه الفئة إلى أمر بيع. " + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "ستتم إضافة النفقات إلى أمر البيع بتكلفتها الفعلية عند ترحيلها. " + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"ستتم إضافة النفقات إلى أمر البيع بسعر البيع (سعر المنتج، قائمة الأسعار، " +"إلخ.) عند ترحيلها. " + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "إذا كان للفئة سياسة نفقات، سوف تتم إعادة فوترتها على أمر البيع هذا " + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "الفوترة" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "المنتج" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "أوامر البيع المعاد فوترتها " + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "عدد أوامر البيع" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "أمر البيع" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "أوامر البيع" diff --git a/i18n/az.po b/i18n/az.po new file mode 100644 index 0000000..4087df7 --- /dev/null +++ b/i18n/az.po @@ -0,0 +1,125 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Jumshud Sultanov , 2022 +# erpgo translator , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: erpgo translator , 2022\n" +"Language-Team: Azerbaijani (https://app.transifex.com/odoo/teams/41243/az/)\n" +"Language: az\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Xərclər" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Xərclər" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Hesab-faktura göndərilməsi" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Jurnal Sətirləri" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Məhsul" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Satış Sifarişi" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/bg.po b/i18n/bg.po new file mode 100644 index 0000000..a49d168 --- /dev/null +++ b/i18n/bg.po @@ -0,0 +1,143 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Maria Boyadjieva , 2023 +# aleksandar ivanov, 2023 +# Rosen Vladimirov , 2023 +# Igor Sheludko , 2023 +# Martin Trigaux, 2023 +# KeyVillage, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: KeyVillage, 2024\n" +"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Разход" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Разходен отчет" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Разходи" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Счетоводно отчитане" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Записи в Дневника" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Счетоводна Операция" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Продукт" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Поръчка" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Поръчки за продажби" diff --git a/i18n/bs.po b/i18n/bs.po new file mode 100644 index 0000000..3dc6d11 --- /dev/null +++ b/i18n/bs.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2018 +# Boško Stojaković , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Boško Stojaković , 2018\n" +"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Trošak" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Troškovi" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturisanje" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/ca.po b/i18n/ca.po new file mode 100644 index 0000000..09f4a6c --- /dev/null +++ b/i18n/ca.po @@ -0,0 +1,151 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Manel Fernandez Ramirez , 2023 +# marcescu, 2023 +# Martin Trigaux, 2023 +# Ivan Espinola, 2023 +# Óscar Fonseca , 2023 +# Quim - eccit , 2023 +# Josep Anton Belchi, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Josep Anton Belchi, 2024\n" +"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# de despeses" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Es pot tornar a facturar" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Client a refacturar" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Despesa" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Indicador de la política de despeses" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Informe de despeses" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Divisió de despeses" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Despeses" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Les despeses d'aquesta categoria no es poden afegir a una comanda de vendes." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Les despeses s'afegiran a la comanda de vendes al seu cost real quan es " +"publiquin." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Les despeses s'afegiran a la comanda de vendes al seu preu de venda (preu de" +" producte, llista de preus, etc.) quan es publiquin." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Si la categoria té una política de despeses, es refacturarà en aquesta " +"comanda de venda" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturació" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Assentament comptable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Apunt comptable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Producte" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Comandes de vendes facturades" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Nombre de comandes" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Comanda" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Comandes de venda" diff --git a/i18n/cs.po b/i18n/cs.po new file mode 100644 index 0000000..86f36a8 --- /dev/null +++ b/i18n/cs.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Jakub Smolka, 2023 +# Wil Odoo, 2023 +# Ivana Bartonkova, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Ivana Bartonkova, 2024\n" +"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: cs\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "počet výdajů" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Zákazník přefakturuje" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Výdaj" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Výkaz výdajů" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Rozdělení výdaje" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Náklady" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturace" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Účetní záznam" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Účetní položka" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Počet prodejních objednávek" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Prodejní objednávka" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Prodejní objednávky" diff --git a/i18n/da.po b/i18n/da.po new file mode 100644 index 0000000..166ef23 --- /dev/null +++ b/i18n/da.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2024\n" +"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# udgifter" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Kan genfaktureres" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Kunder at Genfakturere " + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Omkostning" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Udgiftsrapport" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Øvrige omkostninger" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturering" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Postering" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Journalpost" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Salgsordre mængde" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Salgsordre" diff --git a/i18n/de.po b/i18n/de.po new file mode 100644 index 0000000..c527a17 --- /dev/null +++ b/i18n/de.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\n" +"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Ausgaben" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Kann weiterberechnet werden" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "An Kunden berechnen" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Ausgabe" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Tooltipp für die Spesenpolitik" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Spesenabrechnung" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Spesenaufteilung" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Ausgaben" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Spesen dieser Kategorie können einem Verkaufsauftrag möglicherweise nicht " +"zugewiesen werden." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Spesen werden dem Verkaufsauftrag zu den tatsächlichen Kosten hinzugefügt, " +"wenn sie gebucht werden." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Spesen werden dem Verkaufsauftrag zum Verkaufspreis hinzugefügt (Produkt, " +"Preis, Preisliste usw.), wenn sie gebucht werden." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Wenn es für die Kategorie eine Spesenpolitik gibt, wird sie bei diesem " +"Verkaufsauftrag weiterberechnet." + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Rechnungsstellung" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Journalbuchung" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Buchungszeile" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Weiterberechnete Verkaufsaufträge" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Anzahl Verkaufsaufträge" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Verkaufsauftrag" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Verkaufsaufträge" diff --git a/i18n/el.po b/i18n/el.po new file mode 100644 index 0000000..8c2fc28 --- /dev/null +++ b/i18n/el.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2018 +# Kostas Goutoudis , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Last-Translator: Kostas Goutoudis , 2018\n" +"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n" +"Language: el\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Έξοδα" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Έξοδα" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Τιμολόγηση" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 0000000..dba9ec7 --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,145 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\n" +"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# de gastos" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Puede ser refacturado" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Cliente a reembolsar" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Gasto" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Información sobre la política de gastos" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Informe de gastos" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Dividir gastos" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Gastos" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "No se pueden añadir gastos de esta categoría a una orden de venta." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Se añadirán los gastos a la orden de venta a su coste real cuando se " +"registren." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Se añadirán los gastos a la orden de venta a su precio de venta (precio del " +"producto, lista de precios, etc.) cuando se registren." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Si la categoría tiene una política de gastos, se volverá a facturar en esta " +"orden de venta" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturación" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Asiento contable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Apunte contable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Órdenes de venta refacturadas" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Nº de pedidos de venta" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Orden de venta" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Pedidos de ventas" diff --git a/i18n/es_419.po b/i18n/es_419.po new file mode 100644 index 0000000..9f5d580 --- /dev/null +++ b/i18n/es_419.po @@ -0,0 +1,145 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Fernanda Alvarez, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Fernanda Alvarez, 2024\n" +"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_419\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "Número de gastos" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Se puede volver a facturar" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Cliente al que se le va a volver a facturar" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Gasto" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Información sobre la política de gastos" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Reporte de gastos" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Dividir gastos" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Gastos" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "No puede agregar gastos de esta categoría a una orden de venta." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Los gastos se agregarán a la orden de venta a su costo real cuando se " +"registren." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Los gastos se agregarán a la orden de venta a su precio de venta (precio del" +" producto, lista de precios, etc.) cuando se registren." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Si la categoría tiene una política de gastos, se volverá a facturar en esta " +"orden de venta" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturación" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Asiento contable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Apunte contable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Órdenes de venta refacturadas" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Número de órdenes de venta" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Orden de venta" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Órdenes de venta" diff --git a/i18n/et.po b/i18n/et.po new file mode 100644 index 0000000..b19951d --- /dev/null +++ b/i18n/et.po @@ -0,0 +1,150 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2023 +# Marek Pontus, 2023 +# Triine Aavik , 2023 +# Martin Aavastik , 2023 +# JanaAvalah, 2023 +# Leaanika Randmets, 2023 +# Algo Kärp , 2023 +# Eneli Õigus , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Eneli Õigus , 2024\n" +"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "kulude arv" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Saab teha arveks" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Kulu kliendile edasi esitada" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Kulu" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Kulupoliitika tooltip" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Kuluaruanne" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Kulude jagamine" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Kulud" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Selle kategooria kulusid ei pruugita müügitellimusele lisada." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Kulud lisatakse müügitellimusele nende tegeliku maksumusega postitamisel." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Kulud lisatakse müügitellimusele nende müügihinnaga (toote hind, hinnakiri " +"jne) postitamisel." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Kui sellel kategoorial on kulupoliitika, esitatakse see sellel " +"müügitellimusel uuesti" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Raamatupidamine" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Andmiku kanne" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Andmiku kanderida" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Toode" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Arveldatud müügitellimused" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Müügitellimuste arv" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Müügitellimus" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Müügitellimused" diff --git a/i18n/fa.po b/i18n/fa.po new file mode 100644 index 0000000..b9b68f1 --- /dev/null +++ b/i18n/fa.po @@ -0,0 +1,142 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# F Hariri , 2023 +# M.Hossein S.Farvashani , 2023 +# Hanna Kheradroosta, 2023 +# Martin Trigaux, 2023 +# Yousef Shadmanesh , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Yousef Shadmanesh , 2024\n" +"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "تعداد هزینه‌ها" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "می‌تواند دوباره فاکتور شود" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "مشتری برای صدورفاکتور مجدد" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "هزینه" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "گزارش هزینه" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "هزینه ها" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "صدور فاکتور" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "سند دفترروزنامه‌" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "آیتم دفترروزنامه" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "محصول" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "تعداد سفارش فروش" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "سفارش فروش" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "سفارشات فروش" diff --git a/i18n/fi.po b/i18n/fi.po new file mode 100644 index 0000000..4d98996 --- /dev/null +++ b/i18n/fi.po @@ -0,0 +1,149 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Svante Suominen , 2023 +# Jarmo Kortetjärvi , 2023 +# Kari Lindgren , 2023 +# Ossi Mantylahti , 2023 +# Tuomo Aura , 2023 +# Eino Mäkitalo , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Eino Mäkitalo , 2024\n" +"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Kuluista" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Voidaan laskuttaa asiaalta" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Asiakas, jolta laskutetaan" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Kulu" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Kulukäytännön työkaluvihje" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Kuluraportti" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Kulujen jako" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Kulut" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Tähän luokkaan kuuluvia kuluja ei voi lisätä myyntitilaukseen." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Kulut lisätään myyntitilaukseen niiden todellisten kustannusten mukaan, kun " +"ne kirjataan." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Kulut lisätään myyntitilaukseen niiden myyntihintaan (tuotteen hinta, " +"hinnasto jne.), kun ne kirjataan." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Jos luokalla on kulukäytäntö, se laskutetaan uudelleen tässä " +"myyntitilauksessa" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Laskutus" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Päiväkirjan kirjaus" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Päiväkirjatapahtuma" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Tuote" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Uudelleen laskutetut myyntitilaukset" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Myyntitilausten lukumäärä" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Myyntitilaus" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Myyntitilaukset" diff --git a/i18n/fr.po b/i18n/fr.po new file mode 100644 index 0000000..86db434 --- /dev/null +++ b/i18n/fr.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Jolien De Paepe, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Jolien De Paepe, 2024\n" +"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# de notes de frais" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Peut être refacturé" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Client à refacturer" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Note de frais" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Infobulle politique des notes de frais" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Note de frais" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Fractionnement des notes de frais" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Notes de frais" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Les notes de frais de cette catégorie ne peuvent pas être ajoutées à un bon " +"de commande." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Les notes de frais seront ajoutées au bon de commande à leur coût réel une " +"fois qu'elles sont enregistrées." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Les notes de frais seront ajoutées au bon de commande à leur prix de vente " +"(prix du produit, liste de prix, etc.) une fois qu'elles sont enregistrées." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Si la catégorie a une politique concernant les notes de frais, celle-ci sera" +" refacturée sur ce bon de commande" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturation" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Pièce comptable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Écriture comptable" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produit" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Bons de commande refacturés" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Nombre de bons de commande" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Bon de commande" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Bons de commande" diff --git a/i18n/fr_BE.po b/i18n/fr_BE.po new file mode 100644 index 0000000..fd8c760 --- /dev/null +++ b/i18n/fr_BE.po @@ -0,0 +1,121 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~14.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2021-07-12 07:50+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/gu.po b/i18n/gu.po new file mode 100644 index 0000000..8a87e3f --- /dev/null +++ b/i18n/gu.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Qaidjohar Barbhaya, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Qaidjohar Barbhaya, 2023\n" +"Language-Team: Gujarati (https://app.transifex.com/odoo/teams/41243/gu/)\n" +"Language: gu\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Expense" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Expenses" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Invoicing" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Journal Item" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Product" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/he.po b/i18n/he.po new file mode 100644 index 0000000..c4c42b0 --- /dev/null +++ b/i18n/he.po @@ -0,0 +1,143 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Lilach Gilliam , 2023 +# NoaFarkash, 2023 +# Yihya Hugirat , 2023 +# yael terner, 2023 +# david danilov, 2023 +# ZVI BLONDER , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: ZVI BLONDER , 2024\n" +"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: he\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "מס' ההוצאות" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "ניתן לחייב מחדש" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "לקוח לחשבונית חוזרת" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "מאשר הוצאות" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "דוח הוצאות" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "פיצול הוצאות" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "הוצאות" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "אם לקטגוריה יש מדיניות הוצאות, היא תחויב במכירה זו" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "חיוב" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "פקודת יומן" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "תנועת יומן" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "מוצר" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "כמות הזמנות לקוח" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "הזמנת לקוח" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "הזמנות לקוח" diff --git a/i18n/hr.po b/i18n/hr.po new file mode 100644 index 0000000..3dd83c5 --- /dev/null +++ b/i18n/hr.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Tina Milas, 2022 +# Martin Trigaux, 2022 +# Bole , 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Bole , 2023\n" +"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Trošak" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Izvješće o troškovima" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Dijeli trošak" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Troškovi" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Računovodstvo" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Stavka dnevnika" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Broj ponuda" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Prodajni nalozi" diff --git a/i18n/hu.po b/i18n/hu.po new file mode 100644 index 0000000..24ce4a5 --- /dev/null +++ b/i18n/hu.po @@ -0,0 +1,144 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Tamás Dombos, 2023 +# Tamás Németh , 2023 +# krnkris, 2023 +# Ákos Nagy , 2023 +# Gergő Kertész , 2023 +# Krisztián Juhász , 2023 +# gezza , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: gezza , 2024\n" +"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Ráfordítás" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Költségelszámolás" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Költségek" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Számlázás" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Könyvelési tétel" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Napló tétel" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Termék" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Értékesítési rendelések száma" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Megrendelések" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Vevői megrendelések" diff --git a/i18n/id.po b/i18n/id.po new file mode 100644 index 0000000..76c707f --- /dev/null +++ b/i18n/id.po @@ -0,0 +1,144 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Pengeluaran" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Dapat difaktur ulang" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Pelanggan untuk Difaktur ulang" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Pengeluaran" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Tooltip Kebijakan Pengeluaran" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Laporan Pengeluaran" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Pemecahan Pengeluaran" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Pengeluaran" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Pengeluaran pada kategori ini tidak bisa ditambahkan ke Sales Order." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Pengeluaran akan ditambahkan ke Sales Order pada biaya sebenarnya mereka " +"saat diposting." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Pengeluaran akan ditambahkan ke Sales Order pada harga sales mereka (harga " +"produk, daftar harga, dsb.) saat diposting." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Bila kategori memiliki kebijakan pengeluaran, akan difaktur ulang pada sales" +" order ini" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Penagihan" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Entri Jurnal" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Item Jurnal" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produk" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Sales Order yang Difaktur Ulang" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Jumlah Sale Order" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Order Penjualan" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Order Penjualan" diff --git a/i18n/is.po b/i18n/is.po new file mode 100644 index 0000000..27c5390 --- /dev/null +++ b/i18n/is.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Heiðar Sigurðsson, 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Heiðar Sigurðsson, 2022\n" +"Language-Team: Icelandic (https://app.transifex.com/odoo/teams/41243/is/)\n" +"Language: is\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);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Gjöld" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Rekstrargjöld" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Reikningagerð" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/it.po b/i18n/it.po new file mode 100644 index 0000000..efedb44 --- /dev/null +++ b/i18n/it.po @@ -0,0 +1,147 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Marianna Ciofani, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Marianna Ciofani, 2024\n" +"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "N. spese" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Può essere rifatturata" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Cliente da rifatturare" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Spesa" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Tooltip politica spese" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Nota spese" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Divisione spese" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Spese" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Le spese appartenenti a questa categoria non possono essere aggiunte ad un " +"ordine di vendita." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Le spese verranno aggiunte all'ordine di vendita, al costo attuale, una " +"volta registrate." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Le spese verranno aggiunte all'ordine di vendita al prezzo di vendita " +"(prezzo prodotto, listino prezzi, ecc.) una volta registrate." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Se la categoria ha una politica di spesa, sarà rifatturata su questo ordine " +"di vendita" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fatturazione" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Movimento contabile" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Prodotto" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Ordini di vendita rifatturati" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Numero ordini di vendita" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Ordine di vendita" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Ordini di vendita" diff --git a/i18n/ja.po b/i18n/ja.po new file mode 100644 index 0000000..903d795 --- /dev/null +++ b/i18n/ja.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Ryoko Tsuda , 2023 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "経費の数" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "再度請求可能" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "顧客へ再請求" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "費用" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "経費ポリシーツールのヒント" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "経費報告" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "経費分割" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "費用" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "このカテゴリの経費は販売オーダに追加することができません。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "経費は、計上時に実費で販売オーダに追加されます。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "経費は、計上時に販売価格(プロダクト価格、価格表など)で販売オーダに追加されます。" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "カテゴリに経費ポリシーがある場合は、この販売オーダで再請求されます。" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "請求" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "仕訳" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "仕訳項目" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "プロダクト" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "再請求された販売オーダ" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "販売オーダ数" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "販売オーダ" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "販売オーダ" diff --git a/i18n/km.po b/i18n/km.po new file mode 100644 index 0000000..4fc4816 --- /dev/null +++ b/i18n/km.po @@ -0,0 +1,120 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~11.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2018-09-18 09:49+0000\n" +"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" +"Language: km\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "វិយបត្រ" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/ko.po b/i18n/ko.po new file mode 100644 index 0000000..b986c29 --- /dev/null +++ b/i18n/ko.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Sarah Park, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Sarah Park, 2024\n" +"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# 경비" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "청구서 재발행 가능" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "청구서 재발행 고객" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "경비" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "비용 정책 툴팁" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "지출결의서" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "비용 분할" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "경비" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "이 카테고리에 있는 비용은 판매주문서에 추가할 수 없습니다." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "비용은 발행 시 실제 비용으로 판매주문서에 추가됩니다." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "비용은 발행 시의 판매 가격 (품목 가격이나 가격표 등)으로 판매주문서에 추가됩니다." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "카테고리에 비용 정책이 있는 경우 이 판매 주문에 대해 재청구됩니다" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "청구서 발행" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "전표 입력" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "전표 항목" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "품목" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "판매 주문 재청구" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "판매 주문 수" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "판매 주문" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "판매 주문" diff --git a/i18n/lb.po b/i18n/lb.po new file mode 100644 index 0000000..778d4d7 --- /dev/null +++ b/i18n/lb.po @@ -0,0 +1,120 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2019-08-26 09:14+0000\n" +"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n" +"Language: lb\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/lt.po b/i18n/lt.po new file mode 100644 index 0000000..3b78d67 --- /dev/null +++ b/i18n/lt.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# digitouch UAB , 2023 +# Jonas Zinkevicius , 2023 +# Linas Versada , 2023 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2024\n" +"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lt\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "Išlaidų skaičius" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Klientas, kuriam turi būti išrašyta papildoma S/F" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Išlaida" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Išlaidų ataskaita" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Išlaidos" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Sąskaitų faktūrų teikimas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Žurnalo įrašas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Žurnalo įrašas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produktas" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Pardavimo užsakymų skaičius" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Pardavimo užsakymas" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Pardavimų užsakymai" diff --git a/i18n/lv.po b/i18n/lv.po new file mode 100644 index 0000000..8654bfc --- /dev/null +++ b/i18n/lv.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Arnis Putniņš , 2023 +# Will Sensors, 2023 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2024\n" +"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Avansa Norēķini" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Izdevumi" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Rēķini" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Grāmatojumi" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Kontējums" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkts" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Pārdošanas pasūtījuma skaits" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Pasūtījums" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Pārdošanas pasūtījumi" diff --git a/i18n/mn.po b/i18n/mn.po new file mode 100644 index 0000000..895bc3e --- /dev/null +++ b/i18n/mn.po @@ -0,0 +1,126 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# nurbakhit nurka , 2022 +# Martin Trigaux, 2022 +# Baskhuu Lodoikhuu , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Baskhuu Lodoikhuu , 2022\n" +"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "Зардлын #" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Зардал" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Зардлын тооцоо" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Зардлууд" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Нэхэмжлэл" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Журналын бичилт" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Бараа" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Борлуулалтын баримтын тоо" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Борлуулалтын захиалга" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Борлуулалтын захиалга" diff --git a/i18n/nb.po b/i18n/nb.po new file mode 100644 index 0000000..40b7bd5 --- /dev/null +++ b/i18n/nb.po @@ -0,0 +1,125 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2022 +# Marius Stedjan , 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Marius Stedjan , 2022\n" +"Language-Team: Norwegian Bokmål (https://app.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "Antall utlegg" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Kan viderefaktureres" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Utlegg" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Utleggsrapport" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Utlegg" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturering" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Journalpost" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Antall salgsordre" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Salgsordre" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Salgsordre" diff --git a/i18n/nl.po b/i18n/nl.po new file mode 100644 index 0000000..1a87fc2 --- /dev/null +++ b/i18n/nl.po @@ -0,0 +1,146 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Onkosten" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Kan opnieuw gefactureerd worden" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Doorfactureren aan klant" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Declaratie" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Tooptip onkostenbeleid" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Onkostendeclaratie" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Declaratie splitsen" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Declaraties" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Onkosten van deze categorie mogen niet aan een verkooporder toegevoegd " +"worden." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Onkosten worden toegevoegd aan de verkooporder tegen hun werkelijke " +"kostprijs wanneer ze worden geboekt." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Onkosten worden toegevoegd aan de verkooporder tegen de verkoopprijs " +"(productprijs, prijslijst, enz.) wanneer ze worden geboekt." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Als de categorie een onkostenbeleid heeft, wordt deze opnieuw gefactureerd " +"op deze verkooporder" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturatie" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Boeking" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Boekingsregel" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Product" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Geherfactureerde verkooporders" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Totaal verkooporders" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Verkooporder" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Verkooporders" diff --git a/i18n/pl.po b/i18n/pl.po new file mode 100644 index 0000000..41ab4cf --- /dev/null +++ b/i18n/pl.po @@ -0,0 +1,144 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# wydatków" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Może być ponownie fakturowane" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Klient Do Refakturowania" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Wydatek" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Etykieta polityki wydatków" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Raport wydatków" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Podział wydatków" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Wydatki" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Wydatki z tej kategorii mogą być dodane do zamówienia sprzedaży" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Wydatki zostaną dodane do zamówienia sprzedaży po ich rzeczywistym koszcie w" +" momencie zaksięgowania." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Wydatki zostaną dodane do zamówienia sprzedaży po aktualnej cenie sprzedaży " +"w momencie księgowania." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Jeżeli kategoria ma politykę wydatków, zostanie fakturowana ponownie na tym " +"zamówieniu sprzedaży." + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturowanie" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Zapis dziennika" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Pozycja zapisu" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Refakturowane zamówienia sprzedaży" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Liczba zamówień sprzedaży" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Zamówienie sprzedaży" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Zamówienia sprzedaży" diff --git a/i18n/pt.po b/i18n/pt.po new file mode 100644 index 0000000..6e955e1 --- /dev/null +++ b/i18n/pt.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Daniel Reis, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Daniel Reis, 2024\n" +"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Despesa" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Relatório de Despesas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Despesas" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Faturação" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Lançamento de Diário" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Item do Diário" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Ordem de Vendas" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Ordens de Vendas" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po new file mode 100644 index 0000000..19a0e52 --- /dev/null +++ b/i18n/pt_BR.po @@ -0,0 +1,146 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# a75f12d3d37ea5bf159c4b3e85eb30e7_0fa6927, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: a75f12d3d37ea5bf159c4b3e85eb30e7_0fa6927, 2024\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "Nº de despesas" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Pode ser refaturado" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Cliente a refaturar" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Despesa" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Dica de política de despesas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Relatório de despesas" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Despesa dividida" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Despesas" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" +"Despesas desta categoria não podem ser adicionadas a um pedido de venda." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Despesas serão adicionadas ao pedido de venda com o custo efetivo de quando " +"forem lançadas." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Despesas serão adicionadas ao pedido de venda com o preço de venda (preço do" +" produto, lista de preços etc) de quando forem lançadas." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Se essa categoria tem uma política de despesas, será refaturada nesse pedido" +" de venda" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Faturamento" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Lançamento de diário" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Item do diário" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Pedidos de venda refaturados" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Contagem do pedido de venda" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Pedido de venda" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Pedidos de vendas" diff --git a/i18n/ro.po b/i18n/ro.po new file mode 100644 index 0000000..5627357 --- /dev/null +++ b/i18n/ro.po @@ -0,0 +1,127 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Hongu Cosmin , 2022 +# Dorin Hongu , 2022 +# Foldi Robert , 2022 +# Martin Trigaux, 2022 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0beta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2022-09-22 05:54+0000\n" +"Last-Translator: Martin Trigaux, 2022\n" +"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# de Cheltuieli" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Pot fi refacturate" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Clienți de Refacturat" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Cheltuieli" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Raport de cheltuieli" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Cheltuieli" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Facturare" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Element jurnal" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produs" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Numărul comenzilor de vânzare" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Comandă de vânzare" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Comenzi de vânzare" diff --git a/i18n/ru.po b/i18n/ru.po new file mode 100644 index 0000000..b050ad4 --- /dev/null +++ b/i18n/ru.po @@ -0,0 +1,148 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Martin Trigaux, 2023 +# Vasiliy Korobatov , 2023 +# Константин Коровин , 2023 +# Сергей Шебанин , 2023 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Расходы" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Может быть повторно озвучен" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Клиент для повторного выставления счета" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Расход" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Всплывающая подсказка по политике расходов" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Отчет о Расходах" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Распределение расходов" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Расходы" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Расходы этой категории не могут быть добавлены к заказу на продажу." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Расходы будут добавлены к заказу на продажу по их фактической стоимости при " +"учете." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Расходы будут добавлены к заказу на продажу по их продажной цене (цена " +"продукта, прайс-лист и т.д.) при учете." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Если для категории предусмотрена политика расходов, она будет повторно " +"указана в этом заказе на продажу" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Выставление счетов" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Запись в журнале" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Наименование в журнале" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Товар" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Повторные счета-фактуры по заказам на продажу" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Счетчик заказов на продажу" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Заказ на продажу" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Заказы на продажу" diff --git a/i18n/sale_expense.pot b/i18n/sale_expense.pot new file mode 100644 index 0000000..f117db6 --- /dev/null +++ b/i18n/sale_expense.pot @@ -0,0 +1,134 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2024-01-05 12:32+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/sk.po b/i18n/sk.po new file mode 100644 index 0000000..6584054 --- /dev/null +++ b/i18n/sk.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sk\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# výdavkov" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Môže byť znovu fakturované" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Výdavky" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Report o výdavkoch" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Výdavky" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturácia" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Vstup účtovnej knihy" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Položka účtovnej knihy" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Počet objednávok predaja" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Objednávka " + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Objednávky predaja" diff --git a/i18n/sl.po b/i18n/sl.po new file mode 100644 index 0000000..004eb3a --- /dev/null +++ b/i18n/sl.po @@ -0,0 +1,142 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Jasmina Macur , 2023 +# Tomaž Jug , 2023 +# Tadej Lupšina , 2023 +# Matjaz Mozetic , 2023 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Martin Trigaux, 2024\n" +"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Lahko se ponovno zaračuna" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Strošek" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Poročilo o stroških" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Stroški" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Obračun" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Temeljnica" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Postavka" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Izdelek" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Število prodajnih nalogov" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Prodajni nalog" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Prodajni nalogi" diff --git a/i18n/sr.po b/i18n/sr.po new file mode 100644 index 0000000..88ca9ea --- /dev/null +++ b/i18n/sr.po @@ -0,0 +1,146 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Milan Bojovic , 2023 +# Martin Trigaux, 2023 +# Dragan Vukosavljevic , 2024 +# コフスタジオ, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: コフスタジオ, 2024\n" +"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sr\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# of Expenses" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Can be reinvoiced" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Customer to Reinvoice" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Rashod" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Expense Policy Tooltip" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Expense Report" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Expense Split" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Troškovi" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Expenses of this category may not be added to a Sales Order." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Expenses will be added to the Sales Order at their actual cost when posted." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturisanje" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Sadržaj dnevnika" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Stavka izveštaja" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Reinvoiced Sales Orders" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Sale Order Count" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Porudžbenica" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Porudžbenica" diff --git a/i18n/sr@latin.po b/i18n/sr@latin.po new file mode 100644 index 0000000..46773ef --- /dev/null +++ b/i18n/sr@latin.po @@ -0,0 +1,124 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Nemanja Dragovic , 2017 +# Martin Trigaux , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.saas~18\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-23 08:03+0000\n" +"PO-Revision-Date: 2017-09-20 09:53+0000\n" +"Last-Translator: Martin Trigaux , 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/odoo/teams/41243/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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Trošak" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "If the category has an expense policy, it will be reinvoiced on this sales order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturisanje" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "" + +#. module: sale_expense +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "" diff --git a/i18n/sv.po b/i18n/sv.po new file mode 100644 index 0000000..7ec596a --- /dev/null +++ b/i18n/sv.po @@ -0,0 +1,144 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Kim Asplund , 2023 +# Simon S, 2023 +# Chrille Hedberg , 2023 +# Anders Wallenquist , 2023 +# Lasse L, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Lasse L, 2024\n" +"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Utlägg" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Kan vidarefaktureras" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Kund att vidarefakurera" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Utlägg" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Utgiftsrapport" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Utlägg" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Om kategorin har en utgiftspolicy återfaktureras den på denna " +"försäljningsorder" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Fakturering" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Journalkontering" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Transaktion" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Antal säljordrar" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Order" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Kundorder" diff --git a/i18n/th.po b/i18n/th.po new file mode 100644 index 0000000..0d7bd88 --- /dev/null +++ b/i18n/th.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Rasareeyar Lappiam, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Rasareeyar Lappiam, 2024\n" +"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# ของรายจ่าย" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "สามารถออกใบแจ้งหนี้อีกครั้ง" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "ลูกค้าที่จะออกใบแจ้งหนี้ใหม่" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "รายจ่าย" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "เคล็ดลับเครื่องมือนโยบายค่าใช้จ่าย" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "รายงานรายจ่าย" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "การแบ่งค่าใช้จ่าย" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "รายจ่าย" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "ค่าใช้จ่ายประเภทนี้ไม่สามารถเพิ่มลงในใบสั่งขายได้" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "ค่าใช้จ่ายจะถูกเพิ่มลงในใบสั่งขายตามต้นทุนจริงเมื่อผ่านรายการ" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"ค่าใช้จ่ายจะถูกเพิ่มลงในใบสั่งขายในราคาขาย (ราคาสินค้า รายการราคา และอื่นๆ) " +"เมื่อผ่านรายการ" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "ถ้าหมวดหมู่มีนโยบายค่าใช้จ่าย จะมีการออกใบแจ้งหนี้ใหม่ในคำสั่งขายนี้" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "ออกใบแจ้งหนี้" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "รายการสมุดรายวัน" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "รายการบันทึก" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "สินค้า" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "ใบสั่งขายที่ออกใบแจ้งหนี้ใหม่" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "จำนวนคำสั่งขาย" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "คำสั่งขาย" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "คำสั่งขาย" diff --git a/i18n/tr.po b/i18n/tr.po new file mode 100644 index 0000000..b314381 --- /dev/null +++ b/i18n/tr.po @@ -0,0 +1,148 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Ediz Duman , 2023 +# Özlem Atalay , 2023 +# Ertuğrul Güreş , 2023 +# Martin Trigaux, 2023 +# Murat Kaplan , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Murat Kaplan , 2024\n" +"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# Masraf Sayısı" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Yeniden faturalandırılabilir" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Müşteriye Yeniden Faturalama" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Masraf" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Masraf Politikası Araç İpucu" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Masraf Formu" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Masraf Bölünmesi" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Masraflar" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Bu kategorideki masraflar bir Satış Siparişine eklenemez." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Masraflar, onaylandıklarında gerçek maliyetleri üzerinden Satış Siparişine " +"eklenecektir." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Masraflar, onaylandıklarında Satış Siparişine satış fiyatı (ürün fiyatı, " +"fiyat listesi vb.) üzerinden eklenecektir." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Kategorinin bir masraf politikası varsa, bu satış siparişinde yeniden " +"faturalandırılır" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Faturalama" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Yevmiye Kaydı" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Yevmiye Kalemi" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Ürün" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Yeniden Faturalandırılan Satış Siparişleri" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Sipariş Sayısı" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Satış Siparişi" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Satış Siparişleri" diff --git a/i18n/uk.po b/i18n/uk.po new file mode 100644 index 0000000..a0d6a3c --- /dev/null +++ b/i18n/uk.po @@ -0,0 +1,145 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Alina Lisnenko , 2023 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: uk\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: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "К-сть витрат" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Можна повторно виставити рахунок" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Клієнт для повторного виставлення рахунку" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Витрати" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Інструмент політики витрат" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Звіт про витрати" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Розділити витрати" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Витрати" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Витрати цієї категорії можуть не додаватися до Замовлення на продаж." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Витрати будуть додані до Замовлення на продаж по їх актувальній вартості під" +" час опублікування." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Витрати будуть додані до Замовалення на продаж по їх продажній ціні (ціна " +"товару, прайс-лист тощо) після опублікації." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Якщо категорія має політику витрат, вона буде повторно виставлятися за цим " +"замовленням на продаж" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Виставлення рахунків" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Запис у журналі" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Елемент журналу" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Товар" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Замволення на продаж перевиставлені у рахунку" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "Підрахунок замовлення на продаж" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Замовлення на продаж" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Замовлення на продаж" diff --git a/i18n/vi.po b/i18n/vi.po new file mode 100644 index 0000000..320a064 --- /dev/null +++ b/i18n/vi.po @@ -0,0 +1,143 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# chi phí" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "Có thể xuất lại hóa đơn" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "Khách hàng cần xuất lại hóa đơn" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "Chi phí" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "Tooltip chính sách chi phí" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "Báo cáo chi phí" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "Chia sẻ chi phí" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "Chi phí" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "Chi phí của danh mục này có thể không được thêm vào đơn bán hàng." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "" +"Chi phí sẽ được thêm vào đơn bán hàng theo chi phí thực tế khi ghi sổ." + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "" +"Chi phí sẽ được thêm vào đơn bán hàng theo giá bán (giá sản phẩm, bảng " +"giá,...) khi ghi sổ." + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "" +"Nếu danh mục có chính sách chi phí, danh mục đó sẽ được xuất lại hóa đơn " +"trong đơn bán hàng này" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "Xuất hóa đơn" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "Bút toán" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "Hạng mục bút toán" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "Sản phẩm" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "Xuất lại hoá đơn đơn bán hàng" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr " Số đơn bán hàng" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "Đơn bán hàng" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "Đơn bán hàng" diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po new file mode 100644 index 0000000..271ef6f --- /dev/null +++ b/i18n/zh_CN.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2023 +# Jeffery CHEN , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Jeffery CHEN , 2024\n" +"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "# 费用" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "可重开结算单" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "客户重新开票" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "费用" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "费用政策提示" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "费用报告" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "费用分摊" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "费用" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "此类别的费用不得添加到销售订单中。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "费用将在过帐时按实际成本添加到销售订单中。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "费用将在发布时以其销售价格(产品价格、价格表等)添加到销售订单。" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "如果该类别有费用政策,则将在此销售订单上重新开具结算单" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "发票" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "日记账分录" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "日记账项目" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "产品" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "重开票销售订单" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "销售订单计数" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "销售订单" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "销售订单" diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po new file mode 100644 index 0000000..04ecddf --- /dev/null +++ b/i18n/zh_TW.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_expense +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-05 12:32+0000\n" +"PO-Revision-Date: 2023-10-26 23:09+0000\n" +"Last-Translator: Wil Odoo, 2024\n" +"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_count +msgid "# of Expenses" +msgstr "開支數目" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__can_be_reinvoiced +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__can_be_reinvoiced +msgid "Can be reinvoiced" +msgstr "可以請求報銷" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense__sale_order_id +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_split__sale_order_id +msgid "Customer to Reinvoice" +msgstr "待報銷費用客戶" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense +msgid "Expense" +msgstr "開支" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_product_product__expense_policy_tooltip +#: model:ir.model.fields,field_description:sale_expense.field_product_template__expense_policy_tooltip +msgid "Expense Policy Tooltip" +msgstr "報銷政策工具提示" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_sheet +msgid "Expense Report" +msgstr "開支報告" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_hr_expense_split +msgid "Expense Split" +msgstr "開支分攤" + +#. module: sale_expense +#: model:ir.actions.act_window,name:sale_expense.hr_expense_action_from_sale_order +#: model:ir.model.fields,field_description:sale_expense.field_sale_order__expense_ids +#: model_terms:ir.ui.view,arch_db:sale_expense.sale_order_form_view_inherit +msgid "Expenses" +msgstr "開支" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "Expenses of this category may not be added to a Sales Order." +msgstr "此類開支不可加至銷售訂單。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their actual cost when posted." +msgstr "過賬時,開支將按實際成本加至銷售訂單。" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/product_template.py:0 +#, python-format +msgid "" +"Expenses will be added to the Sales Order at their sales price (product " +"price, pricelist, etc.) when posted." +msgstr "過賬時,開支將按其銷售價格(產品價格、價目表等)加至銷售訂單。" + +#. module: sale_expense +#: model:ir.model.fields,help:sale_expense.field_hr_expense__sale_order_id +msgid "" +"If the category has an expense policy, it will be reinvoiced on this sales " +"order" +msgstr "如果該類別有費用政策,則將在此銷售訂單上處理費用報銷" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.product_product_view_form_inherit_sale_expense +msgid "Invoicing" +msgstr "會計" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move +msgid "Journal Entry" +msgstr "日記賬記項" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_account_move_line +msgid "Journal Item" +msgstr "日記賬項目" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_product_template +msgid "Product" +msgstr "產品" + +#. module: sale_expense +#. odoo-python +#: code:addons/sale_expense/models/hr_expense_sheet.py:0 +#, python-format +msgid "Reinvoiced Sales Orders" +msgstr "重開發票的銷售訂單" + +#. module: sale_expense +#: model:ir.model.fields,field_description:sale_expense.field_hr_expense_sheet__sale_order_count +msgid "Sale Order Count" +msgstr "銷售訂單數目" + +#. module: sale_expense +#: model:ir.model,name:sale_expense.model_sale_order +msgid "Sales Order" +msgstr "銷售訂單" + +#. module: sale_expense +#: model_terms:ir.ui.view,arch_db:sale_expense.hr_expense_sheet_view_form +msgid "Sales Orders" +msgstr "銷售訂單" diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..06423a2 --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,8 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import account_move_line +from . import hr_expense +from . import hr_expense_sheet +from . import hr_expense_split +from . import product_template +from . import sale_order diff --git a/models/account_move_line.py b/models/account_move_line.py new file mode 100644 index 0000000..1218618 --- /dev/null +++ b/models/account_move_line.py @@ -0,0 +1,57 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class AccountMoveLine(models.Model): + _inherit = 'account.move.line' + + def _sale_can_be_reinvoice(self): + """ determine if the generated analytic line should be reinvoiced or not. + For Expense flow, if the product has a 'reinvoice policy' and a Sales Order is set on the expense, then we will reinvoice the AAL + """ + self.ensure_one() + if self.expense_id: # expense flow is different from vendor bill reinvoice flow + return self.expense_id.product_id.expense_policy in {'sales_price', 'cost'} and self.expense_id.sale_order_id + return super()._sale_can_be_reinvoice() + + def _sale_determine_order(self): + """ For move lines created from expense, we override the normal behavior. + Note: if no SO but an AA is given on the expense, we will determine anyway the SO from the AA, using the same + mecanism as in Vendor Bills. + """ + mapping_from_invoice = super(AccountMoveLine, self)._sale_determine_order() + + mapping_from_expense = {} + for move_line in self.filtered(lambda move_line: move_line.expense_id): + mapping_from_expense[move_line.id] = move_line.expense_id.sale_order_id or None + + mapping_from_invoice.update(mapping_from_expense) + return mapping_from_invoice + + def _sale_prepare_sale_line_values(self, order, price): + # Add expense quantity to sales order line and update the sales order price because it will be charged to the customer in the end. + res = super()._sale_prepare_sale_line_values(order, price) + if self.expense_id: + res['product_uom_qty'] = self.expense_id.quantity + return res + + def _sale_create_reinvoice_sale_line(self): + expensed_lines = self.filtered('expense_id') + res = super(AccountMoveLine, self - expensed_lines)._sale_create_reinvoice_sale_line() + res.update(super(AccountMoveLine, expensed_lines.with_context({'force_split_lines': True}))._sale_create_reinvoice_sale_line()) + return res + + +class AccountMove(models.Model): + _inherit = 'account.move' + + def _reverse_moves(self, default_values_list=None, cancel=False): + self.expense_sheet_id._sale_expense_reset_sol_quantities() + res = super()._reverse_moves(default_values_list, cancel) + return res + + def button_draft(self): + res = super().button_draft() + self.expense_sheet_id._sale_expense_reset_sol_quantities() + return res diff --git a/models/hr_expense.py b/models/hr_expense.py new file mode 100644 index 0000000..cc40a78 --- /dev/null +++ b/models/hr_expense.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class Expense(models.Model): + _inherit = "hr.expense" + + sale_order_id = fields.Many2one('sale.order', compute='_compute_sale_order_id', store=True, string='Customer to Reinvoice', readonly=False, tracking=True, + # NOTE: only confirmed SO can be selected, but this domain in activated throught the name search with the `sale_expense_all_order` + # context key. So, this domain is not the one applied. + domain="[('state', '=', 'sale'), ('company_id', '=', company_id)]", + help="If the category has an expense policy, it will be reinvoiced on this sales order") + can_be_reinvoiced = fields.Boolean("Can be reinvoiced", compute='_compute_can_be_reinvoiced') + + @api.depends('product_id.expense_policy') + def _compute_can_be_reinvoiced(self): + for expense in self: + expense.can_be_reinvoiced = expense.product_id.expense_policy in ['sales_price', 'cost'] + + @api.depends('can_be_reinvoiced') + def _compute_sale_order_id(self): + for expense in self.filtered(lambda e: not e.can_be_reinvoiced): + expense.sale_order_id = False + + def _compute_analytic_distribution(self): + super(Expense, self)._compute_analytic_distribution() + for expense in self.filtered('sale_order_id'): + if expense.sale_order_id.sudo().analytic_account_id: + expense.analytic_distribution = {expense.sale_order_id.sudo().analytic_account_id.id: 100} # `sudo` required for normal employee without sale access rights + + @api.onchange('sale_order_id') + def _onchange_sale_order_id(self): + to_reset = self.filtered(lambda line: not self.env.is_protected(self._fields['analytic_distribution'], line)) + to_reset.invalidate_recordset(['analytic_distribution']) + self.env.add_to_compute(self._fields['analytic_distribution'], to_reset) + + def _get_split_values(self): + vals = super(Expense, self)._get_split_values() + for split_value in vals: + split_value['sale_order_id'] = self.sale_order_id.id + return vals diff --git a/models/hr_expense_sheet.py b/models/hr_expense_sheet.py new file mode 100644 index 0000000..8df9a2d --- /dev/null +++ b/models/hr_expense_sheet.py @@ -0,0 +1,98 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, _ + + +class HrExpenseSheet(models.Model): + _inherit = "hr.expense.sheet" + + sale_order_count = fields.Integer(compute='_compute_sale_order_count') + + def _compute_sale_order_count(self): + for sheet in self: + sheet.sale_order_count = len(sheet.expense_line_ids.sale_order_id) + + def _get_sale_order_lines(self): + """ + This method is used to try to find the sale order lines created by expense sheets. + + :return: sale.order.line + :rtype: recordset + """ + expensed_amls = self.account_move_ids.line_ids.filtered(lambda aml: aml.expense_id.sale_order_id and aml.balance >= 0) + if not expensed_amls: + return self.env['sale.order.line'] + aml_to_so_map = expensed_amls._sale_determine_order() + sale_order_ids = tuple(set(aml_to_so_map[aml.id].id for aml in expensed_amls)) + aml_sol_unit_price_map = dict(expensed_amls.mapped(lambda aml: (aml.id, aml._sale_get_invoice_price(aml_to_so_map[aml.id])))) + product_ids = tuple(expensed_amls.product_id.ids) + quantities = tuple(expensed_amls.mapped('quantity')) + names = tuple(expensed_amls.mapped('name')) + self.env['sale.order.line'].flush_model(['order_id', 'product_id', 'product_uom_qty', 'price_unit', 'name']) + query = """ + SELECT + DISTINCT ON (sol.order_id, sol.product_id, sol.product_uom_qty, sol.price_unit, sol.name) + sol.order_id, sol.product_id, sol.product_uom_qty, sol.price_unit, sol.name, sol.id + FROM sale_order_line AS sol + WHERE sol.is_expense = TRUE + AND sol.order_id IN %s + AND sol.product_id IN %s + AND sol.product_uom_qty IN %s + AND sol.price_unit IN %s + AND sol.name IN %s + ORDER BY sol.order_id, sol.product_id, sol.product_uom_qty, sol.price_unit, sol.name + """ + self.env.cr.execute(query, (sale_order_ids, product_ids, quantities, tuple(set(aml_sol_unit_price_map.values())), names)) + potential_sols_map = { + (row['order_id'], row['product_id'], row['product_uom_qty'], row['price_unit'], row['name']): row['id'] + for row in self.env.cr.dictfetchall() + } + expensed_amls_keys = set(expensed_amls.mapped( + lambda aml: (aml.expense_id.sale_order_id.id, aml.product_id.id, aml.quantity, aml_sol_unit_price_map[aml.id], aml.name) + )) + return self.env['sale.order.line'].browse(sol_id for key, sol_id in potential_sols_map.items() if key in expensed_amls_keys) + + def _sale_expense_reset_sol_quantities(self): + sale_order_lines = self._get_sale_order_lines() + sale_order_lines.write({'qty_delivered': 0.0, 'product_uom_qty': 0.0}) + + def action_reset_expense_sheets(self): + super().action_reset_expense_sheets() + self._sale_expense_reset_sol_quantities() + return True + + def action_open_sale_orders(self): + self.ensure_one() + if self.sale_order_count == 1: + return { + 'type': 'ir.actions.act_window', + 'res_model': 'sale.order', + 'views': [(self.env.ref("sale.view_order_form").id, 'form')], + 'view_mode': 'form', + 'target': 'current', + 'name': self.expense_line_ids.sale_order_id.display_name, + 'res_id': self.expense_line_ids.sale_order_id.id, + } + return { + 'type': 'ir.actions.act_window', + 'res_model': 'sale.order', + 'views': [(self.env.ref('sale.view_order_tree').id, 'list'), (self.env.ref("sale.view_order_form").id, 'form')], + 'view_mode': 'list,form', + 'target': 'current', + 'name': _('Reinvoiced Sales Orders'), + 'domain': [('id', 'in', self.expense_line_ids.sale_order_id.ids)], + } + + def _do_create_moves(self): + """ When posting expense, if the AA is given, we will track cost in that + If a SO is set, this means we want to reinvoice the expense. But to do so, we + need the analytic entries to be generated, so a AA is required to reinvoice. So, + we ensure the AA if a SO is given. + """ + for expense in self.expense_line_ids.filtered(lambda expense: expense.sale_order_id and not expense.analytic_distribution): + if not expense.sale_order_id.analytic_account_id: + expense.sale_order_id._create_analytic_account() + expense.write({ + 'analytic_distribution': {expense.sale_order_id.analytic_account_id.id: 100} + }) + return super()._do_create_moves() diff --git a/models/hr_expense_split.py b/models/hr_expense_split.py new file mode 100644 index 0000000..bec5ed5 --- /dev/null +++ b/models/hr_expense_split.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api + + +class HrExpenseSplit(models.TransientModel): + _inherit = "hr.expense.split" + + def default_get(self, fields): + result = super(HrExpenseSplit, self).default_get(fields) + if 'expense_id' in result: + expense = self.env['hr.expense'].browse(result['expense_id']) + result['sale_order_id'] = expense.sale_order_id + return result + + sale_order_id = fields.Many2one('sale.order', string="Customer to Reinvoice", compute='_compute_sale_order_id', readonly=False, store=True, domain="[('state', '=', 'sale'), ('company_id', '=', company_id)]") + can_be_reinvoiced = fields.Boolean("Can be reinvoiced", compute='_compute_can_be_reinvoiced') + + def _get_values(self): + self.ensure_one() + vals = super(HrExpenseSplit, self)._get_values() + vals['sale_order_id'] = self.sale_order_id.id + return vals + + @api.depends('product_id') + def _compute_can_be_reinvoiced(self): + for split in self: + split.can_be_reinvoiced = split.product_id.expense_policy in ['sales_price', 'cost'] + + @api.depends('can_be_reinvoiced') + def _compute_sale_order_id(self): + for split in self: + split.sale_order_id = split.sale_order_id if split.can_be_reinvoiced else False diff --git a/models/product_template.py b/models/product_template.py new file mode 100644 index 0000000..686dc7e --- /dev/null +++ b/models/product_template.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models, fields, _ + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + expense_policy_tooltip = fields.Char(compute='_compute_expense_policy_tooltip') + + @api.depends_context('lang') + @api.depends('expense_policy') + def _compute_expense_policy_tooltip(self): + for product_template in self: + if not product_template.can_be_expensed or not product_template.expense_policy: + product_template.expense_policy_tooltip = False + elif product_template.expense_policy == 'no': + product_template.expense_policy_tooltip = _( + "Expenses of this category may not be added to a Sales Order." + ) + elif product_template.expense_policy == 'cost': + product_template.expense_policy_tooltip = _( + "Expenses will be added to the Sales Order at their actual cost when posted." + ) + elif product_template.expense_policy == 'sales_price': + product_template.expense_policy_tooltip = _( + "Expenses will be added to the Sales Order at their sales price (product price, pricelist, etc.) when posted." + ) + + @api.depends('can_be_expensed') + def _compute_visible_expense_policy(self): + expense_products = self.filtered(lambda p: p.can_be_expensed) + for product_template in self - expense_products: + product_template.visible_expense_policy = False + + super(ProductTemplate, expense_products)._compute_visible_expense_policy() + visibility = self.user_has_groups('hr_expense.group_hr_expense_user') + for product_template in expense_products: + if not product_template.visible_expense_policy: + product_template.visible_expense_policy = visibility diff --git a/models/sale_order.py b/models/sale_order.py new file mode 100644 index 0000000..258ff13 --- /dev/null +++ b/models/sale_order.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models +from odoo.osv import expression + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + expense_ids = fields.One2many('hr.expense', 'sale_order_id', string='Expenses', domain=[('state', '=', 'done')], readonly=True, copy=False) + expense_count = fields.Integer("# of Expenses", compute='_compute_expense_count', compute_sudo=True) + + @api.model + def _name_search(self, name, domain=None, operator='ilike', limit=None, order=None): + """ For expense, we want to show all sales order but only their display_name (no ir.rule applied), this is the only way to do it. """ + if ( + self._context.get('sale_expense_all_order') + and self.user_has_groups('sales_team.group_sale_salesman') + and not self.user_has_groups('sales_team.group_sale_salesman_all_leads') + ): + domain = expression.AND([domain or [], ['&', ('state', '=', 'sale'), ('company_id', 'in', self.env.companies.ids)]]) + return super(SaleOrder, self.sudo())._name_search(name, domain, operator, limit, order) + return super()._name_search(name, domain, operator, limit, order) + + @api.depends('expense_ids') + def _compute_expense_count(self): + expense_data = self.env['hr.expense']._read_group([('sale_order_id', 'in', self.ids)], ['sale_order_id'], ['__count']) + mapped_data = {sale_order.id: count for sale_order, count in expense_data} + for sale_order in self: + sale_order.expense_count = mapped_data.get(sale_order.id, 0) diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv new file mode 100644 index 0000000..228b126 --- /dev/null +++ b/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_sale_order_employee,sale.order.employee.expense,sale.model_sale_order,base.group_user,0,0,0,0 \ No newline at end of file diff --git a/security/sale_expense_security.xml b/security/sale_expense_security.xml new file mode 100644 index 0000000..e908046 --- /dev/null +++ b/security/sale_expense_security.xml @@ -0,0 +1,17 @@ + + + + + + Expense Employee can read confirmed SO + + [('state', '=', 'sale')] + + + + + + + + + diff --git a/static/src/js/sale_order_many2one.js b/static/src/js/sale_order_many2one.js new file mode 100644 index 0000000..79360a8 --- /dev/null +++ b/static/src/js/sale_order_many2one.js @@ -0,0 +1,30 @@ +/** @odoo-module **/ + +import { Many2OneField, many2OneField } from '@web/views/fields/many2one/many2one_field'; + +import { registry } from "@web/core/registry"; + +export class OrderField extends Many2OneField { + setup() { + super.setup(); + } + + /** + * @override + */ + get Many2XAutocompleteProps() { + // hide the search more option from the dropdown menu + return { + ...super.Many2XAutocompleteProps, + noSearchMore: true, + } + } +} + +export const orderField = { + ...many2OneField, + component: OrderField, +}; + +registry.category("fields").add("sale_order_many2one", orderField); +registry.add('sale_order_many2one', OrderField); diff --git a/static/tests/sale_order_many2one_tests.js b/static/tests/sale_order_many2one_tests.js new file mode 100644 index 0000000..740fb2a --- /dev/null +++ b/static/tests/sale_order_many2one_tests.js @@ -0,0 +1,75 @@ +/** @odoo-module **/ + +import { makeView, setupViewRegistries } from "@web/../tests/views/helpers"; +import { clickDropdown, getFixture } from "@web/../tests/helpers/utils"; + + +QUnit.module('sale_expense', { + beforeEach: function () { + this.target = getFixture(); + this.data = { + } + this.data = { + models: { + 'hr.expense': { + fields: { + name: { string: "Description", type: "char" }, + sale_order_id: { string: "Reinvoice Customer", type: 'many2one', relation: 'sale.order' }, + }, + records: [{id: 1}] + }, + 'sale.order': { + fields: { + name: { string: "Name", type: "char" }, + }, + records: [{ + id: 1, + name: "SO1", + }, { + id: 2, + name: "SO2", + }, { + id: 3, + name: "SO3" + }, { + id: 4, + name: "SO4" + }, { + id: 5, + name: "SO5" + }, { + id: 6, + name: "SO6" + }, { + id: 7, + name: "SO7" + }, { + id: 8, + name: "SO8" + }, { + id: 9, + name: "SO9" + }] + }, + } + }; + setupViewRegistries(); + }, +}, function () { + QUnit.test('sale order many2one without search more option', async function (assert) { + assert.expect(2); + await makeView({ + type: "form", + resModel: "hr.expense", + serverData: this.data, + resId: 1, + arch: + '
' + }); + + await clickDropdown(this.target, "sale_order_id"); + + assert.containsN(this.target, 'li.o-autocomplete--dropdown-item', 9); + assert.containsNone(this.target, '.o_m2o_dropdown_option_search_more', "Should not display the 'Search More... option'"); + }); +}); diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..c770fdf --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_sale_expense +from . import test_reinvoice diff --git a/tests/test_reinvoice.py b/tests/test_reinvoice.py new file mode 100644 index 0000000..57f6263 --- /dev/null +++ b/tests/test_reinvoice.py @@ -0,0 +1,301 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import Command +from odoo.addons.hr_expense.tests.common import TestExpenseCommon +from odoo.addons.sale.tests.common import TestSaleCommon +from odoo.tests import tagged + + +@tagged('-at_install', 'post_install') +class TestReInvoice(TestExpenseCommon, TestSaleCommon): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + cls.company_data.update({ + 'service_order_sales_price': cls.env['product.product'].with_company(cls.company_data['company']).create({ + 'name': 'service_order_sales_price', + 'categ_id': cls.company_data['product_category'].id, + 'standard_price': 235.0, + 'list_price': 280.0, + 'type': 'service', + 'weight': 0.01, + 'uom_id': cls.env.ref('uom.product_uom_unit').id, + 'uom_po_id': cls.env.ref('uom.product_uom_unit').id, + 'default_code': 'FURN_9999', + 'invoice_policy': 'order', + 'expense_policy': 'sales_price', + 'taxes_id': [Command.set([])], + 'supplier_taxes_id': [Command.set([])], + 'can_be_expensed': True, + }), + 'service_delivery_sales_price': cls.env['product.product'].with_company(cls.company_data['company']).create({ + 'name': 'service_order_sales_price', + 'categ_id': cls.company_data['product_category'].id, + 'standard_price': 235.0, + 'list_price': 280.0, + 'type': 'service', + 'weight': 0.01, + 'uom_id': cls.env.ref('uom.product_uom_unit').id, + 'uom_po_id': cls.env.ref('uom.product_uom_unit').id, + 'default_code': 'FURN_9999', + 'invoice_policy': 'order', + 'expense_policy': 'sales_price', + 'taxes_id': [Command.set([])], + 'supplier_taxes_id': [Command.set([])], + 'can_be_expensed': True, + }), + }) + + def test_expenses_reinvoice(self): + """ + Test that expenses are re-invoiced correctly and that the quantity is updated when it has to. + - Lines are never grouped together (even if reinvoced at sale price and with a re-invoice delivered policy) + - When posting an expense, it creates the corresponding sol with the expense quantity + - The quantities ordered and delivered are reset to 0 when: + - the expense sheet is unposted + - the expense move is reversed + - the expense move is reset to draft + """ + # create SO line and confirm SO (with only one line) + sale_order = self.env['sale.order'].with_context(mail_notrack=True, mail_create_nolog=True).create({ + 'partner_id': self.partner_a.id, + 'partner_invoice_id': self.partner_a.id, + 'partner_shipping_id': self.partner_a.id, + 'order_line': [Command.create({ + 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price', + # Using the same name as one of the expense + 'product_id': self.company_data['product_order_sales_price'].id, + 'product_uom_qty': 3.0, + 'price_unit': self.company_data['product_order_sales_price'].standard_price, + })], + }) + sale_order.action_confirm() + + expense_sheet = self.env['hr.expense.sheet'].create({ + 'name': 'Reset expense test', + 'employee_id': self.expense_employee.id, + 'journal_id': self.company_data['default_journal_purchase'].id, + 'accounting_date': '2017-01-01', + 'expense_line_ids': [ + Command.create({ + 'name': 'expense_1 invoicing=order, expense=sales_price', + 'date': '2016-01-01', + 'product_id': self.company_data['service_order_sales_price'].id, + 'quantity': 1, + 'analytic_distribution': {self.analytic_account_1.id: 100}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + Command.create({ + 'name': 'expense_2 invoicing=order, expense=sales_price', + 'date': '2016-01-02', + 'product_id': self.company_data['service_order_sales_price'].id, + 'quantity': 2, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + Command.create({ + 'name': 'expense_3 invoicing=delivery, expense=sales_price', + 'date': '2016-01-03', + 'product_id': self.company_data['service_delivery_sales_price'].id, + 'quantity': 3, + 'analytic_distribution': {self.analytic_account_1.id: 100}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + Command.create({ + 'name': 'expense_4 invoicing=delivery, expense=sales_price', + 'date': '2016-01-03', + 'product_id': self.company_data['service_delivery_sales_price'].id, + 'quantity': 4, + 'analytic_distribution': {self.analytic_account_1.id: 100}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + ], + }) + + expense_sheet.action_approve_expense_sheets() + expense_sheet.action_sheet_move_create() + + # We also need to test "duplicates" aka very similar expenses + expense_sheet_copy = self.env['hr.expense.sheet'].create({ + 'name': 'Reset expense test copy', + 'employee_id': self.expense_employee.id, + 'journal_id': self.company_data['default_journal_purchase'].id, + 'accounting_date': '2017-01-01', + 'expense_line_ids': [ + Command.create({ + 'name': 'expense_3 invoicing=delivery, expense=sales_price copy', + 'date': '2016-01-03', + 'product_id': self.company_data['service_delivery_sales_price'].id, + 'quantity': 3, + 'analytic_distribution': {self.analytic_account_1.id: 100}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + Command.create({ + 'name': 'expense_4 invoicing=delivery, expense=sales_price copy', + 'date': '2016-01-03', + 'product_id': self.company_data['service_delivery_sales_price'].id, + 'quantity': 4, + 'analytic_distribution': {self.analytic_account_1.id: 100}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + ], + }) + + action_data = expense_sheet_copy.action_approve_expense_sheets() + duplicate_wizard = self.env['hr.expense.approve.duplicate'].with_context(action_data['context']).create({}) + duplicate_wizard.action_approve() + expense_sheet_copy.action_sheet_move_create() + #pylint: disable=bad-whitespace + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'is_expense': False, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 1.0, 'product_uom_qty': 1.0, 'is_expense': True, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 2.0, 'product_uom_qty': 2.0, 'is_expense': True, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + ]) + + expense_sheet.action_reset_expense_sheets() # Lines [0-4] quantities are set to 0 + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + ]) + + expense_sheet.action_approve_expense_sheets() + expense_sheet.action_sheet_move_create() # Lines [1-4] are still at 0 but new lines are created (stable limitation) + + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 1.0, 'product_uom_qty': 1.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 2.0, 'product_uom_qty': 2.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + ]) + + expense_sheet.account_move_ids.button_draft() # Lines [7-11] quantities are set to 0 + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + ]) + + expense_sheet.account_move_ids.action_post() # Lines [7-11] are still at 0 but new lines are created (stable limitation) + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 1.0, 'product_uom_qty': 1.0, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 2.0, 'product_uom_qty': 2.0, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + ]) + + expense_sheet.account_move_ids._reverse_moves() # Lines [7-11] quantities are set to 0 + self.assertRecordValues(sale_order.order_line, [ + {'qty_delivered': 0.0, 'product_uom_qty': 3.0, 'is_expense': False, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 3.0, 'product_uom_qty': 3.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 4.0, 'product_uom_qty': 4.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price copy'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_1 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_2 invoicing=order, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_3 invoicing=delivery, expense=sales_price'}, + {'qty_delivered': 0.0, 'product_uom_qty': 0.0, 'is_expense': True, 'name': 'expense_employee: expense_4 invoicing=delivery, expense=sales_price'}, + ]) + + def test_expenses_reinvoice_analytic_distribution(self): + """Test expense line with multiple analytic accounts is reinvoiced correctly""" + + (self.company_data['product_order_sales_price'] + self.company_data['product_delivery_sales_price']).write({ + 'can_be_expensed': True, + }) + + # create SO line and confirm SO (with only one line) + sale_order = self.env['sale.order'].with_context(mail_notrack=True, mail_create_nolog=True).create({ + 'partner_id': self.partner_a.id, + 'partner_invoice_id': self.partner_a.id, + 'partner_shipping_id': self.partner_a.id, + 'order_line': [Command.create({ + 'name': self.company_data['product_order_sales_price'].name, + 'product_id': self.company_data['product_order_sales_price'].id, + 'product_uom_qty': 2.0, + 'price_unit': 1000.0, + })], + }) + sale_order.action_confirm() + + expense_sheet = self.env['hr.expense.sheet'].create({ + 'name': 'First Expense for employee', + 'employee_id': self.expense_employee.id, + 'journal_id': self.company_data['default_journal_purchase'].id, + 'accounting_date': '2017-01-01', + 'expense_line_ids': [ + Command.create({ + 'name': 'expense_1', + 'date': '2016-01-01', + 'product_id': self.company_data['product_order_sales_price'].id, + 'quantity': 2, + 'analytic_distribution': {self.analytic_account_1.id: 50, self.analytic_account_2.id: 50}, + 'employee_id': self.expense_employee.id, + 'sale_order_id': sale_order.id, + }), + ], + }) + + expense_sheet.action_approve_expense_sheets() + expense_sheet.action_sheet_move_create() + + self.assertRecordValues(sale_order.order_line, [ + # Original SO line: + { + 'qty_delivered': 0.0, + 'product_uom_qty': 2.0, + 'is_expense': False, + }, + # Expense lines: + { + 'qty_delivered': 2.0, + 'product_uom_qty': 2.0, + 'is_expense': True, + }, + ]) diff --git a/tests/test_sale_expense.py b/tests/test_sale_expense.py new file mode 100644 index 0000000..4081e7b --- /dev/null +++ b/tests/test_sale_expense.py @@ -0,0 +1,151 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import Command, fields +from odoo.addons.hr_expense.tests.common import TestExpenseCommon +from odoo.addons.sale.tests.common import TestSaleCommon +from odoo.tests import tagged + + +@tagged('post_install', '-at_install') +class TestSaleExpense(TestExpenseCommon, TestSaleCommon): + + def test_sale_expense(self): + """ Test the behaviour of sales orders when managing expenses """ + + # create a so with a product invoiced on delivery + so = self.env['sale.order'].create({ + 'partner_id': self.partner_a.id, + 'partner_invoice_id': self.partner_a.id, + 'partner_shipping_id': self.partner_a.id, + 'order_line': [Command.create({ + 'name': self.company_data['product_delivery_no'].name, + 'product_id': self.company_data['product_delivery_no'].id, + 'product_uom_qty': 2, + 'product_uom': self.company_data['product_delivery_no'].uom_id.id, + 'price_unit': self.company_data['product_delivery_no'].list_price, + })], + }) + so.action_confirm() + so._create_analytic_account() # normally created at so confirmation when you use the right products + init_price = so.amount_total + + # create some expense and validate it (expense at cost) + # Submit to Manager + sheet = self.env['hr.expense.sheet'].create({ + 'name': 'Expense for John Smith 1', + 'employee_id': self.expense_employee.id, + 'journal_id': self.company_data['default_journal_purchase'].id, + }) + exp = self.env['hr.expense'].create({ + 'name': 'Air Travel', + 'product_id': self.company_data['product_delivery_cost'].id, + 'analytic_distribution': {so.analytic_account_id.id: 100}, + 'quantity': 11.30, + 'employee_id': self.expense_employee.id, + 'sheet_id': sheet.id, + 'sale_order_id': so.id, + }) + # Approve + sheet.action_approve_expense_sheets() + # Create Expense Entries + sheet.action_sheet_move_create() + # expense should now be in sales order + self.assertIn(self.company_data['product_delivery_cost'], so.mapped('order_line.product_id'), 'Sale Expense: expense product should be in so') + sol = so.order_line.filtered(lambda sol: sol.product_id.id == self.company_data['product_delivery_cost'].id) + self.assertEqual((sol.price_unit, sol.qty_delivered), (55.0, 11.3), 'Sale Expense: error when invoicing an expense at cost') + self.assertEqual(so.amount_total, init_price + exp.total_amount, 'Sale Expense: price of so should be updated after adding expense') + + # create some expense and validate it (expense at sale price) + init_price = so.amount_total + prod_exp_2 = self.env['product.product'].create({ + 'name': 'Car Travel', + 'expense_policy': 'sales_price', + 'type': 'service', + 'can_be_expensed': True, + 'invoice_policy': 'delivery', + 'list_price': 0.50, + 'uom_id': self.env.ref('uom.product_uom_km').id, + 'uom_po_id': self.env.ref('uom.product_uom_km').id, + 'standard_price': 0.15, + }) + # Submit to Manager + sheet = self.env['hr.expense.sheet'].create({ + 'name': 'Expense for John Smith 2', + 'employee_id': self.expense_employee.id, + 'journal_id': self.company_data['default_journal_purchase'].id, + }) + exp = self.env['hr.expense'].create({ + 'name': 'Car Travel', + 'product_id': prod_exp_2.id, + 'analytic_distribution': {so.analytic_account_id.id: 100}, + 'product_uom_id': self.env.ref('uom.product_uom_km').id, + 'quantity': 100, + 'employee_id': self.expense_employee.id, + 'sheet_id': sheet.id, + 'sale_order_id': so.id, + }) + # Approve + sheet.action_approve_expense_sheets() + # Create Expense Entries + sheet.action_sheet_move_create() + # expense should now be in sales order + self.assertIn(prod_exp_2, so.mapped('order_line.product_id'), 'Sale Expense: expense product should be in so') + sol = so.order_line.filtered(lambda sol: sol.product_id.id == prod_exp_2.id) + self.assertEqual((sol.price_unit, sol.qty_delivered), (prod_exp_2.list_price, 100.0), 'Sale Expense: error when invoicing an expense at cost') + self.assertEqual(so.amount_untaxed, init_price + (prod_exp_2.list_price * 100.0), 'Sale Expense: price of so should be updated after adding expense') + # self.assertTrue(so.invoice_status, 'no', 'Sale Expense: expenses should not impact the invoice_status of the so') + + # both expenses should be invoiced + inv = so._create_invoices() + self.assertEqual(inv.amount_untaxed, 621.5 + (prod_exp_2.list_price * 100.0), 'Sale Expense: invoicing of expense is wrong') + + def test_expense_multi_id_analytic_distribution(self): + """ + Test conversion of analytic_distribution dict into account numbers when a hr.expense.sheet containing + a hr.expense with an analytic_distribution having 2+ account ids + """ + expensed_product = self.env['product.product'].create({ + 'name': 'test product', + 'can_be_expensed': True, + 'detailed_type': 'service', + 'invoice_policy': 'order', + 'standard_price': 100, + 'expense_policy': 'cost', + }) + + sale_order = self.env['sale.order'].create({ + 'partner_id': self.partner_a.id, + 'partner_invoice_id': self.partner_a.id, + 'partner_shipping_id': self.partner_a.id, + 'order_line': [Command.create({'product_id': self.product_b.id})], + }) + sale_order.action_confirm() + sale_order._create_invoices() + + analytic_account_3 = self.env['account.analytic.account'].create({ + 'name': 'analytic_account_3', + 'plan_id': self.analytic_plan.id, + }) + + expense_sheet = self.env['hr.expense.sheet'].create({ + 'name': 'Test Expense Report', + 'employee_id': self.expense_employee.id, + 'company_id': self.company_data['company'].id, + 'expense_line_ids': [Command.create({ + 'employee_id': self.expense_employee.id, + 'product_id': expensed_product.id, + 'quantity': 1000.00, + 'date': fields.Date.today(), + 'company_id': self.company_data['company'].id, + 'currency_id': self.company_data['currency'].id, + 'analytic_distribution': { + f'{self.analytic_account_1.id},{self.analytic_account_2.id}': 60, + f'{analytic_account_3.id}': 40, + }, + 'sale_order_id': sale_order.id, + })], + }) + expense_sheet.action_submit_sheet() + expense_sheet.action_approve_expense_sheets() + expense_sheet.action_sheet_move_create() + + self.assertTrue(self.env['account.move'].search([('expense_sheet_id', '=', expense_sheet.id)], limit=1)) diff --git a/views/hr_expense_sheet_views.xml b/views/hr_expense_sheet_views.xml new file mode 100644 index 0000000..acfacc2 --- /dev/null +++ b/views/hr_expense_sheet_views.xml @@ -0,0 +1,19 @@ + + + + hr.expense.sheet.view.form.inherit.sale.expense + hr.expense.sheet + + + + + + + diff --git a/views/hr_expense_views.xml b/views/hr_expense_views.xml new file mode 100644 index 0000000..8d94a08 --- /dev/null +++ b/views/hr_expense_views.xml @@ -0,0 +1,75 @@ + + + + hr.expense.form.inherit.sale.expense + hr.expense + + 30 + + + + + + + + + + + hr.expense.tree.inherit.sale.expense + hr.expense + + + + + + + + + + + hr.expense.split.view.inherit.sale.expense + hr.expense.split.wizard + + + + + + + + + + + hr.expense.sheet.form.inherit.sale.expense + hr.expense.sheet + + + + + + + + + + + Expenses + hr.expense + tree,form + [('sale_order_id', '=', active_id)] + {'default_sale_order_id': active_id} + + diff --git a/views/product_view.xml b/views/product_view.xml new file mode 100644 index 0000000..37632bd --- /dev/null +++ b/views/product_view.xml @@ -0,0 +1,45 @@ + + + + + product.template.expense + product.product + + + + + + + + + + + + + + + + + + product.product.view.list.inherit.sale.expense + product.product + + + + + + + + + + + {"default_can_be_expensed": 1, 'default_detailed_type': 'service', + 'default_expense_policy' : 'cost'} + + + diff --git a/views/sale_order_views.xml b/views/sale_order_views.xml new file mode 100644 index 0000000..b2851cf --- /dev/null +++ b/views/sale_order_views.xml @@ -0,0 +1,23 @@ + + + + + sale.order.form.inherit.sale.expense + sale.order + + + + + + + + + + +