You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

107 lines
2.9 KiB

# Copyright 2019 Coop IT Easy SCRL fs
# Houssine BAKKALI <houssine@coopiteasy.be>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class LoanInterestLine(models.Model):
_name = "loan.interest.line"
_description = "Loan Interest Line"
name = fields.Integer(
string="Year",
required=True
)
loan_issue_id = fields.Many2one(
related="issue_line.loan_issue_id",
store=True,
readlonly=True)
issue_line = fields.Many2one(
"loan.issue.line",
string="Subscribed loan",
required=True
)
partner_id = fields.Many2one(
related="issue_line.partner_id",
store=True,
readlonly=True
)
amount = fields.Monetary(
related="issue_line.amount",
string="Subscribed amount",
currency_field="company_currency_id",
readonly=True,
)
interest = fields.Monetary(
string="Gross interest amount",
currency_field="company_currency_id",
readonly=True,
)
net_interest = fields.Monetary(
string="Net interest amount",
currency_field="company_currency_id",
readonly=True,
)
taxes_rate = fields.Float(
string="Taxes on interest",
required=True
)
taxes_amount = fields.Monetary(
string="Taxes amount",
currency_field="company_currency_id",
readonly=True,
)
accrued_amount = fields.Monetary(
string="Accrued amount",
currency_field="company_currency_id",
readonly=True,
)
accrued_interest = fields.Monetary(
string="Accrued gross interest",
currency_field="company_currency_id",
readonly=True,
)
accrued_net_interest = fields.Monetary(
string="Accrued net interest",
currency_field="company_currency_id",
readonly=True,
)
accrued_taxes = fields.Monetary(
string="Accrued taxes to pay",
currency_field="company_currency_id",
readonly=True,
)
due_loan_amount = fields.Monetary(
string="Due loan amount",
currency_field="company_currency_id"
)
due_amount = fields.Monetary(
string="Total due amount",
currency_field="company_currency_id"
)
due_date = fields.Date(string="Due date")
company_currency_id = fields.Many2one(
"res.currency",
related="company_id.currency_id",
string="Company Currency",
readonly=True,
)
company_id = fields.Many2one(
"res.company",
related="issue_line.company_id",
string="Company",
readonly=True,
)
state = fields.Selection(
[
("draft", "Draft"),
("due_fy", "Due in the year"),
("due", "Due"),
("scheduled", "Payment scheduled"),
("donation", "Donation"),
("paid", "Paid"),
],
string="State",
default="draft",
)