Account - Manual Currency

account_manual_currency
REPOSITORY
REPOSITORYOCA/account-invoicing
GIT
GIThttps://github.com/OCA/account-invoicing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-invoicing/tree/18.0/account_manual_currency
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSSaran440
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, ThiagoMForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-invoicing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows users to update the currency manually for invoices
that are still in the draft stage. It offers flexibility to companies
when calculating currency rates for invoicing.

For example, if a company makes a deal with a vendor but the actual
purchase happens on a different day, this module lets them choose
whether to use the currency rate from the accounting date or a special
rate agreed upon during the deal. This ensures accurate currency rate
calculations for invoices, even when the purchase date and deal date
differ.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_account_payment_register_form account.payment.register.form account.payment.register xpath Inherits account.view_account_payment_register_form
view_move_form account.move.form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (6)
  • currency_diff Boolean
    compute='_compute_currency_diff' store=True
  • is_manual Boolean
    compute='_compute_currency'
  • manual_currency Boolean
  • manual_currency_rate Float
    digits='Manual Currency' 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 purchase order and last currency' tracking=True
  • total_company_currency Monetary
    compute='_compute_total_company_currency' currency_field='company_currency_id'
  • type_currency Selection
    default=<expr> selection=<expr>
Public methods (2)
  • action_refresh_currency(self)
  • get_view(self, view_id=None, view_type='form', **options)
    @api.model
    Change string name to company currency

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • currency_diff Boolean
    compute='_compute_currency_diff' store=True
  • manual_currency Boolean
  • manual_currency_rate Float
    digits='Manual Currency' 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 purchase order and last currency'
  • type_currency Selection
    selection=<expr>
Public methods (1)
  • default_get(self, fields_list)
    @api.model
REPOSITORY
REPOSITORYOCA/account-invoicing
GIT
GIThttps://github.com/OCA/account-invoicing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-invoicing/tree/17.0/account_manual_currency
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSSaran440
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, ThiagoMForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-invoicing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows users to update the currency manually for invoices
that are still in the draft stage. It offers flexibility to companies
when calculating currency rates for invoicing.

For example, if a company makes a deal with a vendor but the actual
purchase happens on a different day, this module lets them choose
whether to use the currency rate from the accounting date or a special
rate agreed upon during the deal. This ensures accurate currency rate
calculations for invoices, even when the purchase date and deal date
differ.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_account_payment_register_form account.payment.register.form account.payment.register xpath Inherits account.view_account_payment_register_form
view_move_form account.move.form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (6)
  • currency_diff Boolean
    compute='_compute_currency_diff' store=True
  • is_manual Boolean
    compute='_compute_currency'
  • manual_currency Boolean
  • manual_currency_rate Float
    digits='Manual Currency' 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 purchase order and last currency' tracking=True
  • total_company_currency Monetary
    compute='_compute_total_company_currency' currency_field='company_currency_id'
  • type_currency Selection
    default=<expr> selection=<expr>
Public methods (2)
  • action_refresh_currency(self)
  • get_view(self, view_id=None, view_type='form', **options)
    @api.model
    Change string name to company currency

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • currency_diff Boolean
    compute='_compute_currency_diff' store=True
  • manual_currency Boolean
  • manual_currency_rate Float
    digits='Manual Currency' 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 purchase order and last currency'
  • type_currency Selection
    selection=<expr>
Public methods (1)
  • default_get(self, fields_list)
    @api.model
REPOSITORY
REPOSITORYOCA/account-invoicing
GIT
GIThttps://github.com/OCA/account-invoicing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-invoicing/tree/15.0/account_manual_currency
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSSaran440
COMMITTERS
COMMITTERSoca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/account-invoicing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:38
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_move_form account.move.form account.move xpath Inherits account.view_move_form
Models touched (3)

New fields (6)
  • currency_diff Boolean
    compute='_compute_currency_diff' store=True
  • is_manual Boolean
    compute='_compute_currency'
  • manual_currency Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • manual_currency_rate Float
    digits='Manual Currency' 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 purchase order and last currency' readonly=True states={'draft': [('readonly', False)]} tracking=True
  • total_company_currency Monetary
    compute='_compute_total_company_currency' currency_field='company_currency_id'
  • type_currency Selection
    default=<expr> readonly=True selection=<expr> states={'draft': [('readonly', False)]}
Public methods (1)
  • action_refresh_currency(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • default_get(self, fields_list)
    @api.model