mirror of
https://github.com/bringout/oca-ocb-l10n_europe.git
synced 2026-04-25 20:42:03 +02:00
19.0 vanilla
This commit is contained in:
parent
ff721d030e
commit
7721452493
1826 changed files with 124775 additions and 274114 deletions
|
|
@ -26,35 +26,14 @@ pip install odoo-bringout-oca-ocb-l10n_eu_oss
|
|||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- account
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: EU One Stop Shop (OSS)
|
||||
- **Version**: N/A
|
||||
- **Category**: Accounting/Localizations
|
||||
- **License**: LGPL-3
|
||||
- **Installable**: False
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_eu_oss`.
|
||||
- Repository: https://github.com/OCA/OCB
|
||||
- Branch: 19.0
|
||||
- Path: addons/l10n_eu_oss
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original LGPL-3 license from the upstream Odoo project.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Overview: doc/OVERVIEW.md
|
||||
- Architecture: doc/ARCHITECTURE.md
|
||||
- Models: doc/MODELS.md
|
||||
- Controllers: doc/CONTROLLERS.md
|
||||
- Wizards: doc/WIZARDS.md
|
||||
- Install: doc/INSTALL.md
|
||||
- Usage: doc/USAGE.md
|
||||
- Configuration: doc/CONFIGURATION.md
|
||||
- Dependencies: doc/DEPENDENCIES.md
|
||||
- Troubleshooting: doc/TROUBLESHOOTING.md
|
||||
- FAQ: doc/FAQ.md
|
||||
This package preserves the original LGPL-3 license.
|
||||
|
|
|
|||
|
|
@ -2,11 +2,6 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import models
|
||||
from odoo import api, SUPERUSER_ID
|
||||
|
||||
def l10n_eu_oss_post_init(cr, registry):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
env['res.company']._map_all_eu_companies_taxes()
|
||||
|
||||
def l10n_eu_oss_uninstall(cr, registry):
|
||||
cr.execute("DELETE FROM ir_model_data WHERE module = 'l10n_eu_oss' and model in ('account.tax.group', 'account.account');")
|
||||
def l10n_eu_oss_uninstall(env):
|
||||
env.cr.execute("DELETE FROM ir_model_data WHERE module = 'l10n_eu_oss' and model in ('account.tax.group', 'account.account');")
|
||||
|
|
|
|||
|
|
@ -23,10 +23,9 @@ Council Implementing Regulation (EU) 2019/2026
|
|||
""",
|
||||
'depends': ['account'],
|
||||
'data': [
|
||||
'views/res_config_settings_views.xml',
|
||||
'data/account_account_tag.xml',
|
||||
],
|
||||
'post_init_hook': 'l10n_eu_oss_post_init',
|
||||
'uninstall_hook': 'l10n_eu_oss_uninstall',
|
||||
'author': 'Odoo S.A.',
|
||||
'license': 'LGPL-3',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,11 +4,29 @@
|
|||
|
||||
<record id="tag_oss" model="account.account.tag">
|
||||
<field name="name">OSS</field>
|
||||
<field name="name@cs">OSS</field>
|
||||
<field name="name@nl">OSS</field>
|
||||
<field name="name@fr">OSS</field>
|
||||
<field name="name@it">OSS</field>
|
||||
<field name="name@de">OSS</field>
|
||||
<field name="name@pl">OSS</field>
|
||||
<field name="name@fi">OSS</field>
|
||||
<field name="name@lt">OSS</field>
|
||||
<field name="name@es">OSS</field>
|
||||
<field name="applicability">taxes</field>
|
||||
</record>
|
||||
|
||||
<record id="tag_eu_import" model="account.account.tag">
|
||||
<field name="name">non-EU origin</field>
|
||||
<field name="name@cs">Původ mimo EU</field>
|
||||
<field name="name@nl">Niet-EU-oorsprong</field>
|
||||
<field name="name@fr">Origine hors UE</field>
|
||||
<field name="name@it">Origine non UE</field>
|
||||
<field name="name@de">Nicht-EU-Ursprung</field>
|
||||
<field name="name@pl">Pochodzenie spoza UE</field>
|
||||
<field name="name@fi">EU:n ulkopuolinen alkuperä</field>
|
||||
<field name="name@lt">Ne ES kilmės šalis</field>
|
||||
<field name="name@es">Origen no UE</field>
|
||||
<field name="applicability">products</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/bg.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/bg.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Bulgarian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/bg/>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Фирми"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Конфигурационни настройки"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Име за показване"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -17,9 +17,10 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Šablon účtové osnovy"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopie)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +32,39 @@ msgstr "Společnosti"
|
|||
msgid "Config Settings"
|
||||
msgstr "Nastavení konfigurace"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovací název"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Je evropskou zemi?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Obnovit daňové mapování"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "původ mimo EU"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Danish <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/da/>\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Kontoplansskabelon"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,39 @@ msgstr "Virksomheder"
|
|||
msgid "Config Settings"
|
||||
msgstr "Konfigurér indstillinger"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Vis navn"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Er det et europæisk land?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Genindlæs skatteallokering"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Oprindelse uden for EU"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# "Larissa Manderfeld (lman)" <lman@odoo.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-12-24 10:24+0000\n"
|
||||
"Last-Translator: \"Larissa Manderfeld (lman)\" <lman@odoo.com>\n"
|
||||
"Language-Team: German <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/de/>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Kontenplanvorlage"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopie)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,42 @@ msgstr "Unternehmen"
|
|||
msgid "Config Settings"
|
||||
msgstr "Konfigurationseinstellungen"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Ist ein europäisches Land?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Steuergruppen"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Steuerzuordnung aktualisieren"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
"Um die OSS-Steuerzuordnung ordnungsgemäß zu konfigurieren, müssen in der von "
|
||||
"Ihnen verwendeten inländischen Steuergruppe die erforderlichen Konten "
|
||||
"definiert sein."
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Nicht-EU-Herkunft"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr "Steuergruppen anzeigen"
|
||||
|
|
|
|||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/el.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/el.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Greek <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/el/>\n"
|
||||
"Language: el\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Εταιρίες"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Ρυθμίσεις διαμόρφωσης"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Εμφάνιση Ονόματος"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "Κωδικός"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# "Noemi Pla Garcia (nopl)" <nopl@odoo.com>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2026-02-21 10:10+0000\n"
|
||||
"Last-Translator: \"Noemi Pla Garcia (nopl)\" <nopl@odoo.com>\n"
|
||||
"Language-Team: Spanish <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/es/>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Plantilla de plan contable"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Copia)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,39 @@ msgstr "Compañías"
|
|||
msgid "Config Settings"
|
||||
msgstr "Ajustes de configuración"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "¿Se trata de un país europeo?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Grupos de impuestos"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Actualizar el mapeo de impuestos"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Origen no UE"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr "Ver grupos de impuestos"
|
||||
|
|
|
|||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/et.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/et.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Estonian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/et/>\n"
|
||||
"Language: et\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Ettevõtted"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Seadistused"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Kuvatav nimi"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Saara Hakanen <sahak@odoo.com>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2026-01-24 19:10+0000\n"
|
||||
"Last-Translator: Saara Hakanen <sahak@odoo.com>\n"
|
||||
"Language-Team: Finnish <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/fi/>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Tilikarttamalli"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopio)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,41 @@ msgstr "Yritykset"
|
|||
msgid "Config Settings"
|
||||
msgstr "Kokoonpanoasetukset"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Näyttönimi"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Onko Euroopan maa?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Veroryhmät"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Päivitä verokartoitus"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
"Määrittääksesi kunnolla OSS-verokartoituksen, käyttämässäsi kotimaisessa "
|
||||
"veroryhmässä on oltava eriteltynä pakolliset tilit."
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "EU:n ulkopuolinen alkuperä"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr "Katso veroryhmät"
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -14,12 +14,13 @@ msgstr ""
|
|||
"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"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Modèle de plan comptable"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Copie)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +32,39 @@ msgstr "Entreprises"
|
|||
msgid "Config Settings"
|
||||
msgstr "Paramètres de configuration"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom d'affichage"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Est un pays européen ?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Actualiser le mappage fiscal"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Origine hors UE"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
74
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/hr.po
Normal file
74
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/hr.po
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Croatian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/hr/>\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Tvrtke"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfiguracijske postavke"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/hu.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/hu.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/hu/>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Vállalatok"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Megjelenített név"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# "Marianna Ciofani (cima)" <cima@odoo.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-12-20 09:33+0000\n"
|
||||
"Last-Translator: \"Marianna Ciofani (cima)\" <cima@odoo.com>\n"
|
||||
"Language-Team: Italian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Modello piano dei conti"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Copia)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,41 @@ msgstr "Aziende"
|
|||
msgid "Config Settings"
|
||||
msgstr "Configura impostazioni"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "È un Paese europeo?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Gruppi imposta"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Aggiorna mappatura imposte"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
"Per configurare correttamente la mappatura fiscale OSS, il gruppo fiscale "
|
||||
"nazionale che stai utilizzando deve avere i conti necessari definiti."
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Origine non UE"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr "Visualizza gruppi imposte"
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Project-Id-Version: Odoo Server 19.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-12-30 19:06+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -16,8 +16,9 @@ msgstr ""
|
|||
"Plural-Forms: \n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
|
|
@ -30,22 +31,39 @@ msgstr ""
|
|||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -14,12 +14,15 @@ msgstr ""
|
|||
"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%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > "
|
||||
"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? "
|
||||
"1 : 2);\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Sąskaitų plano šablonas"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopija)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +34,39 @@ msgstr "Įmonės"
|
|||
msgid "Config Settings"
|
||||
msgstr "Konfigūracijos nustatymai"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Rodomas pavadinimas"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Ar Europos šalis?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Atnaujinti mokesčių susiejimą"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Ne ES kilmės šalis"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/lv.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/lv.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Latvian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/lv/>\n"
|
||||
"Language: lv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Uzņēmumi"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Konfigurācijas uzstādījumi"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Parādīt vārdu"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -1,25 +1,29 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Bren Driesen <brdri@odoo.com>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2026-02-28 09:33+0000\n"
|
||||
"Last-Translator: Bren Driesen <brdri@odoo.com>\n"
|
||||
"Language-Team: Dutch <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/nl/>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Sjabloon grootboekschema"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopie)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +35,41 @@ msgstr "Bedrijven"
|
|||
msgid "Config Settings"
|
||||
msgstr "Configuratie-instellingen"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Schermnaam"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Is een Europees land?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Btw-groepen"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Btw-mapping vernieuwen"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
"Om OSS-btw-codetoewijzing correct te configureren, moet de binnenlandse "
|
||||
"belastinggroep die u gebruikt over de nodige accounts beschikken."
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Niet-EU-herkomst"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr "Belastinggroepen bekijken"
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-01-28 08:32+0000\n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-01-28 08:32+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -14,12 +14,14 @@ msgstr ""
|
|||
"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%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_account_chart_template
|
||||
msgid "Account Chart Template"
|
||||
msgstr "Szablon planu kont"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s (Kopiuj)"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
|
|
@ -31,22 +33,39 @@ msgstr "Firmy"
|
|||
msgid "Config Settings"
|
||||
msgstr "Konfiguracja ustawień"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Jest krajem europejskim?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_oss
|
||||
msgid "OSS"
|
||||
msgstr "OSS"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model_terms:ir.ui.view,arch_db:l10n_eu_oss.res_config_settings_view_form
|
||||
msgid "Refresh tax mapping"
|
||||
msgstr "Odśwież mapowanie podatkowe"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:account.account.tag,name:l10n_eu_oss.tag_eu_import
|
||||
msgid "non-EU origin"
|
||||
msgstr "Pochodzenie spoza UE"
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
|
|||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/pt.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/pt.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/pt/>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empresas"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
76
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/ro.po
Normal file
76
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/ro.po
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
# Betty Keresztesi <betty@soft4biz.ro>, 2025.
|
||||
# Dorin Hongu <dhongu@gmail.com>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-12-31 14:56+0000\n"
|
||||
"Last-Translator: Dorin Hongu <dhongu@gmail.com>\n"
|
||||
"Language-Team: Romanian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/ro/>\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
|
||||
"20)) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr "%(tax_name)s"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Companii"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Setări de configurare"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nume afișat"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr "Este o țară europeană?"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr "Grupuri taxă"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sk.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sk.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Slovak <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/sk/>\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Spoločnosti"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Nastavenia konfigurácie"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Zobrazovaný názov"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
74
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sl.po
Normal file
74
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sl.po
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Slovenian <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/sl/>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
|
||||
"n%100==4 ? 2 : 3;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Podjetja"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Uredi nastavitve"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sv.po
Normal file
73
odoo-bringout-oca-ocb-l10n_eu_oss/l10n_eu_oss/i18n/sv.po
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * l10n_eu_oss
|
||||
#
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 19.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-30 19:06+0000\n"
|
||||
"PO-Revision-Date: 2025-11-17 03:11+0000\n"
|
||||
"Last-Translator: Weblate <noreply-mt-weblate@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.odoo.com/projects/odoo-19-l10n/"
|
||||
"l10n_eu_oss/sv/>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "%(tax_name)s (Copy)"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Bolag"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model,name:l10n_eu_oss.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__display_name
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Visningsnamn"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_company__id
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#: model:ir.model.fields,field_description:l10n_eu_oss.field_res_config_settings__l10n_eu_oss_eu_country
|
||||
msgid "Is European country?"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "Tax Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid ""
|
||||
"To properly configure OSS tax mapping, the domestic tax group you are using "
|
||||
"must have the necessary accounts defined."
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_eu_oss
|
||||
#. odoo-python
|
||||
#: code:addons/l10n_eu_oss/models/res_company.py:0
|
||||
msgid "View Tax Groups"
|
||||
msgstr ""
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import chart_template
|
||||
from . import eu_account_map
|
||||
from . import eu_field_map
|
||||
from . import eu_tax_map
|
||||
from . import eu_tag_map
|
||||
from . import res_company
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models
|
||||
|
||||
class AccountChartTemplate(models.Model):
|
||||
_inherit = 'account.chart.template'
|
||||
|
||||
def _load(self, company):
|
||||
rslt = super()._load(company)
|
||||
|
||||
if company.account_fiscal_country_id in self.env.ref('base.europe').country_ids:
|
||||
company._map_eu_taxes()
|
||||
|
||||
return rslt
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
"""
|
||||
The EU_ACCOUNT_MAP answers the question: "which existing account should be used for VAT Payable OSS?"
|
||||
|
||||
{
|
||||
'coa': 'account_code'
|
||||
}
|
||||
"""
|
||||
|
||||
EU_ACCOUNT_MAP = {
|
||||
'de_skr03': '1767',
|
||||
'de_skr04': '3817',
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
"""
|
||||
The EU_FIELD_MAP contains localization specific fields for account.tax
|
||||
"""
|
||||
EU_FIELD_MAP = {
|
||||
'es_assec': {
|
||||
'l10n_es_type': 'no_sujeto_loc',
|
||||
},
|
||||
'es_common': {
|
||||
'l10n_es_type': 'no_sujeto_loc',
|
||||
},
|
||||
'es_full': {
|
||||
'l10n_es_type': 'no_sujeto_loc',
|
||||
},
|
||||
'es_pymes': {
|
||||
'l10n_es_type': 'no_sujeto_loc',
|
||||
},
|
||||
}
|
||||
|
|
@ -16,196 +16,220 @@ The EU_TAG_MAP answers the question: "which tag should I apply on the OSS tax re
|
|||
|
||||
EU_TAG_MAP = {
|
||||
# Austria
|
||||
'l10n_at.l10n_at_chart_template': {
|
||||
'at': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Belgium
|
||||
'l10n_be.l10nbe_chart_template': {
|
||||
'be_comp': {
|
||||
'invoice_base_tag': 'l10n_be.tax_report_line_47_tag',
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': 'l10n_be.tax_report_line_49_tag',
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
'be_asso': {
|
||||
'invoice_base_tag': 'l10n_be.tax_report_line_47_tag',
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': 'l10n_be.tax_report_line_49_tag',
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Bulgaria
|
||||
'BG': {
|
||||
'bg': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Croatia
|
||||
'l10n_hr.l10n_hr_chart_template_rrif': {
|
||||
'hr': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Cyprus
|
||||
'CY': {
|
||||
'cy': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Czech - Done in 13.0 - CoA not available yet
|
||||
'l10n_cz.cz_chart_template': {
|
||||
'cz': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Denmark
|
||||
'l10n_dk.dk_chart_template': {
|
||||
'invoice_base_tag': None,
|
||||
'dk': {
|
||||
'invoice_base_tag': 'l10n_dk.account_tax_report_line_section_b_products_non_eu_tag',
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Estonia - Done in 13.0 - CoA not available yet
|
||||
'EE': {
|
||||
'ee': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Finland
|
||||
'l10n_fi.fi_chart_template': {
|
||||
'fi': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# France
|
||||
'l10n_fr.l10n_fr_pcg_chart_template': {
|
||||
'invoice_base_tag': 'l10n_fr.tax_report_E3_tag',
|
||||
'fr': {
|
||||
'invoice_base_tag': 'l10n_fr_account.tax_report_E3_tag',
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': 'l10n_fr.tax_report_F8_tag',
|
||||
'refund_base_tag': 'l10n_fr_account.tax_report_F8_tag',
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Germany SKR03
|
||||
'l10n_de_skr03.l10n_de_chart_template': {
|
||||
'de_skr03': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Germany SKR04
|
||||
'l10n_de_skr04.l10n_chart_de_skr04': {
|
||||
'de_skr04': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Greece
|
||||
'l10n_gr.l10n_gr_chart_template': {
|
||||
'gr': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Hungary
|
||||
'l10n_hu.hungarian_chart_template': {
|
||||
'hu': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Ireland
|
||||
'l10n_ie.l10n_ie': {
|
||||
'ie': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Italy
|
||||
'l10n_it.l10n_it_chart_template_generic': {
|
||||
'it': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Latvia
|
||||
'LV': {
|
||||
'lv': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Lithuania
|
||||
'l10n_lt.account_chart_template_lithuania': {
|
||||
'lt': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Luxembourg
|
||||
'l10n_lu.lu_2011_chart_1': {
|
||||
'lu': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Malta - Done in 13.0 - CoA not available yet
|
||||
'MT': {
|
||||
'mt': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Netherlands
|
||||
'l10n_nl.l10nnl_chart_template': {
|
||||
'nl': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Poland
|
||||
'l10n_pl.pl_chart_template': {
|
||||
'pl': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Portugal
|
||||
'l10n_pt.pt_chart_template': {
|
||||
'pt': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Romania
|
||||
'l10n_ro.ro_chart_template': {
|
||||
'ro': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Slovakia - Done in 13.0 - CoA not available yet
|
||||
'l10n_sk.sk_chart_template': {
|
||||
'sk': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Slovenia
|
||||
'l10n_si.gd_chart': {
|
||||
'si': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Spain
|
||||
'l10n_es.account_chart_template_common': {
|
||||
'invoice_base_tag': "l10n_es.mod_303_124",
|
||||
'es_assec': {
|
||||
'invoice_base_tag': "l10n_es.mod_303_casilla_124_balance",
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
'es_common': {
|
||||
'invoice_base_tag': "l10n_es.mod_303_casilla_124_balance",
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
'es_full': {
|
||||
'invoice_base_tag': "l10n_es.mod_303_casilla_124_balance",
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
'es_pymes': {
|
||||
'invoice_base_tag': "l10n_es.mod_303_casilla_124_balance",
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
'refund_tax_tag': None,
|
||||
},
|
||||
# Sweden
|
||||
'l10n_se.l10nse_chart_template': {
|
||||
'se': {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +1,17 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
import re
|
||||
from itertools import product
|
||||
|
||||
from odoo import Command, api, models
|
||||
from odoo import Command, _, api, models
|
||||
from odoo.exceptions import RedirectWarning
|
||||
from .eu_account_map import EU_ACCOUNT_MAP
|
||||
from .eu_field_map import EU_FIELD_MAP
|
||||
from .eu_tag_map import EU_TAG_MAP
|
||||
from .eu_tax_map import EU_TAX_MAP
|
||||
|
||||
|
||||
class Company(models.Model):
|
||||
class ResCompany(models.Model):
|
||||
_inherit = 'res.company'
|
||||
|
||||
@api.model
|
||||
|
|
@ -22,27 +27,80 @@ class Company(models.Model):
|
|||
'''
|
||||
eu_countries = self.env.ref('base.europe').country_ids
|
||||
oss_tax_groups = self.env['ir.model.data'].search([
|
||||
('module', '=', 'l10n_eu_oss'),
|
||||
('name', 'ilike', 'oss_tax_group'),
|
||||
('module', '=', 'account'),
|
||||
('model', '=', 'account.tax.group')])
|
||||
for company in self:
|
||||
# instantiate OSS taxes on the first branch with a TAX ID, default on root company
|
||||
company = company.parent_ids.filtered(lambda c: c.vat)[-1:] or company.root_id
|
||||
invoice_repartition_lines, refund_repartition_lines = company._get_repartition_lines_oss()
|
||||
taxes = self.env['account.tax'].search([
|
||||
*self.env['account.tax']._check_company_domain(company),
|
||||
('type_tax_use', '=', 'sale'),
|
||||
('amount_type', '=', 'percent'),
|
||||
('company_id', '=', company.id),
|
||||
('country_id', '=', company.account_fiscal_country_id.id),
|
||||
('tax_group_id', 'not in', oss_tax_groups.mapped('res_id'))])
|
||||
('tax_group_id', 'not in', oss_tax_groups.mapped('res_id'))
|
||||
])
|
||||
|
||||
multi_tax_reports_countries_fpos = self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id),
|
||||
('foreign_vat', '!=', False),
|
||||
])
|
||||
oss_countries = eu_countries - company.account_fiscal_country_id - multi_tax_reports_countries_fpos.country_id
|
||||
tg = self.env['account.tax.group'].search([
|
||||
*self.env['account.tax.group']._check_company_domain(company),
|
||||
('tax_payable_account_id', '!=', False),
|
||||
('tax_receivable_account_id', '!=', False)], limit=1)
|
||||
if not tg:
|
||||
raise RedirectWarning(
|
||||
self.env._("To properly configure OSS tax mapping, the domestic tax group you are using must have the necessary accounts defined."),
|
||||
self.env['account.tax.group'].search(self.env['account.tax.group']._check_company_domain(company))._get_records_action(name=self.env._("Tax Groups")),
|
||||
self.env._("View Tax Groups"),
|
||||
)
|
||||
default_oss_payable_account = self.env['account.account']
|
||||
|
||||
eu_vat_country_group_id = self.env.ref('account.europe_vat').id
|
||||
eu_b2c_fp = self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id),
|
||||
('country_group_id', '=', eu_vat_country_group_id),
|
||||
('auto_apply', '=', True),
|
||||
('vat_required', '=', False),
|
||||
], limit=1)
|
||||
offset = 1
|
||||
if eu_b2c_fp:
|
||||
# oss fp must come before eu b2c fp
|
||||
oss_fp_sequence = eu_b2c_fp.sequence
|
||||
to_bump = eu_b2c_fp | self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id),
|
||||
('sequence', '>', oss_fp_sequence),
|
||||
])
|
||||
else:
|
||||
eu_b2b_fp = self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id),
|
||||
('country_group_id', '=', eu_vat_country_group_id),
|
||||
('auto_apply', '=', True),
|
||||
('vat_required', '=', True),
|
||||
], limit=1)
|
||||
if eu_b2b_fp:
|
||||
# oss fp must come after eu b2b fp
|
||||
oss_fp_sequence = eu_b2b_fp.sequence + 1
|
||||
offset = 2
|
||||
to_bump = self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id),
|
||||
('sequence', '>', eu_b2b_fp.sequence),
|
||||
])
|
||||
else:
|
||||
oss_fp_sequence = self.env['account.fiscal.position'].search([
|
||||
('company_id', '=', company.id)],
|
||||
limit=1, order='sequence desc',
|
||||
).sequence + 1
|
||||
to_bump = []
|
||||
for fp in to_bump:
|
||||
fp.sequence += offset
|
||||
|
||||
for destination_country in oss_countries:
|
||||
mapping = []
|
||||
fpos = self.env['account.fiscal.position'].search([
|
||||
('country_id', '=', destination_country.id),
|
||||
('company_id', '=', company.id),
|
||||
('country_id', '=', destination_country.id),
|
||||
('auto_apply', '=', True),
|
||||
('vat_required', '=', False),
|
||||
('foreign_vat', '=', False)], limit=1)
|
||||
|
|
@ -52,86 +110,138 @@ class Company(models.Model):
|
|||
'country_id': destination_country.id,
|
||||
'company_id': company.id,
|
||||
'auto_apply': True,
|
||||
'sequence': oss_fp_sequence,
|
||||
})
|
||||
|
||||
foreign_taxes = {tax.amount: tax for tax in fpos.tax_ids.tax_dest_id if tax.amount_type == 'percent'}
|
||||
foreign_taxes = {tax.amount: tax for tax in fpos.tax_ids if tax.amount_type == 'percent'}
|
||||
|
||||
for domestic_tax in taxes:
|
||||
tax_amount = EU_TAX_MAP.get((company.account_fiscal_country_id.code, domestic_tax.amount, destination_country.code), False)
|
||||
if tax_amount and domestic_tax not in fpos.tax_ids.tax_src_id:
|
||||
tax_amount = EU_TAX_MAP.get((domestic_tax.country_id.code, domestic_tax.amount, destination_country.code), False)
|
||||
if tax_amount and domestic_tax not in fpos.tax_ids.original_tax_ids:
|
||||
if not foreign_taxes.get(tax_amount, False):
|
||||
oss_tax_group_local_xml_id = f"oss_tax_group_{str(tax_amount).replace('.', '_')}"
|
||||
if not self.env.ref(f"l10n_eu_oss.{oss_tax_group_local_xml_id}", raise_if_not_found=False):
|
||||
oss_tax_group_local_xml_id = f"{company.id}_oss_tax_group_{str(tax_amount).replace('.', '_')}_{company.account_fiscal_country_id.code}"
|
||||
if not self.env.ref(f"account.{oss_tax_group_local_xml_id}", raise_if_not_found=False):
|
||||
if not default_oss_payable_account:
|
||||
default_oss_payable_account = self.env['account.account'].create([{
|
||||
'name': f'{tg.tax_payable_account_id.name} OSS',
|
||||
'code': self.env['account.account']._search_new_account_code(tg.tax_payable_account_id.with_company(company).code),
|
||||
'account_type': tg.tax_payable_account_id.account_type,
|
||||
'reconcile': tg.tax_payable_account_id.reconcile,
|
||||
'non_trade': tg.tax_payable_account_id.non_trade,
|
||||
'company_ids': [Command.link(company.id)],
|
||||
}])
|
||||
default_oss_receivable_account = self.env['account.account'].create([{
|
||||
'name': f'{tg.tax_receivable_account_id.name} OSS',
|
||||
'code': self.env['account.account']._search_new_account_code(tg.tax_receivable_account_id.with_company(company).code),
|
||||
'account_type': tg.tax_receivable_account_id.account_type,
|
||||
'reconcile': tg.tax_receivable_account_id.reconcile,
|
||||
'non_trade': tg.tax_receivable_account_id.non_trade,
|
||||
'company_ids': [Command.link(company.id)],
|
||||
}])
|
||||
|
||||
self.env['ir.model.data'].create({
|
||||
'name': oss_tax_group_local_xml_id,
|
||||
'module': 'l10n_eu_oss',
|
||||
'module': 'account',
|
||||
'model': 'account.tax.group',
|
||||
'res_id': self.env['account.tax.group'].create({'name': f'OSS {tax_amount}%'}).id,
|
||||
'res_id': self.env['account.tax.group'].create({
|
||||
'name': f'OSS {tax_amount}%',
|
||||
'country_id': company.account_fiscal_country_id.id,
|
||||
'company_id': company.id,
|
||||
'tax_payable_account_id': default_oss_payable_account.id,
|
||||
'tax_receivable_account_id': default_oss_receivable_account.id,
|
||||
}).id,
|
||||
'noupdate': True,
|
||||
})
|
||||
foreign_tax_name = f'{tax_amount}% {destination_country.code} {destination_country.vat_label}'
|
||||
existing_foreign_tax = self.env['account.tax'].search([
|
||||
('company_id', 'child_of', company.root_id.id),
|
||||
('name', 'like', foreign_tax_name),
|
||||
('type_tax_use', '=', 'sale'),
|
||||
('country_id', '=', company.account_fiscal_country_id.id),
|
||||
], order='sequence,id desc', limit=1)
|
||||
foreign_tax_copy_name = existing_foreign_tax and _('%(tax_name)s (Copy)', tax_name=existing_foreign_tax.name)
|
||||
|
||||
extra_fields = company._get_country_specific_account_tax_fields()
|
||||
foreign_taxes[tax_amount] = self.env['account.tax'].create({
|
||||
'name': f'{tax_amount}% {destination_country.code} {destination_country.vat_label}',
|
||||
'name': foreign_tax_copy_name or foreign_tax_name,
|
||||
'amount': tax_amount,
|
||||
'invoice_repartition_line_ids': invoice_repartition_lines,
|
||||
'refund_repartition_line_ids': refund_repartition_lines,
|
||||
'type_tax_use': 'sale',
|
||||
'description': f"{tax_amount}%",
|
||||
'tax_group_id': self.env.ref(f'l10n_eu_oss.{oss_tax_group_local_xml_id}').id,
|
||||
'tax_group_id': self.env.ref(f'account.{oss_tax_group_local_xml_id}').id,
|
||||
'country_id': company.account_fiscal_country_id.id,
|
||||
'sequence': 1000,
|
||||
'company_id': company.id,
|
||||
'fiscal_position_ids': [Command.link(fpos.id)],
|
||||
'original_tax_ids': [Command.link(domestic_tax.id)],
|
||||
**extra_fields,
|
||||
})
|
||||
mapping.append((0, 0, {'tax_src_id': domestic_tax.id, 'tax_dest_id': foreign_taxes[tax_amount].id}))
|
||||
if mapping:
|
||||
fpos.write({
|
||||
'tax_ids': mapping
|
||||
})
|
||||
|
||||
def _get_repartition_lines_oss(self):
|
||||
self.ensure_one()
|
||||
defaults = self.env['account.tax'].with_company(self).default_get(['invoice_repartition_line_ids', 'refund_repartition_line_ids'])
|
||||
oss_account, oss_tags = self._get_oss_account(), self._get_oss_tags()
|
||||
base_line, tax_line, vals = 0, 1, 2
|
||||
for doc_type in 'invoice', 'refund':
|
||||
repartition_line_ids = {}
|
||||
for doc_type, rep_type in product(('invoice', 'refund'), ('base', 'tax')):
|
||||
vals = {'document_type': doc_type, 'repartition_type': rep_type, 'tag_ids': [Command.link(tag.id) for tag in oss_tags[f'{doc_type}_{rep_type}_tag']]}
|
||||
if oss_account:
|
||||
defaults[f'{doc_type}_repartition_line_ids'][tax_line][vals]['account_id'] = oss_account.id
|
||||
if oss_tags:
|
||||
defaults[f'{doc_type}_repartition_line_ids'][base_line][vals]['tag_ids'] += [Command.link(tag.id) for tag in oss_tags[f'{doc_type}_base_tag']]
|
||||
defaults[f'{doc_type}_repartition_line_ids'][tax_line][vals]['tag_ids'] += [Command.link(tag.id) for tag in oss_tags[f'{doc_type}_tax_tag']]
|
||||
return defaults['invoice_repartition_line_ids'], defaults['refund_repartition_line_ids']
|
||||
vals['account_id'] = oss_account.id
|
||||
repartition_line_ids.setdefault(doc_type, []).append(Command.create(vals))
|
||||
return repartition_line_ids['invoice'], repartition_line_ids['refund']
|
||||
|
||||
def _get_oss_account(self):
|
||||
self.ensure_one()
|
||||
if not self.env.ref(f'l10n_eu_oss.oss_tax_account_company_{self.id}', raise_if_not_found=False):
|
||||
if not (oss_account := self.env.ref(f'l10n_eu_oss.oss_tax_account_company_{self.id}', raise_if_not_found=False)):
|
||||
oss_account = self._create_oss_account()
|
||||
return oss_account
|
||||
|
||||
def _create_oss_account(self):
|
||||
if (
|
||||
self.chart_template in EU_ACCOUNT_MAP
|
||||
and (oss_account_if_exists :=
|
||||
self.env['account.account'].with_company(self).search([
|
||||
('company_ids', '=', self.id),
|
||||
('code', '=', EU_ACCOUNT_MAP[self.chart_template])
|
||||
])
|
||||
)
|
||||
):
|
||||
oss_account = oss_account_if_exists
|
||||
else:
|
||||
sales_tax_accounts = self.env['account.tax'].search([
|
||||
*self.env['account.tax']._check_company_domain(self),
|
||||
('type_tax_use', '=', 'sale'),
|
||||
('company_id', '=', self.id)
|
||||
]).invoice_repartition_line_ids.mapped('account_id')
|
||||
if not sales_tax_accounts:
|
||||
return False
|
||||
new_code = self.env['account.account']._search_new_account_code(self, len(sales_tax_accounts[0].code), sales_tax_accounts[0].code[:-2])
|
||||
new_code = self.env['account.account'].with_company(self)._search_new_account_code(sales_tax_accounts[0].with_company(self).code)
|
||||
oss_account = self.env['account.account'].create({
|
||||
'name': f'{sales_tax_accounts[0].name} OSS',
|
||||
'code': new_code,
|
||||
'account_type': sales_tax_accounts[0].account_type,
|
||||
'company_id': self.id,
|
||||
'company_ids': [Command.link(self.id)],
|
||||
'tag_ids': [(4, tag.id, 0) for tag in sales_tax_accounts[0].tag_ids],
|
||||
})
|
||||
self.env['ir.model.data'].create({
|
||||
'name': f'oss_tax_account_company_{self.id}',
|
||||
'module': 'l10n_eu_oss',
|
||||
'model': 'account.account',
|
||||
'res_id': oss_account.id,
|
||||
'noupdate': True,
|
||||
})
|
||||
return self.env.ref(f'l10n_eu_oss.oss_tax_account_company_{self.id}')
|
||||
})
|
||||
self.env['ir.model.data'].create({
|
||||
'name': f'oss_tax_account_company_{self.id}',
|
||||
'module': 'l10n_eu_oss',
|
||||
'model': 'account.account',
|
||||
'res_id': oss_account.id,
|
||||
'noupdate': True,
|
||||
})
|
||||
return oss_account
|
||||
|
||||
def _get_oss_tags(self):
|
||||
oss_tag = self.env.ref('l10n_eu_oss.tag_oss')
|
||||
chart_template_xml_id = ''
|
||||
if self.chart_template_id:
|
||||
[chart_template_xml_id] = self.chart_template_id.parent_id.get_external_id().values() or self.chart_template_id.get_external_id().values()
|
||||
tag_for_country = EU_TAG_MAP.get(chart_template_xml_id, {
|
||||
country = self._get_country_from_vat()
|
||||
chart_template = self.env['account.chart.template']._guess_chart_template(country)
|
||||
|
||||
# If that l10n module isn't installed, it means the company doesn't use any tax report for that country
|
||||
# and thus hasn't nor need those tax report tag
|
||||
is_coa_module_installed = self.env['account.chart.template']._get_chart_template_mapping()[chart_template]['installed']
|
||||
if not is_coa_module_installed:
|
||||
chart_template = None
|
||||
|
||||
tag_for_country = EU_TAG_MAP.get(chart_template, {
|
||||
'invoice_base_tag': None,
|
||||
'invoice_tax_tag': None,
|
||||
'refund_base_tag': None,
|
||||
|
|
@ -142,7 +252,29 @@ class Company(models.Model):
|
|||
for repartition_line_key, tag_xml_id in tag_for_country.items():
|
||||
tag = self.env.ref(tag_xml_id) if tag_xml_id else self.env['account.account.tag']
|
||||
if tag and tag._name == "account.report.expression":
|
||||
tag = tag._get_matching_tags("+")
|
||||
tag = tag._get_matching_tags()
|
||||
mapping[repartition_line_key] = tag + oss_tag
|
||||
|
||||
return mapping
|
||||
|
||||
def _get_country_from_vat(self):
|
||||
self.ensure_one()
|
||||
country = None
|
||||
# Try to use the VAT country if vat is set and easily guessable
|
||||
if self.vat:
|
||||
country_prefix = re.match(r'^[a-zA-Z]{2}|^', self.vat).group()
|
||||
if country_prefix:
|
||||
country = self.env['res.country'].search([('code', '=', country_prefix)], limit=1)
|
||||
# otherwise fallback on the fiscal country
|
||||
if not country:
|
||||
country = self.account_fiscal_country_id
|
||||
return country
|
||||
|
||||
def _get_country_specific_account_tax_fields(self):
|
||||
country = self._get_country_from_vat()
|
||||
chart_template = self.env['account.chart.template']._guess_chart_template(country)
|
||||
is_coa_module_installed = self.env['account.chart.template']._get_chart_template_mapping()[chart_template]['installed']
|
||||
|
||||
if is_coa_module_installed:
|
||||
return EU_FIELD_MAP.get(chart_template, {})
|
||||
return {}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@ class ResConfigSettings(models.TransientModel):
|
|||
|
||||
l10n_eu_oss_eu_country = fields.Boolean('Is European country?', compute='_compute_l10n_eu_oss_european_country')
|
||||
|
||||
def refresh_eu_tax_mapping(self):
|
||||
self.env.companies._map_eu_taxes()
|
||||
|
||||
@api.depends('company_id')
|
||||
def _compute_l10n_eu_oss_european_country(self):
|
||||
european_countries = self.env.ref('base.europe').country_ids
|
||||
|
|
|
|||
|
|
@ -1,40 +1,56 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo.addons.l10n_eu_oss.models.eu_tag_map import EU_TAG_MAP
|
||||
from odoo import Command
|
||||
from odoo.exceptions import RedirectWarning
|
||||
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
||||
from odoo.addons.l10n_eu_oss.models.eu_tag_map import EU_TAG_MAP
|
||||
from odoo.tests import tagged
|
||||
|
||||
|
||||
@tagged('post_install', 'post_install_l10n', '-at_install')
|
||||
class OssTemplateTestCase(AccountTestInvoicingCommon):
|
||||
class TestOSSBelgium(AccountTestInvoicingCommon):
|
||||
|
||||
@classmethod
|
||||
def load_specific_chart_template(cls, chart_template_ref):
|
||||
try:
|
||||
super().setUpClass(chart_template_ref=chart_template_ref)
|
||||
except ValueError as e:
|
||||
if e.args[0] == f"External ID not found in the system: {chart_template_ref}":
|
||||
cls.skipTest(cls, reason=f"The {chart_template_ref} CoA is required for this testSuite but the corresponding localization module isn't installed")
|
||||
else:
|
||||
raise e
|
||||
@AccountTestInvoicingCommon.setup_country('be')
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.root_company = cls.company_data['company']
|
||||
cls.root_company.child_ids = [Command.create({'name': 'Branch A'})]
|
||||
cls.cr.precommit.run() # load the CoA
|
||||
cls.child_company = cls.root_company.child_ids
|
||||
cls.child_company.child_ids = [Command.create({'name': 'sub Branch B'})]
|
||||
cls.sub_child_company = cls.root_company.child_ids.child_ids
|
||||
cls.cr.precommit.run() # load the CoA
|
||||
|
||||
@tagged('post_install', 'post_install_l10n', '-at_install')
|
||||
class TestOSSBelgium(OssTemplateTestCase):
|
||||
def test_oss_tax_should_be_instantiated_on_root_company_if_no_tax_id_on_sub_branch(self):
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
# simulate sub child selection in the switcher
|
||||
self.env.user.company_id, self.env.user.company_ids = self.sub_child_company, self.sub_child_company
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, chart_template_ref='l10n_be.l10nbe_chart_template'):
|
||||
cls.load_specific_chart_template(chart_template_ref)
|
||||
cls.company_data['company'].country_id = cls.env.ref('base.be')
|
||||
cls.company_data['company']._map_eu_taxes()
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.sub_child_company.country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%"{another_eu_country_code}"%')], limit=1)
|
||||
self.assertTrue(tax_oss)
|
||||
self.assertEqual(tax_oss.company_id, self.root_company)
|
||||
|
||||
def test_oss_tax_should_be_instantiated_on_first_branch_having_a_tax_id(self):
|
||||
# simulate sub child selection in the switcher
|
||||
self.env.user.company_id, self.env.user.company_ids = self.sub_child_company, self.sub_child_company
|
||||
self.sub_child_company.vat = "BE0477472701"
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.sub_child_company.country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%{another_eu_country_code}%')], limit=1)
|
||||
self.assertTrue(tax_oss)
|
||||
self.assertEqual(tax_oss.company_id, self.sub_child_company)
|
||||
|
||||
def test_country_tag_from_belgium(self):
|
||||
"""
|
||||
This test ensure that xml_id from `account.tax.report.line` in the EU_TAG_MAP are processed correctly by the oss
|
||||
tax creation mechanism.
|
||||
"""
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
# get an eu country which isn't the current one:
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.company_data['company'].country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%{another_eu_country_code}%')], limit=1)
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%"{another_eu_country_code}"%')], limit=1)
|
||||
|
||||
for doc_type, report_expression_xml_id in (
|
||||
("invoice", "l10n_be.tax_report_line_47_tag"),
|
||||
|
|
@ -45,20 +61,34 @@ class TestOSSBelgium(OssTemplateTestCase):
|
|||
.filtered(lambda x: x.repartition_type == 'base')\
|
||||
.tag_ids
|
||||
|
||||
expected_tag_id = self.env.ref(report_expression_xml_id)\
|
||||
._get_matching_tags()\
|
||||
.filtered(lambda t: not t.tax_negate)
|
||||
expected_tag_id = self.env.ref(report_expression_xml_id)._get_matching_tags()
|
||||
|
||||
self.assertIn(expected_tag_id, oss_tag_id, f"{doc_type} tag from Belgian CoA not correctly linked")
|
||||
|
||||
def test_oss_tax_copied_name(self):
|
||||
"""
|
||||
This test ensures that when refreshing the mapping, if a tax that already exists has to be created, it is created
|
||||
with (Copy) in the name instead of stopping the refresh process.
|
||||
"""
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
# get the fiscal position for another eu country
|
||||
another_eu_country = (self.env.ref('base.europe').country_ids - self.company_data['company'].country_id)[0]
|
||||
fpos = self.env['account.fiscal.position'].search([('country_id', '=', another_eu_country.id)], limit=1)
|
||||
original_name = fpos.tax_ids[0].name
|
||||
fpos.unlink()
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
fpos = self.env['account.fiscal.position'].search([('country_id', '=', another_eu_country.id)], limit=1)
|
||||
new_name = fpos.tax_ids[0].name
|
||||
self.assertEqual(new_name, f"{original_name} (Copy)", "The tax name should be the same as the original one with (Copy) appended to it.")
|
||||
|
||||
|
||||
@tagged('post_install', 'post_install_l10n', '-at_install')
|
||||
class TestOSSSpain(OssTemplateTestCase):
|
||||
class TestOSSSpain(AccountTestInvoicingCommon):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, chart_template_ref='l10n_es.account_chart_template_common'):
|
||||
cls.load_specific_chart_template(chart_template_ref)
|
||||
cls.company_data['company'].country_id = cls.env.ref('base.es')
|
||||
@AccountTestInvoicingCommon.setup_country('es')
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.company_data['company']._map_eu_taxes()
|
||||
|
||||
def test_country_tag_from_spain(self):
|
||||
|
|
@ -68,51 +98,118 @@ class TestOSSSpain(OssTemplateTestCase):
|
|||
"""
|
||||
# get an eu country which isn't the current one:
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.company_data['company'].country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%{another_eu_country_code}%')], limit=1)
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%"{another_eu_country_code}"%')], limit=1)
|
||||
|
||||
for doc_type, tag_xml_id in (
|
||||
("invoice", "l10n_es.mod_303_124"),
|
||||
("invoice", "l10n_es.mod_303_casilla_124_balance"),
|
||||
):
|
||||
with self.subTest(doc_type=doc_type, report_line_xml_id=tag_xml_id):
|
||||
oss_tag_id = tax_oss[f"{doc_type}_repartition_line_ids"]\
|
||||
.filtered(lambda x: x.repartition_type == 'base')\
|
||||
.tag_ids
|
||||
|
||||
expected_tag_id = self.env.ref(tag_xml_id)
|
||||
expected_tag_id = self.env.ref(tag_xml_id)._get_matching_tags()
|
||||
|
||||
self.assertIn(expected_tag_id, oss_tag_id, f"{doc_type} tag from Spanish CoA not correctly linked")
|
||||
|
||||
def test_l10n_es_type_oss_tax(self):
|
||||
"""
|
||||
Test that the foreign oss taxes generate with l10n_es_type as no_sujeto_loc
|
||||
"""
|
||||
if self.env['ir.module.module']._get('l10n_es').state != 'installed':
|
||||
self.skipTest(reason="L10n_es is required for this test.")
|
||||
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.company_data['company'].country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%"{another_eu_country_code}"%')], limit=1)
|
||||
|
||||
self.assertEqual(tax_oss.l10n_es_type, 'no_sujeto_loc')
|
||||
|
||||
|
||||
@tagged('post_install', 'post_install_l10n', '-at_install')
|
||||
class TestOSSUSA(OssTemplateTestCase):
|
||||
class TestOSSUSA(AccountTestInvoicingCommon):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls, chart_template_ref=None):
|
||||
cls.load_specific_chart_template(chart_template_ref)
|
||||
cls.company_data['company'].country_id = cls.env.ref('base.us')
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.company_data['company']._map_eu_taxes()
|
||||
|
||||
def test_no_oss_tax(self):
|
||||
# get an eu country which isn't the current one:
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.company_data['company'].country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%{another_eu_country_code}%')], limit=1)
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%"{another_eu_country_code}"%')], limit=1)
|
||||
|
||||
self.assertFalse(len(tax_oss), "OSS tax shouldn't be instanced on a US company")
|
||||
|
||||
def test_oss_tax_on_eu_branch(self):
|
||||
"""Ensure a company outside EU can have an EU branch with an EU VAT and that the OSS feature could be used on those"""
|
||||
# This test can only be run if l10n_be is installed
|
||||
if not self.env['ir.module.module'].search_count([('name', '=', 'l10n_be'), ('state', '=', 'installed')], limit=1):
|
||||
self.skipTest(reason="The belgian CoA is required for this test to be performed but the corresponding localization module isn't installed")
|
||||
|
||||
self.root_company = self.company_data['company']
|
||||
self.root_company.child_ids = [Command.create({'name': 'Branch A'})]
|
||||
self.cr.precommit.run() # load the CoA
|
||||
self.child_company = self.root_company.child_ids
|
||||
self.child_company.child_ids = [Command.create({'name': 'sub Branch B'})]
|
||||
self.sub_child_company = self.root_company.child_ids.child_ids
|
||||
self.cr.precommit.run() # load the CoA
|
||||
# simulate sub child selection in the switcher
|
||||
self.env.user.company_id, self.env.user.company_ids = self.sub_child_company, self.sub_child_company
|
||||
|
||||
foreign_country = self.env.ref('base.be')
|
||||
foreign_state = self.env.ref('base.state_be_1')
|
||||
self.sub_child_company.country_id = foreign_country
|
||||
self.sub_child_company.account_fiscal_country_id = self.sub_child_company.country_id
|
||||
self.sub_child_company.vat = "BE0477472701"
|
||||
|
||||
self.foreign_vat_fpos = self.env["account.fiscal.position"].create({
|
||||
"name": "sub branch BE foreign VAT",
|
||||
"auto_apply": True,
|
||||
"country_id": foreign_country.id,
|
||||
"state_ids": foreign_state.ids,
|
||||
"foreign_vat": "BE0477472701",
|
||||
"company_id": self.sub_child_company.id,
|
||||
})
|
||||
self.foreign_vat_fpos.action_create_foreign_taxes()
|
||||
|
||||
self.sub_child_company._map_eu_taxes()
|
||||
|
||||
another_eu_country_code = (self.env.ref('base.europe').country_ids - self.sub_child_company.country_id)[0].code
|
||||
tax_oss = self.env['account.tax'].search([('name', 'ilike', f'%{another_eu_country_code}%')], limit=1)
|
||||
|
||||
self.assertTrue(tax_oss)
|
||||
self.assertEqual(tax_oss.company_id, self.sub_child_company)
|
||||
self.assertEqual(tax_oss.country_id, self.foreign_vat_fpos.country_id)
|
||||
|
||||
|
||||
@tagged('post_install', 'post_install_l10n', '-at_install')
|
||||
class TestOSSMap(OssTemplateTestCase):
|
||||
class TestOSSMap(AccountTestInvoicingCommon):
|
||||
|
||||
def test_oss_eu_tag_map(self):
|
||||
""" Checks that the xml_id referenced in the map are correct.
|
||||
In case of failure display the couple (chart_template_xml_id, tax_report_line_xml_id).
|
||||
The test doesn't fail for unreferenced char_template or unreferenced tax_report_line.
|
||||
"""
|
||||
chart_templates = self.env['account.chart.template'].search([])
|
||||
for chart_template in chart_templates:
|
||||
[chart_template_xml_id] = chart_template.get_external_id().values()
|
||||
oss_tags = EU_TAG_MAP.get(chart_template_xml_id, {})
|
||||
chart_templates = self.env['account.chart.template']._get_chart_template_mapping()
|
||||
for chart_template, template_vals in chart_templates.items():
|
||||
if self.env.ref(f"base.module_{template_vals['module']}").state != 'installed':
|
||||
continue
|
||||
oss_tags = EU_TAG_MAP.get(chart_template, {})
|
||||
for tax_report_line_xml_id in filter(lambda d: d, oss_tags.values()):
|
||||
with self.subTest(chart_template_xml_id=chart_template_xml_id, tax_report_line_xml_id=tax_report_line_xml_id):
|
||||
with self.subTest(chart_template=chart_template, tax_report_line_xml_id=tax_report_line_xml_id):
|
||||
tag = self.env.ref(tax_report_line_xml_id, raise_if_not_found=False)
|
||||
self.assertIsNotNone(tag, f"The following xml_id is incorrect in EU_TAG_MAP.py:{tax_report_line_xml_id}")
|
||||
self.assertIsNotNone(tag, f"The following xml_id is incorrect in EU_TAG_MAP.py: {tax_report_line_xml_id}")
|
||||
|
||||
def test_oss_missing_account_in_tax_groups(self):
|
||||
""" Checks that a warning is thrown in case of missing payable
|
||||
and receivable accounts from all company's tax groups instead
|
||||
of traceback error.
|
||||
"""
|
||||
company = self.company_data['company']
|
||||
TaxGroup = self.env['account.tax.group']
|
||||
for tax_group in TaxGroup.search(TaxGroup._check_company_domain(company)):
|
||||
tax_group.tax_payable_account_id = False
|
||||
tax_group.tax_receivable_account_id = False
|
||||
|
||||
with self.assertRaises(RedirectWarning):
|
||||
company._map_eu_taxes()
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
<?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.l10n.eu.service</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<div name="l10n_eu_oss_right_pane" position="inside">
|
||||
<div class="content-group" attrs="{'invisible': [('module_l10n_eu_oss', '=', False)]}">
|
||||
<div class="mt8">
|
||||
<button type="object" name="refresh_eu_tax_mapping" icon="fa-refresh" string="Refresh tax mapping" class="btn-link"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
[project]
|
||||
name = "odoo-bringout-oca-ocb-l10n_eu_oss"
|
||||
version = "16.0.0"
|
||||
description = "EU One Stop Shop (OSS) - Odoo addon"
|
||||
description = "EU One Stop Shop (OSS) -
|
||||
Odoo addon
|
||||
"
|
||||
authors = [
|
||||
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
|
||||
]
|
||||
dependencies = [
|
||||
"odoo-bringout-oca-ocb-account>=16.0.0",
|
||||
"odoo-bringout-oca-ocb-account>=19.0.0",
|
||||
"requests>=2.25.1"
|
||||
]
|
||||
readme = "README.md"
|
||||
|
|
@ -16,7 +18,7 @@ classifiers = [
|
|||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Topic :: Office/Business",
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue