[MIG] account_check_deposit: Migration to 11.0

This commit is contained in:
Pedro M. Baeza
2018-08-06 09:18:34 +02:00
committed by Thomas Binsfeld
parent becb39d333
commit 3b1f4b49d3
17 changed files with 245 additions and 143 deletions

View File

@@ -1,22 +1,46 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
=====================
Account Check Deposit
=====================
=============
Check Deposit
=============
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
:target: https://odoo-community.org/page/development-status
:alt: Mature
.. |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--financial--tools-lightgray.png?logo=github
:target: https://github.com/OCA/account-financial-tools/tree/11.0/account_check_deposit
:alt: OCA/account-financial-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-financial-tools-11-0/account-financial-tools-11-0-account_check_deposit
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/92/11.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows you to easily manage check deposits : you can select all
the checks you received and create a global deposit for the
selected checks. This module supports multi-currency ; each deposit has a currency
and all the checks of the deposit must have the same currency
(so, if you have checks in EUR and checks in USD, you must create 2 deposits :
one in EUR and one in USD).
the checks you received and create a global deposit for the selected checks.
This module supports multi-currency ; each deposit has a currency and all the
checks of the deposit must have the same currency (so, if you have checks in
EUR and checks in USD, you must create 2 deposits: one in EUR and one in USD).
**Table of contents**
.. contents::
:local:
Configuration
=============
In the menu *Accounting > Configuration > Accounting > Journals*, create a new journal:
In the menu *Invoicing > Configuration > Accounting > Journals*, create a new
journal:
* Name: Checks Received
* Type: Bank
@@ -24,54 +48,80 @@ In the menu *Accounting > Configuration > Accounting > Journals*, create a new j
* Default Debit Account: select an account for checks received
* Default Credit Account: idem
This bank journal will be available as a payment method in Odoo. The account you configured as *Default Debit Account* and *Defaut Credit Account* is the account via which the amounts of checks will transit between the reception of a check from a customer and the validation of the check deposit in Odoo.
This bank journal will be available as a payment method in Odoo. The account
you configured as *Default Debit Account* and *Defaut Credit Account* is the
account via which the amounts of checks will transit between the reception of a
check from a customer and the validation of the check deposit in Odoo.
On the Settings page of the Accounting, you should configure the *Check Deposit Offsetting Account*:
On the Settings page of the Accounting, you should configure the
*Check Deposit Offsetting Account*:
* if you select *Bank Account*, the counter-part of the account move related to the check deposit will be the default debit account of the bank account selected on the check deposit.
* if you select *Transfer Account*, you will have to select a specific account that will be used as transfer account for check deposits.
* if you select *Bank Account*, the counter-part of the account move related to
the check deposit will be the default debit account of the bank account
selected on the check deposit.
* if you select *Transfer Account*, you will have to select a specific account
that will be used as transfer account for check deposits.
Usage
=====
When you receive a check that pays a customer invoice, you can go to that invoice and click on the button *Register Payment* and select the *Check Received* journal as *Payment Method*.
When you receive a check that pays a customer invoice, you can go to that
invoice and click on the button *Register Payment* and select the
*Check Received* journal as *Payment Method*.
When you want to deposit checks to the bank, go to the menu *Accounting > Adviser > Check Deposit*, create a new check deposit and set the journal *Checks Received* and select the bank account on which you want to credit the checks. Then click on *Add an item* to select the checks you want to deposit at the bank. Eventually, validate the deposit and print the report (you probably want to customize this report).
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/92/10.0
When you want to deposit checks to the bank, go to the menu
*Accounting > Adviser > Check Deposit*, create a new check deposit and set the
journal *Checks Received* and select the bank account on which you want to
credit the checks. Then click on *Add an item* to select the checks you want to
deposit at the bank. Eventually, validate the deposit and print the report
(you probably want to customize this report).
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/account-financial-tools/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smashing it by providing a detailed and welcomed feedback.
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_check_deposit%0Aversion:%2011.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
~~~~~~~
* Akretion
* Tecnativa
Contributors
------------
~~~~~~~~~~~~
* Benoît GUILLOT <benoit.guillot@akretion.com>
* Chafique DELLI <chafique.delli@akretion.com>
* Alexis de Lattre <alexis.delattre@akretion.com>
* Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
* `Akretion <https://www.akretion.com>`_:
Maintainer
----------
* Benoît GUILLOT <benoit.guillot@akretion.com>
* Chafique DELLI <chafique.delli@akretion.com>
* Alexis de Lattre <alexis.delattre@akretion.com>
* Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
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.
To contribute to this module, please visit https://odoo-community.org.
This module is part of the `OCA/account-financial-tools <https://github.com/OCA/account-financial-tools/tree/11.0/account_check_deposit>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -1,31 +1,34 @@
# -*- coding: utf-8 -*-
# © 2012-2015 Akretion (http://www.akretion.com/)
# Copyright 2012-2016 Akretion (http://www.akretion.com/)
# @author: Benoît GUILLOT <benoit.guillot@akretion.com>
# @author: Chafique DELLI <chafique.delli@akretion.com>
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
'name': 'Account Check Deposit',
'version': '10.0.1.0.0',
'category': 'Accounting & Finance',
'version': '11.0.1.0.0',
'category': 'Accounting',
'license': 'AGPL-3',
'summary': 'Manage deposit of checks to the bank',
'author': "Akretion,Odoo Community Association (OCA)",
'website': 'http://www.akretion.com/',
'author': "Akretion,"
"Tecnativa,"
"Odoo Community Association (OCA)",
'website': 'http://github.com/OCA/account-financial-tools',
'depends': [
'account_accountant',
'account_invoicing',
],
'development_status': 'Mature',
'data': [
'data/sequence.xml',
'views/account_deposit_view.xml',
'views/account_move_line_view.xml',
'views/account_config_settings.xml',
'views/res_config_settings_views.xml',
'security/ir.model.access.csv',
'security/check_deposit_security.xml',
'report/report.xml',
'report/report_checkdeposit.xml',
],
'installable': True,
'application': True,
}

View File

@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from . import company
from . import account_config_settings
from . import account_deposit
from . import account_move_line
from . import res_company
from . import res_config_settings

View File

@@ -1,14 +0,0 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields
class AccountConfigSettings(models.TransientModel):
_inherit = 'account.config.settings'
check_deposit_offsetting_account = fields.Selection(
related='company_id.check_deposit_offsetting_account')
check_deposit_transfer_account_id = fields.Many2one(
related='company_id.check_deposit_transfer_account_id')

View File

@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
# © 2012-2016 Akretion (http://www.akretion.com/)
# Copyright 2012-2016 Akretion (http://www.akretion.com/)
# @author: Benoît GUILLOT <benoit.guillot@akretion.com>
# @author: Chafique DELLI <chafique.delli@akretion.com>
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# @author: Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields, api, _
from odoo import _, api, fields, models
import odoo.addons.decimal_precision as dp
from odoo.exceptions import ValidationError, UserError
@@ -261,10 +261,3 @@ class AccountCheckDeposit(models.Model):
self.currency_id = self.journal_id.currency_id
else:
self.currency_id = self.journal_id.company_id.currency_id
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
check_deposit_id = fields.Many2one(
'account.check.deposit', string='Check Deposit', copy=False)

View File

@@ -0,0 +1,19 @@
# Copyright 2012-2016 Akretion (http://www.akretion.com/)
# @author: Benoît GUILLOT <benoit.guillot@akretion.com>
# @author: Chafique DELLI <chafique.delli@akretion.com>
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# @author: Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
check_deposit_id = fields.Many2one(
'account.check.deposit',
string='Check Deposit',
copy=False,
)

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
# © 2012-2016 Akretion (http://www.akretion.com/)
# @author: Benoît GUILLOT <benoit.guillot@akretion.com>
# @author: Chafique DELLI <chafique.delli@akretion.com>

View File

@@ -0,0 +1,16 @@
# Copyright 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
check_deposit_offsetting_account = fields.Selection(
related='company_id.check_deposit_offsetting_account',
)
check_deposit_transfer_account_id = fields.Many2one(
related='company_id.check_deposit_transfer_account_id',
)

View File

@@ -0,0 +1,22 @@
In the menu *Invoicing > Configuration > Accounting > Journals*, create a new
journal:
* Name: Checks Received
* Type: Bank
* Short Code: CHK (or any code you want)
* Default Debit Account: select an account for checks received
* Default Credit Account: idem
This bank journal will be available as a payment method in Odoo. The account
you configured as *Default Debit Account* and *Defaut Credit Account* is the
account via which the amounts of checks will transit between the reception of a
check from a customer and the validation of the check deposit in Odoo.
On the Settings page of the Accounting, you should configure the
*Check Deposit Offsetting Account*:
* if you select *Bank Account*, the counter-part of the account move related to
the check deposit will be the default debit account of the bank account
selected on the check deposit.
* if you select *Transfer Account*, you will have to select a specific account
that will be used as transfer account for check deposits.

View File

@@ -0,0 +1,10 @@
* `Akretion <https://www.akretion.com>`_:
* Benoît GUILLOT <benoit.guillot@akretion.com>
* Chafique DELLI <chafique.delli@akretion.com>
* Alexis de Lattre <alexis.delattre@akretion.com>
* Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza

