diff --git a/sale_advance_payment_management/models/sale.py b/sale_advance_payment_management/models/sale.py deleted file mode 100644 index f62c5bd..0000000 --- a/sale_advance_payment_management/models/sale.py +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 2019 Akretion France (http://www.akretion.com) -# @author Alexis de Lattre -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import fields, models - - -class SaleOrder(models.Model): - _inherit = 'sale.order' - - payment_line_ids = fields.One2many( - 'account.move.line', 'sale_id', string='Advance Payments', - readonly=True) - # residual diff --git a/sale_advance_payment_management/__init__.py b/sale_down_payment/__init__.py similarity index 100% rename from sale_advance_payment_management/__init__.py rename to sale_down_payment/__init__.py diff --git a/sale_advance_payment_management/__manifest__.py b/sale_down_payment/__manifest__.py similarity index 84% rename from sale_advance_payment_management/__manifest__.py rename to sale_down_payment/__manifest__.py index 6a8e92f..844856e 100644 --- a/sale_advance_payment_management/__manifest__.py +++ b/sale_down_payment/__manifest__.py @@ -3,17 +3,19 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': 'Sale Advance Payment Management', + 'name': 'Sale Down Payment', 'version': '12.0.1.0.0', 'category': 'Sales', 'license': 'AGPL-3', 'summary': 'Link payment to sale orders', 'description': """ -Sale Advance Payment Management -=============================== +Sale Down Payment +================= This module adds a link between payment and sale orders. It allows to see advanced payment directly on the sale order form view. +After processing a bank statement, you can start a wizard to link unreconciled incoming payments to a sale order. + This module targets B2B companies that don't want to generate a down payment invoice for an advanced payment. This module has been written by Alexis de Lattre from Akretion diff --git a/sale_advance_payment_management/models/__init__.py b/sale_down_payment/models/__init__.py similarity index 100% rename from sale_advance_payment_management/models/__init__.py rename to sale_down_payment/models/__init__.py diff --git a/sale_advance_payment_management/models/account_move_line.py b/sale_down_payment/models/account_move_line.py similarity index 100% rename from sale_advance_payment_management/models/account_move_line.py rename to sale_down_payment/models/account_move_line.py diff --git a/sale_down_payment/models/sale.py b/sale_down_payment/models/sale.py new file mode 100644 index 0000000..b09bdc2 --- /dev/null +++ b/sale_down_payment/models/sale.py @@ -0,0 +1,39 @@ +# Copyright 2019 Akretion France (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + payment_line_ids = fields.One2many( + 'account.move.line', 'sale_id', string='Advance Payments', + readonly=True) + amount_down_payment = fields.Monetary( + compute='_compute_amount_down_payment', string='Down Payment Amount') + + @api.depends( + 'payment_line_ids.credit', 'payment_line_ids.debit', + 'payment_line_ids.amount_currency', 'payment_line_ids.currency_id', + 'payment_line_ids.date', 'currency_id') + def _compute_amount_down_payment(self): + for sale in self: + down_payment = 0.0 + sale_currency = sale.pricelist_id.currency_id + if sale_currency == sale.company_id.currency_id: + for pl in sale.payment_line_ids: + down_payment -= pl.balance + else: + for pl in sale.payment_line_ids: + if ( + pl.currency_id and + pl.currency_id == sale_currency and + pl.amount_currency): + down_payment -= pl.amount_currency + else: + down_payment -= sale.company_id.currency_id._convert( + pl.balance, sale_currency, sale.company_id, + pl.date) + sale.amount_down_payment = down_payment diff --git a/sale_advance_payment_management/views/account_bank_statement.xml b/sale_down_payment/views/account_bank_statement.xml similarity index 100% rename from sale_advance_payment_management/views/account_bank_statement.xml rename to sale_down_payment/views/account_bank_statement.xml diff --git a/sale_advance_payment_management/views/account_move_line.xml b/sale_down_payment/views/account_move_line.xml similarity index 100% rename from sale_advance_payment_management/views/account_move_line.xml rename to sale_down_payment/views/account_move_line.xml diff --git a/sale_advance_payment_management/views/sale.xml b/sale_down_payment/views/sale.xml similarity index 69% rename from sale_advance_payment_management/views/sale.xml rename to sale_down_payment/views/sale.xml index c9cd0f1..8190535 100644 --- a/sale_advance_payment_management/views/sale.xml +++ b/sale_down_payment/views/sale.xml @@ -18,6 +18,12 @@ + + + + diff --git a/sale_advance_payment_management/wizard/__init__.py b/sale_down_payment/wizard/__init__.py similarity index 100% rename from sale_advance_payment_management/wizard/__init__.py rename to sale_down_payment/wizard/__init__.py diff --git a/sale_advance_payment_management/wizard/account_bank_statement_sale.py b/sale_down_payment/wizard/account_bank_statement_sale.py similarity index 100% rename from sale_advance_payment_management/wizard/account_bank_statement_sale.py rename to sale_down_payment/wizard/account_bank_statement_sale.py diff --git a/sale_advance_payment_management/wizard/account_bank_statement_sale_view.xml b/sale_down_payment/wizard/account_bank_statement_sale_view.xml similarity index 100% rename from sale_advance_payment_management/wizard/account_bank_statement_sale_view.xml rename to sale_down_payment/wizard/account_bank_statement_sale_view.xml