diff --git a/odex25_realstate/property_management/models/rent_payment.py b/odex25_realstate/property_management/models/rent_payment.py index 957ab70ff..f438b9dfb 100644 --- a/odex25_realstate/property_management/models/rent_payment.py +++ b/odex25_realstate/property_management/models/rent_payment.py @@ -18,6 +18,8 @@ class RentPayment(models.Model): _order = "id desc" code = fields.Char(string="Sequence") + collected_from_company = fields.Boolean(string="Is Payment Collected from Company") + commission_amount = fields.Monetary(string="Commission Amount",store=True,compute='_compute_commission_amount') name = fields.Char(string="Description") contract_id = fields.Many2one('rental.contract', string="Rental Contract") renter_id = fields.Many2one('res.partner',string="Renter",related='contract_id.partner_id',readonly=1) @@ -51,7 +53,14 @@ class RentPayment(models.Model): ('paid', 'Paid'), ('cancel', 'Canceled')], string="Status", default='draft') invoice_id = fields.Many2one('account.move', string="Invoice",readonly=1) + invoice_commission_id = fields.Many2one('account.move', string="Invoice Commission",readonly=1) note = fields.Text(string="Note") + + @api.depends('total_amount') + def _compute_commission_amount(self): + for record in self: + commission_percentage = self.env['ir.config_parameter'].get_param('property_management.commission_percentage') + record.commission_amount = record.total_amount * (commission_percentage / 100) if commission_percentage else 0 @api.depends('contract_id') def _compute_renter(self):