View File

@@ -0,0 +1,5 @@
This module allows you to easily manage check deposits : you can select all
the checks you received and create a global deposit for the selected checks.
This module supports multi-currency ; each deposit has a currency and all the
checks of the deposit must have the same currency (so, if you have checks in
EUR and checks in USD, you must create 2 deposits: one in EUR and one in USD).

View File

@@ -0,0 +1,10 @@
When you receive a check that pays a customer invoice, you can go to that
invoice and click on the button *Register Payment* and select the
*Check Received* journal as *Payment Method*.
When you want to deposit checks to the bank, go to the menu
*Accounting > Adviser > Check Deposit*, create a new check deposit and set the
journal *Checks Received* and select the bank account on which you want to
credit the checks. Then click on *Add an item* to select the checks you want to
deposit at the bank. Eventually, validate the deposit and print the report
(you probably want to customize this report).

View File

@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# © 2014-2016 Akretion (http://www.akretion.com)
# @author Mourad EL HADJ MIMOUNE <mourad.elhadj.mimoune@akretion.com>
# Copyright 2014-2016 Akretion - Mourad EL HADJ MIMOUNE
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.addons.account.tests.account_test_classes\
@@ -143,8 +142,7 @@ class TestPayment(AccountingTestCase):
invoice.action_invoice_open()
return invoice
def create_check_deposit(
self, move_lines):
def create_check_deposit(self, move_lines):
""" Returns an validated check deposit """
check_deposit = self.check_deposit_model.create({
'journal_id': self.bank_journal.id,
@@ -176,7 +174,7 @@ class TestPayment(AccountingTestCase):
'journal_id': self.check_journal.id,
'payment_method_id': self.payment_method_manual_in.id,
})
register_payments.create_payment()
register_payments.create_payments()
payment = self.payment_model.search([], order="id desc", limit=1)
self.assertAlmostEquals(payment.amount, 300)

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
© 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="view_account_config_settings" model="ir.ui.view">
<field name="name">currency_rate_update.account_config_settings.form</field>
<field name="model">account.config.settings</field>
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="arch" type="xml">
<div name="bank_options" position="inside">
<div name="check_deposit_option">
<label for="check_deposit_offsetting_account"/>
<field name="check_deposit_offsetting_account" class="oe_inline"/>
</div>
<div name="check_deposit_transfer"
attrs="{'invisible': ['|', ('has_chart_of_accounts', '=', False), ('check_deposit_offsetting_account', '!=', 'transfer_account')]}">
<label for="check_deposit_transfer_account_id"/>
<field name="check_deposit_transfer_account_id" class="oe_inline"
context="{'default_reconcile': True}"/>
</div>
</div>
</field>
</record>
</odoo>

