This commit is contained in:
parent
cae66f6bc2
commit
26633a6f16
|
|
@ -1,137 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:26+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Nurlan Farajov <coolinuxoid@gmail.com>, 2024
|
||||
# Jumshud Sultanov <cumshud@gmail.com>, 2024
|
||||
# ERPGo Odoo <erpgo.odoo@gmail.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-07 15:23+0000\n"
|
||||
"Last-Translator: ERPGo Odoo <erpgo.odoo@gmail.com>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/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"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Ləğv edin"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Şirkətlər"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Şirkət"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Yaradan"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Yaradılma tarixi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Görünən Adı"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fayl"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "İmport"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Son Yeniləyən"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Son Yenilənmə tarixi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Petko Karamotchev, 2024
|
||||
# aleksandar ivanov, 2024
|
||||
# KeyVillage, 2024
|
||||
# preslav <hackerz99999@gmail.com>, 2024
|
||||
# Maria Boyadjieva <marabo2000@gmail.com>, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Maria Boyadjieva <marabo2000@gmail.com>, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Счетоводни настройки"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Отказ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Фирми"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Фирма"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Създаден от"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Създадено на"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Име за показване"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Име на файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Внос"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Последно актуализирано от"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Последно актуализирано на"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 16:33+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Bosnian <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/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"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Kompanije"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Kompanija"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Datoteka"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji ažurirao"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnje ažurirano"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# marcescu, 2024
|
||||
# RGB Consulting <odoo@rgbconsulting.com>, 2024
|
||||
# Óscar Fonseca <tecnico@pyming.com>, 2024
|
||||
# Iván Infantes Castarnado, 2024
|
||||
# Quim - coopdevs <quim.rebull@coopdevs.org>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
# Noemi Pla, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Noemi Pla, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Assistent d'importació de compte SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Fitxer de dades comptables SAF-T per importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Paràmetres de comptabilitat"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·lar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empreses"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Empresa utilitzada per a la importació"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creat per"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creat el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom mostrat"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fitxer"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nom de l'arxiu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importar SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importar els saldos inicials dels comptes"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importa les teves dades comptables des de formats de fitxer SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualització per"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualització el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importació SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Moviment de saldo inicial SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Seleccionar un arxiu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Primer hauries d'instal·lar una localització fiscal."
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
# Marta Wacławek, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Marta Wacławek, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Nastavení účetnictví"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Společnosti"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Společnost"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Vytvořeno uživatelem"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Vytvořeno dne"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovací název"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Soubor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Název souboru"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Naimportovat počáteční zůstatky účtu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Naposledy upraveno uživatelem"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Naposledy upraveno dne"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Nejprve byste měli nainstalovat fiskální lokalizaci."
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Mads Søndergaard, 2024
|
||||
# Pernille Kristensen <pernillekristensen1994@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Regnskabsindstillinger"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annullér"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Virksomheder"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Virksomhed"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Oprettet af"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Oprettet den"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Vis navn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fil"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Filnavn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Sidst opdateret af"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Sidst opdateret den"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Du bør først installere en Finans Lokalisering."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Buchhaltungsassistent für SAF-T-Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Zu importierende SAF-T-Datei für Buchhaltungsdaten"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Buchhaltungseinstellungen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Für den Import verwendetes Unternehmen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Erstellt von"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Datei"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Dateiname"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importieren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "SAF-T importieren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Kontoreröffnungssalden importieren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importieren Sie Ihre Buchhaltungsdaten aus SAF-T-Dateiformaten"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zuletzt aktualisiert von"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zuletzt aktualisiert am"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T-Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T-Eröffnungsbuchung"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Datei auswählen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Sie sollten zuerst eine steuerliche Lokalisierung installieren."
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Kostas Goutoudis <goutoudis@gmail.com>, 2024
|
||||
# Stefanos Nikou <stefanos.nikou@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Martin Trigaux, 2024\n"
|
||||
"Language-Team: Greek (https://app.transifex.com/odoo/teams/41243/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: el\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Ρυθμίσεις Λογιστικής"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Ακύρωση"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Εταιρίες"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Εταιρία"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Δημιουργήθηκε από"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Δημιουργήθηκε στις"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Εμφάνιση Ονόματος"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Αρχείο"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Όνομα αρχείου"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "Κωδικός"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Εισαγωγή"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Τελευταία Ενημέρωση από"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Τελευταία Ενημέρωση στις"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
# "Larissa Manderfeld (lman)" <lman@odoo.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-08-25 10:08+0000\n"
|
||||
"Last-Translator: \"Larissa Manderfeld (lman)\" <lman@odoo.com>\n"
|
||||
"Language-Team: Spanish <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/es/>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == 0)"
|
||||
" ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Asistente de importación de cuenta SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Archivo de información de contabilidad SAF-T a importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Opciones de contabilidad"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Compañías"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Compañía"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Compañía usada para la importación"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre para mostrar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nombre de archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importar SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importar saldos de apertura de cuenta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importe sus datos de contabilidad desde formatos de archivos SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importación SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Movimiento de saldo de apertura de SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Seleccionar archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Primero instale su localización fiscal."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Asistente de importación SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Datos de contabilidad SAF-T por importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Ajustes de contabilidad"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empresas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "La empresa que se usa para la importación"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre en pantalla"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nombre del archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importar SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importar los saldos iniciales de la cuenta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importar sus datos de contabilidad desde archivos con formatos SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización el"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importación SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Movimiento de apertura de saldo SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Seleccionar archivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Primero debe instalar una localización fiscal."
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Stevin Lilla, 2024
|
||||
# Egon Raamat <egon@avalah.ee>, 2024
|
||||
# Arma Gedonsky <armagedonsky@hot.ee>, 2024
|
||||
# Anna, 2024
|
||||
# Birgit Vijar, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Birgit Vijar, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Konto SAF-T impordi viisard"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Imporditav raamatupidamise SAF-T andmefail."
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Raamatupidamise seadistused"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Tühista"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Ettevõtted"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Ettevõte"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Impordiks kasutatud ettevõte"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Loonud"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Loodud"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Kuvatav nimi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fail"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Faili nimi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Impordi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Impordi SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Impordi algsaldod"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Impordi raamatupidamise andmed SAF-T faili formaadist"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Viimati uuendatud"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Viimati uuendatud"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T algsaldo kanne"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Vali fail"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Esmalt peaksite installima maksukeskkond. "
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# zakariya moradi, 2025
|
||||
# Tiffany Chang, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Tiffany Chang, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "تنظیمات حسابداری"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "شرکتها"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "شرکت"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "ایجاد شده توسط"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "ایجاد شده در"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "نام نمایشی"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "پرونده"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "نام فایل"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "شناسه"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "ورود"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "آخرین بروز رسانی توسط"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "آخرین بروز رسانی در"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "ابتدا باید یک برنامه برای تعیین موقعیت مالی نصب کنید."
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2024
|
||||
# Kari Lindgren <kari.lindgren@emsystems.fi>, 2024
|
||||
# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2024
|
||||
# Tommi Rintala <tommi.rintala@gmail.com>, 2024
|
||||
# Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2024
|
||||
# Jessica Jakara, 2025
|
||||
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Tili SAF-T tuonti-toiminto"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Kirjanpidon SAF-T-tiedosto, joka tuodaan"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Kirjanpidon asetukset"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Peruuta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Yritykset"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Yritys"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Tuontia varten käytettävä yritys"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Luonut"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Luotu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Näyttönimi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Tiedosto"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Tiedostonnimi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Tuo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Tuo SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Tuo tilien avaussaldot"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Tuo kirjanpitotiedot SAF-T-tiedostoformaateista"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Viimeksi päivittänyt"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Viimeksi päivitetty"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T Tuonti"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T-avaussaldon muutos"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Valitse tiedosto"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Verotietojen asema on asennettava ensin."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Assistant d'import de comptes SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Fichier de données comptables SAF-T à importer"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Paramètres de comptabilité"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Sociétés"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Société"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Société utilisée pour l'import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom d'affichage"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fichier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nom de fichier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importer SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importer les soldes d'ouverture"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importer vos données comptables à partir des formats de fichier SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Import SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Mouvement du solde d'ouverture SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Sélectionner un fichier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Vous devez d'abord installer une localisation fiscale."
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2024
|
||||
# Moshe Flam <pashute@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
# Lilach Gilliam <lilach.gilliam@gmail.com>, 2024
|
||||
# Yihya Hugirat <hugirat@gmail.com>, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Yihya Hugirat <hugirat@gmail.com>, 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=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "הגדרות חשבונאות"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "בטל"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "חברות"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "חברה"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "נוצר על-ידי"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "נוצר ב-"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "שם לתצוגה"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "קובץ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "שם קובץ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "מזהה"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "ייבא"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "עודכן לאחרונה על-ידי"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "עדכון אחרון ב"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Martin Trigaux, 2024
|
||||
# Wil Odoo, 2024
|
||||
# Manav Shah, 2025
|
||||
# Ujjawal Pathak, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Ujjawal Pathak, 2025\n"
|
||||
"Language-Team: Hindi (https://app.transifex.com/odoo/teams/41243/hi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "अकाउंट SAF-T इंपोर्ट विज़ॉर्ड"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "अकाउंटिंग की SAF-T फाइल सिस्टम में डालनी है"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "अकाउंटिंग सेटिंग"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "रद्द"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "कंपनियां"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "संस्था"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "इंपोर्ट करने के लिए इस्तेमाल की गई कंपनी"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "द्वारा निर्मित"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "इस तारीख को बनाया गया"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "डिस्प्ले नाम"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "फ़ाइल"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "फ़ाइल का नाम"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "आईडी"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "इंपोर्ट करें"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "SAF-T इंपोर्ट करें"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "अकाउंट ओपनिंग बैलेंस इंपोर्ट करें"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "अपनी अकाउंटिंग जानकारी SAF-T फ़ाइल से सिस्टम में इंपोर्ट करें"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "इन्होंने आखिरी बार अपडेट किया"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "आखिरी बार अपडेट हुआ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T इंपोर्ट"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T ओपनिंग बैलेंस मूव"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "फ़ाइल चुनें"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "आपको पहले अपने देश के टैक्स और अकाउंटिंग नियम इंस्टॉल करने होंगे."
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Vladimir Olujić <olujic.vladimir@storm.hr>, 2024
|
||||
# Karolina Tonković <karolina.tonkovic@storm.hr>, 2024
|
||||
# Bole <bole@dajmi5.com>, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Bole <bole@dajmi5.com>, 2024\n"
|
||||
"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/hr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hr\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Postavke računovodstva"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Tvrtke"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Tvrtka"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv za prikaz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Datoteka"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Naziv datoteke"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Promijenio"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Promijenjeno"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Kovács Tibor <kovika@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
# Tamás Dombos, 2024
|
||||
# Ákos Nagy <akos.nagy@oregional.hu>, 2024
|
||||
# krnkris, 2024
|
||||
# gezza <geza.nagy@oregional.hu>, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: gezza <geza.nagy@oregional.hu>, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Könyvelés beállítások"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Vállalatok"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Vállalat"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Létrehozta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Létrehozva"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Megjelenített név"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fájl"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Fájlnév"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importálás"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Frissítette"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Frissítve"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Alat bantu impor Akun SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "File data SAF-T Akuntansi untuk diimpor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Pengaturan Akuntansi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Perusahaan"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Perusahaan"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Perusahaan digunakan untuk impor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Dibuat oleh"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Dibuat pada"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nama Tampilan"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "File"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nama file"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Impor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Impor SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Impor saldo buka akun"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Impor data akuntansi Anda dari file format SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Terakhir Diperbarui oleh"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Terakhir Diperbarui pada"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Impor SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Pergerakkan saldo buka SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Pilih File"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Anda sebaiknya menginstal Lokalisasi Fiskal terlebih dahulu"
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Procedura guidata importazione conto SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "File dati SAF-T contabilità da importare"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Impostazioni contabilità"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Aziende"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Azienda"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Azienda utilizzata per l'importazione"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creato da"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creato il"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "File"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nome file"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importa"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importa SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importa saldi di apertura"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importa i dati contabili da file con formato SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ultimo aggiornamento di"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Ultimo aggiornamento il"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importazione SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Movimento saldo di apertura SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Seleziona file"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Deve prima essere installata una localizzazione fiscale."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "アカウント SAF-T インポートウィザード"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "未インポート会計SAF-Tデータファイル"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "会計設定"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "会社"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "会社"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "インポートに使用された会社"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "作成者"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "作成日"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "表示名"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "ファイル"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "ファイル名"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "インポート"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "SAF-Tをインポート"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "口座開設残高をインポート"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "SAF-Tファイルフォーマットから会計データをインポート"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最終更新者"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "最終更新日"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T インポート"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T開設残高記帳"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "ファイルを選択"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "まずは会計ローカライゼーションをインストールして下さい。"
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Odoo Translation Bot <c3p@odoo.com>, 2025.
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 16:33+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Kabyle <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/kab/>\n"
|
||||
"Language: kab\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Sefsex"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Tikebbaniyin"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Takebbwanit"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Yerna-t"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Yerna di"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "Asulay"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Aleqqem aneggaru sɣuṛ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Aleqqem aneggaru di"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "계정 SAF-T 가져오기 마법사"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "가져올 회계 SAF-T 데이터 파일"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "회계 설정"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "회사"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "회사"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "가져오기에 사용된 회사"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "작성자"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "작성일자"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "표시명"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "파일"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "파일명"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "가져오기"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "SAF-T 가져오기"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "계좌 개설 잔액 가져오기"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "SAF-T 파일 형식에서 회계 데이터 가져오기"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "최근 갱신한 사람"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "최근 갱신 일자"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T 가져오기"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T 개시 잔액 이동"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "파일 선택"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "재정 현지화 항목을 먼저 설치해야 합니다."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Raz Omer Hussein, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Raz Omer Hussein, 2025\n"
|
||||
"Language-Team: Kurdish (https://app.transifex.com/odoo/teams/41243/ku/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ku\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "ڕەتکردنەوە"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "کۆمپانیاکان"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "کۆمپانیا"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "دروستکراوە لەلایەن..."
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "دروستکراوە لە"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "دوایین نوێکردنەوە لەلایەن..."
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "دوایین نوێکردنەوە لە..."
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Linas Versada <linaskrisiukenas@gmail.com>, 2024
|
||||
# Arunas V. <arunas@devoro.com>, 2024
|
||||
# UAB "Draugiški sprendimai" <transifex@draugiskisprendimai.lt>, 2024
|
||||
# digitouch UAB <digitouchagencyeur@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Apskaitos nustatymai "
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Atšaukti"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Įmonės"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Įmonė"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Sukūrė"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Sukurta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Rodomas pavadinimas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Failas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Failo pavadinimas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importuoti"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Paskutinį kartą atnaujino"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Paskutinį kartą atnaujinta"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Armīns Jeltajevs <armins.jeltajevs@gmail.com>, 2024
|
||||
# Arnis Putniņš <arnis@allegro.lv>, 2024
|
||||
# Konstantins Zabogonskis <inculin4ik@gmail.com>, 2024
|
||||
# ievaputnina <ievai.putninai@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Grāmatvedības uzstādījumi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Atcelt"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Uzņēmumi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Uzņēmums"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Izveidoja"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Izveidots"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nosaukums"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fails"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Faila nosaukums"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importēt"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Pēdējo reizi atjaunoja"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Pēdējās izmaiņas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Ubuntu Erka <erdenebold10@gmail.com>, 2024
|
||||
# Batmunkh Ganbat <batmunkh2522@gmail.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Martin Trigaux, 2024\n"
|
||||
"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/mn/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: mn\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Санхүүгийн тохиргоо"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Цуцлах"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Компаниуд"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Компани"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Үүсгэсэн этгээд"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Үүсгэсэн огноо"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Дэлгэрэнгүй нэр"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Файлын нэр"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Импортлох"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Сүүлд зассан этгээд"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Сүүлд зассан огноо"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Oakarmin Iron <oakarminiron@gmail.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-10-09 07:27+0000\n"
|
||||
"Last-Translator: Oakarmin Iron <oakarminiron@gmail.com>\n"
|
||||
"Language-Team: Burmese <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/my/>\n"
|
||||
"Language: my\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"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "ပယ်ဖျက်"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "ကုမ္ပဏီများ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "ကုမ္ပဏီ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "ဖန်တီးသူ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "ဖန်တီးချိန်"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "ပြသသော အမည်"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "ဖိုင်"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "အိုင်ဒီ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "အင်ပို့"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "နောက်ဆုံးပြင်ဆင်သူ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "နောက်ဆုံးပြင်ဆင်ချိန်"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Jorunn D. Newth, 2024
|
||||
# Thor Arne Hvidsten <thor.arne.hvidsten@gmail.com>, 2024
|
||||
# Marius Stedjan <marius@stedjan.com>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Martin Trigaux, 2024\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/odoo/teams/41243/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: nb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Regnskapsinnstillinger"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Firmaer"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Opprettet av"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Opprettet den"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visningsnavn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fil"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Filnavn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Sist oppdatert av"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Sist oppdatert"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Account SAF-T importwizard"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Te importeren SAF-T-boekhoudgegevensbestand"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Boekhoudinstellingen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Bedrijven"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Bedrijf gebruikt voor import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Aangemaakt door"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Aangemaakt op"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Schermnaam"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Bestand"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Bestandsnaam"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "SAF-T importeren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Openingssaldi importeren"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importeer je boekhoudgegevens uit SAF-T-bestanden"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Laatst bijgewerkt door"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Laatste bijgewerkt op"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T openingssaldo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Selecteer bestand"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Je moet eerst een fiscale lokalisatie installeren."
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
# Marta Wacławek, 2025
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-15 18:34+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Polish <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/pl/>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && ("
|
||||
"n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
|
||||
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Kreator importu konta SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Plik danych księgowych SAF-T do importu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Ustawienia księgowości"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Firmy"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Firma wykorzystywana do importu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Utworzył(a)"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Data utworzenia"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Plik"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nazwa pliku"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importuj"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Import SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importuj salda początkowe kont"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importuj dane księgowe z formatów pliku SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ostatnio aktualizowane przez"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Data ostatniej aktualizacji"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Import SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Saldo otwarcia SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Wybierz plik"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "W pierwszej kolejności należy zainstalować lokalizację fiskalną."
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# NumerSpiral HBG, 2025
|
||||
# Peter Lawrence Romão <peterromao@yahoo.co.uk>, 2025
|
||||
# Wil Odoo, 2025
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-15 18:34+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/pt/>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % "
|
||||
"1000000 == 0) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Assistente de importação de SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Arquivo de dados contábeis SAF-T a importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Definições da Contabilidade"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empresas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Empresa utilizada para importação"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Criado por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Criado em"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome a Exibir"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Ficheiro"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nome de ficheiro"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "Id."
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importar SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importar saldos iniciais de contas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importar dados contábeis de formatos de arquivo SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última Atualização por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última Atualização em"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importação SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Movimento do saldo inicial do SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Selecionar arquivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "É necessário instalar uma localização fiscal primeiro."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Assistente de importação de SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Arquivo de dados contábeis SAF-T a importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Definições financeiras"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empresas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Empresa utilizada para importação"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Criado por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Criado em"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome exibido"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Arquivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nome do arquivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importar SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importar saldos iniciais de contas"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importar dados contábeis de formatos de arquivo SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última atualização por"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última atualização em"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Importação SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Movimento do saldo inicial do SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Selecionar arquivo"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Você deve instalar uma localização fiscal primeiro."
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Lyall Kindmurr, 2024
|
||||
# Wil Odoo, 2024
|
||||
# Larisa_nexterp, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Larisa_nexterp, 2025\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/ro/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ro\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Asistent import SAF-T cont"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Fișierul de date SAF-T contabil ce urmează a fi importat"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Setări contabilitate"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Anulează"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Companii"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Companie"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Compania folosită pentru import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creat de"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creat pe"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nume afișat"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fișier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Nume fișier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importă"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Importă SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importă soldurile de deschidere ale conturilor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Importă datele contabile din fișiere SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ultima actualizare făcută de"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Ultima actualizare pe"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Import SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Mișcare sold de deschidere SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Selectează fișier"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Ar trebui să instalați mai întâi o localizare fiscală."
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
# Anastasiia Koroleva, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Anastasiia Koroleva, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Мастер импорта счета SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Импортируемый файл данных бухгалтерского учета SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Бухгалтерские настройки"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Компании"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Компания"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Компания, используемая для импорта"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Создано:"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Дата создания:"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Отображаемое имя"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Название файла"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Импорт"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Импорт SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Импортируйте начальные остатки по счетам"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Импорт бухгалтерских данных из файлов формата SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Последнее обновление:"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Дата последнего обновления:"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T Импорт"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Перемещение баланса открытия SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Выбрать файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Сначала необходимо установить фискальную локализацию."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Nastavenia účtovníctva"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušené"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Spoločnosti"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Spoločnost"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Vytvoril"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Vytvorené"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovaný Názov"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Súbor"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Názov súboru"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Naposledy upravoval"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Naposledy upravované"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Najskôr by ste si mali nainštalovať fiškálnu lokalizáciu."
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
# Aleš Pipan, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Aleš Pipan, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Čarovnik za uvoz računa SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Računovodska podatkovna datoteka SAF-T za uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Nastavitve računovodstva"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Podjetja"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Podjetje"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Podjetje, uporabljeno za uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Ustvaril"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Ustvarjeno"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Datoteka"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Naziv datoteke"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Uvozi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Uvoz SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Uvozi začetna stanja na računu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Uvozite svoje računovodske podatke iz formatov datotek SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji posodobil"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnjič posodobljeno"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T Uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T premik začetnega stanja"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Izberite datoteko"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Najprej morate namestiti fiskalno lokalizacijo."
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-15 18:35+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Serbian (Latin script) <https://translate.odoo.com/projects/"
|
||||
"odoo-18/account_saft_import/sr_Latn/>\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"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Preduzeća"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Kompanija"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv za prikaz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Datoteka"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Uvoz"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Poslednje izmenio/la"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Poslednje ažuriranje dana"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Haojun Zou <apollo_zhj@msn.com>, 2024
|
||||
# Robin Calvin, 2024
|
||||
# Anders Wallenquist <anders.wallenquist@vertel.se>, 2024
|
||||
# Martin Trigaux, 2024
|
||||
# Jakob Krabbe <jakob.krabbe@vertel.se>, 2024
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2025-11-15 18:34+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.odoo.com/projects/odoo-18/"
|
||||
"account_saft_import/sv/>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Inställningar för redovisning"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Företag"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Företag"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Skapad av"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Skapad den"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visningsnamn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Fil"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Filnamn"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Importera"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Importera ingående saldon för konton"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Senast uppdaterad av"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Senast uppdaterad den"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T Import"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Välj fil"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr ""
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "เครื่องมือนำเข้า SAF-T ของบัญชี"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "ไฟล์ข้อมูลบัญชี SAF-T ที่จะนำเข้า"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "การตั้งค่าการบัญชี"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "ยกเลิก"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "บริษัท"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "บริษัท"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "บริษัทที่ใช้ในการนำเข้า"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "สร้างโดย"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "สร้างเมื่อ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "แสดงชื่อ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "ไฟล์"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "ชื่อไฟล์"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ไอดี"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "นำเข้า"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "นำเข้า SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "นำเข้ายอดคงเหลือเปิดบัญชี"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "นำเข้าข้อมูลบัญชีของคุณจากรูปแบบไฟล์ SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "อัปเดตครั้งล่าสุดโดย"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "อัปเดตครั้งล่าสุดเมื่อ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "การนำเข้า SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T การเปิดยอดคงเหลือ"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "เลือกไฟล์"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "คุณควรติดตั้งการประยุกต์ใช้ทางการเงินก่อน"
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# emre oktem, 2024
|
||||
# Ediz Duman <neps1192@gmail.com>, 2024
|
||||
# Murat Kaplan <muratk@projetgrup.com>, 2024
|
||||
# Deniz Guvener_Odoo <degu@odoo.com>, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Deniz Guvener_Odoo <degu@odoo.com>, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "SAF-T hesap içe aktarma sihirbazı"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "İçe aktarılacak Muhasebe SAF-T veri dosyası"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Muhasebe Ayarları"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Şirketler"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Firma"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "İçe aktarma için kullanılan şirket"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Tarafından oluşturuldu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Oluşturuldu"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "İsim Göster"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Dosya"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Dosya Adı"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "İçe Aktar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "İlgili Kişileri Tanımla"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Hesap açılış bakiyelerini içe aktar"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Muhasebe verilerinizi SAF-T dosya formatlarından içe aktarın"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Son Güncelleyen"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Son Güncelleme"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Partnerleri Görüntüle"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T açılış bakiyesi hareketi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Dosya Seç"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Önce bir Mali Yerelleştirme modülü kurmalısınız."
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2025
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2025\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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Помічник імпорту рахунку SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Файл бухгалтерських даних SAF-T для імпорту"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Налаштування бухобілку"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Компанії"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Компанія"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Компанія, що використовується для імпорту"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Створив"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Створено"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Назва для відображення"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Назва файлу"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Імпорт"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Імпорт SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Імпортувати відкритий бухгалтерський баланс"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Імпортуйте ваші бухгалтерські дані з форматів файлу SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Востаннє оновив"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Останнє оновлення"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Імпорт SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "Проводка відкритого балансу SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Виберіть файл"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Спершу вам необхідно встановити схему оподаткування."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "Công cụ nhập SAF-T kế toán"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "Tệp dữ liệu kế toán SAF-T cần nhập"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "Cài đặt kế toán"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "Hủy"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Công ty"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "Công ty"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "Công ty được sử dụng để nhập"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Được tạo bởi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Được tạo vào"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Tên hiển thị"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "Tệp"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "Tên tập tin"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "Nhập"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "Nhập SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "Nhập số dư đầu kỳ của tài khoản"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "Nhập dữ liệu kế toán của bạn từ định dạng tệp SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Cập nhật lần cuối bởi"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Cập nhật lần cuối vào"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "Nhập SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T opening balance move"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "Chọn tệp"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "Đầu tiên, bạn nên cài đặt Bản địa hoá tài chính."
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
|
||||
"Last-Translator: Wil Odoo, 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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "账户 SAF-T 导入向导"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "要导入的会计 SAF-T 数据文件"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "会计设置"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "用作导入的公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "创建人"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "创建日期"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "显示名称"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "文件"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "文件名"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "导入"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "导入 SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "导入账户开户结余"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "从 SAF-T 文件格式导入会计数据"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最后更新人"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "上次更新日期"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T 导入"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T 开户余额分录"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "选择文件"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "您应该首先安装财务本地化套装。"
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_saft_import
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_account_saft_import_wizard
|
||||
msgid "Account SAF-T import wizard"
|
||||
msgstr "賬戶 SAF-T 匯入精靈"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "Accounting SAF-T data file to be imported"
|
||||
msgstr "要匯入的會計 SAF-T 數據檔案"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "Accounting Settings"
|
||||
msgstr "會計設定"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model,name:account_saft_import.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,help:account_saft_import.field_account_saft_import_wizard__company_id
|
||||
msgid "Company used for the import"
|
||||
msgstr "用作匯入的公司"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "建立人員"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "建立於"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "顯示名稱"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_id
|
||||
msgid "File"
|
||||
msgstr "文件"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__attachment_name
|
||||
msgid "Filename"
|
||||
msgstr "文件名"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__id
|
||||
msgid "ID"
|
||||
msgstr "識別號"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import"
|
||||
msgstr "匯入"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-javascript
|
||||
#: code:addons/account_saft_import/static/src/xml/account_saft_import_button.xml:0
|
||||
msgid "Import SAF-T"
|
||||
msgstr "匯入 SAF-T"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__import_opening_balance
|
||||
msgid "Import account opening balances"
|
||||
msgstr "匯入賬戶開戶結餘"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Import your accounting data from SAF-T file formats"
|
||||
msgstr "從 SAF-T 檔案格式匯入會計數據"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最後更新者"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.model.fields,field_description:account_saft_import.field_account_saft_import_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "最後更新於"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model:ir.actions.act_window,name:account_saft_import.open_saft_import_wizard
|
||||
#: model:ir.actions.server,name:account_saft_import.account_saft_import_action
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "SAF-T Import"
|
||||
msgstr "SAF-T 匯入"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "SAF-T opening balance move"
|
||||
msgstr "SAF-T 開戶結餘分錄"
|
||||
|
||||
#. module: account_saft_import
|
||||
#: model_terms:ir.ui.view,arch_db:account_saft_import.account_saft_import_form
|
||||
msgid "Select File"
|
||||
msgstr "選擇檔案"
|
||||
|
||||
#. module: account_saft_import
|
||||
#. odoo-python
|
||||
#: code:addons/account_saft_import/wizard/import_wizard.py:0
|
||||
msgid "You should install a Fiscal Localization first."
|
||||
msgstr "你應該先安裝財政本地化套裝。"
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
from . import models
|
||||
from . import wizard
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
'name': "SEPA Direct Debit",
|
||||
|
||||
'summary': "Collect payments from your customers through SEPA direct debit.",
|
||||
|
||||
'description': """
|
||||
This module enables the generation of SEPA Direct Debit (SDD)-compliant XML files (consistent
|
||||
with pain.008.001.02 specification) to send to your bank in order to
|
||||
collect a set of payments.
|
||||
|
||||
""",
|
||||
|
||||
'category': 'Accounting/Accounting',
|
||||
|
||||
'depends': ['base_iban', 'odex30_account_batch_payment', 'account'],
|
||||
|
||||
'data': [
|
||||
'security/account_sepa_direct_debit_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'report/empty_mandate_report.xml',
|
||||
'data/account_data.xml',
|
||||
'data/sdd_payment_method.xml',
|
||||
'data/sdd_mandate_state_cron.xml',
|
||||
'data/email_templates.xml',
|
||||
'views/sdd_mandate_views.xml',
|
||||
'views/account_payment_view.xml',
|
||||
'views/account_journal_dashboard_view.xml',
|
||||
'views/report_invoice.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
'views/res_partner_view.xml',
|
||||
'views/account_batch_payment_views.xml',
|
||||
'views/account_move_view.xml',
|
||||
'views/account_journal_views.xml',
|
||||
'wizard/account_payment_register_view.xml',
|
||||
'wizard/sdd_mandate_send_views.xml',
|
||||
],
|
||||
'license': 'OEEL-1',
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="sdd_mt_invoice_paid_with_mandate" model="mail.message.subtype">
|
||||
<field name="name">Paid via direct debit</field>
|
||||
<field name="res_model">account.move</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="description">Invoice paid via direct debit.</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,219 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="email_template_sdd_mandate_expiring" model="mail.template">
|
||||
<field name="name">SEPA Direct Debit mandate expiration warning</field>
|
||||
<field name="subject">SEPA Direct Debit mandate expiration warning</field>
|
||||
<field name="email_from">{{ (object.company_id.email_formatted or user.email_formatted) }}</field>
|
||||
<field name="email_cc">{{ ','.join(object.message_follower_ids.mapped('email')) }}</field>
|
||||
<field name="model_id" ref="odex30_account_sepa_direct_debit.model_sdd_mandate"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html" type="html">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="padding-top: 16px; background-color: #FFFFFF; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590"
|
||||
style="padding: 16px; background-color: #FFFFFF; color: #454748; border-collapse:separate;">
|
||||
<tbody>
|
||||
<!-- CONTENT -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590"
|
||||
style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr>
|
||||
<td valign="top" style="font-size: 13px;">
|
||||
<div>
|
||||
Hello,<br/><br/>
|
||||
A SEPA Direct Debit mandate will reach its automatic expiration date on <span t-out="format_date(object._get_expiry_date_per_mandate()[object])">2020-04-18</span><br/>
|
||||
This can be caused by one of the following reason:
|
||||
<ul>
|
||||
<li>
|
||||
That date is the mandate end date agreed upon signature.
|
||||
</li>
|
||||
<li>
|
||||
It would then be more than 36 months since the last time this mandate was used.
|
||||
</li>
|
||||
</ul>
|
||||
<div style="margin: 16px 0px 16px 0px;">
|
||||
<a t-attf-href="{{ website_url }}/odoo/sdd-mandates/{{ object.id }}"
|
||||
style="background-color: #4caf50; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px; font-size:13px;">
|
||||
Go to Mandate
|
||||
</a>
|
||||
</div>
|
||||
Security Tip: Check that the domain name you are redirected to is: <b><a
|
||||
t-att-href='object.get_base_url()' t-out="object.get_base_url() or ''">
|
||||
https://yourcompany.odoo.com</a></b>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:center;">
|
||||
<hr width="100%"
|
||||
style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- POWERED BY -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590"
|
||||
style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;">
|
||||
<tr>
|
||||
<td style="text-align: center; font-size: 13px;">
|
||||
Powered by <a target="_blank" href="https://www.odoo.com?utm_source=db&utm_medium=auth"
|
||||
style="color: #875A7B;">Odoo</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590"
|
||||
style="min-width: 590px; color: #454748; padding: 8px; border-collapse:separate;">
|
||||
<tr>
|
||||
<td style="text-align: center; font-size: 11px;">
|
||||
PS: This is an automated email sent by EXP Accounting to notify you a SEPA Direct Debit mandate is going to get automatically closed.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="email_template_sdd_pre_notification" model="mail.template">
|
||||
<field name="name">SEPA Direct Debit Customer Pre-Notification mail</field>
|
||||
<field name="subject">Payment notification {{ object.memo }}</field>
|
||||
<field name="description">Sent to the customer to indicate their account will be charged</field>
|
||||
<field name="email_from">{{ (object.company_id.email_formatted or user.email_formatted) }}</field>
|
||||
<field name="email_to">{{ object.partner_id.email_formatted }}</field>
|
||||
<field name="model_id" ref="odex30_account_batch_payment.model_account_payment"/>
|
||||
<field name="lang">{{ object.partner_id.lang or user.lang }}</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html" type="html">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;"><tr><td align="center">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding: 16px; background-color: white; color: #454748; border-collapse:separate;">
|
||||
<tbody>
|
||||
<!-- HEADER -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="middle">
|
||||
<t t-set="company" t-value="object.company_id"/>
|
||||
<span style="font-size: 10px;">Your Direct Debit Payment Notification</span><br/>
|
||||
</td></tr>
|
||||
<tr><td valign="middle" align="right" t-if="not company.uses_default_logo">
|
||||
<img t-attf-src="/logo.png?company={{ company.id }}" style="padding: 0px; margin: 0px; height: auto; width: 80px;" t-att-alt="company.name"/>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- CONTENT -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="top" style="font-size: 13px;">
|
||||
Dear <t t-out="object.partner_id.name or ''">Azure Interior</t><br/>
|
||||
<br/>
|
||||
A Direct Debit payment request amounting to
|
||||
<span style="font-weight:bold;" t-out="format_amount(object.amount, object.currency_id) or ''">$ 0.00</span>
|
||||
will be sent to your bank.<br/>
|
||||
Your account ending with <t t-out="ctx.get('iban_last_4') or ''">1234</t> will be automatically debited on the
|
||||
<span style="font-weight:bold;" t-out="format_date(ctx.get('collection_date'))">2020-04-18</span>,
|
||||
or shortly thereafter.<br/>
|
||||
please make sure you have the requested funds.<br/>
|
||||
<br/>
|
||||
<t t-if="ctx.get('creditor_iban') or ctx.get('mandate_ref')">
|
||||
Merchant data:<br/>
|
||||
<ul>
|
||||
<t t-if="ctx.get('creditor_iban')">
|
||||
<li>IBAN: <t t-out="ctx['creditor_iban'] or ''">NO 93 8601 1117947</t></li>
|
||||
</t>
|
||||
<t t-if="ctx.get('mandate_ref')">
|
||||
<li>SEPA DIRECT DEBIT MANDATE REFERENCE: <t t-out="ctx['mandate_ref'] or ''"></t></li>
|
||||
</t>
|
||||
</ul>
|
||||
</t>
|
||||
<br/>
|
||||
Do not hesitate to contact us if you have any question.
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- FOOTER -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: white; font-size: 11px; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="middle" align="left">
|
||||
<t t-out="company.name or ''">YourCompany</t>
|
||||
</td></tr>
|
||||
<tr><td valign="middle" align="left" style="opacity: 0.7;">
|
||||
<t t-if="company.phone">
|
||||
<t t-out="company.phone or ''">+1 650-123-4567</t> |
|
||||
</t>
|
||||
<t t-if="company.email">
|
||||
<a t-attf-href="'mailto:%s' % {{ company.email }}" style="text-decoration:none; color: #454748;" t-out="company.email or ''">info@yourcompany.com</a> |
|
||||
</t>
|
||||
<t t-if="company.website">
|
||||
<a t-attf-href="'%s' % {{ company.website }}" style="text-decoration:none; color: #454748;" t-out="company.website or ''">http://www.example.com</a>
|
||||
</t>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td></tr>
|
||||
<!-- POWERED BY -->
|
||||
<tr><td align="center" style="min-width: 590px;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;">
|
||||
<tr><td style="text-align: center; font-size: 13px;">
|
||||
Powered by <a target="_blank" href="https://www.odoo.com?utm_source=db&utm_medium=mail" style="color: #875A7B;">Odoo</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="email_template_sdd_new_mandate" model="mail.template">
|
||||
<field name="name">SEPA Direct Debit Sending</field>
|
||||
<field name="description">Email requesting the customer to sign the mandate attached</field>
|
||||
<field name="model_id" ref="odex30_account_sepa_direct_debit.model_sdd_mandate_send"/>
|
||||
<field name="subject">{{ object.partner_id.display_name }} SEPA Direct Debit Mandate</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html" type="html">
|
||||
<div style="margin: 0px; padding: 0px;">
|
||||
<p style="margin: 0px; padding: 0px; font-size: 13px;">
|
||||
Dear <t t-out="object.partner_id.display_name or ''">Azure Interior</t>
|
||||
<br/>
|
||||
<br/>
|
||||
Here is your SEPA Direct Debit Mandate to sign to authorize
|
||||
<t t-out="object.company_id.display_name or ''">YourCompany</t>
|
||||
to send instructions to your bank to debit your account in accordance with the instructions from
|
||||
<t t-out="object.company_id.display_name or ''">YourCompany</t>
|
||||
Do not hesitate to contact us if you have any questions.
|
||||
<br/>
|
||||
Best regards,
|
||||
<t t-if="not is_html_empty(user.signature)">
|
||||
<br/><br/>
|
||||
<t t-out="user.signature">--<br/>Mitchell Admin</t>
|
||||
</t>
|
||||
</p>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
|
||||
<record id="sdd_mandate_state_cron" model="ir.cron">
|
||||
<field name="name">Mandate state updater</field>
|
||||
<field name="active" eval="True"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="model_id" ref="odex30_account_sepa_direct_debit.model_sdd_mandate"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.cron_update_mandates_states()</field>
|
||||
<field name="priority">0</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="payment_method_sdd" model="account.payment.method">
|
||||
<field name="name">SEPA Direct Debit</field>
|
||||
<field name="code">sdd</field>
|
||||
<field name="payment_type">inbound</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
from . import account_batch_payment
|
||||
from . import account_invoice
|
||||
from . import account_journal
|
||||
from . import account_payment
|
||||
from . import account_partial_reconcile
|
||||
from . import account_payment_method
|
||||
from . import res_company
|
||||
from . import res_config_settings
|
||||
from . import res_partner
|
||||
from . import res_partner_bank
|
||||
from . import sdd_mandate
|
||||
|
|
@ -0,0 +1,286 @@
|
|||
|
||||
import ast
|
||||
import base64
|
||||
import re
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import RedirectWarning, ValidationError, UserError
|
||||
from odoo.tools import SQL, format_date
|
||||
|
||||
from odoo.addons.odex30_account_sepa_direct_debit.models.sdd_mandate import SDD_MIN_PRENOT_PERIOD, SDD_FIRST_MIN_PRENOT_PERIOD
|
||||
|
||||
|
||||
class AccountBatchPayment(models.Model):
|
||||
_inherit = 'account.batch.payment'
|
||||
|
||||
sdd_required_collection_date = fields.Date(
|
||||
string='Required Collection Date',
|
||||
compute='_compute_sdd_required_collection_date', store=True,
|
||||
help="Date when the company expects to receive the payments of this batch. "
|
||||
"It can't be inferior to the sending day + the minimum pre-notification period.",
|
||||
)
|
||||
sdd_min_required_collection_date = fields.Date(compute='_compute_sdd_min_required_collection_date', export_string_translation=False)
|
||||
sdd_first_time_payment_ids = fields.One2many('account.payment', compute='_compute_sdd_first_time_payment_ids', export_string_translation=False)
|
||||
sdd_batch_booking = fields.Boolean(string="SDD Batch Booking", default=True, help="Request batch booking from the bank for the related bank statements.")
|
||||
sdd_scheme = fields.Selection(string="SDD Scheme", selection=[('CORE', 'CORE'), ('B2B', 'B2B')],
|
||||
help='The B2B scheme is an optional scheme,\noffered exclusively to business payers.\nSome banks/businesses might not accept B2B SDD.',
|
||||
compute='_compute_sdd_scheme', store=True, readonly=False)
|
||||
|
||||
@api.depends('sdd_scheme')
|
||||
def _compute_payment_ids_domain(self):
|
||||
super()._compute_payment_ids_domain()
|
||||
for batch in self:
|
||||
domain = ast.literal_eval(batch.payment_ids_domain)
|
||||
domain.extend([
|
||||
'|',
|
||||
('payment_method_id.code', 'not in', ('sdd', 'sepa_direct_debit')),
|
||||
('sdd_mandate_id.sdd_scheme', '=', batch.sdd_scheme),
|
||||
])
|
||||
batch.payment_ids_domain = str(domain)
|
||||
|
||||
@api.depends('payment_ids')
|
||||
def _compute_sdd_required_collection_date(self):
|
||||
|
||||
sepa_codes = set(self.env['account.payment.method']._get_sdd_payment_method_code())
|
||||
for batch in self.filtered(lambda batch: batch.payment_method_code in sepa_codes):
|
||||
if batch.sdd_required_collection_date: # Do not override when there is a time
|
||||
batch.sdd_required_collection_date = batch.sdd_required_collection_date
|
||||
continue
|
||||
|
||||
minimum_offset = SDD_FIRST_MIN_PRENOT_PERIOD
|
||||
mandates = batch.payment_ids.sdd_mandate_id
|
||||
all_used_mandates = batch._get_all_used_mandates()
|
||||
if all(all_used_mandates.get(mandate, 0) > 0 for mandate in mandates):
|
||||
|
||||
minimum_offset = SDD_MIN_PRENOT_PERIOD
|
||||
|
||||
batch.sdd_required_collection_date = fields.Date.context_today(batch) + timedelta(
|
||||
max([minimum_offset, *mandates.mapped('pre_notification_period')])
|
||||
)
|
||||
|
||||
@api.depends('payment_ids')
|
||||
def _compute_sdd_min_required_collection_date(self):
|
||||
sepa_codes = set(self.env['account.payment.method']._get_sdd_payment_method_code())
|
||||
for batch in self:
|
||||
if batch.payment_method_code not in sepa_codes:
|
||||
batch.sdd_min_required_collection_date = False
|
||||
continue
|
||||
|
||||
mandates = batch.payment_ids.sdd_mandate_id
|
||||
all_used_mandates = batch._get_all_used_mandates()
|
||||
if all(all_used_mandates.get(mandate, 0) > 0 for mandate in mandates):
|
||||
batch.sdd_min_required_collection_date = False
|
||||
else:
|
||||
batch.sdd_min_required_collection_date = fields.Date.context_today(batch) + timedelta(
|
||||
SDD_FIRST_MIN_PRENOT_PERIOD
|
||||
)
|
||||
|
||||
@api.depends('payment_ids')
|
||||
def _compute_sdd_first_time_payment_ids(self):
|
||||
sepa_codes = set(self.env['account.payment.method']._get_sdd_payment_method_code())
|
||||
for batch in self:
|
||||
if batch.payment_method_code not in sepa_codes:
|
||||
batch.sdd_first_time_payment_ids = False
|
||||
continue
|
||||
|
||||
all_used_mandates = batch._get_all_used_mandates()
|
||||
batch.sdd_first_time_payment_ids = batch.payment_ids.filtered(
|
||||
lambda p: all_used_mandates.get(p.sdd_mandate_id, 0) == 0
|
||||
)
|
||||
|
||||
@api.depends('payment_method_id')
|
||||
def _compute_sdd_scheme(self):
|
||||
sdd_payment_codes = self.payment_method_id._get_sdd_payment_method_code()
|
||||
for batch in self:
|
||||
if batch.payment_method_id.code not in sdd_payment_codes:
|
||||
batch.sdd_scheme = False
|
||||
else:
|
||||
if batch.sdd_scheme:
|
||||
batch.sdd_scheme = batch.sdd_scheme
|
||||
else:
|
||||
batch.sdd_scheme = batch.payment_ids and batch.payment_ids[0].sdd_mandate_scheme or 'CORE'
|
||||
|
||||
def _get_all_used_mandates(self):
|
||||
|
||||
self.ensure_one()
|
||||
mandates = self.payment_ids.sdd_mandate_id
|
||||
return dict(self.env['account.payment']._read_group([
|
||||
('sdd_mandate_id', 'in', mandates.ids),
|
||||
('is_matched', '=', True),
|
||||
],
|
||||
groupby=['sdd_mandate_id'],
|
||||
aggregates=['__count'],
|
||||
))
|
||||
|
||||
def _get_methods_generating_files(self):
|
||||
rslt = super()._get_methods_generating_files()
|
||||
rslt += self.payment_method_id._get_sdd_payment_method_code()
|
||||
return rslt
|
||||
|
||||
@api.constrains('sdd_required_collection_date', 'payment_method_id')
|
||||
def _check_minimal_collection_date(self):
|
||||
sepa_codes = self.env['account.payment.method']._get_sdd_payment_method_code()
|
||||
|
||||
sepa_batch_payment = self.filtered(lambda p: p.payment_method_code in sepa_codes)
|
||||
if not sepa_batch_payment:
|
||||
return
|
||||
|
||||
for batch in sepa_batch_payment:
|
||||
minimum_date = fields.Date.context_today(batch) + timedelta(days=SDD_MIN_PRENOT_PERIOD)
|
||||
if batch.payment_method_code in sepa_codes and batch.sdd_required_collection_date < minimum_date:
|
||||
raise ValidationError(_(
|
||||
"The bank needs to be informed at least %(min_days_new)s days in advance for collections related "
|
||||
"to a new mandate and %(min_days)s days in advance when the mandate is already known by them.\n"
|
||||
"The minimum collection date must be %(date)s.",
|
||||
min_days_new=SDD_FIRST_MIN_PRENOT_PERIOD,
|
||||
min_days=SDD_MIN_PRENOT_PERIOD,
|
||||
date=format_date(self.env, minimum_date),
|
||||
))
|
||||
|
||||
@api.constrains('batch_type', 'journal_id', 'payment_ids', 'payment_method_id')
|
||||
def _check_payments_constrains(self):
|
||||
super(AccountBatchPayment, self)._check_payments_constrains()
|
||||
for record in self.filtered(lambda r: r.payment_method_code in r.payment_method_id._get_sdd_payment_method_code()):
|
||||
all_sdd_schemes = set(record.payment_ids.mapped('sdd_mandate_id.sdd_scheme'))
|
||||
if len(all_sdd_schemes) > 1:
|
||||
raise ValidationError(_("All the payments in the batch must have the same SDD scheme."))
|
||||
|
||||
def validate_batch(self):
|
||||
self.ensure_one()
|
||||
if self.payment_method_code in self.payment_method_id._get_sdd_payment_method_code():
|
||||
today = fields.Date.context_today(self)
|
||||
company = self.journal_id.company_id
|
||||
|
||||
if not company.sdd_creditor_identifier:
|
||||
action = self.env.ref('account.action_account_config')
|
||||
raise RedirectWarning(_(
|
||||
"Your company must have a creditor identifier in order to issue SEPA Direct Debit payments requests. "
|
||||
"It can be defined in accounting module's settings."
|
||||
),
|
||||
action=action.id,
|
||||
button_text=_("Go to settings"),
|
||||
)
|
||||
|
||||
payments_without_mandate = self.payment_ids.filtered(lambda x: not x.sdd_mandate_id)
|
||||
if payments_without_mandate:
|
||||
raise RedirectWarning(
|
||||
_("Some payments are not linked to any mandate."),
|
||||
action={
|
||||
'name': _("Payments without mandate"),
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'account.payment',
|
||||
'views': [(self.env.ref('account.view_account_payment_tree').id, 'list')],
|
||||
'domain': [('id', 'in', payments_without_mandate.ids)]
|
||||
},
|
||||
button_text=_("Go to payments"),
|
||||
)
|
||||
|
||||
invalid_mandates = self.payment_ids.sdd_mandate_id._update_and_partition_state_by_validity()['invalid']
|
||||
if invalid_mandates:
|
||||
raise RedirectWarning(
|
||||
_("Some payments are linked to an inactive mandate."),
|
||||
action={
|
||||
'name': _("Problematic mandates"),
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'sdd.mandate',
|
||||
'views': [(self.env.ref('odex30_account_sepa_direct_debit.account_sepa_direct_debit_mandate_tree').id, 'list')],
|
||||
'domain': [('id', 'in', invalid_mandates.ids)],
|
||||
},
|
||||
button_text=_("Go to mandates"),
|
||||
)
|
||||
|
||||
collection_date = self.sdd_required_collection_date
|
||||
min_collection_date = today + timedelta(days=SDD_MIN_PRENOT_PERIOD)
|
||||
if collection_date < min_collection_date:
|
||||
raise UserError(_(
|
||||
"You cannot generate a SEPA Direct Debit file with a required collection date inferior to the "
|
||||
"sending day + the minimum pre-notification period of %(prenot_days)s days.\n"
|
||||
"The minimum required date should be %(minimum_date)s.",
|
||||
prenot_days=SDD_MIN_PRENOT_PERIOD,
|
||||
minimum_date=format_date(self.env, min_collection_date),
|
||||
))
|
||||
|
||||
if self.journal_id.bank_account_id.acc_type != 'iban':
|
||||
raise RedirectWarning(_(
|
||||
"Only IBAN account numbers can receive SEPA Direct Debit payments. "
|
||||
"Please select a journal associated to one or add an IBAN bank account to the current journal"
|
||||
),
|
||||
action={
|
||||
'name': self.journal_id.name,
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'account.journal',
|
||||
'res_id': self.journal_id.id,
|
||||
'views': [(self.env.ref('account.view_account_journal_form').id, 'form')],
|
||||
},
|
||||
button_text=_("Go to journal"),
|
||||
)
|
||||
|
||||
return super().validate_batch()
|
||||
|
||||
def _check_and_post_draft_payments(self, draft_payments):
|
||||
rslt = []
|
||||
if self.payment_method_code in self.payment_method_id._get_sdd_payment_method_code():
|
||||
|
||||
drafts_without_mandate = draft_payments.filtered(lambda x: not x.get_usable_mandate())
|
||||
if drafts_without_mandate:
|
||||
rslt = [{'title': _("Some draft payments could not be posted because of the lack of any active mandate."),
|
||||
'records': drafts_without_mandate,
|
||||
'help': _("To solve that, you should create a mandate for each of the involved customers, valid at the moment of the payment date.")
|
||||
}]
|
||||
draft_payments -= drafts_without_mandate
|
||||
|
||||
return rslt + super()._check_and_post_draft_payments(draft_payments)
|
||||
|
||||
def _generate_export_file(self):
|
||||
if self.payment_method_code in self.payment_method_id._get_sdd_payment_method_code():
|
||||
company = self.env.company
|
||||
return {
|
||||
'filename': 'PAIN008' + datetime.now().strftime('%Y%m%d%H%M%S') + '.xml',
|
||||
'file': base64.encodebytes(self.payment_ids.generate_xml(company, self.sdd_required_collection_date, self.sdd_batch_booking)),
|
||||
}
|
||||
|
||||
return super()._generate_export_file()
|
||||
|
||||
def _send_after_validation(self):
|
||||
|
||||
res = super()._send_after_validation()
|
||||
if self.env['ir.config_parameter'].sudo().get_param('odex30_account_sepa_direct_debit.disable_sdd_pre_notification'):
|
||||
return res
|
||||
|
||||
template = self.env.ref('odex30_account_sepa_direct_debit.email_template_sdd_pre_notification')
|
||||
sdd_codes = set(self.env['account.payment.method']._get_sdd_payment_method_code())
|
||||
for payment in self.payment_ids.filtered(lambda payment: payment.payment_method_code in sdd_codes and payment.sdd_mandate_id):
|
||||
mandate = payment.sdd_mandate_id
|
||||
sanitized_acc_number = mandate.partner_bank_id.sanitized_acc_number
|
||||
anonymized_bank_account_number = f"{re.sub(r'.', '*', sanitized_acc_number[:-4])}{sanitized_acc_number[-4:]}"
|
||||
|
||||
ctx = {
|
||||
'iban_last_4': sanitized_acc_number[-4:],
|
||||
'mandate_ref': mandate.name,
|
||||
'collection_date': payment.batch_payment_id.sdd_required_collection_date,
|
||||
'amount': payment.amount,
|
||||
'creditor_iban': anonymized_bank_account_number,
|
||||
}
|
||||
payment.with_context(ctx).message_post_with_source(source_ref=template, subtype_xmlid='mail.mt_note')
|
||||
return res
|
||||
|
||||
def check_payments_for_errors(self):
|
||||
rslt = super().check_payments_for_errors()
|
||||
|
||||
if self.payment_method_code not in self.payment_method_id._get_sdd_payment_method_code():
|
||||
return rslt
|
||||
|
||||
if len(self.payment_ids):
|
||||
sdd_scheme = self.payment_ids[0].sdd_mandate_id.sdd_scheme
|
||||
dif_scheme_payements = self.payment_ids.filtered(lambda x: x.sdd_mandate_id.sdd_scheme != sdd_scheme)
|
||||
if dif_scheme_payements:
|
||||
rslt.append({
|
||||
'title': _("All the payments in the batch must have the same SDD scheme."),
|
||||
'records': dif_scheme_payements,
|
||||
'help': _("SDD scheme is set on the customer mandate.")
|
||||
})
|
||||
|
||||
return rslt
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = 'account.move'
|
||||
|
||||
sdd_mandate_id = fields.Many2one(related='origin_payment_id.sdd_mandate_id')
|
||||
sdd_has_usable_mandate = fields.Boolean(compute='_compute_sdd_has_usable_mandate', search='_search_sdd_has_usable_mandate')
|
||||
|
||||
@api.model
|
||||
def _search_sdd_has_usable_mandate(self, operator, value):
|
||||
|
||||
if (operator == '=' and value) or (operator == '!=' and not value):
|
||||
domain_operator = 'in'
|
||||
else:
|
||||
domain_operator = 'not in'
|
||||
|
||||
query = """
|
||||
SELECT
|
||||
move.id
|
||||
FROM
|
||||
sdd_mandate mandate
|
||||
LEFT JOIN
|
||||
account_move move ON move.company_id = mandate.company_id AND
|
||||
move.commercial_partner_id = mandate.partner_id
|
||||
WHERE
|
||||
move.move_type IN ('out_invoice', 'in_refund') AND
|
||||
mandate.state = 'active' AND
|
||||
mandate.start_date <= move.invoice_date AND
|
||||
(mandate.end_date IS NULL OR mandate.end_date > move.invoice_date)
|
||||
"""
|
||||
|
||||
self._cr.execute(query)
|
||||
|
||||
return [('id', domain_operator, [x['id'] for x in self._cr.dictfetchall()])]
|
||||
|
||||
@api.depends('company_id', 'commercial_partner_id', 'invoice_date')
|
||||
def _compute_sdd_has_usable_mandate(self):
|
||||
for rec in self:
|
||||
rec.sdd_has_usable_mandate = bool(rec._sdd_get_usable_mandate())
|
||||
|
||||
def _sdd_get_usable_mandate(self):
|
||||
|
||||
if self.move_type in ('out_invoice', 'in_refund'):
|
||||
return self.env['sdd.mandate']._sdd_get_usable_mandate(self.company_id.id, self.commercial_partner_id.id, self.invoice_date)
|
||||
else:
|
||||
return None
|
||||
|
||||
def _track_subtype(self, init_values):
|
||||
self.ensure_one()
|
||||
if 'state' in init_values and self.state in ('in_payment', 'paid') and self.move_type == 'out_invoice' and self.sdd_mandate_id:
|
||||
return self.env.ref('odex30_account_sepa_direct_debit.sdd_mt_invoice_paid_with_mandate')
|
||||
return super(AccountMove, self)._track_subtype(init_values)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class AccountJournal(models.Model):
|
||||
_inherit = 'account.journal'
|
||||
|
||||
debit_sepa_pain_version = fields.Selection(
|
||||
[
|
||||
('pain.008.001.02', 'Default (Pain 008.001.02)'),
|
||||
('pain.008.001.08', 'Updated 2023 (Pain 008.001.08)'),
|
||||
],
|
||||
required=True,
|
||||
string='SEPA Direct Debit Pain Version',
|
||||
default='pain.008.001.02',
|
||||
)
|
||||
|
||||
def _default_inbound_payment_methods(self):
|
||||
res = super()._default_inbound_payment_methods()
|
||||
if self._is_payment_method_available('sdd'):
|
||||
res |= self.env.ref('odex30_account_sepa_direct_debit.payment_method_sdd')
|
||||
return res
|
||||
|
||||
def _get_journal_dashboard_data_batched(self):
|
||||
dashboard_data = super()._get_journal_dashboard_data_batched()
|
||||
self._fill_dashboard_data_count(dashboard_data, 'account.payment', 'sdd_payments_to_send_number', [
|
||||
('payment_method_code', 'in', self.env['account.payment.method']._get_sdd_payment_method_code()),
|
||||
('state', '=', 'in_process'),
|
||||
('is_sent', '=', False),
|
||||
('is_matched', '=', False),
|
||||
])
|
||||
return dashboard_data
|
||||
|
||||
def open_sdd_payments(self):
|
||||
ctx = self._context.copy()
|
||||
ctx.update({'default_journal_id': self.id, 'search_default_journal_id': self.id})
|
||||
action = self.env['ir.actions.act_window']._for_xml_id('odex30_account_sepa_direct_debit.action_sdd_payments_to_collect')
|
||||
action.update({'context': ctx})
|
||||
return action
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
from odoo import api, models
|
||||
|
||||
class AccountPartialReconcile(models.Model):
|
||||
_inherit = 'account.partial.reconcile'
|
||||
|
||||
@api.ondelete(at_uninstall=False)
|
||||
def _unlink_sdd_mandate_and_invoice(self):
|
||||
for partial in self:
|
||||
for move in {partial.debit_move_id.move_id, partial.credit_move_id.move_id}:
|
||||
if (move.is_invoice(include_receipts=True) and move.sdd_mandate_id):
|
||||
payments_with_mandate = move._get_reconciled_payments().filtered(lambda p: p.sdd_mandate_id and p.move_id not in {partial.debit_move_id.move_id, partial.credit_move_id.move_id})
|
||||
if not payments_with_mandate:
|
||||
move.sdd_mandate_id = False
|
||||
|
|
@ -0,0 +1,259 @@
|
|||
|
||||
import time
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
from odoo.tools.float_utils import float_repr
|
||||
from odoo.tools.xml_utils import create_xml_node, create_xml_node_chain
|
||||
from odoo.addons.odex30_account_batch_payment.models import sepa_mapping
|
||||
from lxml import etree
|
||||
|
||||
|
||||
class AccountPayment(models.Model):
|
||||
_inherit = 'account.payment'
|
||||
|
||||
# used to inform the end user there is a SDD mandate that could be used to register that payment
|
||||
sdd_mandate_usable = fields.Boolean(string="Could a SDD mandate be used?",
|
||||
compute='_compute_usable_mandate')
|
||||
sdd_mandate_scheme = fields.Selection(related='sdd_mandate_id.sdd_scheme', readonly=True)
|
||||
sdd_mandate_id = fields.Many2one(
|
||||
name="SDD Mandate",
|
||||
comodel_name='sdd.mandate',
|
||||
copy=False,
|
||||
check_company=True,
|
||||
compute='_compute_sdd_mandate_id',
|
||||
store=True,
|
||||
readonly=False,
|
||||
help="Once this invoice has been paid with Direct Debit, contains the mandate that allowed the payment.")
|
||||
|
||||
@api.depends('payment_method_line_id', 'partner_id', 'date')
|
||||
def _compute_sdd_mandate_id(self):
|
||||
sepa_codes = self.env['account.payment.method']._get_sdd_payment_method_code()
|
||||
for payment in self:
|
||||
payment.sdd_mandate_id = payment.get_usable_mandate() if payment.payment_method_line_id.code in sepa_codes else False
|
||||
|
||||
@api.onchange('partner_id')
|
||||
def _onchange_partner_id(self):
|
||||
sepa_codes = self.env['account.payment.method']._get_sdd_payment_method_code()
|
||||
for payment in self:
|
||||
mandate = payment.get_usable_mandate()
|
||||
if not mandate or payment.payment_method_line_id.code not in sepa_codes:
|
||||
payment.sdd_mandate_id = False
|
||||
elif mandate and not payment.sdd_mandate_id.filtered(lambda _mandate: _mandate.partner_id == payment.partner_id):
|
||||
payment.payment_method_line_id = payment.available_payment_method_line_ids.filtered(lambda l: l.code == 'sdd')[0]
|
||||
payment.sdd_mandate_id = mandate
|
||||
|
||||
def write(self, vals):
|
||||
unpaid = self.filtered(lambda p: p.state == 'draft')
|
||||
res = super().write(vals)
|
||||
for pay in unpaid.filtered(lambda p: p.state == 'in_process'):
|
||||
if pay.sdd_mandate_id:
|
||||
matched_invoices = pay.move_id._get_reconciled_invoices() + pay.invoice_ids
|
||||
matched_invoices.filtered(lambda m: m.sdd_mandate_id != pay.sdd_mandate_id).sdd_mandate_id = pay.sdd_mandate_id
|
||||
if pay.sdd_mandate_id.one_off:
|
||||
pay.sdd_mandate_id.sudo().action_close_mandate()
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def split_node(self, string_node, max_size):
|
||||
string_node = self._sanitize_communication(string_node)
|
||||
byte_node = string_node.encode()
|
||||
if len(byte_node) <= max_size:
|
||||
return string_node, ''
|
||||
while byte_node[max_size] >= 0x80 and byte_node[max_size] < 0xc0:
|
||||
max_size -= 1
|
||||
return byte_node[0:max_size].decode(), byte_node[max_size:].decode()
|
||||
|
||||
@api.depends('date', 'partner_id', 'company_id')
|
||||
def _compute_usable_mandate(self):
|
||||
|
||||
for payment in self:
|
||||
payment.sdd_mandate_usable = bool(payment.get_usable_mandate())
|
||||
|
||||
@api.constrains('partner_id', 'sdd_mandate_id')
|
||||
def _validate_sdd_mandate_id(self):
|
||||
for pay in self:
|
||||
if pay.sdd_mandate_id and pay.sdd_mandate_id.partner_id != pay.partner_id.commercial_partner_id:
|
||||
raise UserError(_("Trying to register a payment on a mandate belonging to a different partner."))
|
||||
|
||||
@api.model
|
||||
def _sanitize_communication(self, communication):
|
||||
# DEPRECATED - to be removed in master
|
||||
return sepa_mapping.sanitize_communication(communication, None)
|
||||
|
||||
def generate_xml(self, company_id, required_collection_date, askBatchBooking):
|
||||
|
||||
version = self.journal_id.debit_sepa_pain_version
|
||||
if not version:
|
||||
raise UserError(_("Select a SEPA Direct Debit version before generating the XML."))
|
||||
document = etree.Element("Document", nsmap={None: f'urn:iso:std:iso:20022:tech:xsd:{version}', 'xsi': "http://www.w3.org/2001/XMLSchema-instance"})
|
||||
CstmrDrctDbtInitn = etree.SubElement(document, 'CstmrDrctDbtInitn')
|
||||
|
||||
self._sdd_xml_gen_header(company_id, CstmrDrctDbtInitn)
|
||||
|
||||
payments_per_journal = self._group_payments_per_bank_journal()
|
||||
payment_info_counter = 0
|
||||
for (journal, journal_payments) in payments_per_journal.items():
|
||||
journal_payments._sdd_xml_gen_payment_group(company_id, required_collection_date, askBatchBooking, payment_info_counter, journal, CstmrDrctDbtInitn)
|
||||
payment_info_counter += 1
|
||||
|
||||
|
||||
return etree.tostring(document, pretty_print=True, xml_declaration=True, encoding='utf-8')
|
||||
|
||||
def get_usable_mandate(self):
|
||||
return self.env['sdd.mandate']._sdd_get_usable_mandate(
|
||||
self.company_id.id or self.env.company.id,
|
||||
self.partner_id.commercial_partner_id.id,
|
||||
self.date)
|
||||
|
||||
def _sdd_xml_gen_header(self, company_id, CstmrDrctDbtInitn):
|
||||
|
||||
GrpHdr = create_xml_node(CstmrDrctDbtInitn, 'GrpHdr')
|
||||
create_xml_node(GrpHdr, 'MsgId', str(time.time())) # Using time makes sure the identifier is unique in an easy way
|
||||
create_xml_node(GrpHdr, 'CreDtTm', datetime.now().strftime('%Y-%m-%dT%H:%M:%S'))
|
||||
create_xml_node(GrpHdr, 'NbOfTxs', str(len(self)))
|
||||
create_xml_node(GrpHdr, 'CtrlSum', float_repr(sum(x.amount for x in self), precision_digits=2)) # This sum ignores the currency, it is used as a checksum (see SEPA rulebook)
|
||||
InitgPty = create_xml_node(GrpHdr, 'InitgPty')
|
||||
create_xml_node(InitgPty, 'Nm', self.split_node(company_id.name, 70)[0])
|
||||
create_xml_node_chain(InitgPty, ['Id', 'OrgId', 'Othr', 'Id'], company_id.sdd_creditor_identifier)
|
||||
|
||||
def _sdd_xml_gen_address(self, root_node, partner, sdd_version):
|
||||
|
||||
contact_address = partner._display_address(without_company=True)
|
||||
if contact_address:
|
||||
PstlAdr = create_xml_node(root_node, 'PstlAdr')
|
||||
if sdd_version == 'pain.008.001.02':
|
||||
if partner.country_id and partner.country_id.code:
|
||||
create_xml_node(PstlAdr, 'Ctry', partner.country_id.code)
|
||||
n_line = 0
|
||||
contact_address = contact_address.replace('\n', ' ').strip()
|
||||
while contact_address and n_line < 2:
|
||||
left_split, right_split = self.split_node(contact_address, 70)
|
||||
create_xml_node(PstlAdr, 'AdrLine', left_split)
|
||||
contact_address = right_split
|
||||
n_line = n_line + 1
|
||||
elif sdd_version == 'pain.008.001.08':
|
||||
if partner.street:
|
||||
street_name = partner.street if not partner.street2 else f'{partner.street}, {partner.street2}'
|
||||
create_xml_node(PstlAdr, 'StrtNm', self.split_node(street_name, 70)[0]) # Number and box in street
|
||||
if partner.zip:
|
||||
create_xml_node(PstlAdr, 'PstCd', partner.zip)
|
||||
if partner.city:
|
||||
create_xml_node(PstlAdr, 'TwnNm', partner.city)
|
||||
else:
|
||||
raise UserError(_('The debtor and creditor city name is a compulsary information when generating the SDD XML.'))
|
||||
if partner.state_id and partner.state_id.name:
|
||||
create_xml_node(PstlAdr, 'CtrySubDvsn', partner.state_id.name)
|
||||
if partner.country_id and partner.country_id.code:
|
||||
create_xml_node(PstlAdr, 'Ctry', partner.country_id.code)
|
||||
else:
|
||||
raise UserError(_('The debtor and creditor country is a compulsary information when generating the SDD XML.'))
|
||||
else:
|
||||
raise UserError(_('A SEPA direct debit version should be selected to generate the addresses in the export file.'))
|
||||
|
||||
def _sdd_xml_gen_payment_group(self, company_id, required_collection_date, askBatchBooking, payment_info_counter, journal, CstmrDrctDbtInitn):
|
||||
|
||||
sdd_version = self.journal_id.debit_sepa_pain_version
|
||||
if not sdd_version:
|
||||
raise UserError(_('A SEPA direct debit version should be selected to generate the export file.'))
|
||||
|
||||
PmtInf = create_xml_node(CstmrDrctDbtInitn, 'PmtInf')
|
||||
create_xml_node(PmtInf, 'PmtInfId', CstmrDrctDbtInitn.find('GrpHdr/MsgId').text + '/' + str(payment_info_counter))
|
||||
create_xml_node(PmtInf, 'PmtMtd', 'DD')
|
||||
create_xml_node(PmtInf, 'BtchBookg', askBatchBooking and 'true' or 'false')
|
||||
create_xml_node(PmtInf, 'NbOfTxs', str(len(self)))
|
||||
create_xml_node(PmtInf, 'CtrlSum', float_repr(sum(x.amount for x in self), precision_digits=2)) # This sum ignores the currency, it is used as a checksum (see SEPA rulebook)
|
||||
|
||||
PmtTpInf = create_xml_node_chain(PmtInf, ['PmtTpInf', 'SvcLvl', 'Cd'], 'SEPA')[0]
|
||||
|
||||
sdd_scheme = self[0].sdd_mandate_id.sdd_scheme or 'CORE'
|
||||
create_xml_node_chain(PmtTpInf, ['LclInstrm', 'Cd'], sdd_scheme)
|
||||
|
||||
create_xml_node(PmtTpInf, 'SeqTp', 'RCUR')
|
||||
|
||||
create_xml_node(PmtInf, 'ReqdColltnDt', fields.Date.from_string(required_collection_date).strftime("%Y-%m-%d"))
|
||||
Cdtr = create_xml_node_chain(PmtInf, ['Cdtr', 'Nm'], self.split_node(company_id.name, 70)[0])[0] # SEPA regulation gives a maximum size of 70 characters for this field
|
||||
|
||||
if sdd_version == 'pain.008.001.08':
|
||||
self._sdd_xml_gen_address(Cdtr, company_id.partner_id, sdd_version)
|
||||
|
||||
create_xml_node_chain(PmtInf, ['CdtrAcct', 'Id', 'IBAN'], journal.bank_account_id.sanitized_acc_number)
|
||||
|
||||
if journal.bank_id and journal.bank_id.bic:
|
||||
bic_tag = 'BIC' if sdd_version == 'pain.008.001.02' else 'BICFI'
|
||||
create_xml_node_chain(PmtInf, ['CdtrAgt', 'FinInstnId', bic_tag], journal.bank_id.bic.replace(' ', '').upper())
|
||||
else:
|
||||
create_xml_node_chain(PmtInf, ['CdtrAgt', 'FinInstnId', 'Othr', 'Id'], "NOTPROVIDED")
|
||||
|
||||
CdtrSchmeId_Othr = create_xml_node_chain(PmtInf, ['CdtrSchmeId', 'Id', 'PrvtId', 'Othr', 'Id'], company_id.sdd_creditor_identifier)[-2]
|
||||
create_xml_node_chain(CdtrSchmeId_Othr, ['SchmeNm', 'Prtry'], 'SEPA')
|
||||
|
||||
for payment in self:
|
||||
payment.sdd_xml_gen_payment(company_id, payment.partner_id, self.split_node(payment.name, 35)[0], PmtInf)
|
||||
|
||||
def sdd_xml_gen_payment(self, company_id, partner, end2end_name, PmtInf):
|
||||
""" Appends to a SDD XML file being generated all the data related to the
|
||||
payments of a given partner.
|
||||
"""
|
||||
# The two following conditions should never execute.
|
||||
# They are here to be sure future modifications won't ever break everything.
|
||||
if company_id not in self.company_id.parent_ids:
|
||||
raise UserError(_("Trying to generate a Direct Debit XML file containing payments from another company than that file's creditor."))
|
||||
|
||||
if self.payment_method_line_id.code not in self.payment_method_id._get_sdd_payment_method_code():
|
||||
raise UserError(_("Trying to generate a Direct Debit XML for payments coming from another payment method than SEPA Direct Debit."))
|
||||
|
||||
if not self.sdd_mandate_id:
|
||||
raise UserError(_("The payment must be linked to a SEPA Direct Debit mandate in order to generate a Direct Debit XML."))
|
||||
|
||||
if self.sdd_mandate_id.state == 'revoked':
|
||||
raise UserError(_("The SEPA Direct Debit mandate associated to the payment has been revoked and cannot be used anymore."))
|
||||
|
||||
sdd_version = self.journal_id.debit_sepa_pain_version
|
||||
if not sdd_version:
|
||||
raise UserError(_('A SEPA direct debit version should be selected to generate the export file.'))
|
||||
|
||||
DrctDbtTxInf = create_xml_node_chain(PmtInf, ['DrctDbtTxInf', 'PmtId', 'EndToEndId'], end2end_name)[0]
|
||||
|
||||
InstdAmt = create_xml_node(DrctDbtTxInf, 'InstdAmt', float_repr(self.amount, precision_digits=2))
|
||||
InstdAmt.attrib['Ccy'] = self.currency_id.name
|
||||
|
||||
MndtRltdInf = create_xml_node_chain(DrctDbtTxInf, ['DrctDbtTx', 'MndtRltdInf', 'MndtId'], self.sdd_mandate_id.name)[-2]
|
||||
create_xml_node(MndtRltdInf, 'DtOfSgntr', fields.Date.to_string(self.sdd_mandate_id.start_date))
|
||||
|
||||
if self.sdd_mandate_id.partner_bank_id.bank_id.bic:
|
||||
bic_tag = 'BIC' if sdd_version == 'pain.008.001.02' else 'BICFI'
|
||||
create_xml_node_chain(DrctDbtTxInf, ['DbtrAgt', 'FinInstnId', bic_tag], self.sdd_mandate_id.partner_bank_id.bank_id.bic.replace(' ', '').upper())
|
||||
else:
|
||||
create_xml_node_chain(DrctDbtTxInf, ['DbtrAgt', 'FinInstnId', 'Othr', 'Id'], 'NOTPROVIDED')
|
||||
|
||||
debtor_name = self.sdd_mandate_id.partner_bank_id.acc_holder_name or partner.name or partner.parent_id.name
|
||||
Dbtr = create_xml_node_chain(DrctDbtTxInf, ['Dbtr', 'Nm'], self.split_node(debtor_name, 70)[0])[0]
|
||||
|
||||
self._sdd_xml_gen_address(Dbtr, partner, sdd_version)
|
||||
|
||||
if self.sdd_mandate_id.debtor_id_code:
|
||||
chain_keys = ['Id', 'PrvtId', 'Othr', 'Id']
|
||||
if partner.commercial_partner_id.is_company:
|
||||
chain_keys = ['Id', 'OrgId', 'Othr', 'Id']
|
||||
create_xml_node_chain(Dbtr, chain_keys, self.sdd_mandate_id.debtor_id_code)
|
||||
|
||||
create_xml_node_chain(DrctDbtTxInf, ['DbtrAcct', 'Id', 'IBAN'], self.sdd_mandate_id.partner_bank_id.sanitized_acc_number)
|
||||
|
||||
if self.memo:
|
||||
create_xml_node_chain(DrctDbtTxInf, ['RmtInf', 'Ustrd'], self.split_node(self.memo, 140)[0])
|
||||
|
||||
def _group_payments_per_bank_journal(self):
|
||||
""" Groups the payments of this recordset per associated journal, in a dictionnary of recordsets.
|
||||
"""
|
||||
rslt = {}
|
||||
for payment in self:
|
||||
if rslt.get(payment.journal_id, False):
|
||||
rslt[payment.journal_id] += payment
|
||||
else:
|
||||
rslt[payment.journal_id] = payment
|
||||
return rslt
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class AccountPaymentMethod(models.Model):
|
||||
_inherit = 'account.payment.method'
|
||||
|
||||
@api.model
|
||||
def _get_payment_method_information(self):
|
||||
res = super()._get_payment_method_information()
|
||||
res['sdd'] = {'mode': 'multi', 'type': ('bank',)}
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _get_sdd_payment_method_code(self):
|
||||
res = super()._get_sdd_payment_method_code()
|
||||
res.append('sdd')
|
||||
return res
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
import re
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
SDD_CREDITOR_IDENTIFIER_REGEX_PATTERN = r"(?P<country_code>[A-Z]{2})(?P<check_digits>\d{2})(?P<business_code>.{3})(?P<country_identifier>.{1,28})"
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_inherit = 'res.company'
|
||||
|
||||
sdd_creditor_identifier = fields.Char(string='SDD creditor identifier', help="SEPA Direct Debit creditor identifier of the company, given by the bank.")
|
||||
|
||||
@api.constrains('sdd_creditor_identifier')
|
||||
def validate_sdd_creditor_identifier(self):
|
||||
for record in self:
|
||||
if not record.sdd_creditor_identifier:
|
||||
continue
|
||||
|
||||
if len(record.sdd_creditor_identifier) > 35:
|
||||
raise ValidationError(_("The creditor identifier exceeds the maximum length of 35 characters."))
|
||||
|
||||
matcher = re.match(SDD_CREDITOR_IDENTIFIER_REGEX_PATTERN, record.sdd_creditor_identifier.upper())
|
||||
if matcher:
|
||||
country_code = matcher.group('country_code')
|
||||
check_digits = matcher.group('check_digits')
|
||||
country_identifier = matcher.group('country_identifier')
|
||||
|
||||
test_str = re.sub('[^A-Z0-9]', '', country_identifier) + country_code + '00'
|
||||
converted_test_str = self._convert_sdd_test_str(test_str)
|
||||
|
||||
if (98 - int(converted_test_str) % 97) != int(check_digits): # Mod 97-10 validation test
|
||||
raise ValidationError(_("Invalid creditor identifier. Make sure you made no typo."))
|
||||
else:
|
||||
raise ValidationError(_("Invalid creditor identifier. Wrong format."))
|
||||
|
||||
@api.model
|
||||
def _convert_sdd_test_str(self, test_str):
|
||||
|
||||
ascii_value_shift = 55 # ord('A') - ascii_value_shift = 10
|
||||
rslt = ''
|
||||
for char in test_str:
|
||||
if re.match('[A-Z]', char):
|
||||
rslt += str(ord(char) - ascii_value_shift)
|
||||
else:
|
||||
rslt += char
|
||||
return rslt
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
from odoo import fields, models
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = 'res.config.settings'
|
||||
|
||||
sdd_creditor_identifier = fields.Char(related='company_id.sdd_creditor_identifier', string='Creditor Identifier', readonly=False,
|
||||
help='Creditor identifier of your company within SEPA scheme.')
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class Partner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
sdd_mandate_ids = fields.One2many(comodel_name='sdd.mandate', inverse_name='partner_id',
|
||||
help="Every mandate belonging to this partner.")
|
||||
sdd_count = fields.Integer(compute='_compute_sdd_count', string="SDD count")
|
||||
|
||||
def _compute_sdd_count(self):
|
||||
sdd_data = self.env['sdd.mandate']._read_group(
|
||||
domain=[('partner_id', 'in', self.ids)],
|
||||
groupby=['partner_id'],
|
||||
aggregates=['__count'])
|
||||
mapped_data = {partner.id: count for partner, count in sdd_data}
|
||||
for partner in self:
|
||||
partner.sdd_count = mapped_data.get(partner.id, 0)
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
from odoo import api, models, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
class ResPartnerBank(models.Model):
|
||||
_inherit = "res.partner.bank"
|
||||
|
||||
@api.ondelete(at_uninstall=False)
|
||||
def _unlink_except_linked_to_mandate(self):
|
||||
if self.env['sdd.mandate'].search_count([('partner_bank_id', 'in', self.ids), ('state', '=', 'active')], limit=1):
|
||||
raise UserError(_('You cannot delete a bank account linked to an active SEPA Direct Debit mandate.'))
|
||||
|
|
@ -0,0 +1,335 @@
|
|||
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import Command, api, fields, models, _
|
||||
from odoo.exceptions import RedirectWarning, UserError
|
||||
|
||||
SDD_MIN_PRENOT_PERIOD = 2
|
||||
SDD_FIRST_MIN_PRENOT_PERIOD = 5
|
||||
|
||||
|
||||
class SDDMandate(models.Model):
|
||||
|
||||
_name = 'sdd.mandate'
|
||||
_inherit = ['mail.thread.main.attachment', 'mail.activity.mixin']
|
||||
_description = 'SDD Mandate'
|
||||
_check_company_auto = True
|
||||
_order = 'start_date, id'
|
||||
|
||||
_sql_constraints = [('name_unique', 'unique(name)', "Mandate identifier must be unique! Please choose another one.")]
|
||||
|
||||
def _get_default_start_date(self):
|
||||
return fields.Date.context_today(self)
|
||||
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
('draft', 'Draft'),
|
||||
('active', 'Active'),
|
||||
('cancelled', 'Cancelled'),
|
||||
('revoked', 'Revoked'),
|
||||
('closed', 'Closed'),
|
||||
],
|
||||
readonly=True,
|
||||
default='draft',
|
||||
tracking=True,
|
||||
help="Draft: Validate before use.\n"
|
||||
"Active: Valid mandates to collect payments.\n"
|
||||
"Cancelled: Mandates never validated.\n"
|
||||
"Closed: Expired or manually closed mandates. Previous transactions remain valid.\n"
|
||||
"Revoked: Fraudulent mandates. Previous invoices might need reimbursement.\n"
|
||||
)
|
||||
is_sent = fields.Boolean(string="Sent to the customer", default=False)
|
||||
|
||||
one_off = fields.Boolean(string='One-off Mandate',
|
||||
default=False,
|
||||
help="True if and only if this mandate can be used for only one transaction. It will automatically go from 'active' to 'closed' after its first use in payment if this option is set.\n")
|
||||
|
||||
name = fields.Char(string='Identifier', required=True, help="The unique identifier of this mandate.", default=lambda self: datetime.now().strftime('%f%S%M%H%d%m%Y'), copy=False)
|
||||
debtor_id_code = fields.Char(string='Debtor Identifier', help="Free reference identifying the debtor in your company.")
|
||||
partner_id = fields.Many2one(
|
||||
comodel_name='res.partner',
|
||||
string='Customer',
|
||||
required=True,
|
||||
check_company=True,
|
||||
help="Customer whose payments are to be managed by this mandate.",
|
||||
)
|
||||
partner_parent_id = fields.Many2one(
|
||||
related='partner_id.parent_id',
|
||||
comodel_name='res.partner',
|
||||
string="Parent Partner",
|
||||
readonly=True,
|
||||
)
|
||||
company_id = fields.Many2one(comodel_name='res.company', default=lambda self: self.env.company, help="Company for whose invoices the mandate can be used.")
|
||||
partner_bank_id = fields.Many2one(
|
||||
comodel_name='res.partner.bank',
|
||||
string='IBAN',
|
||||
check_company=True,
|
||||
help="Account of the customer to collect payments from.",
|
||||
)
|
||||
start_date = fields.Date(
|
||||
string="Start Date",
|
||||
required=True,
|
||||
default=_get_default_start_date,
|
||||
help="Date from which the mandate can be used (inclusive).",
|
||||
)
|
||||
end_date = fields.Date(string="End Date", help="Date until which the mandate can be used. It will automatically be closed after this date.")
|
||||
expiration_warning_already_sent = fields.Boolean(
|
||||
string="Expiration warning sent",
|
||||
default=False,
|
||||
readonly=True,
|
||||
required=True,
|
||||
copy=False,
|
||||
)
|
||||
pre_notification_period = fields.Integer(
|
||||
string="Pre-notification",
|
||||
default=SDD_MIN_PRENOT_PERIOD, required=True,
|
||||
help="The minimum notice period in days, used to inform the customer prior to collection.",
|
||||
)
|
||||
sdd_scheme = fields.Selection(string="SDD Scheme", selection=[('CORE', 'CORE'), ('B2B', 'B2B')],
|
||||
required=True, default='CORE', help='The B2B scheme is an optional scheme,\noffered exclusively to business payers.\n'
|
||||
'Some banks/businesses might not accept B2B SDD.',)
|
||||
|
||||
paid_invoice_ids = fields.One2many(string='Invoices Paid', comodel_name='account.move',
|
||||
compute='_compute_from_moves',
|
||||
help="Invoices paid using this mandate.")
|
||||
paid_invoices_nber = fields.Integer(string='Paid Invoices Number',
|
||||
compute='_compute_from_moves',
|
||||
help="Number of invoices paid with this mandate.")
|
||||
payment_ids = fields.One2many(string='Payments', comodel_name='account.payment',
|
||||
compute='_compute_from_moves',
|
||||
help="In-process and completed payments generated under this mandate.")
|
||||
payments_to_collect_nber = fields.Integer(string='Direct Debit Payments to Collect',
|
||||
compute='_compute_from_moves',
|
||||
help="Number of in-process and completed payments generated under this mandate.")
|
||||
mandate_pdf_file = fields.Binary(
|
||||
string="Mandate Form PDF",
|
||||
attachment=True,
|
||||
copy=False,
|
||||
readonly=True,
|
||||
)
|
||||
|
||||
@api.ondelete(at_uninstall=False)
|
||||
def _unlink_if_draft(self):
|
||||
if self.filtered(lambda x: x.state != 'draft'):
|
||||
raise UserError(_("Only mandates in draft state can be deleted."))
|
||||
|
||||
@api.model
|
||||
def _sdd_get_usable_mandate(self, company_id, partner_id, date):
|
||||
|
||||
mandates = self.env['sdd.mandate'].search([
|
||||
('state', '=', 'active'),
|
||||
('start_date', '<=', date),
|
||||
'|', ('end_date', '=', False), ('end_date', '>=', date),
|
||||
('company_id', '=', company_id),
|
||||
('partner_id', '=', partner_id),
|
||||
],
|
||||
limit=1,
|
||||
order='start_date,id',
|
||||
)
|
||||
return mandates
|
||||
|
||||
def _compute_from_moves(self):
|
||||
stored_mandates = self.filtered('id')
|
||||
if not stored_mandates:
|
||||
self.paid_invoices_nber = 0
|
||||
self.payments_to_collect_nber = 0
|
||||
self.paid_invoice_ids = False
|
||||
self.payment_ids = False
|
||||
return
|
||||
|
||||
results = dict(
|
||||
self.env['account.payment']._read_group([
|
||||
('sdd_mandate_id', 'in', self.ids),
|
||||
('payment_method_code', 'in', self.env['account.payment.method']._get_sdd_payment_method_code()),
|
||||
('state', 'in', ('in_process', 'paid')),
|
||||
], groupby=['sdd_mandate_id'], aggregates=['id:recordset'])
|
||||
)
|
||||
|
||||
for mandate in self:
|
||||
payments = results.get(mandate, self.env['account.payment'])
|
||||
mandate.payment_ids = [Command.set(payments.ids)]
|
||||
mandate.payments_to_collect_nber = len(payments)
|
||||
invoices = payments.reconciled_invoice_ids.filtered(lambda move: move.payment_state == 'paid')
|
||||
mandate.paid_invoice_ids = [Command.set(invoices.ids)]
|
||||
mandate.paid_invoices_nber = len(invoices)
|
||||
|
||||
def _update_and_partition_state_by_validity(self):
|
||||
|
||||
today = fields.Date.context_today(self)
|
||||
expiry_date_per_mandate = self._get_expiry_date_per_mandate()
|
||||
active_mandates = self.filtered(lambda mandate: mandate.state == 'active')
|
||||
|
||||
valid_mandates = self.env['sdd.mandate']
|
||||
expiring_mandates = self.env['sdd.mandate']
|
||||
invalid_mandates = self - active_mandates
|
||||
|
||||
to_close = self.env['sdd.mandate']
|
||||
for mandate in active_mandates:
|
||||
expiry_date = expiry_date_per_mandate[mandate]
|
||||
if mandate.start_date <= today <= expiry_date:
|
||||
if today + fields.date_utils.relativedelta(days=30) >= expiry_date:
|
||||
expiring_mandates += mandate # Used to send warnings
|
||||
else:
|
||||
valid_mandates += mandate
|
||||
elif today < mandate.start_date:
|
||||
invalid_mandates += mandate
|
||||
else:
|
||||
to_close += mandate
|
||||
invalid_mandates += mandate
|
||||
|
||||
# Closing invalid mandates that haven't been closed yet
|
||||
to_close.state = 'closed'
|
||||
return {
|
||||
'valid': valid_mandates.with_prefetch(),
|
||||
'expiring': expiring_mandates.with_prefetch(),
|
||||
'invalid': invalid_mandates.with_prefetch(),
|
||||
}
|
||||
|
||||
def _get_expiry_date_per_mandate(self):
|
||||
|
||||
expiry_date_per_mandate = {}
|
||||
delay_36_months = fields.date_utils.relativedelta(months=36)
|
||||
payments_collected_per_mandate = dict(self.env['account.payment']._read_group([
|
||||
('sdd_mandate_id', 'in', self.ids),
|
||||
('payment_method_code', 'in', self.env['account.payment.method']._get_sdd_payment_method_code()),
|
||||
('state', '=', 'paid'),
|
||||
],
|
||||
groupby=['sdd_mandate_id'],
|
||||
aggregates=['id:recordset'],
|
||||
))
|
||||
for mandate in self:
|
||||
payments_collected = payments_collected_per_mandate.get(mandate, self.env['account.payment'])
|
||||
|
||||
dates = [mandate.end_date] if mandate.end_date else []
|
||||
dates.append(max(payments_collected.mapped('date'), default=mandate.start_date) + delay_36_months)
|
||||
expiry_date_per_mandate[mandate] = min(dates) # Todo use records
|
||||
|
||||
return expiry_date_per_mandate
|
||||
|
||||
def _send_expiry_reminder(self):
|
||||
self.ensure_one()
|
||||
template = self.env.ref('odex30_account_sepa_direct_debit.email_template_sdd_mandate_expiring')
|
||||
self.message_post_with_source(
|
||||
source_ref=template,
|
||||
subtype_id=self.env['ir.model.data']._xmlid_to_res_id('mail.mt_note'),
|
||||
)
|
||||
self.expiration_warning_already_sent = True
|
||||
|
||||
def action_send_and_print(self):
|
||||
self.ensure_one()
|
||||
self._ensure_required_data()
|
||||
template = self.env.ref('odex30_account_sepa_direct_debit.email_template_sdd_new_mandate', raise_if_not_found=False)
|
||||
|
||||
return {
|
||||
'name': _("Send"),
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'sdd.mandate.send',
|
||||
'target': 'new',
|
||||
'context': {
|
||||
'default_mandate_id': self.id,
|
||||
'default_template_id': template and template.id or False,
|
||||
},
|
||||
}
|
||||
|
||||
def action_validate_mandate(self):
|
||||
|
||||
self._ensure_required_data()
|
||||
|
||||
for mandate in self:
|
||||
if not mandate.partner_bank_id:
|
||||
raise UserError(_("A customer account is required to validate a SEPA Direct Debit mandate."))
|
||||
if mandate.partner_bank_id.acc_type != 'iban':
|
||||
raise UserError(_(
|
||||
"SEPA Direct Debit scheme only accepts IBAN account numbers. "
|
||||
"Please select an IBAN-compliant debtor account for this mandate."
|
||||
))
|
||||
if mandate.state == 'draft':
|
||||
mandate.state = 'active'
|
||||
|
||||
def action_revoke_mandate(self):
|
||||
|
||||
self.state = 'revoked'
|
||||
|
||||
def action_cancel_mandate(self):
|
||||
self.state = 'cancelled'
|
||||
|
||||
def action_close_mandate(self):
|
||||
|
||||
for record in self:
|
||||
if record.state != 'revoked':
|
||||
record.end_date = fields.Date.today()
|
||||
record.state = 'closed'
|
||||
|
||||
def action_view_paid_invoices(self):
|
||||
return self.paid_invoice_ids._get_records_action(name=_('Paid Invoices'))
|
||||
|
||||
def action_view_payments_to_collect(self):
|
||||
return self.payment_ids._get_records_action(name=_('Payments to Collect'))
|
||||
|
||||
def action_parent_id_from_sdd_mandate(self):
|
||||
parent = self.partner_id.parent_id
|
||||
return parent._get_records_action(name=_("Partner's Parent"))
|
||||
|
||||
@api.constrains('end_date', 'start_date')
|
||||
def _validate_end_date(self):
|
||||
for record in self:
|
||||
if record.end_date and record.start_date and record.end_date < record.start_date:
|
||||
raise UserError(_("The end date of the mandate must be posterior or equal to its start date."))
|
||||
|
||||
@api.constrains('debtor_id_code')
|
||||
def _validate_debtor_id_code(self):
|
||||
for record in self:
|
||||
if record.debtor_id_code and len(record.debtor_id_code) > 35: # Arbitrary limitation given by SEPA regulation for the <id> element used for this field when generating the XML
|
||||
raise UserError(_("The debtor identifier you specified exceeds the limitation of 35 characters imposed by SEPA regulation"))
|
||||
|
||||
@api.constrains('pre_notification_period')
|
||||
def _validate_pre_notification_period(self):
|
||||
for mandate in self:
|
||||
if mandate.pre_notification_period < SDD_MIN_PRENOT_PERIOD: # Minimum required for collection
|
||||
raise UserError(_(
|
||||
"SEPA regulations set the minimum pre-notification period to a minimum of %s days "
|
||||
"to allow enough time for the customer to check that their account is adequately funded.",
|
||||
SDD_MIN_PRENOT_PERIOD
|
||||
))
|
||||
|
||||
def _ensure_required_data(self):
|
||||
for mandate in self:
|
||||
if mandate.sdd_scheme == 'B2B' and not mandate.partner_id.is_company:
|
||||
raise UserError(_("Under B2B SDD Scheme, the customer must be a company."))
|
||||
stateless_partners = self.partner_id.filtered(lambda partner: not partner.country_id)
|
||||
if stateless_partners:
|
||||
msg = _("The customer must have a country")
|
||||
if len(stateless_partners) == 1:
|
||||
raise RedirectWarning(
|
||||
msg,
|
||||
action={
|
||||
'name': _("SEPA direct debit stateless customer"),
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'res.partner',
|
||||
'views': [(False, 'form'), (False, 'list')],
|
||||
'res_id': self.partner_id.id
|
||||
},
|
||||
button_text=_("Open customer"),
|
||||
)
|
||||
else:
|
||||
raise RedirectWarning(
|
||||
msg,
|
||||
action={
|
||||
'name': _("SEPA direct debit stateless customer"),
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'res.partner',
|
||||
'views': [(False, 'list'), (False, 'form')],
|
||||
'domain': [('id', 'in', self.partner_id.ids)],
|
||||
},
|
||||
button_text=_("Open customers"),
|
||||
)
|
||||
|
||||
@api.model
|
||||
def cron_update_mandates_states(self):
|
||||
mandates = self.search([('state', '=', 'active')])
|
||||
mandates_per_validity = mandates._update_and_partition_state_by_validity()
|
||||
mandates_per_validity['valid'].expiration_warning_already_sent = False # Reset the field if a new payment came, resetting the period
|
||||
for mandate in mandates_per_validity['expiring'].filtered(lambda sddm: not sddm.expiration_warning_already_sent):
|
||||
# Warning 30 days before expiration
|
||||
mandate._send_expiry_reminder()
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="sdd_mandate_form_report_main" model="ir.actions.report">
|
||||
<field name="name">Mandate form</field>
|
||||
<field name="model">sdd.mandate</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">odex30_account_sepa_direct_debit.sdd_mandate_form_report</field>
|
||||
<field name="report_file">odex30_account_sepa_direct_debit.sdd_mandate_form_report</field>
|
||||
<field name="attachment_use">True</field>
|
||||
<field name="binding_model_id" ref="model_sdd_mandate"/>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
|
||||
<template id="odex30_account_sepa_direct_debit.sdd_mandate_form_report">
|
||||
<div class="oe_structure"></div>
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="odex30_account_sepa_direct_debit.sdd_mandate_form_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="odex30_account_sepa_direct_debit.sdd_mandate_form_document">
|
||||
<div class="oe_structure"></div>
|
||||
<t t-call="web.external_layout">
|
||||
<t t-call="odex30_account_sepa_direct_debit.sdd_mandate_form"/>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="odex30_account_sepa_direct_debit.sdd_mandate_form">
|
||||
<div>
|
||||
<t t-if="o.sdd_scheme == 'CORE'">
|
||||
<h2 class="mb-1">SEPA Direct Debit Mandate</h2>
|
||||
</t>
|
||||
<t t-elif="o.sdd_scheme == 'B2B'">
|
||||
<h2 class="mb-1">SEPA Business-to-Business Direct Debit Mandate</h2>
|
||||
</t>
|
||||
<p class="mb-2">
|
||||
<strong>Mandate identifier:</strong> <span t-out="o.name">SEPA1234</span>
|
||||
</p>
|
||||
<p class="mb-4 avoid-page-break-inside small">
|
||||
By signing this mandate form, you authorise (A) <span t-out="o.company_id.name">Odoo PVT LTD</span> to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from <span t-out="o.company_id.name">Odoo PVT LTD</span>.
|
||||
<t t-if="o.sdd_scheme == 'CORE'">
|
||||
As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. Your rights are explained in a statement that you can obtain from your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited.
|
||||
</t>
|
||||
<t t-elif="o.sdd_scheme == 'B2B'">
|
||||
This mandate is only intended for business-to-business transactions. You are not entitled to a refund from your bank after your account has been debited, but you are entitled to request your bank not to debit your account up until the day on which the payment is due.
|
||||
</t>
|
||||
</p>
|
||||
<div class="oe_structure"></div>
|
||||
<div class="mb-3 avoid-page-break-inside">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h5 class="mb-2">Creditor</h5>
|
||||
<p class="mb-2"><strong>Creditor identifier:</strong> <span t-out="o.company_id.sdd_creditor_identifier">CREDIT-1234</span></p>
|
||||
<p class="mb-2"><span t-out="o.company_id.name">Odoo PVT LTD</span></p>
|
||||
<span t-field="o.company_id.partner_id" t-options='{"widget": "contact", "fields": ["address"], "no_marker": True}'>SEPA-CUST-001</span>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<h5 class="mb-2">Debtor</h5>
|
||||
<div class="mb-2">
|
||||
<p class="mb-2"><span t-out="o.partner_id.name">Marc Demo</span></p>
|
||||
<t t-if="not o.partner_id.street and not o.partner_id.street2 or not o.partner_id.city or not o.partner_id.zip or not o.partner_id.country_id">
|
||||
<p class="mb-2"><strong>Address:</strong><t if="not o.partner_id.street and not o.partner_id.street2"> ............................................................</t></p>
|
||||
<t t-if="not o.partner_id.street and not o.partner_id.street2">
|
||||
<p class="mb-2">................................................................................</p>
|
||||
</t>
|
||||
<span t-if="o.partner_id.street" t-out="o.partner_id.street">Rue de la Loi, 16</span>
|
||||
<span t-if="o.partner_id.street2" t-out="o.partner_id.street2">Building C</span>
|
||||
<p class="mb-2">
|
||||
<span class="me-3">
|
||||
<strong>City: </strong>
|
||||
<span t-if="o.partner_id.city" t-out="o.partner_id.city">Antwerp</span>
|
||||
<span t-else="">......................................</span>
|
||||
</span>
|
||||
<span>
|
||||
<strong>Zip: </strong>
|
||||
<span t-if="o.partner_id.zip" t-out="o.partner_id.zip">380055</span>
|
||||
<span t-else="">.................</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb-2">
|
||||
<strong>Country: </strong>
|
||||
<span t-if="o.partner_id.country_id.name" t-out="o.partner_id.country_id.name">Belgium</span>
|
||||
<span t-else="">......................................</span>
|
||||
</p>
|
||||
</t>
|
||||
<span t-else="" t-field="o.partner_id" t-options='{"widget": "contact", "fields": ["address"], "no_marker": True}'>123456789</span>
|
||||
</div>
|
||||
<p class="mb-2"><strong>IBAN:</strong> <span t-if="not o.partner_bank_id.acc_number">...................................................................</span><span t-else="" t-out="o.partner_bank_id.acc_number">3956012345678</span></p>
|
||||
<p class="mb-2"><strong>Phone:</strong> <span t-if="not o.partner_id.phone">.................................................................</span><span t-else="" t-out="o.partner_id.phone">123456789</span></p>
|
||||
<p class="mb-2"><strong>Email:</strong> <span t-if="not o.partner_id.email">...................................................................</span><span t-else="" t-out="o.partner_id.email">Demo@email.com</span></p>
|
||||
<p class="mb-2"><strong>Identification code<span t-if="not o.debtor_id_code"> (if applicable)</span>: </strong>
|
||||
<span t-if="not o.debtor_id_code">.........................................................</span>
|
||||
<span t-else="" t-out="o.debtor_id_code">DEBT1234</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"></div>
|
||||
<div class="mb-3 avoid-page-break-inside">
|
||||
<h5 class="mb-2">Validity</h5>
|
||||
<p class="mb-3 small">
|
||||
The mandate will only be used to pay invoices into the specified time range. If no end date is specified,
|
||||
you will have to contact us to stop its use. The minimum notification period for creditors
|
||||
to inform debtors about an upcoming collection is <strong><span t-out="o.pre_notification_period"/></strong> day(s).
|
||||
It will be sent to the debtor's email.
|
||||
</p>
|
||||
<div class="oe_structure"></div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<p class="mb-2"><strong>Transaction type:</strong> recurrent</p>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<p class="mb-2"><strong>Start date:</strong> <span t-if="not o.start_date">......................................</span><span t-else="" t-out="o.start_date" t-options="{'widget': 'date'}">2023-08-10</span></p>
|
||||
<p class="mb-2"><strong>End date<span t-if="not o.end_date"> (optional)</span>:</strong> <span t-if="not o.end_date">......................................</span><span t-else="" t-out="o.end_date" t-options="{'widget': 'date'}">2023-09-10</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="avoid-page-break-inside">
|
||||
<h5 class="mb-2">Signature</h5>
|
||||
<div class="oe_structure"></div>
|
||||
<div id="signature" class="row">
|
||||
<div class="col-6">
|
||||
<p class="mb-2"><strong>Name of the reference party:</strong> ......................................</p>
|
||||
<p class="mb-2"><strong>Date and place of signature:</strong> ......................................</p>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<p class="mb-2"><strong>Signature:</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="ir.rule" id="sdd_mandate_comp_rule">
|
||||
<field name="name">SDD Mandate multi-company</field>
|
||||
<field name="model_id" ref="model_sdd_mandate"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="sdd_mandate_portal_rule">
|
||||
<field name="name">SDD Mandate portal-user creation</field>
|
||||
<field name="model_id" ref="model_sdd_mandate"/>
|
||||
<field name="domain_force">[('partner_id', '=', user.partner_id.id), ('state', '=', 'draft')]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_sdd_mandate_portal,sdd.mandate.validate,model_sdd_mandate,base.group_portal,1,0,1,0
|
||||
access_sdd_mandate,sdd.mandate,model_sdd_mandate,account.group_account_invoice,1,0,0,0
|
||||
access_sdd_mandate_account_basic,sdd.mandate.account.basic,model_sdd_mandate,account.group_account_basic,1,1,1,1
|
||||
access_sdd_mandate_send_account_basic,sdd.mandate.send.account.basic,model_sdd_mandate_send,account.group_account_basic,1,1,1,1
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
from . import common
|
||||
from . import test_sdd
|
||||
from . import test_sdd_xml
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
from odoo import Command, fields
|
||||
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
||||
|
||||
|
||||
class SDDTestCommon(AccountTestInvoicingCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.env.ref('base.EUR').active = True
|
||||
|
||||
cls.env.user.write({
|
||||
'email': "ruben.rybnik@sorcerersfortress.com",
|
||||
'groups_id': [Command.link(cls.env.ref('account.group_validate_bank_account').id)]
|
||||
})
|
||||
|
||||
cls.country_belgium, cls.country_china, cls.country_germany = cls.env['res.country'].search([('code', 'in', ['BE', 'CN', 'DE'])], limit=3, order='name ASC')
|
||||
|
||||
cls.sdd_company = cls.env.company
|
||||
cls.sdd_company.country_id = cls.country_belgium
|
||||
cls.sdd_company.city = 'Company 1 City'
|
||||
cls.sdd_company.sdd_creditor_identifier = 'BE30ZZZ300D000000042'
|
||||
cls.sdd_company_bank_journal = cls.company_data['default_journal_bank']
|
||||
cls.sdd_company_bank_journal.bank_acc_number = 'CH9300762011623852957'
|
||||
cls.bank_ing = cls.env['res.bank'].create({'name': 'ING', 'bic': 'BBRUBEBB'})
|
||||
cls.bank_bnp = cls.env['res.bank'].create({'name': 'BNP Paribas', 'bic': 'GEBABEBB'})
|
||||
cls.bank_no_bic = cls.env['res.bank'].create({'name': 'NO BIC BANK'})
|
||||
cls.sdd_company_bank_journal.bank_account_id.bank_id = cls.bank_ing
|
||||
sdd_method_line = cls.sdd_company_bank_journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd')
|
||||
sdd_method_line.payment_account_id = cls.inbound_payment_method_line.payment_account_id
|
||||
|
||||
cls.partner_agrolait = cls.env['res.partner'].create({'name': 'Agrolait', 'city': 'Agrolait Town', 'country_id': cls.country_germany.id})
|
||||
cls.partner_bank_agrolait = cls.create_account('DE44500105175407324931', cls.partner_agrolait, cls.bank_ing)
|
||||
cls.mandate_agrolait = cls.create_mandate(cls.partner_agrolait, cls.partner_bank_agrolait, False, cls.sdd_company)
|
||||
cls.mandate_agrolait.action_validate_mandate()
|
||||
|
||||
cls.partner_china_export = cls.env['res.partner'].create({'name': 'China Export', 'city': 'China Town', 'country_id': cls.country_china.id})
|
||||
cls.partner_bank_china_export = cls.create_account('SA0380000000608010167519', cls.partner_china_export, cls.bank_bnp)
|
||||
cls.mandate_china_export = cls.create_mandate(cls.partner_china_export, cls.partner_bank_china_export, True, cls.sdd_company)
|
||||
cls.mandate_china_export.action_validate_mandate()
|
||||
|
||||
cls.partner_no_bic = cls.env['res.partner'].create({'name': 'NO BIC Co', 'city': 'NO BIC City', 'country_id': cls.country_belgium.id})
|
||||
cls.partner_bank_no_bic = cls.create_account('BE68844010370034', cls.partner_no_bic, cls.bank_no_bic)
|
||||
cls.mandate_no_bic = cls.create_mandate(cls.partner_no_bic, cls.partner_bank_no_bic, True, cls.sdd_company)
|
||||
cls.mandate_no_bic.action_validate_mandate()
|
||||
|
||||
cls.invoice_agrolait = cls.create_invoice(cls.partner_agrolait)
|
||||
cls.invoice_china_export = cls.create_invoice(cls.partner_china_export)
|
||||
cls.invoice_no_bic = cls.create_invoice(cls.partner_no_bic)
|
||||
|
||||
cls.pay_with_mandate(cls.invoice_agrolait)
|
||||
cls.pay_with_mandate(cls.invoice_china_export)
|
||||
cls.pay_with_mandate(cls.invoice_no_bic)
|
||||
|
||||
@classmethod
|
||||
def create_account(cls, number, partner, bank):
|
||||
return cls.env['res.partner.bank'].create({
|
||||
'acc_number': number,
|
||||
'partner_id': partner.id,
|
||||
'bank_id': bank.id
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def create_mandate(cls, partner, partner_bank, one_off=False, company=None, scheme='CORE'):
|
||||
company = company or cls.env.company
|
||||
return cls.env['sdd.mandate'].create({
|
||||
'partner_bank_id': partner_bank.id,
|
||||
'one_off': one_off,
|
||||
'start_date': fields.Date.today(),
|
||||
'partner_id': partner.id,
|
||||
'company_id': company.id,
|
||||
'sdd_scheme': scheme,
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def create_invoice(cls, partner):
|
||||
invoice = cls.env['account.move'].create({
|
||||
'move_type': 'out_invoice',
|
||||
'partner_id': partner.id,
|
||||
'currency_id': cls.env.ref('base.EUR').id,
|
||||
'payment_reference': 'invoice to client',
|
||||
'invoice_line_ids': [Command.create({
|
||||
'product_id': cls.env['product.product'].create({'name': 'A Test Product'}).id,
|
||||
'quantity': 1,
|
||||
'price_unit': 42,
|
||||
'name': 'something',
|
||||
})],
|
||||
})
|
||||
invoice.action_post()
|
||||
return invoice
|
||||
|
||||
@classmethod
|
||||
def pay_with_mandate(cls, invoice):
|
||||
journal = cls.company_data['default_journal_bank']
|
||||
sdd_method_line = journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd')
|
||||
return cls.env['account.payment.register'].with_context(active_model='account.move', active_ids=invoice.ids).create({
|
||||
'payment_date': invoice.invoice_date_due or invoice.invoice_date,
|
||||
'journal_id': journal.id,
|
||||
'payment_method_line_id': sdd_method_line.id,
|
||||
})._create_payments()
|
||||
|
||||
@classmethod
|
||||
def reconcile_payments(cls, payments):
|
||||
for payment in payments:
|
||||
st_line = cls.env['account.bank.statement.line'].create({
|
||||
'amount': payment.amount,
|
||||
'date': fields.Date.context_today(payment.sdd_mandate_id),
|
||||
'payment_ref': 'test',
|
||||
'journal_id': cls.company_data['default_journal_bank'].id,
|
||||
})
|
||||
st_suspense_lines = st_line._seek_for_lines()[1]
|
||||
liquidity_line = payment._seek_for_lines()[0]
|
||||
st_suspense_lines.account_id = liquidity_line.account_id
|
||||
(st_suspense_lines + liquidity_line).reconcile()
|
||||
|
|
@ -0,0 +1,312 @@
|
|||
|
||||
import datetime
|
||||
|
||||
from odoo import Command, fields
|
||||
from odoo.exceptions import RedirectWarning, UserError, ValidationError
|
||||
from odoo.tests import freeze_time, tagged
|
||||
|
||||
from odoo.addons.odex30_account_sepa_direct_debit.tests.common import SDDTestCommon
|
||||
|
||||
|
||||
@tagged('post_install', '-at_install')
|
||||
class SDDTest(SDDTestCommon):
|
||||
def test_sdd(self):
|
||||
# The invoices should have payments and in payment state thanks to the mandate
|
||||
payments_agrolait = self.invoice_agrolait.reconciled_payment_ids
|
||||
self.assertEqual(self.invoice_agrolait.payment_state, self.env['account.move']._get_invoice_in_payment_state(), 'This invoice should have payments and in payment state thanks to the mandate')
|
||||
self.assertEqual(payments_agrolait.sdd_mandate_id, self.mandate_agrolait)
|
||||
self.assertEqual(self.mandate_agrolait.payment_ids, payments_agrolait, 'The mandate should be linked to the payment')
|
||||
payments_china_export = self.invoice_china_export.reconciled_payment_ids
|
||||
self.assertEqual(self.invoice_china_export.payment_state, self.env['account.move']._get_invoice_in_payment_state(), 'This invoice should have have payments and in payment state thanks to the mandate')
|
||||
self.assertEqual(payments_china_export.sdd_mandate_id, self.mandate_china_export)
|
||||
self.assertEqual(self.mandate_china_export.payment_ids, payments_china_export, 'The mandate should be linked to the payment')
|
||||
payments_no_bic = self.invoice_no_bic.reconciled_payment_ids
|
||||
self.assertEqual(self.invoice_no_bic.payment_state, self.env['account.move']._get_invoice_in_payment_state(), 'This invoice should have payments and in payment state thanks to the mandate')
|
||||
self.assertEqual(payments_no_bic.sdd_mandate_id, self.mandate_no_bic)
|
||||
self.assertEqual(self.mandate_no_bic.payment_ids, payments_no_bic, 'The mandate should be linked to the payment')
|
||||
payments = (self.invoice_agrolait + self.invoice_china_export + self.invoice_no_bic).reconciled_payment_ids
|
||||
self.reconcile_payments(payments)
|
||||
self.env.invalidate_all()
|
||||
self.assertEqual(self.mandate_agrolait.paid_invoice_ids, self.invoice_agrolait, 'The mandate should be linked to the paid invoice')
|
||||
self.assertEqual(self.mandate_china_export.paid_invoice_ids, self.invoice_china_export, 'The mandate should be linked to the paid invoice')
|
||||
self.assertEqual(self.mandate_no_bic.paid_invoice_ids, self.invoice_no_bic, 'The mandate should be linked to the paid invoice')
|
||||
|
||||
self.assertEqual(self.mandate_agrolait.state, 'active', 'A recurrent mandate should stay confirmed after accepting a payment')
|
||||
self.assertEqual(self.mandate_china_export.state, 'closed', 'A one-off mandate should be closed after accepting a payment')
|
||||
self.assertEqual(self.mandate_no_bic.state, 'closed', 'A one-off mandate should be closed after accepting a payment')
|
||||
|
||||
payment_agrolait = self.invoice_agrolait.reconciled_payment_ids
|
||||
payment_agrolait.action_draft()
|
||||
self.assertEqual(self.invoice_agrolait.payment_state, 'not_paid')
|
||||
self.assertFalse(self.invoice_agrolait.sdd_mandate_id)
|
||||
|
||||
def test_xml_pain_008_001_08_generation(self):
|
||||
self.sdd_company_bank_journal.debit_sepa_pain_version = 'pain.008.001.08'
|
||||
|
||||
for invoice in (self.invoice_agrolait, self.invoice_no_bic):
|
||||
payment = invoice.reconciled_payment_ids
|
||||
payment.generate_xml(self.sdd_company, fields.Date.today(), True)
|
||||
|
||||
payment = self.invoice_china_export.reconciled_payment_ids
|
||||
|
||||
self.partner_china_export.write({'city': False, 'country_id': self.country_china})
|
||||
with self.assertRaises(UserError):
|
||||
payment.generate_xml(self.sdd_company, fields.Date.today(), True)
|
||||
|
||||
self.partner_china_export.write({'city': 'China Town', 'country_id': self.country_china})
|
||||
payment.generate_xml(self.sdd_company, fields.Date.today(), True)
|
||||
|
||||
@freeze_time('2019-01-01')
|
||||
def test_expiry(self):
|
||||
self.mandate_agrolait.action_revoke_mandate() # We will use a new one here
|
||||
self.assertEqual(self.mandate_agrolait.state, 'revoked')
|
||||
|
||||
mandate = self.create_mandate(self.partner_agrolait, self.partner_bank_agrolait, False, self.sdd_company, 'CORE')
|
||||
mandate.start_date = '2020-01-01'
|
||||
mandate.end_date = '2025-01-30'
|
||||
self.assertEqual(mandate.state, 'draft')
|
||||
mandate.action_validate_mandate()
|
||||
mandate.cron_update_mandates_states()
|
||||
self.assertEqual(mandate.state, 'active') # The mandate should stay active even if the start_date is in the future
|
||||
|
||||
with freeze_time('2022-12-02'):
|
||||
mandates_per_validity = mandate._update_and_partition_state_by_validity()
|
||||
self.assertTrue(mandates_per_validity['expiring'], 'The mandate is expiring soon')
|
||||
|
||||
new_invoice = self.create_invoice(self.partner_agrolait)
|
||||
payment = self.pay_with_mandate(new_invoice)
|
||||
payment.action_validate()
|
||||
mandates_per_validity = mandate._update_and_partition_state_by_validity()
|
||||
self.assertTrue(mandates_per_validity['valid'], 'The mandate should not be expiring soon anymore, as we have reset the period')
|
||||
new_expiry_date = next(iter(mandate._get_expiry_date_per_mandate().values())).isoformat()
|
||||
self.assertEqual(new_expiry_date, '2025-01-30', 'The new expiry date is the end date, as the last collection + 36 month is after that date')
|
||||
|
||||
with freeze_time('2025-01-01'): # Entered the 30-days before end date warning
|
||||
mandates_per_validity = mandate._update_and_partition_state_by_validity()
|
||||
self.assertTrue(mandates_per_validity['expiring'], 'The mandate is expiring soon')
|
||||
|
||||
with freeze_time('2025-01-31'): # Passed the end_date, mandate must be closed
|
||||
mandates_per_validity = mandate._update_and_partition_state_by_validity()
|
||||
self.assertTrue(mandates_per_validity['invalid'], 'The mandate is expired')
|
||||
self.assertEqual(mandate.state, 'closed')
|
||||
|
||||
def test_required_data(self):
|
||||
stateless_partner = self.env['res.partner'].create({
|
||||
'name': 'stateless partner',
|
||||
})
|
||||
stateless_iban_account = self.env['res.partner.bank'].create({
|
||||
'acc_number': 'NL61INGB6008851617',
|
||||
'partner_id': stateless_partner.id,
|
||||
})
|
||||
stateless_mandate = self.env['sdd.mandate'].create({
|
||||
'partner_id': stateless_partner.id,
|
||||
'partner_bank_id': stateless_iban_account.id,
|
||||
})
|
||||
|
||||
bankless_partner = self.env['res.partner'].create({
|
||||
'name': 'no bank partner',
|
||||
'country_id': self.env.ref('base.nl').id,
|
||||
})
|
||||
not_iban_bank_account = self.env['res.partner.bank'].create({
|
||||
'acc_number': '01',
|
||||
'partner_id': bankless_partner.id,
|
||||
})
|
||||
bankless_mandate = self.env['sdd.mandate'].create({
|
||||
'partner_id': bankless_partner.id,
|
||||
})
|
||||
|
||||
# Check send and print action
|
||||
with self.assertRaises(RedirectWarning, msg="The country of the partner should be set to go forward"):
|
||||
stateless_mandate.action_send_and_print()
|
||||
stateless_mandate.partner_id.country_id = self.env.ref('base.nl')
|
||||
stateless_mandate.action_send_and_print()
|
||||
bankless_mandate.action_send_and_print() # You can send a mandate request without a bank, the customer should fill the field
|
||||
|
||||
# Check validation action
|
||||
stateless_mandate.action_validate_mandate()
|
||||
with self.assertRaises(UserError, msg="No partner bank should raise an error when going forward"):
|
||||
bankless_mandate.action_validate_mandate()
|
||||
|
||||
bankless_mandate.partner_bank_id = not_iban_bank_account
|
||||
with self.assertRaises(UserError, msg="The bank account isn't an iban bank account"):
|
||||
bankless_mandate.action_validate_mandate()
|
||||
|
||||
bankless_mandate.partner_bank_id = self.env['res.partner.bank'].create({
|
||||
'acc_number': 'NL43INGB9822994664',
|
||||
'partner_id': bankless_partner.id,
|
||||
})
|
||||
bankless_mandate.action_validate_mandate()
|
||||
|
||||
@freeze_time('2024-01-01')
|
||||
def test_collection_date(self):
|
||||
|
||||
partner = self.env['res.partner'].create({
|
||||
'name': 'partner',
|
||||
'country_id': self.env.ref('base.nl').id,
|
||||
})
|
||||
iban_account = self.env['res.partner.bank'].create({
|
||||
'acc_number': 'NL61INGB6008851617',
|
||||
'partner_id': partner.id,
|
||||
})
|
||||
|
||||
with self.assertRaises(UserError, msg="Cannot have a pre-notification period under 2 days"):
|
||||
self.env['sdd.mandate'].create({
|
||||
'partner_id': partner.id,
|
||||
'partner_bank_id': iban_account.id,
|
||||
'pre_notification_period': 1,
|
||||
})
|
||||
mandate = self.env['sdd.mandate'].create({
|
||||
'partner_id': partner.id,
|
||||
'partner_bank_id': iban_account.id,
|
||||
'pre_notification_period': 2,
|
||||
})
|
||||
|
||||
mandate.pre_notification_period = 14
|
||||
mandate.action_validate_mandate()
|
||||
|
||||
invoice = self.create_invoice(partner)
|
||||
payment = self.pay_with_mandate(invoice)
|
||||
unchanged_data = {
|
||||
'payment_ids': [Command.set(payment.ids)],
|
||||
'journal_id': payment.journal_id.id,
|
||||
}
|
||||
with self.assertRaises(ValidationError, msg="Collection date should not be in the 2 day period required for the bank to process"):
|
||||
self.env['account.batch.payment'].create({
|
||||
**unchanged_data,
|
||||
'sdd_required_collection_date': fields.Date.context_today(mandate) + datetime.timedelta(days=1)
|
||||
})
|
||||
|
||||
batch_payment = self.env['account.batch.payment'].create({
|
||||
**unchanged_data,
|
||||
'sdd_required_collection_date': fields.Date.context_today(mandate) + datetime.timedelta(days=2)
|
||||
})
|
||||
|
||||
self.assertEqual(
|
||||
batch_payment.sdd_first_time_payment_ids,
|
||||
payment,
|
||||
"The first-time payments should be set correctly.",
|
||||
)
|
||||
self.assertEqual(
|
||||
batch_payment.sdd_min_required_collection_date,
|
||||
fields.Date.context_today(mandate) + datetime.timedelta(days=5),
|
||||
"The minimum required collection date should be set at 5 days after today.",
|
||||
)
|
||||
|
||||
batch_payment.validate_batch()
|
||||
|
||||
|
||||
self.reconcile_payments(payment)
|
||||
self.assertTrue(payment.is_matched)
|
||||
|
||||
new_invoice = self.create_invoice(partner)
|
||||
new_payment = self.pay_with_mandate(new_invoice)
|
||||
unchanged_data['payment_ids'] = [Command.set(new_payment.ids)]
|
||||
with self.assertRaises(
|
||||
ValidationError,
|
||||
msg="Collection date should not be in the 2 day period required for the bank to process if all the mandates are already used at least once"
|
||||
):
|
||||
self.env['account.batch.payment'].create({
|
||||
**unchanged_data,
|
||||
'sdd_required_collection_date': fields.Date.context_today(mandate) + datetime.timedelta(days=1)
|
||||
})
|
||||
|
||||
new_batch_payment = self.env['account.batch.payment'].create({
|
||||
**unchanged_data,
|
||||
'sdd_required_collection_date': fields.Date.context_today(mandate) + datetime.timedelta(days=2)
|
||||
})
|
||||
|
||||
self.assertFalse(batch_payment.sdd_first_time_payment_ids, "The first-time payments should be empty.")
|
||||
self.assertFalse(
|
||||
batch_payment.sdd_min_required_collection_date,
|
||||
"The minimum required collection date should not be set.",
|
||||
)
|
||||
|
||||
new_batch_payment.validate_batch()
|
||||
|
||||
def test_batch_register_payment_all_valids(self):
|
||||
|
||||
mandate_china_export = self.create_mandate(self.partner_china_export, self.partner_bank_china_export, False, self.sdd_company)
|
||||
mandate_china_export.action_validate_mandate()
|
||||
|
||||
invoices = self.create_invoice(self.partner_agrolait) + self.create_invoice(self.partner_china_export)
|
||||
journal = self.sdd_company_bank_journal
|
||||
wizard = (
|
||||
self.env['account.payment.register']
|
||||
.with_context({'active_ids': invoices.line_ids.ids, 'active_model': 'account.move.line'})
|
||||
.create({
|
||||
'journal_id': journal.id,
|
||||
'payment_method_line_id': journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd').id
|
||||
})
|
||||
)
|
||||
wizard.action_create_payments()
|
||||
|
||||
self.assertRecordValues(invoices.reconciled_payment_ids.sorted('partner_id'), [
|
||||
{'partner_id': self.partner_agrolait.id},
|
||||
{'partner_id': self.partner_china_export.id},
|
||||
])
|
||||
|
||||
def test_batch_register_payment_mixed_valids_invalids(self):
|
||||
|
||||
# China export doesn't have a valid mandate
|
||||
invoices = self.create_invoice(self.partner_agrolait) + self.create_invoice(self.partner_china_export)
|
||||
journal = self.sdd_company_bank_journal
|
||||
wizard = (
|
||||
self.env['account.payment.register']
|
||||
.with_context({'active_ids': invoices.line_ids.ids, 'active_model': 'account.move.line'})
|
||||
.create({
|
||||
'journal_id': journal.id,
|
||||
'payment_method_line_id': journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd').id
|
||||
})
|
||||
)
|
||||
wizard.action_create_payments()
|
||||
payments = invoices.reconciled_payment_ids
|
||||
self.assertEqual(len(payments), 1, "Only one payment should be created.")
|
||||
self.assertEqual(payments.partner_id, self.partner_agrolait, "The payment should be for the 'Agrolait' partner since it have a valid mandate.")
|
||||
|
||||
def test_batch_register_payment_all_invalids(self):
|
||||
|
||||
self.mandate_agrolait.action_revoke_mandate()
|
||||
invoices = self.create_invoice(self.partner_agrolait) + self.create_invoice(self.partner_china_export)
|
||||
journal = self.sdd_company_bank_journal
|
||||
wizard = (
|
||||
self.env['account.payment.register']
|
||||
.with_context({'active_ids': invoices.line_ids.ids, 'active_model': 'account.move.line'})
|
||||
.create({
|
||||
'journal_id': journal.id,
|
||||
'payment_method_line_id': journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd').id
|
||||
})
|
||||
)
|
||||
with self.assertRaises(UserError, msg="As there is no payment that can be generated, we raise an error when trying to do so"):
|
||||
wizard.action_create_payments()
|
||||
|
||||
def test_batch_payment_group(self):
|
||||
|
||||
mandate_china_export = self.create_mandate(self.partner_china_export, self.partner_bank_china_export, False, self.sdd_company)
|
||||
mandate_china_export.action_validate_mandate()
|
||||
|
||||
invoices = self.create_invoice(self.partner_agrolait) + self.create_invoice(self.partner_agrolait) + self.create_invoice(self.partner_china_export)
|
||||
journal = self.sdd_company_bank_journal
|
||||
wizard = self.env['account.payment.register'].with_context({'active_ids': invoices.line_ids.ids, 'active_model': 'account.move.line'}).create({
|
||||
'journal_id': journal.id,
|
||||
'payment_method_line_id': journal.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd').id,
|
||||
'group_payment': True,
|
||||
})
|
||||
res = wizard.action_create_payments()
|
||||
payments = self.env['account.payment'].search(res.get('domain', []))
|
||||
self.assertEqual(len(payments), 2, "There should be two payments")
|
||||
|
||||
def test_register_payment_other_journal(self):
|
||||
bank_journal_copy = self.sdd_company_bank_journal.copy()
|
||||
bank_journal_copy.bank_acc_number = 'CH9300762011623852958'
|
||||
invoices = self.create_invoice(self.partner_agrolait)
|
||||
wizard = (
|
||||
self.env['account.payment.register']
|
||||
.with_context({'active_ids': invoices.line_ids.ids, 'active_model': 'account.move.line'})
|
||||
.create({
|
||||
'journal_id': bank_journal_copy.id,
|
||||
'payment_method_line_id': bank_journal_copy.inbound_payment_method_line_ids.filtered(lambda l: l.code == 'sdd').id
|
||||
})
|
||||
)
|
||||
res = wizard.action_create_payments()
|
||||
payments = self.env['account.payment'].search(res.get('domain', []))
|
||||
self.assertTrue(payments, 'A payment should have been generated')
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
from lxml import etree
|
||||
|
||||
from odoo import fields
|
||||
from odoo.addons.odex30_account_sepa_direct_debit.tests.common import SDDTestCommon
|
||||
from odoo.tests import tagged, test_xsd
|
||||
|
||||
|
||||
@tagged('external_l10n', 'post_install', '-at_install', '-standard')
|
||||
class SDDTestXML(SDDTestCommon):
|
||||
@test_xsd(path='odex30_account_sepa_direct_debit/schemas/pain.008.001.02.xsd')
|
||||
def test_xml_pain_008_001_02_generation(self):
|
||||
self.sdd_company_bank_journal.debit_sepa_pain_version = 'pain.008.001.02'
|
||||
|
||||
xml_files = []
|
||||
for invoice in (self.invoice_agrolait, self.invoice_china_export, self.invoice_no_bic):
|
||||
payment = invoice.line_ids.mapped('matched_credit_ids.credit_move_id.payment_id')
|
||||
xml_files.append(etree.fromstring(payment.generate_xml(self.sdd_company, fields.Date.today(), True)))
|
||||
return xml_files
|
||||
|
||||
@test_xsd(path='odex30_account_sepa_direct_debit/schemas/EPC131-08_2019_V1.0_pain.008.001.02.xsd')
|
||||
def test_xml_pain_008_001_02_b2b_generation(self):
|
||||
self.sdd_company_bank_journal.debit_sepa_pain_version = 'pain.008.001.02'
|
||||
self.mandate_agrolait.sdd_scheme = 'B2B'
|
||||
self.mandate_china_export.sdd_scheme = 'B2B'
|
||||
self.mandate_no_bic.sdd_scheme = 'B2B'
|
||||
|
||||
xml_files = []
|
||||
for invoice in (self.invoice_agrolait, self.invoice_china_export, self.invoice_no_bic):
|
||||
payment = invoice.line_ids.mapped('matched_credit_ids.credit_move_id.payment_id')
|
||||
xml_files.append(etree.fromstring(payment.generate_xml(self.sdd_company, fields.Date.today(), True)))
|
||||
return xml_files
|
||||
|
||||
@test_xsd(path='odex30_account_sepa_direct_debit/schemas/pain.008.001.08.xsd')
|
||||
def test_xml_pain_008_001_08_generation(self):
|
||||
self.sdd_company_bank_journal.debit_sepa_pain_version = 'pain.008.001.08'
|
||||
|
||||
xml_files = []
|
||||
for invoice in (self.invoice_agrolait, self.invoice_china_export, self.invoice_no_bic):
|
||||
payment = invoice.line_ids.mapped('matched_credit_ids.credit_move_id.payment_id')
|
||||
xml_files.append(etree.fromstring(payment.generate_xml(self.sdd_company, fields.Date.today(), True)))
|
||||
|
||||
return xml_files
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_batch_payment_form_inherit" model="ir.ui.view">
|
||||
<field name="name">sdd.account.batch.payment.form.inherit</field>
|
||||
<field name="model">account.batch.payment</field>
|
||||
<field name="inherit_id" ref="odex30_account_batch_payment.view_batch_payment_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<header position="after">
|
||||
<field name="sdd_min_required_collection_date" invisible="True"/>
|
||||
<div class="alert alert-warning" role="alert" invisible="not sdd_min_required_collection_date or sdd_required_collection_date >= sdd_min_required_collection_date">
|
||||
This batch includes payments from mandates with no prior collections:
|
||||
<field name="sdd_first_time_payment_ids" widget="x2many_buttons" string="First-Time Payments"/>.
|
||||
SEPA requires a 5 days notice.
|
||||
</div>
|
||||
</header>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="sdd_required_collection_date" invisible="payment_method_code not in ('sdd', 'sepa_direct_debit')" readonly="state != 'draft'" required="payment_method_code in ('sdd', 'sepa_direct_debit')"/>
|
||||
<field name="sdd_batch_booking" string="Batch Booking" invisible="payment_method_code not in ('sdd', 'sepa_direct_debit')"/>
|
||||
<field name="sdd_scheme" invisible="payment_method_code not in ('sdd', 'sepa_direct_debit')" readonly="state != 'draft' or payment_ids" required="payment_method_code in ('sdd', 'sepa_direct_debit')"/>
|
||||
</xpath>
|
||||
<field name="payment_method_name" position="after">
|
||||
<field name="sdd_mandate_scheme" optional="hide"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="action_sdd_payments_to_collect" model="ir.actions.act_window">
|
||||
<field name="name">Direct debit payments to collect</field>
|
||||
<field name="res_model">account.payment</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="view_id" ref="sdd_account_payment_with_mandates_tree"/>
|
||||
<field name="domain">
|
||||
[('payment_method_code','in', ('sdd', 'sepa_direct_debit')),
|
||||
('state', '=', 'in_process'),
|
||||
('is_sent', '=', False),
|
||||
]
|
||||
</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_empty_folder">
|
||||
No direct debit payment to collect
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sdd_account_journal_dashboard_kanban_view" model="ir.ui.view">
|
||||
<field name="name">sdd.account.journal.dashboard.kanban</field>
|
||||
<field name="model">account.journal</field>
|
||||
<field name="inherit_id" ref="account.account_journal_dashboard_kanban_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//t[@t-name='JournalBodyBankCash']//div[@name='kanban_primary_right']" position="inside">
|
||||
<div t-if="journal_type == 'bank' and dashboard.sdd_payments_to_send_number != 0">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<a type="object" name="open_sdd_payments">
|
||||
<t t-out="dashboard.sdd_payments_to_send_number"/>
|
||||
<t t-if="dashboard.sdd_payments_to_send_number == 1">Direct Debit Payment to Collect</t>
|
||||
<t t-if="dashboard.sdd_payments_to_send_number > 1">Direct Debit Payments to Collect</t>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_account_journal_form" model="ir.ui.view">
|
||||
<field name="name">account.journal.form</field>
|
||||
<field name="model">account.journal</field>
|
||||
<field name="inherit_id" ref="account.view_account_journal_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@id='inbound_payment_settings']" position="inside">
|
||||
<group invisible="type != 'bank'">
|
||||
<group string="SEPA Pain Version">
|
||||
<field name="debit_sepa_pain_version" string='SEPA Pain version'/>
|
||||
</group>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_account_invoice_filter" model="ir.ui.view">
|
||||
<field name="name">sdd.account.invoice.select</field>
|
||||
<field name="model">account.move</field>
|
||||
<field name="inherit_id" ref="account.view_account_invoice_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='to_check']" position="after">
|
||||
<filter name="has_sdd_mandate" string="SDD Mandate" domain="[('sdd_has_usable_mandate', '=', True)]" help="Invoices matching a valid SEPA Direct Debit Mandate"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_move_line_payment_filter" model="ir.ui.view">
|
||||
<field name="name">sdd.account.move.line.payment.search</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="inherit_id" ref="account.view_account_move_line_payment_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='refunds']" position="after">
|
||||
<separator/>
|
||||
<filter name="has_sdd_mandate" string="SDD Mandate" domain="[('move_id.sdd_has_usable_mandate', '=', True)]" help="Payments matching a valid SEPA Direct Debit Mandate"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="sdd_account_payment_with_mandates_tree" model="ir.ui.view">
|
||||
<field name="name">sdd.account.payment.mandate.list</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_tree"/>
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<list position="inside">
|
||||
<field name="sdd_mandate_id" string="Originating SEPA mandate"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sdd_account_payment_form" model="ir.ui.view">
|
||||
<field name="name">sdd.account.payment.form</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='payment_method_line_id']" position="after">
|
||||
<field name="sdd_mandate_id"
|
||||
string="Originating SEPA mandate"
|
||||
domain="[('state', '=', 'active'), ('partner_id', '=', partner_id)]"
|
||||
groups="account.group_account_invoice"
|
||||
invisible="payment_method_code not in ('sdd', 'sepa_direct_debit')"/>
|
||||
</xpath>
|
||||
<xpath expr="//header" position="after">
|
||||
<div class="alert alert-info text-center"
|
||||
groups="account.group_account_invoice"
|
||||
invisible="not sdd_mandate_usable or payment_type != 'inbound' or state != 'draft'"
|
||||
role="status">Good news! A valid SEPA Mandate is available.</div>
|
||||
<div class="alert alert-warning text-center"
|
||||
groups="account.group_account_invoice"
|
||||
invisible="payment_method_code not in ('sdd', 'sepa_direct_debit') or state != 'draft' or sdd_mandate_usable"
|
||||
role="alert">Oops! No valid SEPA mandate for this customer. <a type="action" name="%(odex30_account_sepa_direct_debit.account_sepa_direct_debit_mandate_tree_act)d">Create it.</a></div>
|
||||
<div class="alert alert-warning text-center"
|
||||
invisible="currency_id == %(base.EUR)d or payment_method_code not in ('sdd', 'sepa_direct_debit')"
|
||||
role="status">SEPA Scheme operates in Euro.
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sdd_view_account_payment_search" model="ir.ui.view">
|
||||
<field name="name">sdd.account.account.payment.search</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='company']" position="after">
|
||||
<separator/>
|
||||
<filter name="revoked_mandate" string="Revoked SDD Mandate" domain="[('sdd_mandate_id.state', '=', 'revoked')]"/>
|
||||
<separator/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_payment_tree" model="ir.ui.view">
|
||||
<field name="name">sdd.account.payment.list</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='payment_method_line_id']" position="after">
|
||||
<field name="sdd_mandate_scheme" optional="hide" groups="account.group_account_invoice"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='state']" position="before">
|
||||
<field name="sdd_mandate_id" optional="hide"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_payment_search" model="ir.ui.view">
|
||||
<field name="name">sdd.account.payment.search</field>
|
||||
<field name="model">account.payment</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='company']" position="after">
|
||||
<filter string="SDD CORE" name="sdd_mandate_scheme_f1" domain="[('sdd_mandate_scheme','=','CORE')]"/>
|
||||
<filter string="SDD B2B" name="sdd_mandate_scheme_f2" domain="[('sdd_mandate_scheme','=','B2B')]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template id="sdd_report_invoice_document" inherit_id="account.report_invoice_document">
|
||||
<xpath expr="//div[@t-if='not is_html_empty(o.narration)']" position="before">
|
||||
<div t-if="any(p.sdd_mandate_id for p in o.reconciled_payment_ids)">
|
||||
<div>
|
||||
<p>
|
||||
This invoice will be paid using direct debit and is only
|
||||
sent for informative purposes.
|
||||
</p>
|
||||
<p>
|
||||
Please do not pay it manually, the payment will be asked to your bank to be processed
|
||||
automatically.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.inherit.account.sepa.direct.debit</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//setting[@id='collect_customer_payment']/div[hasclass('content-group')]" position="replace">
|
||||
<div class="content-group" invisible="not module_account_sepa_direct_debit">
|
||||
<div class="row">
|
||||
<label for="sdd_creditor_identifier" class="col-lg-3 o_light_label"/>
|
||||
<field name="sdd_creditor_identifier" class="oe_inline"/>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="account_sepa_direct_debit_partner_mandates" model="ir.actions.act_window">
|
||||
<field name="name">Direct Debit Mandates</field>
|
||||
<field name="res_model">sdd.mandate</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="context">{'default_partner_id':active_id, 'search_default_account_sdd_mandate_active_filter':1}</field>
|
||||
<field name="domain">[('partner_id', '=', active_id)]</field>
|
||||
</record>
|
||||
<record id="account_sdd_res_partner_view" model="ir.ui.view">
|
||||
<field name="name">res.partner.view.account.sdd.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="priority" eval="16"/>
|
||||
<field name="arch" type="xml">
|
||||
<div name="button_box" position="inside">
|
||||
<button class="oe_stat_button" groups="account.group_account_invoice" name="odex30_account_sepa_direct_debit.account_sepa_direct_debit_partner_mandates" type="action"
|
||||
icon="fa-pencil-square-o" help="Open this partner's mandates" title="Direct Debit Mandates">
|
||||
<field string='Direct Debit Mandates' name="sdd_count" widget="statinfo"/>
|
||||
</button>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="account_sepa_direct_debit_mandate_form">
|
||||
<field name="name">sdd.mandate.form</field>
|
||||
<field name="model">sdd.mandate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Customer mandate">
|
||||
<header>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,active"/>
|
||||
<button string="Send & Print" type="object" name="action_send_and_print" class="btn btn-primary" invisible="state != 'draft' or is_sent"/>
|
||||
<button string="Validate" type="object" name="action_validate_mandate" class="btn btn-secondary" invisible="state != 'draft' or is_sent"/>
|
||||
|
||||
<button string="Validate" type="object" name="action_validate_mandate" class="btn btn-primary" invisible="state != 'draft' or not is_sent"/>
|
||||
<button string="Send & Print" type="object" name="action_send_and_print" class="btn btn-secondary" invisible="state != 'draft' or not is_sent"/>
|
||||
|
||||
<button string="Cancel" type="object" name="action_cancel_mandate" class="btn btn-secondary" invisible="state != 'draft'"/>
|
||||
<button string="Close" type="object" name="action_close_mandate" class="btn btn-primary" invisible="state != 'active'"/>
|
||||
<button string="Revoke" type="object" name="action_revoke_mandate" class="btn btn-secondary" invisible="state != 'active'"/>
|
||||
</header>
|
||||
|
||||
<sheet>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button type="object" name="action_view_payments_to_collect" icon="fa-usd" class="oe_stat_button" invisible="payments_to_collect_nber == 0">
|
||||
<field name="payments_to_collect_nber" widget="statinfo" string="Collections" help="In-process and completed payments generated under this mandate."/>
|
||||
</button>
|
||||
|
||||
<button type="object" name="action_view_paid_invoices" icon="fa-pencil-square-o" class="oe_stat_button" invisible="not paid_invoice_ids">
|
||||
<field name="paid_invoices_nber" widget="statinfo" string="Invoices Paid" help="Invoices paid with this mandate."/>
|
||||
</button>
|
||||
</div>
|
||||
<div>
|
||||
<field name="partner_parent_id" invisible="1"/>
|
||||
<div class="alert alert-warning text-center" invisible="not partner_parent_id" role="alert">
|
||||
The selected customer is a child of <a type="action" name="action_parent_id_from_sdd_mandate"><field name="partner_parent_id"/></a>.
|
||||
Make sure the mandate isn't meant for the parent contact.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" readonly="state != 'draft'"/>
|
||||
<field name="partner_bank_id" domain="[('partner_id', '=', partner_id)]" context="{'default_partner_id':partner_id, 'sdd_mandate': True}" readonly="state != 'draft'"/>
|
||||
<field name="sdd_scheme" readonly="state != 'draft'"/>
|
||||
<label for="pre_notification_period"/>
|
||||
<div colspan="1">
|
||||
<field name="pre_notification_period" readonly="state != 'draft'" class="oe_inline"/>
|
||||
<span> day(s)</span>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="name" readonly="state != 'draft'"/>
|
||||
<field name="start_date" readonly="state != 'draft'"/>
|
||||
<field name="end_date" readonly="state != 'draft'"/>
|
||||
<field name="company_id" groups="base.group_multi_company" required="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="o_attachment_preview"/>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_partner_bank_form_inherit_account_sepa_direct_debit" model="ir.ui.view">
|
||||
<field name="name">res.partner.bank.view.form.inherit.account.sepa.direct.debit</field>
|
||||
<field name="model">res.partner.bank</field>
|
||||
<field name="inherit_id" ref="base.view_partner_bank_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="attributes">
|
||||
<attribute name="invisible">context.get('sdd_mandate') == True</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="account_sepa_direct_debit_mandate_tree">
|
||||
<field name="name">sdd.mandate.list</field>
|
||||
<field name="model">sdd.mandate</field>
|
||||
<field name="arch" type="xml">
|
||||
<list decoration-info="state == 'draft'" decoration-muted="state == 'closed'" decoration-danger="state == 'revoked'" default_order="start_date desc">
|
||||
<field name="partner_id" readonly="state != 'draft'"/>
|
||||
<field name="name" readonly="state != 'draft'"/>
|
||||
<field name="start_date" readonly="state != 'draft'"/>
|
||||
<field name="end_date" readonly="state == 'closed'"/>
|
||||
<field name="sdd_scheme"/>
|
||||
<field name="pre_notification_period" readonly="state != 'draft'"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="state"
|
||||
decoration-muted="state in ('closed', 'cancelled')"
|
||||
decoration-success="state == 'active'"
|
||||
decoration-info="state == 'draft'"
|
||||
decoration-danger="state == 'revoked'"
|
||||
widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account_sdd_mandate_search_view" model="ir.ui.view">
|
||||
<field name="name">sdd.mandate.search</field>
|
||||
<field name="model">sdd.mandate</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="partner_id"/>
|
||||
<field name="partner_bank_id"/>
|
||||
<field name="name"/>
|
||||
<filter string="Draft" name="account_sdd_mandate_draft_filter" domain="[('state', '=', 'draft')]"/>
|
||||
<filter string="Active" name="account_sdd_mandate_active_filter" domain="[('state', '=', 'active')]"/>
|
||||
<filter string="Closed" name="account_sdd_mandate_closed_filter" domain="[('state', 'in', ('closed','revoked'))]"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account_sepa_direct_debit_mandate_tree_act" model="ir.actions.act_window">
|
||||
<field name="name">Direct Debit Mandates</field>
|
||||
<field name="res_model">sdd.mandate</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="path">sdd-mandates</field>
|
||||
<field name="context">{'search_default_account_sdd_mandate_active_filter':1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new direct debit customer mandate
|
||||
</p><p>
|
||||
A mandate represents the authorization you receive from a customer
|
||||
to automatically collect money on her account.
|
||||
</p><p>
|
||||
Once an invoice is made
|
||||
in Odoo for a customer having a mandate active on the invoice date,
|
||||
its validation will trigger its automatic payment, and you will
|
||||
then only have to generate a SEPA Direct Debit (SDD) XML file containing this operation
|
||||
and send it to your bank to effectively get paid.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="account_sepa_direct_debit_customer_mandates_menu"
|
||||
name="Direct Debit Mandates"
|
||||
parent="account.menu_finance_receivables"
|
||||
action="account_sepa_direct_debit_mandate_tree_act"
|
||||
sequence="50"/>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
from . import account_payment_register
|
||||
from . import sdd_mandate_send
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
from odoo import Command, _, models, fields, api
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class AccountPaymentRegister(models.TransientModel):
|
||||
_inherit = 'account.payment.register'
|
||||
|
||||
sdd_mandate_usable = fields.Boolean(string="Could a SDD mandate be used?",
|
||||
compute='_compute_usable_mandate')
|
||||
|
||||
no_sdd_mandate_partner_ids = fields.Many2many(comodel_name='res.partner', compute='_compute_usable_mandate')
|
||||
|
||||
@api.depends('payment_date', 'partner_id', 'company_id', 'line_ids.partner_id')
|
||||
def _compute_usable_mandate(self):
|
||||
|
||||
for wizard in self:
|
||||
partners_with_valid_mandates = wizard._get_partner_ids_with_valid_mandates()
|
||||
wizard.no_sdd_mandate_partner_ids = wizard.line_ids.partner_id - self.env['res.partner'].browse(partners_with_valid_mandates)
|
||||
wizard.sdd_mandate_usable = not wizard.no_sdd_mandate_partner_ids
|
||||
|
||||
def _get_partner_ids_with_valid_mandates(self):
|
||||
|
||||
self.ensure_one()
|
||||
moves_to_pay = self.line_ids.move_id
|
||||
valid_mandate_ids_per_partner_id = self.env['sdd.mandate']._read_group([
|
||||
('state', '=', 'active'),
|
||||
('start_date', '<=', self.payment_date),
|
||||
'|', ('end_date', '=', False), ('end_date', '>=', self.payment_date),
|
||||
('partner_id', 'in', moves_to_pay.partner_id.commercial_partner_id.ids),
|
||||
*self.env['sdd.mandate']._check_company_domain(moves_to_pay.company_id),
|
||||
],
|
||||
groupby=['partner_id'],
|
||||
)
|
||||
return {partner.id for (partner,) in valid_mandate_ids_per_partner_id}
|
||||
|
||||
def action_create_payments(self):
|
||||
sdd_codes = set(self.env['account.payment.method']._get_sdd_payment_method_code())
|
||||
|
||||
for wizard in self.filtered(lambda wiz: wiz.payment_method_code in sdd_codes):
|
||||
valid_partner_ids = wizard._get_partner_ids_with_valid_mandates()
|
||||
if set(wizard.line_ids.partner_id.ids) != valid_partner_ids:
|
||||
wizard.write({
|
||||
'line_ids': [Command.set(wizard.line_ids.filtered(lambda line: line.partner_id.id in valid_partner_ids).ids)],
|
||||
'payment_method_line_id': wizard.payment_method_line_id.id,
|
||||
'group_payment': wizard.group_payment,
|
||||
})
|
||||
if not wizard.line_ids:
|
||||
raise UserError(_(
|
||||
"You can't pay any of the selected invoices using the SEPA Direct Debit method, as no valid mandate is available"
|
||||
))
|
||||
|
||||
return super().action_create_payments()
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<odoo>
|
||||
<data>
|
||||
<record id="account_payment_register_form_inherit_account_sepa_direct_debit" model="ir.ui.view">
|
||||
<field name="name">sdd.account.payment.form.inherit.account.sepa.direct.debit</field>
|
||||
<field name="model">account.payment.register</field>
|
||||
<field name="inherit_id" ref="account.view_account_payment_register_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@role='alert']" position="before">
|
||||
<div class="alert alert-info text-center"
|
||||
invisible="not sdd_mandate_usable"
|
||||
role="status">Good news! A valid SEPA Mandate is available.</div>
|
||||
<div class="alert alert-warning text-center"
|
||||
invisible="sdd_mandate_usable or payment_method_code not in ('sdd', 'sepa_direct_debit')"
|
||||
role="alert">
|
||||
Oops! No valid SEPA mandate for the following partner(s):
|
||||
<field name="no_sdd_mandate_partner_ids" widget="x2many_buttons"/>
|
||||
</div>
|
||||
<div class="alert alert-warning text-center"
|
||||
invisible="currency_id == %(base.EUR)d or payment_method_code not in ('sdd', 'sepa_direct_debit')"
|
||||
role="status">SEPA Scheme operates in Euro.
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
from odoo import _, api, fields, models
|
||||
|
||||
|
||||
class SDDMandateSend(models.TransientModel):
|
||||
_inherit = 'mail.composer.mixin'
|
||||
_name = 'sdd.mandate.send'
|
||||
_description = "SDD Mandate Send"
|
||||
|
||||
company_id = fields.Many2one(comodel_name='res.company', compute='_compute_company_id', store=True)
|
||||
mandate_id = fields.Many2one(comodel_name='sdd.mandate', readonly=True)
|
||||
partner_id = fields.Many2one(related='mandate_id.partner_id', readonly=True)
|
||||
|
||||
checkbox_download = fields.Boolean(
|
||||
string="Download",
|
||||
default=False,
|
||||
)
|
||||
|
||||
checkbox_send_mail = fields.Boolean(
|
||||
string="Email",
|
||||
default=True,
|
||||
)
|
||||
warnings = fields.Json(compute='_compute_warnings')
|
||||
template_id = fields.Many2one(
|
||||
comodel_name='mail.template',
|
||||
string="Email template",
|
||||
domain="[('model', '=', 'sdd.mandate.send')]",
|
||||
)
|
||||
author_id = fields.Many2one(
|
||||
comodel_name='res.partner',
|
||||
string="Author",
|
||||
index=True,
|
||||
ondelete='set null',
|
||||
default=lambda self: self.env.user.partner_id,
|
||||
)
|
||||
recipient_ids = fields.Many2many(
|
||||
comodel_name='res.partner',
|
||||
string="Recipients",
|
||||
compute='_compute_recipient_ids',
|
||||
readonly=False,
|
||||
)
|
||||
|
||||
|
||||
@api.depends('mandate_id')
|
||||
def _compute_recipient_ids(self):
|
||||
for wizard in self:
|
||||
wizard.recipient_ids = wizard.partner_id | wizard.mandate_id.message_partner_ids - wizard.author_id
|
||||
|
||||
@api.depends('mandate_id')
|
||||
def _compute_company_id(self):
|
||||
for wizard in self:
|
||||
wizard.company_id = wizard.mandate_id.company_id.id
|
||||
|
||||
@api.depends('mandate_id', 'checkbox_send_mail')
|
||||
def _compute_warnings(self):
|
||||
for wizard in self:
|
||||
warnings = {}
|
||||
partners_without_mail = wizard.mandate_id.filtered(lambda x: not x.partner_id.email).partner_id
|
||||
if wizard.checkbox_send_mail and partners_without_mail:
|
||||
warnings['account_missing_email'] = {
|
||||
'message': _("Partner should have an email address."),
|
||||
'action_text': _("View Partner(s)"),
|
||||
'action': partners_without_mail._get_records_action(name=_("Check Partner(s) Email(s)"))
|
||||
}
|
||||
|
||||
wizard.warnings = warnings
|
||||
|
||||
@api.depends('mandate_id', 'template_id')
|
||||
def _compute_subject(self):
|
||||
# OVERRIDES mail
|
||||
for wizard in self.filtered('template_id'):
|
||||
wizard.subject = wizard.template_id._render_field(
|
||||
'subject',
|
||||
[wizard.id],
|
||||
compute_lang=True,
|
||||
options={'post_process': True},
|
||||
)[wizard.id]
|
||||
|
||||
@api.depends('mandate_id', 'template_id')
|
||||
def _compute_body(self):
|
||||
# OVERRIDES mail
|
||||
for wizard in self.filtered('template_id'):
|
||||
wizard.body = wizard.template_id._render_field(
|
||||
'body_html',
|
||||
[wizard.id],
|
||||
compute_lang=True,
|
||||
options={'post_process': True},
|
||||
)[wizard.id]
|
||||
|
||||
|
||||
def _prepare_mandate_pdf(self):
|
||||
self.ensure_one()
|
||||
mandate = self.mandate_id
|
||||
pdf_report = self.env.ref('odex30_account_sepa_direct_debit.sdd_mandate_form_report_main')
|
||||
content, _report_type = self.env['ir.actions.report']._render_qweb_pdf(
|
||||
pdf_report.report_name,
|
||||
res_ids=mandate.ids,
|
||||
)
|
||||
return {
|
||||
'name': f"{self.partner_id.name.replace(' ', '_')}_sdd_mandate_form_{mandate.name}.pdf",
|
||||
'raw': content,
|
||||
'mimetype': 'application/pdf',
|
||||
'res_model': 'sdd.mandate',
|
||||
'res_id': mandate.id,
|
||||
'res_field': 'mandate_pdf_file',
|
||||
}
|
||||
|
||||
def _send_mail(self, mandate_pdf):
|
||||
self.ensure_one()
|
||||
self.mandate_id.message_post(
|
||||
author_id=(self.env.company.partner_id or self.author_id).id,
|
||||
body=self.body,
|
||||
message_type='comment',
|
||||
email_layout_xmlid='mail.mail_notification_light',
|
||||
partner_ids=self.recipient_ids.ids,
|
||||
subject=self.subject,
|
||||
attachment_ids=mandate_pdf.ids,
|
||||
)
|
||||
|
||||
def action_send_and_print(self):
|
||||
self.ensure_one()
|
||||
mandate = self.mandate_id
|
||||
mandate.is_sent = True
|
||||
|
||||
pdf_data = self._prepare_mandate_pdf()
|
||||
|
||||
attachment = self.env['ir.attachment'].create(pdf_data)
|
||||
attachment.register_as_main_attachment(force=True)
|
||||
|
||||
if self.checkbox_send_mail:
|
||||
self._send_mail(attachment)
|
||||
|
||||
if self.checkbox_download:
|
||||
return {
|
||||
'type': 'ir.actions.act_url',
|
||||
'url': f"/web/content/{attachment.id}?download=true",
|
||||
'close': True,
|
||||
}
|
||||
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
<odoo>
|
||||
<data>
|
||||
<record id="account_sepa_direct_debit_mandate_send_form" model="ir.ui.view">
|
||||
<field name="name">sdd.mandate.send.form</field>
|
||||
<field name="model">sdd.mandate.send</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send & Print">
|
||||
<div class="m-0" name="warnings" invisible="not warnings">
|
||||
<field name="warnings" class="o_field_html" widget="actionable_errors"/>
|
||||
</div>
|
||||
<group col="1">
|
||||
<field name="author_id" invisible="1"/>
|
||||
<field name="lang" invisible="1"/>
|
||||
<field name="render_model" invisible="1"/>
|
||||
<field name="mandate_id" invisible="1"/>
|
||||
<field name="template_id" invisible="1"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
<field name="checkbox_download"/>
|
||||
<field name="checkbox_send_mail"/>
|
||||
<field name="template_id" can_create="True" invisible="not checkbox_send_mail"/>
|
||||
</group>
|
||||
<group col="2" invisible="not checkbox_send_mail">
|
||||
<field name="recipient_ids"
|
||||
widget="many2many_tags_email"
|
||||
options="{'no_quick_create': True}"
|
||||
context="{'show_email': True, 'form_view_ref': 'base.view_partner_simple_form'}"/>
|
||||
</group>
|
||||
<group col="2" invisible="not checkbox_send_mail">
|
||||
<field name="subject" placeholder="Subject"/>
|
||||
</group>
|
||||
<field name="body"
|
||||
invisible="not checkbox_send_mail"
|
||||
class="oe-bordered-editor"
|
||||
widget="html_mail"/>
|
||||
<footer>
|
||||
<button string="Send & Print"
|
||||
data-hotkey="q"
|
||||
name="action_send_and_print"
|
||||
type="object"
|
||||
class="print btn-primary o_mail_send">
|
||||
</button>
|
||||
<button string="Cancel"
|
||||
data-hotkey="x"
|
||||
special="cancel"
|
||||
class="btn-secondary"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
import logging
|
||||
|
||||
from . import models
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def _accounting_post_init(env):
|
||||
country_code = env.company.country_id.code
|
||||
if country_code:
|
||||
module_list = []
|
||||
|
||||
if country_code in ('AU', 'CA', 'US'):
|
||||
module_list.append('odex30_account_reports_cash_basis')
|
||||
|
||||
module_ids = env['ir.module.module'].search([('name', 'in', module_list), ('state', '=', 'uninstalled')])
|
||||
if module_ids:
|
||||
module_ids.sudo().button_install()
|
||||
|
||||
|
||||
def uninstall_hook(env):
|
||||
try:
|
||||
group_user = env.ref("account.group_account_user")
|
||||
group_user.write({
|
||||
'name': "Show Full Accounting Features",
|
||||
'implied_ids': [(3, env.ref('account.group_account_invoice').id)],
|
||||
'category_id': env.ref("base.module_category_hidden").id,
|
||||
})
|
||||
group_readonly = env.ref("account.group_account_readonly")
|
||||
group_readonly.write({
|
||||
'name': "Show Full Accounting Features - Readonly",
|
||||
'category_id': env.ref("base.module_category_hidden").id,
|
||||
})
|
||||
except ValueError as e:
|
||||
_logger.warning(e)
|
||||
|
||||
try:
|
||||
group_manager = env.ref("account.group_account_manager")
|
||||
group_manager.write({'name': "Billing Manager",
|
||||
'implied_ids': [(4, env.ref("account.group_account_invoice").id),
|
||||
(3, env.ref("account.group_account_readonly").id),
|
||||
(3, env.ref("account.group_account_user").id)]})
|
||||
except ValueError as e:
|
||||
_logger.warning(e)
|
||||
|
||||
env.ref("account.group_account_user").write({'users': [(5, False, False)]})
|
||||
env.ref("account.group_account_readonly").write({'users': [(5, False, False)]})
|
||||
|
||||
|
||||
invoicing_menu = env.ref("account.menu_finance")
|
||||
menus_to_move = [
|
||||
"account.menu_finance_receivables",
|
||||
"account.menu_finance_payables",
|
||||
"account.menu_finance_entries",
|
||||
"account.menu_finance_reports",
|
||||
"account.menu_finance_configuration",
|
||||
"account.menu_board_journal_1",
|
||||
]
|
||||
for menu_xmlids in menus_to_move:
|
||||
try:
|
||||
env.ref(menu_xmlids).parent_id = invoicing_menu
|
||||
except ValueError as e:
|
||||
_logger.warning(e)
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
'name': 'Accounting',
|
||||
'version': '1.1',
|
||||
'category': 'Accounting/Accounting',
|
||||
'sequence': 30,
|
||||
'summary': 'Manage financial and analytic accounting',
|
||||
'description': """
|
||||
Accounting Access Rights
|
||||
========================
|
||||
It gives the Administrator user access to all accounting features such as journal items and the chart of accounts.
|
||||
|
||||
It assigns manager and user access rights to the Administrator for the accounting application and only user rights to the Demo user.
|
||||
""",
|
||||
'website': 'http://exp-sa.com',
|
||||
'author': 'Expert Co. Ltd.',
|
||||
'depends': ['odex30_account_accountant'],
|
||||
'data': [
|
||||
'data/account_accountant_data.xml',
|
||||
'security/accounting_security.xml',
|
||||
'views/res_config_settings.xml',
|
||||
'views/partner_views.xml',
|
||||
],
|
||||
'demo': ['demo/account_accountant_demo.xml'],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
'post_init_hook': '_accounting_post_init',
|
||||
'uninstall_hook': "uninstall_hook",
|
||||
'license': 'OEEL-1',
|
||||
'assets': {
|
||||
'web.assets_backend': [
|
||||
'odex30_accountant/static/src/js/tours/accountant.js',
|
||||
],
|
||||
'web.assets_tests': [
|
||||
'odex30_accountant/static/tests/tours/*',
|
||||
],
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<menuitem name="Accounting"
|
||||
id="menu_accounting"
|
||||
groups="account.group_account_readonly,account.group_account_invoice"
|
||||
web_icon="accountant,static/description/icon.png"
|
||||
sequence="60"/>
|
||||
<record id="account.menu_finance_receivables" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
<record id="account.menu_finance_payables" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
<record id="account.menu_finance_entries" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
<record id="account.menu_finance_reports" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
<record id="account.menu_finance_configuration" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
<record id="account.menu_board_journal_1" model="ir.ui.menu">
|
||||
<field name="parent_id" ref="menu_accounting"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="account.menu_account_config" name="Settings" parent="account.menu_finance_configuration" sequence="0" groups="base.group_system"/>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="base.user_demo" model="res.users">
|
||||
<field name="groups_id" eval="[(4, ref('account.group_account_user'))]"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * odex30_accountant
|
||||
#
|
||||
# Translators:
|
||||
# Wil Odoo, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-19 09:51+0000\n"
|
||||
"PO-Revision-Date: 2024-09-25 09:44+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: odex30_accountant
|
||||
#: model:ir.ui.menu,name:odex30_accountant.menu_accounting
|
||||
#: model_terms:ir.ui.view,arch_db:odex30_accountant.res_config_settings_view_form
|
||||
#: model_terms:ir.ui.view,arch_db:odex30_accountant.res_partner_view_form
|
||||
msgid "Accounting"
|
||||
msgstr "المحاسبة "
|
||||
|
||||
#. module: odex30_accountant
|
||||
#: model:ir.model,name:odex30_accountant.model_account_move
|
||||
msgid "Journal Entry"
|
||||
msgstr "قيد اليومية"
|
||||
|
|
@ -0,0 +1 @@
|
|||
from . import account_move
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
from odoo import models
|
||||
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = 'account.move'
|
||||
|
||||
def _get_invoice_in_payment_state(self):
|
||||
return 'in_payment'
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="base.user_root" model="res.users">
|
||||
<field name="groups_id" eval="[(4, ref('account.group_account_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="base.user_admin" model="res.users">
|
||||
<field name="groups_id" eval="[(4, ref('account.group_account_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.module.category" id="base.module_category_accounting_accounting">
|
||||
<field name="name">Accounting</field>
|
||||
<field name="description">Helps you handle your invoices and accounting actions.
|
||||
|
||||
Invoicing: Invoices, payments and basic invoice reporting.
|
||||
Invoicing & Banks: adds the accounting dashboard, bank management and follow-up reports.
|
||||
Bookkeeper: access to all Accounting features, including reporting, asset management, analytic accounting, without configuration rights.
|
||||
Administrator: full access including configuration rights and accounting data management.
|
||||
Readonly: access to all the accounting data but in readonly mode, no actions allowed.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account.group_account_readonly" model="res.groups">
|
||||
<field name="name">Read-only</field>
|
||||
<field name="category_id" ref="base.module_category_accounting_accounting"/>
|
||||
</record>
|
||||
|
||||
<record id="account.group_account_user" model="res.groups">
|
||||
<field name="name">Bookkeeper</field>
|
||||
<field name="category_id" ref="base.module_category_accounting_accounting"/>
|
||||
</record>
|
||||
|
||||
<record id="account.group_account_manager" model="res.groups">
|
||||
<field name="implied_ids" eval="[(3, ref('account.group_account_invoice')), (4, ref('account.group_account_user'))]"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
|
|
@ -0,0 +1 @@
|
|||
<svg width="50" height="50" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M40.682 41.263c-3.514 4.188-9.758 4.734-13.946 1.22-4.189-3.514-4.735-9.758-1.22-13.947 3.514-4.188 9.758-4.734 13.946-1.22 4.188 3.515 4.734 9.759 1.22 13.947Z" fill="#1AD3BB"/><path d="M25.383 21.464c-3.514 4.188-9.758 4.734-13.946 1.22-4.188-3.514-4.735-9.758-1.22-13.946 3.514-4.189 9.758-4.735 13.946-1.22 4.188 3.514 4.734 9.758 1.22 13.946Z" fill="#FBB945"/><path d="M37.09 6.545c1.407-1.406 3.36-1.732 4.364-.728L46 10.363l-33.09 33.09c-1.407 1.406-3.36 1.732-4.365.728L4 39.636 37.09 6.544Z" fill="#985184"/><path d="m31.174 25.188-7.79 7.789a9.853 9.853 0 0 1 2.13-4.442 9.858 9.858 0 0 1 5.66-3.348Z" fill="#005E7A"/><path d="M18.676 24.962a9.868 9.868 0 0 0 6.707-3.498 9.854 9.854 0 0 0 2.278-5.487l-8.985 8.985Z" fill="#953B24"/></svg>
|
||||
|
After Width: | Height: | Size: 842 B |
|
|
@ -0,0 +1,12 @@
|
|||
/** @odoo-module **/
|
||||
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
import { accountTourSteps } from "@account/js/tours/account";
|
||||
import { stepUtils } from "@web_tour/tour_service/tour_utils";
|
||||
|
||||
|
||||
patch(accountTourSteps, {
|
||||
goToAccountMenu(description="Open Accounting Menu") {
|
||||
return stepUtils.goToAppSteps('accountant.menu_accounting', description);
|
||||
},
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue