Initial commit: OCA Financial packages (186 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:04 +02:00
commit 3e0e8473fb
8757 changed files with 947473 additions and 0 deletions

View file

@ -0,0 +1,44 @@
# Account Invoice - Change Currency
Odoo addon: account_invoice_change_currency
## Installation
```bash
pip install odoo-bringout-oca-account-invoicing-account_invoice_change_currency
```
## Dependencies
This addon depends on:
- account
## Manifest Information
- **Name**: Account Invoice - Change Currency
- **Version**: 16.0.1.0.1
- **Category**: Accounting & Finance
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/account-invoicing](https://github.com/OCA/account-invoicing) branch 16.0, addon `account_invoice_change_currency`.
## License
This package maintains the original AGPL-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

View file

@ -0,0 +1,120 @@
=================================
Account Invoice - Change Currency
=================================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0fdcd1de7017598fafd8cf7524b2dc0987b55d004f59480232d49f1c1231797e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github
:target: https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_change_currency
:alt: OCA/account-invoicing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-account_invoice_change_currency
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
==================================
Update currency of Account Invoice
==================================
This module allows users to update the currency of Invoices (in draft state) by
a button Update Currency at the invoice form.
After update to new currency, all the unit prices of invoice lines will be
recomputed to new currency, thus the Total amounts (tax and without tax) of
Invoice will be in the new currency also
Also this module allows user to set a custom rate that will be take to recompute
all lines. By default the custom rate proposed is the rate between invoice
currency and base currency (company currency), after the first coversion the
custom rate will be proposed by default between last currency and invoice
currency.
**Table of contents**
.. contents::
:local:
Configuration
=============
The exchange rate will be configured in
Accounting > Configuration > Multi-Currencies > Currencies
Usage
=====
To use this module, the user must be in group Accounting & Finance / Adviser
to be able to update currency of Invoices
Note : you have to save new invoice before change currency
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-invoicing/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-invoicing/issues/new?body=module:%20account_invoice_change_currency%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Vauxoo
* Komit Consulting
Contributors
~~~~~~~~~~~~
* Duc, Dao Dong <duc.dd@komit-consulting.com> (https://komit-consulting.com)
* Hugo Adan <hugo@vauxoo.com>
* Saran Lim. <saranl@ecosoft.co.th>
* Rolando Duarte <rolando@vauxoo.com>
* Luis J. Salvatierra <luis.salvatierra@factorlibre.com> (https://factorlibre.com)
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
.. |maintainer-luisg123v| image:: https://github.com/luisg123v.png?size=40px
:target: https://github.com/luisg123v
:alt: luisg123v
.. |maintainer-rolandojduartem| image:: https://github.com/rolandojduartem.png?size=40px
:target: https://github.com/rolandojduartem
:alt: rolandojduartem
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-luisg123v| |maintainer-rolandojduartem|
This module is part of the `OCA/account-invoicing <https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_change_currency>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,4 @@
# Copyright 2017 Komit <http://komit-consulting.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import models
from .hooks import pre_init_hook

View file

@ -0,0 +1,18 @@
# Copyright 2017 Komit <http://komit-consulting.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Account Invoice - Change Currency",
"version": "16.0.1.0.1",
"category": "Accounting & Finance",
"summary": "Allows to change currency of Invoice by wizard",
"author": "Vauxoo, Komit Consulting, Odoo Community Association (OCA)",
"maintainers": ["luisg123v", "rolandojduartem"],
"website": "https://github.com/OCA/account-invoicing",
"license": "AGPL-3",
"depends": ["account"],
"data": [
"views/account_move_views.xml",
],
"pre_init_hook": "pre_init_hook",
"installable": True,
}

View file

@ -0,0 +1,29 @@
import logging
from odoo import tools
_logger = logging.getLogger(__name__)
def pre_init_hook(cr):
"""
Initializing column custom_rate on table account_move
for the improvement in performance to avoid long
duration in databases with thousand of moves
"""
_logger.info("Initializing column custom_rate on table account_move")
tools.create_column(
cr=cr,
tablename="account_move",
columnname="custom_rate",
columntype="numeric",
comment="Custom Rate",
)
cr.execute(
"""
UPDATE
account_move
SET
custom_rate = 1.0
"""
)

View file

@ -0,0 +1,104 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on the invoice and last currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is"
" called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr ""

View file

@ -0,0 +1,104 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Prilagođeni tečaj"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "Je originalna valuta"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Stavka dnevnika"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Stavka dnevnika"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Originalna valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Originalna jedinična cijena"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on the invoice and last currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is"
" called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Ažuriraj valutu"

View file

@ -0,0 +1,115 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-08-09 10:06+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Actualitza divisa: Convertirà l'import de les línies a la nova "
"divisa\" class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
"Comproveu si la divisa actual és la divisa original. Això es fa servir per a "
"ocultar el factor de conversió al formulari."
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Divisa"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Taxa de canvi"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "És la divisa original"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Assentament comptable"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Apunt comptable"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Divisa original"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Preu unitari original"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on "
"the invoice and last currency"
msgstr ""
"Estableix nova taxa de canvi a aplicar a la factura.\n"
"Aquesta taxa es farà servir per a convertir imports entre la divisa de la "
"factura i la darrera divisa"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is "
"called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Actualitzar divisa"

View file

@ -0,0 +1,125 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-06-12 13:19+0000\n"
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
"Language-Team: none\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"
"X-Generator: Weblate 3.10\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Währung aktualisieren: Die Beträge werden in die neue Währung "
"umgerechnet.\" class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Umrechungsfaktor"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on "
"the invoice and last currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is "
"called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr ""
#~ msgid "Currency Updated"
#~ msgstr "Währung aktualisiert"
#~ msgid "Invoice"
#~ msgstr "Rechnung"
#~ msgid ""
#~ "Set new currency rate to apply on the invoice\n"
#~ ".This rate will be taken in order to convert amounts between the currency "
#~ "on the invoice and last currency"
#~ msgstr ""
#~ "Bitte hier den neuen Umrechnungsfaktor für die Währung angeben.\n"
#~ "Der Faktor wird verwendet, um die Beträge in der Rechnung entsprechend "
#~ "umzurechnen."

View file

@ -0,0 +1,145 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-06-07 19:08+0000\n"
"Last-Translator: gelo joga Rodríguez <gelo.joga@factorlibre.com>\n"
"Language-Team: none\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"
"X-Generator: Weblate 4.17\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Actualizar Moneda: Convertirá la cantidad de las líneas a la "
"nueva moneda\" class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
"Comprueba si la moneda actual es la moneda original. Se utiliza para ocultar "
"el campo de tipo personalizado en la vista de formulario."
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Moneda"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Cambio Personalizado"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "Es la moneda original"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Asiento contable"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Apunte contable"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Moneda Original"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Precio unitario original"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on "
"the invoice and last currency"
msgstr ""
"Establece el nuevo tipo de cambio que se aplicará a la facturae.\n"
"Este tipo se tomará para convertir los importes entre la moneda de la "
"factura y la última moneda"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
"Almacena la unidad de precio de cada línea cuando se crea la factura o se "
"crea la conversión por primera vez para utilizarla para convertir el importe "
"en la nueva moneda."
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is "
"called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
"Almacena la moneda original cuando se crea la factura o se usa la conversión "
"por primera vez. Se utiliza para calcular la conversión a partir de esta "
"moneda."
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Actualizar moneda"
#~ msgid "Currency Updated"
#~ msgstr "Moneda Actualizada"
#~ msgid "Forced Rate"
#~ msgstr "Cambio Forzado"
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Opened"
#~ msgstr "Abiertas"
#~ msgid ""
#~ "Set new currency rate to apply on the invoice\n"
#~ ".This rate will be taken in order to convert amounts between the currency "
#~ "on the invoice and last currency"
#~ msgstr ""
#~ "Establece el cambio de la nueva moneda para aplicar en la factura\n"
#~ ".Este cambio se usará para convertir las cantidades entre la moneda de la "
#~ "factura y la última moneda"
#~ msgid "Toggle custom force rate"
#~ msgstr "Activar/Desactivar forzar cambio personalizado"

View file

@ -0,0 +1,106 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: es_MX\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on "
"the invoice and last currency"
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is "
"called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr ""

View file

@ -0,0 +1,132 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-06-17 09:02+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>\n"
"Language-Team: none\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Ažuriraj valutu: Mijenja iznose na stavkama prema novoj valuti\" "
"class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
"Provjerite da li je trenutna valuta originalna valuta. Ovo se koristi za "
"sakrivanje polja prilagođenog tečaja u form prikazu."
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Prilagođeni tečaj"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "Je originalna valuta"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Stavka dnevnika"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Stavka dnevnika"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Originalna valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Originalna jedinična cijena"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on "
"the invoice and last currency"
msgstr ""
"Postavite novi tečaj koji želite primjeniti na računu.\n"
"Ovaj tečaj će se koristiti za konverziju između valute na računu i zadnje "
"valute"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
"Pohranite jediničnu cijenu iz svake stavke kada je račun kreiran ili se "
"konvertiranje dogodi prvi puta kada želimo pretvoriti iznos u novu valutu."
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is "
"called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
"Pohranite originalnu valutu kad je račun kreiran ili se konverzija dogodi "
"prvi puta. ovo se koristi za izračun konverzije iz ove valute."
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Ažuriraj valutu"
#~ msgid "Currency Updated"
#~ msgstr "Valuta ažurirana"
#~ msgid "Forced Rate"
#~ msgstr "Prisili tečaj"
#~ msgid "Invoice"
#~ msgstr "Račun"
#~ msgid "Opened"
#~ msgstr "Otvoren"

View file

@ -0,0 +1,120 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-01-30 15:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Aggionamento valuta: convertirà il valore delle righe nella nuova "
"valuta impostata\" class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
"Controlla se la valuta attuale è la valuta originale. Questo viene "
"utilizzato per nascondere il campo tasso personalizzato nella maschera."
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Tariffa personalizzata"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "È la valuta originale"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Registrazione contabile"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Movimento contabile"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Valuta originale"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Prezzo unitario originale"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on the invoice and last currency"
msgstr ""
"Imposta il nuovo tasso di cambio da applicare alla fattura.\n"
"Questo tasso verrà utilizzato per convertire i valori tra la valuta nella "
"fattura e l'ultima valuta"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
"Salva il prezzo unitario di ogni riga quando la fattura viene creata o la "
"conversione è chiamata per la prima volta per convertire il valore nella "
"nuova valuta."
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is"
" called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
"Salva la valuta originale quando la fattura viene creata o la conversione "
"viene chimata per la prima volta. È utilizzata per calcolare la conversione "
"da questa valuta."
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Aggiorna valuta"

View file

@ -0,0 +1,119 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_change_currency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-02-17 20:06+0000\n"
"Last-Translator: Ahmet Yiğit Budak <yigit@altinkaya.com>\n"
"Language-Team: none\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid ""
"<i title=\"Update Currency: Will convert the amount lines to the new "
"currency set\" class=\"fa fa-fw fa-refresh\"/>"
msgstr ""
"<i title=\"Para Birimini Değiştir: Satır miktarları yeni para birimine göre "
"çevrilecektir\" class=\"fa fa-fw fa-refresh\"/>"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__is_original_currency
msgid ""
"Check if current currency is the original currency. This is used to hide "
"custom rate field in the form view."
msgstr ""
"Geçerli para biriminin mevcut para birimi olup olmadığını kontrol et. Bu, "
"form görünümünde özel kur alanını gizlemek için kullanılır."
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_res_currency
msgid "Currency"
msgstr "Para Birimi"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__custom_rate
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Custom Rate"
msgstr "Özel Kur"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__is_original_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__is_original_currency
msgid "Is Original Currency"
msgstr "Mevcut Para Birimi Mi"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move
msgid "Journal Entry"
msgstr "Yevmiye Kaydı"
#. module: account_invoice_change_currency
#: model:ir.model,name:account_invoice_change_currency.model_account_move_line
msgid "Journal Item"
msgstr "Yevmiye Kalemi"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_payment__original_currency_id
msgid "Original Currency"
msgstr "Şu Anki Para Birimi"
#. module: account_invoice_change_currency
#: model:ir.model.fields,field_description:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid "Original Price Unit"
msgstr "Şu Anki Birim Fiyatı"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__custom_rate
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__custom_rate
msgid ""
"Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the currency on the invoice and last currency"
msgstr ""
"Faturada uygulanacak yeni döviz kurunu ayarlayın.\n"
"Bu kur, faturadaki para birimi ile son para birimi arasındaki tutarları "
"dönüştürmek için kullanılacaktır"
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move_line__original_price_unit
msgid ""
"Store price unit from every line when the invoice is created or the "
"conversion is called for the first time to use it to convert the amount in "
"the new currency."
msgstr ""
"Fatura oluşturulduğunda veya dönüştürme ilk kez çağrıldığında, tutarı yeni "
"para birimine dönüştürmek için kullanmak üzere her satırdaki fiyat birimini "
"depolayın."
#. module: account_invoice_change_currency
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_bank_statement_line__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_move__original_currency_id
#: model:ir.model.fields,help:account_invoice_change_currency.field_account_payment__original_currency_id
msgid ""
"Store the original currency when the invoice is created or the conversion is"
" called for the first time. This is used to calculate conversion from this "
"currency."
msgstr ""
"Fatura oluşturulduğunda veya dönüştürme ilk kez çağrıldığında orijinal para "
"birimini depolar. Bu para biriminden dönüştürmeyi hesaplamak için kullanılır."
#. module: account_invoice_change_currency
#: model_terms:ir.ui.view,arch_db:account_invoice_change_currency.view_move_form
msgid "Update Currency"
msgstr "Para Birimini Değiştir"

View file

@ -0,0 +1,3 @@
from . import account_move
from . import account_move_line
from . import res_currency

View file

@ -0,0 +1,95 @@
# Copyright 2017-2018 Vauxoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class AccountMove(models.Model):
_inherit = "account.move"
custom_rate = fields.Float(
digits=(12, 6),
default=1,
store=True,
readonly=False,
compute="_compute_currency_change_rate",
help="Set new currency rate to apply on the invoice.\n"
"This rate will be taken in order to convert amounts between the "
"currency on the invoice and last currency",
)
original_currency_id = fields.Many2one(
"res.currency",
help="Store the original currency when the invoice is created or the "
"conversion is called for the first time. "
"This is used to calculate conversion from this currency.",
)
is_original_currency = fields.Boolean(
compute="_compute_is_original_currency",
help="Check if current currency is the original currency. "
"This is used to hide custom rate field in the form view.",
)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if "currency_id" in vals and not vals.get("original_currency_id", False):
vals["original_currency_id"] = vals["currency_id"]
return super().create(vals_list)
def action_account_change_currency(self):
"""
This method convert the original price unit from the original
currency when the invoice was created to the current currency
using the custom rate and recompute all taxes.
"""
today = fields.Date.context_today(self)
invoices = self.filtered(lambda x: x.state == "draft").with_context(
check_move_validity=False,
)
for invoice in invoices:
if not invoice.original_currency_id:
invoice.write({"original_currency_id": invoice.currency_id})
invoice.invoice_line_ids._set_original_price_unit()
invoice_date = invoice.invoice_date or today
to_currency = invoice.currency_id
context = {"custom_rate": invoice.custom_rate, "to_currency": to_currency}
original_currency = invoice.original_currency_id.with_context(**context)
for line in invoice.invoice_line_ids:
line.price_unit = original_currency._convert(
line.original_price_unit,
to_currency,
invoice.company_id,
invoice_date,
)
@api.depends("company_id", "currency_id", "invoice_date")
def _compute_currency_change_rate(self):
"""
Compute the custom rate from the original currency when the invoice
was created to the current currency. The custom rate field is
editable, but it will not change if custom rate is zero or the
current currency and the original currency are the same
"""
for invoice in self:
if not invoice.currency_id or not invoice.company_id:
invoice.custom_rate = 1.0
continue
date = invoice.invoice_date or fields.Date.context_today(invoice)
from_currency = invoice.original_currency_id or invoice.currency_id
invoice.custom_rate = from_currency._get_conversion_rate(
from_currency,
invoice.currency_id,
invoice.company_id,
date,
)
@api.depends("currency_id", "original_currency_id")
def _compute_is_original_currency(self):
"""
Compute if the current currency and the original currency
are the same. The is_original_currency field is used in the
view to hide the custom_rate field.
"""
for invoice in self:
invoice.is_original_currency = (
invoice.currency_id == invoice.original_currency_id
)

View file

@ -0,0 +1,25 @@
# Copyright 2017-2018 Vauxoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
original_price_unit = fields.Monetary(
help="Store price unit from every line when the "
"invoice is created or the conversion is called "
"for the first time to use it to convert the "
"amount in the new currency.",
)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if "price_unit" in vals:
vals["original_price_unit"] = vals["price_unit"]
return super().create(vals_list)
def _set_original_price_unit(self):
for line in self:
line.write({"original_price_unit": line.price_unit})

View file

@ -0,0 +1,21 @@
# Copyright 2017-2018 Vauxoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
class ResCurrency(models.Model):
_inherit = "res.currency"
def _get_rates(self, company, date):
"""
Inheritance to use the provided custom rate by user
instead of the rate from odoo.
"""
custom_rate = self.env.context.get("custom_rate")
to_currency = self.env.context.get("to_currency")
if custom_rate and to_currency:
return {
currency.id: custom_rate if currency == to_currency else 1.0
for currency in self
}
return super()._get_rates(company, date)

View file

@ -0,0 +1,2 @@
The exchange rate will be configured in
Accounting > Configuration > Multi-Currencies > Currencies

View file

@ -0,0 +1,5 @@
* Duc, Dao Dong <duc.dd@komit-consulting.com> (https://komit-consulting.com)
* Hugo Adan <hugo@vauxoo.com>
* Saran Lim. <saranl@ecosoft.co.th>
* Rolando Duarte <rolando@vauxoo.com>
* Luis J. Salvatierra <luis.salvatierra@factorlibre.com> (https://factorlibre.com)

View file

@ -0,0 +1,15 @@
==================================
Update currency of Account Invoice
==================================
This module allows users to update the currency of Invoices (in draft state) by
a button Update Currency at the invoice form.
After update to new currency, all the unit prices of invoice lines will be
recomputed to new currency, thus the Total amounts (tax and without tax) of
Invoice will be in the new currency also
Also this module allows user to set a custom rate that will be take to recompute
all lines. By default the custom rate proposed is the rate between invoice
currency and base currency (company currency), after the first coversion the
custom rate will be proposed by default between last currency and invoice
currency.

View file

@ -0,0 +1,4 @@
To use this module, the user must be in group Accounting & Finance / Adviser
to be able to update currency of Invoices
Note : you have to save new invoice before change currency

View file

@ -0,0 +1,456 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<div class="section" id="account-invoice-change-currency">
<h1>Account Invoice - Change Currency</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0fdcd1de7017598fafd8cf7524b2dc0987b55d004f59480232d49f1c1231797e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_change_currency"><img alt="OCA/account-invoicing" src="https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-account_invoice_change_currency"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
</div>
<div class="section" id="update-currency-of-account-invoice">
<h1>Update currency of Account Invoice</h1>
<p>This module allows users to update the currency of Invoices (in draft state) by
a button Update Currency at the invoice form.
After update to new currency, all the unit prices of invoice lines will be
recomputed to new currency, thus the Total amounts (tax and without tax) of
Invoice will be in the new currency also</p>
<p>Also this module allows user to set a custom rate that will be take to recompute
all lines. By default the custom rate proposed is the rate between invoice
currency and base currency (company currency), after the first coversion the
custom rate will be proposed by default between last currency and invoice
currency.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
<p>The exchange rate will be configured in
Accounting &gt; Configuration &gt; Multi-Currencies &gt; Currencies</p>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
<p>To use this module, the user must be in group Accounting &amp; Finance / Adviser
to be able to update currency of Invoices</p>
<p>Note : you have to save new invoice before change currency</p>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-invoicing/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/account-invoicing/issues/new?body=module:%20account_invoice_change_currency%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-4">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-5">Authors</a></h3>
<ul class="simple">
<li>Vauxoo</li>
<li>Komit Consulting</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-6">Contributors</a></h3>
<ul class="simple">
<li>Duc, Dao Dong &lt;<a class="reference external" href="mailto:duc.dd&#64;komit-consulting.com">duc.dd&#64;komit-consulting.com</a>&gt; (<a class="reference external" href="https://komit-consulting.com">https://komit-consulting.com</a>)</li>
<li>Hugo Adan &lt;<a class="reference external" href="mailto:hugo&#64;vauxoo.com">hugo&#64;vauxoo.com</a>&gt;</li>
<li>Saran Lim. &lt;<a class="reference external" href="mailto:saranl&#64;ecosoft.co.th">saranl&#64;ecosoft.co.th</a>&gt;</li>
<li>Rolando Duarte &lt;<a class="reference external" href="mailto:rolando&#64;vauxoo.com">rolando&#64;vauxoo.com</a>&gt;</li>
<li>Luis J. Salvatierra &lt;<a class="reference external" href="mailto:luis.salvatierra&#64;factorlibre.com">luis.salvatierra&#64;factorlibre.com</a>&gt; (<a class="reference external" href="https://factorlibre.com">https://factorlibre.com</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/luisg123v"><img alt="luisg123v" src="https://github.com/luisg123v.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/rolandojduartem"><img alt="rolandojduartem" src="https://github.com/rolandojduartem.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-invoicing/tree/16.0/account_invoice_change_currency">OCA/account-invoicing</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,3 @@
# Copyright 2017 Komit <http://komit-consulting.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import test_account_invoice_change_currency

View file

@ -0,0 +1,220 @@
# Copyright 2018 Komit <http://komit-consulting.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields
from odoo.tests import tagged
from odoo.tools import float_compare
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
@tagged("post_install", "-at_install")
class TestAccountInvoiceChangeCurrency(AccountTestInvoicingCommon):
@classmethod
def setUpClass(cls, chart_template_ref=None):
super().setUpClass(chart_template_ref=chart_template_ref)
decimal_precision_name = (
cls.env["account.move.line"]._fields["price_unit"]._digits
)
decimal_precision = cls.env["decimal.precision"].search(
[("name", "=", decimal_precision_name)]
)
cls.precision = decimal_precision.digits
def test_change_invoice_currency(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_curr = inv.currency_id
before_amount = inv.amount_total
after_curr = self.env.ref("base.USD")
inv.write({"currency_id": after_curr.id})
inv.action_account_change_currency()
expected_value = before_curr._convert(
before_amount, after_curr, inv.company_id, fields.Date.today()
)
self.assertEqual(
float_compare(inv.amount_total, expected_value, 0),
0,
"Total amount of invoice does not match to the expected value",
)
def test_change_validated_invoice_currency(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_amount = inv.amount_total
inv.action_post()
# Make sure that we can not change the currency after validated:
inv.write({"currency_id": self.env.ref("base.USD").id})
inv.action_account_change_currency()
self.assertEqual(
inv.amount_total,
before_amount,
"Total amount of invoice does not match to the expected value",
)
def test_create_invoice_update_currency(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_amount = inv.amount_total
inv.action_account_change_currency()
self.assertEqual(
inv.amount_total,
before_amount,
"Amount must remain the same, because no currency changes",
)
def test_custom_rate_update_currency(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_amount = inv.amount_total
self.assertEqual(inv.original_currency_id, self.env.ref("base.USD"))
after_curr = self.env.ref("base.EUR")
custom_rate = 1.13208
inv.write({"currency_id": after_curr.id, "custom_rate": custom_rate})
inv.write({"custom_rate": custom_rate})
inv.action_account_change_currency()
expected_value = before_amount * custom_rate
self.assertEqual(
float_compare(inv.amount_total, expected_value, self.precision),
0,
"Total amount of invoice does not match to the expected value",
)
def test_custom_rate_zero_update_currency(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_amount = inv.amount_total
before_curr = inv.currency_id
custom_rate = 0.0
usd = self.env.ref("base.USD")
eur = self.env.ref("base.EUR")
inv.write({"currency_id": usd.id, "custom_rate": custom_rate})
inv.action_account_change_currency()
expected_value = before_curr._convert(
before_amount, usd, inv.company_id, fields.Date.today()
)
self.assertEqual(
float_compare(inv.amount_total, expected_value, self.precision),
0,
"Total amount of invoice does not match to the expected value",
)
# Change currency and set custom rate 0
inv.write({"currency_id": eur.id, "custom_rate": custom_rate})
inv.action_account_change_currency()
self.assertEqual(
inv.amount_total,
before_amount,
"Total amount of invoice does not match to the expected value",
)
# keep old_rate but now we update the currency.rate
# (Original currency rate can not be changed anymore)
before_amount = inv.amount_total
old_rate = custom_rate
new_rate = 1.6299
usd_updated_rate = self.env["res.currency.rate"].create(
{
"name": fields.Date.today(),
"rate": new_rate,
"currency_id": usd.id,
"company_id": inv.company_id.id,
}
)
rate = usd_updated_rate.rate
inv.write({"custom_rate": rate})
inv.action_account_change_currency()
expected_value = before_amount * rate
self.assertEqual(
float_compare(inv.amount_total, expected_value, 1),
0,
"Total amount of invoice does not match to the expected value",
)
# change custom rate then we trigger the conversion 2 times
# The currency.rate modification above will be ignored and keep the
# custom rate
old_rate = inv.custom_rate
inv.write({"currency_id": usd.id, "custom_rate": rate})
inv.action_account_change_currency()
before_amount = inv.amount_total
rate = usd_updated_rate.rate
inv.action_account_change_currency()
expected_value = before_amount * rate / old_rate
self.assertEqual(
float_compare(inv.amount_total, expected_value, self.precision),
0,
"Total amount of invoice does not match to the expected value",
)
before_amount = inv.amount_total
rate = old_rate + 1
inv.write({"custom_rate": rate})
inv.action_account_change_currency()
expected_value = before_amount
self.assertEqual(
float_compare(inv.amount_total, expected_value, 1),
0,
"Total amount of invoice does not match to the expected value",
)
inv.action_account_change_currency()
self.assertEqual(
float_compare(inv.amount_total, expected_value, 1),
0,
"Total amount of invoice does not match to the expected value",
)
def test_not_currency_change(self):
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
before_amount = inv.amount_total
inv.action_account_change_currency()
self.assertEqual(
inv.amount_total,
before_amount,
"Amount must remain the same, because None change was made",
)
def test_old_invoices(self):
# This simulate an old invoice (no stored original values)
inv = self.init_invoice(
"out_invoice",
products=self.product_a + self.product_b,
invoice_date=fields.Date.today(),
)
inv.write({"original_currency_id": False})
inv.invoice_line_ids.write({"original_price_unit": False})
self.assertFalse(
inv.original_currency_id,
"There is an original currency in the invoice",
)
self.assertEqual(
inv.invoice_line_ids.mapped("original_price_unit"),
[0.0, 0.0],
"There are original price units in the invoice",
)
# Now, trigger the action to store the original values to change currencies
inv.action_account_change_currency()
self.assertEqual(
inv.original_currency_id,
inv.currency_id,
"Original currency of invoice is not match to the expected value",
)
self.assertEqual(
inv.invoice_line_ids.mapped("original_price_unit"),
inv.invoice_line_ids.mapped("price_unit"),
"Original price units of invoice do not match to the expected value",
)

View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Komit <http://komit-consulting.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="view_move_form" model="ir.ui.view">
<field name="name">account.move.form.inherit</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form" />
<field name="arch" type="xml">
<xpath expr="//div[@name='journal_div']" position="after">
<label for="custom_rate" groups="base.group_multi_currency" />
<div groups="base.group_multi_currency">
<field name="is_original_currency" invisible="1" />
<field
name="custom_rate"
string="Custom Rate"
placeholder="Custom Rate"
class="oe_inline"
attrs="{
'invisible': [
'|',
('custom_rate', '=', 0),
('is_original_currency', '=', True),
],
'readonly': [
'|',
('state', '!=', 'draft'),
('is_original_currency', '=', True),
]
}"
/>
<button
aria-label="Update Currency"
type="object"
name="action_account_change_currency"
class="btn-link"
states="draft"
groups="account.group_account_manager"
>
<i
title="Update Currency: Will convert the amount lines to the new currency set"
class="fa fa-fw fa-refresh"
/>
</button>
</div>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Account_invoice_change_currency Module - account_invoice_change_currency
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for account_invoice_change_currency. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,5 @@
# Dependencies
This addon depends on:
- [account](../../odoo-bringout-oca-ocb-account)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon account_invoice_change_currency or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-account-invoicing-account_invoice_change_currency"
# or
uv pip install odoo-bringout-oca-account-invoicing-account_invoice_change_currency"
```

View file

@ -0,0 +1,14 @@
# Models
Detected core models and extensions in account_invoice_change_currency.
```mermaid
classDiagram
class account_move
class account_move_line
class res_currency
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: account_invoice_change_currency. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon account_invoice_change_currency
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,8 @@
# Security
This module does not define custom security rules or access controls beyond Odoo defaults.
Default Odoo security applies:
- Base user access through standard groups
- Model access inherited from dependencies
- No custom row-level security rules

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon account_invoice_change_currency
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,42 @@
[project]
name = "odoo-bringout-oca-account-invoicing-account_invoice_change_currency"
version = "16.0.0"
description = "Account Invoice - Change Currency - Allows to change currency of Invoice by wizard"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-account>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"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.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["account_invoice_change_currency"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]