Rename module sale_advance_payment_management to sale_down_payment
Add field amount_down_payment on sale.order
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
# Copyright 2019 Akretion France (http://www.akretion.com)
|
|
||||||
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
|
||||||
# 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
|
|
||||||
@@ -3,17 +3,19 @@
|
|||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# 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',
|
'version': '12.0.1.0.0',
|
||||||
'category': 'Sales',
|
'category': 'Sales',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'summary': 'Link payment to sale orders',
|
'summary': 'Link payment to sale orders',
|
||||||
'description': """
|
'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.
|
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 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
|
This module has been written by Alexis de Lattre from Akretion
|
||||||
39
sale_down_payment/models/sale.py
Normal file
39
sale_down_payment/models/sale.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Copyright 2019 Akretion France (http://www.akretion.com)
|
||||||
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
# 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
|
||||||
@@ -18,6 +18,12 @@
|
|||||||
<field name="payment_line_ids" nolabel="1"/>
|
<field name="payment_line_ids" nolabel="1"/>
|
||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
|
<field name="amount_total" position="after">
|
||||||
|
<div class="oe_subtotal_footer_separator oe_inline o_td_label">
|
||||||
|
<label for="amount_down_payment" />
|
||||||
|
</div>
|
||||||
|
<field name="amount_down_payment" nolabel="1" class="oe_subtotal_footer_separator"/>
|
||||||
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
Reference in New Issue
Block a user