View File

@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
account_check_deposit for Odoo/OpenERP
Copyright (C) 2012-2015 Akretion (http://www.akretion.com/)
@author: Benoît GUILLOT <benoit.guillot@akretion.com>
@author: Chafique DELLI <chafique.delli@akretion.com>
@author: Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
Copyright 2018 Tecnativa - Pedro M. Baeza
-->
<openerp>
<data>
<odoo>
<record id="account_check_deposit_view_form" model="ir.ui.view">
<field name="name">account.check.deposit.form</field>
<field name="model">account.check.deposit</field>
<field name="arch" type="xml">
<form string="Checks Deposit">
@@ -138,5 +135,4 @@
parent="account.menu_finance_entries"
sequence="20"/>
</data>
</openerp>
</odoo>

View File

@@ -1,37 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 Akretion (http://www.akretion.com/)
@author Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
Copyright 2015 Akretion - Alexis de Lattre
Copyright 2018 Tecnativa - Pedro M. Baeza
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<openerp>
<data>
<odoo>
<record id="view_move_line_form" model="ir.ui.view">
<field name="name">account_check_deposit.view_move_line_form</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form" />
<field name="arch" type="xml">
<field name="statement_id" position="after">
<field name="check_deposit_id" />
<record id="view_move_line_form" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form" />
<field name="arch" type="xml">
<field name="statement_id" position="after">
<field name="check_deposit_id" />
</field>
</field>
</field>
</record>
</record>
<record id="view_move_line_form2" model="ir.ui.view">
<field name="name">account_check_deposit.view_move_line_form2</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_form2" />
<field name="arch" type="xml">
<field name="blocked" position="after">
<field name="check_deposit_id" />
</field>
</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2015 Akretion - Alexis de Lattre
Copyright 2018 Tecnativa - Pedro M. Baeza
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.account_check_deposit</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='bank_cash']" position="after">
<h2>Check Deposits</h2>
<div class="row mt16 o_settings_container" id="account_check_deposit">
<div class="col-xs-12 col-md-6 o_setting_box" id="account_check_deposit_offsetting_account">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="check_deposit_offsetting_account"/>
<div class="content-group">
<field name="check_deposit_offsetting_account" class="o_light_label mt16" widget="radio"/>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible': ['|', ('has_chart_of_accounts', '=', False), ('check_deposit_offsetting_account', '!=', 'transfer_account')]}">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="check_deposit_transfer_account_id"/>
<field name="check_deposit_transfer_account_id" class="oe_inline"
context="{'default_reconcile': True}"
/>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>