oca-ocb-l10n_asia-pacific/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_payment.py
Ernad Husremovic 7f43bbbfcc 19.0 vanilla
2026-03-09 09:31:21 +01:00

31 lines
1.3 KiB
Python

from odoo import fields, models
class AccountPayment(models.Model):
_inherit = "account.payment"
# withholding related fields
l10n_in_withhold_move_ids = fields.One2many(
'account.move', 'l10n_in_withholding_ref_payment_id',
string="Indian Payment TDS Entries",
)
l10n_in_total_withholding_amount = fields.Monetary(compute='_compute_l10n_in_total_withholding_amount')
l10n_in_tds_feature_enabled = fields.Boolean(related='company_id.l10n_in_tds_feature')
def _compute_l10n_in_total_withholding_amount(self):
for payment in self:
if payment.company_id.l10n_in_tds_feature:
payment.l10n_in_total_withholding_amount = sum(payment.l10n_in_withhold_move_ids.filtered(
lambda m: m.state == 'posted').l10n_in_withholding_line_ids.mapped('l10n_in_withhold_tax_amount'))
else:
payment.l10n_in_total_withholding_amount = 0.0
def action_l10n_in_withholding_entries(self):
self.ensure_one()
return {
'name': "TDS Entries",
'type': 'ir.actions.act_window',
'res_model': 'account.move',
'view_mode': 'list,form',
'domain': [('id', 'in', self.l10n_in_withhold_move_ids.ids)],
}