Skip to content

Commit

Permalink
Merge 3632072 into b35885c
Browse files Browse the repository at this point in the history
  • Loading branch information
grindtildeath committed Feb 22, 2018
2 parents b35885c + 3632072 commit cc82f24
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 64 deletions.
2 changes: 1 addition & 1 deletion account_multicurrency_revaluation/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{
"name": "Multicurrency revaluation",
"version": "11.0.1.0.0",
"version": "11.0.1.0.1",
"category": "Finance",
"summary": "Manage revaluation for multicurrency environment",
"author": "Camptocamp,Odoo Community Association (OCA)",
Expand Down
24 changes: 12 additions & 12 deletions account_multicurrency_revaluation/demo/currency_demo.xml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="res.currency.rate" id="currency_rate_usd_2017_01">
<field name="name">2017-01-15</field>
<record model="res.currency.rate" id="currency_rate_usd_01">
<field eval="time.strftime('%Y-01-15')" name="name" />
<field name="rate">2</field>
<field name="currency_id" ref="base.USD"/>
</record>
<record model="res.currency.rate" id="currency_rate_usd_2017_02">
<field name="name">2017-02-15</field>
<record model="res.currency.rate" id="currency_rate_usd_02">
<field eval="time.strftime('%Y-02-15')" name="name" />
<field name="rate">4</field>
<field name="currency_id" ref="base.USD"/>
</record>
<record model="res.currency.rate" id="currency_rate_usd_2017_03">
<field name="name">2017-03-15</field>
<record model="res.currency.rate" id="currency_rate_usd_03">
<field eval="time.strftime('%Y-03-15')" name="name" />
<field name="rate">2.5</field>
<field name="currency_id" ref="base.USD"/>
</record>
<record model="res.currency.rate" id="currency_rate_gbp_2017_01">
<field name="name">2017-01-15</field>
<record model="res.currency.rate" id="currency_rate_gbp_01">
<field eval="time.strftime('%Y-01-15')" name="name" />
<field name="rate">2</field>
<field name="currency_id" ref="base.GBP"/>
</record>
<record model="res.currency.rate" id="currency_rate_gbp_2017_02">
<field name="name">2017-02-15</field>
<record model="res.currency.rate" id="currency_rate_gbp_02">
<field eval="time.strftime('%Y-02-15')" name="name" />
<field name="rate">4</field>
<field name="currency_id" ref="base.GBP"/>
</record>
<record model="res.currency.rate" id="currency_rate_gbp_2017_03">
<field name="name">2017-03-15</field>
<record model="res.currency.rate" id="currency_rate_gbp_03">
<field eval="time.strftime('%Y-03-15')" name="name" />
<field name="rate">2.5</field>
<field name="currency_id" ref="base.GBP"/>
</record>
Expand Down
20 changes: 10 additions & 10 deletions account_multicurrency_revaluation/model/res_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,58 +10,58 @@ class AccountConfigSettings(models.TransientModel):
revaluation_loss_account_id = fields.Many2one(
related='company_id.revaluation_loss_account_id',
comodel_name='account.account',
string='Revaluation loss account *',
string='Revaluation loss account',
domain=[('internal_type', '=', 'other')],
)
revaluation_gain_account_id = fields.Many2one(
related='company_id.revaluation_gain_account_id',
comodel_name='account.account',
string='Revaluation gain account *',
string='Revaluation gain account',
domain=[('internal_type', '=', 'other')],
)
revaluation_analytic_account_id = fields.Many2one(
related='company_id.revaluation_analytic_account_id',
comodel_name='account.analytic.account',
string='Revaluation Analytic account *'
string='Revaluation Analytic account'
)
provision_bs_loss_account_id = fields.Many2one(
related='company_id.provision_bs_loss_account_id',
comodel_name='account.account',
string='Provision B.S. loss account *',
string='Provision B.S. loss account',
domain=[('internal_type', '=', 'other')]
)
provision_bs_gain_account_id = fields.Many2one(
related='company_id.provision_bs_gain_account_id',
comodel_name='account.account',
string='Provision B.S. gain account *',
string='Provision B.S. gain account',
domain=[('internal_type', '=', 'other')]
)
provision_pl_loss_account_id = fields.Many2one(
related='company_id.provision_pl_loss_account_id',
comodel_name='account.account',
string='Provision P&L loss account *',
string='Provision P&L loss account',
domain=[('internal_type', '=', 'other')]
)
provision_pl_gain_account_id = fields.Many2one(
related='company_id.provision_pl_gain_account_id',
comodel_name='account.account',
string='Provision P&L gain account *',
string='Provision P&L gain account',
domain=[('internal_type', '=', 'other')]
)
provision_pl_analytic_account_id = fields.Many2one(
related='company_id.provision_pl_analytic_account_id',
comodel_name='account.analytic.account',
string='Provision P&L Analytic account *'
string='Provision P&L Analytic account'
)
default_currency_reval_journal_id = fields.Many2one(
related='company_id.default_currency_reval_journal_id',
comodel_name='account.journal',
string='Currency gain & loss Default Journal *',
string='Currency gain & loss Default Journal',
domain=[('type', '=', 'general')]
)
reversable_revaluations = fields.Boolean(
related='company_id.reversable_revaluations',
string='Reversable Revaluations *',
string='Reversable Revaluations',
help="Revaluations entries will be created "
"as \"To Be Reversed\".",
default=True,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,11 @@ def setUpClass(cls):

partner = ref('base.res_partner_3')

year = fields.Date.from_string(fields.Date.today()).strftime('%Y')

invoice = cls.env['account.invoice'].create({
'name': "Customer Invoice",
'date_invoice': '2017-01-16',
'date_invoice': '%s-01-16' % year,
'currency_id': usd_currency.id,
'journal_id': sales_journal.id,
'partner_id': partner.id,
Expand All @@ -69,7 +71,7 @@ def setUpClass(cls):
'invoice_ids': [(4, invoice.id, 0)],
'amount': 700,
'currency_id': usd_currency.id,
'payment_date': '2017-02-15',
'payment_date': '%s-02-15' % year,
'communication': 'Invoice partial payment',
'partner_id': invoice.partner_id.id,
'partner_type': 'customer',
Expand Down Expand Up @@ -100,7 +102,7 @@ def setUpClass(cls):

invoice = cls.env['account.invoice'].create({
'name': "Customer Invoice",
'date_invoice': '2017-01-16',
'date_invoice': '%s-01-16' % year,
'currency_id': gbp_currency.id,
'journal_id': sales_journal.id,
'partner_id': ref('base.res_partner_3').id,
Expand All @@ -117,7 +119,7 @@ def setUpClass(cls):
'invoice_ids': [(4, invoice.id, 0)],
'amount': 700,
'currency_id': gbp_currency.id,
'payment_date': '2017-02-15',
'payment_date': '%s-02-15' % year,
'communication': 'Invoice partial payment',
'partner_id': invoice.partner_id.id,
'partner_type': 'customer',
Expand Down Expand Up @@ -146,7 +148,8 @@ def test_uk_revaluation(self):

wizard = self.env['wizard.currency.revaluation']
data = {
'revaluation_date': '2017-03-15',
'revaluation_date': '%s-03-15' % fields.Date.from_string(
fields.Date.today()).strftime('%Y'),
'journal_id': self.reval_journal.id,
'label': '[%(account)s] wiz_test',
}
Expand Down
75 changes: 44 additions & 31 deletions account_multicurrency_revaluation/views/res_config_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,46 +15,59 @@
<div class="o_setting_right_pane">
<div class="content-group">
<label for="reversable_revaluations"/>
</div>
<div class="content-group">
<label for="default_currency_reval_journal_id"/>
<field name="default_currency_reval_journal_id"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Revaluations entries will be created as 'To Be Reversed'.
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-12 o_setting_box">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string="Default revaluation journal"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Currency gain &amp; loss Default Journal
</div>
<div class="content-group">
<table>
<tr>
<th width="400px"></th>
<th width="400px"><label string="LOSS"/></th>
<th width="400px"><label string="GAIN"/></th>
<th width="400px"><label string="ANALYTIC ACCOUNT"/></th>
</tr>
<tr>
<th><label string="Revaluation accounts *"/></th>
<td> <field name="revaluation_loss_account_id" nolabel="1"/> </td>
<td> <field name="revaluation_gain_account_id" nolabel="1"/> </td>
<td> <field name="revaluation_analytic_account_id" nolabel="1"/> </td>
</tr>
<tr groups="account_multicurrency_revaluation.group_revaluation_additional">
<th><label string="Provision B.S accounts *"/></th>
<td> <field name="provision_bs_loss_account_id" nolabel="1"/> </td>
<td> <field name="provision_bs_gain_account_id" nolabel="1"/> </td>
<td> </td>
</tr>
<tr groups="account_multicurrency_revaluation.group_revaluation_additional">
<th><label string="Provision P&amp;L accounts *"/></th>
<td> <field name="provision_pl_loss_account_id" nolabel="1"/> </td>
<td> <field name="provision_pl_gain_account_id" nolabel="1"/> </td>
<td> <field name="provision_pl_analytic_account_id" nolabel="1"/> </td>
</tr>
</table>
<div class="row mt16">
<label for="default_currency_reval_journal_id" class="col-md-3 o_light_label"/>
<field name="default_currency_reval_journal_id" options="{'no_create_edit': True, 'no_open': True}"/>
</div>
</div>
</div>
</div>
<div class="col-xs-24 col-md-12 o_setting_box">
<div class="content-group">
<table>
<tr>
<th class="col-xs-6 col-md-3"></th>
<th class="col-xs-6 col-md-3"><label string="Loss"/></th>
<th class="col-xs-6 col-md-3"><label string="Gain"/></th>
<th class="col-xs-6 col-md-3"><label string="Analytic account"/></th>
</tr>
<tr>
<th class="col-xs-6 col-md-3"><label string="Revaluation accounts"/><span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/></th>
<td class="col-xs-6 col-md-3"><field name="revaluation_loss_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"><field name="revaluation_gain_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"><field name="revaluation_analytic_account_id" nolabel="1"/> </td>
</tr>
<tr groups="account_multicurrency_revaluation.group_revaluation_additional">
<th class="col-xs-6 col-md-3"><label string="Provision B.S accounts"/><span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/></th>
<td class="col-xs-6 col-md-3"><field name="provision_bs_loss_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"><field name="provision_bs_gain_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"></td>
</tr>
<tr groups="account_multicurrency_revaluation.group_revaluation_additional">
<th class="col-xs-6 col-md-3"><label string="Provision P&amp;L accounts"/><span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/></th>
<td class="col-xs-6 col-md-3"><field name="provision_pl_loss_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"><field name="provision_pl_gain_account_id" nolabel="1"/> </td>
<td class="col-xs-6 col-md-3"><field name="provision_pl_analytic_account_id" nolabel="1"/> </td>
</tr>
</table>
</div>
</div>
</div>
</xpath>
</field>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class WizardCurrencyRevaluation(models.TransientModel):
@api.model
def _get_default_revaluation_date(self):
"""
Get last date of previous fiscalyear
Get today's date
"""
return fields.date.today()

Expand Down Expand Up @@ -282,7 +282,7 @@ def revaluate_currency(self):
_("No revaluation or provision account are defined"
" for your company.\n"
"You must specify at least one provision account or"
" a couple of provision account.")
" a couple of provision account in the accounting settings.")
)
created_ids = []
# Search for accounts Balance Sheet to be revaluated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<field name="arch" type="xml">
<form string="Currency Revaluation" version="7.0">
<label string="Odoo will generate exchange rate difference entries for each account set as 'Allow Currency revaluation'.
If the account type is payable or receivable : 1 entry will be generated per account/currency/partner
for other account type : 1 entry will be generated per account/currency
If the account type is payable or receivable : 1 entry will be generated per account/currency/partner.
For other account types : 1 entry will be generated per account/currency.
You can check details of calculation thanks to the Print Currency unrealized report in the generic reports."/>
<group>
<group>
Expand Down Expand Up @@ -47,4 +47,3 @@
parent="account.menu_finance_entries"/>

</odoo>

0 comments on commit cc82f24

Please sign in to comment.