Merge pull request !9131 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-03-02 11:31:07 +00:00
committed by Gitee
4 changed files with 20 additions and 5 deletions
@@ -54,6 +54,19 @@ class PropertyAccountsReceivable(models.Model):
bank_id = fields.Many2one('property.bank.statements', string='流水记录')
receivable_log = fields.Text(string='应收日志')
@api.onchange('contract_id')
def _onchange_contract_id(self):
"""选择合同时自动填充税率"""
if self.contract_id and self.contract_id.tax_rate:
self.tax = float(self.contract_id.tax_rate.name)
def action_update_tax_from_contract(self):
"""批量更新税率:从合同获取正确税率"""
for rec in self:
if rec.contract_id and rec.contract_id.tax_rate:
rec.tax = float(rec.contract_id.tax_rate.name)
return True
def update_is_invalid(self):
record_ids = self.env["property.accounts.receivable"].browse(
self._context.get("active_ids", self._context.get("active_id"))
@@ -78,7 +78,8 @@ class CurrentReceivablePropertyFeeReport(models.Model):
for idx, rec in enumerate(receivables, start=1):
amt = rec.original_amount or 0.0
tax_rate = rec.tax or 0.0
# 从合同获取税率
tax_rate = float(rec.contract_id.tax_rate.name) * 100 if rec.contract_id and rec.contract_id.tax_rate else 0.0
amt_nt = amt / (1 + tax_rate / 100) if tax_rate else amt
total_amount += amt
total_amount_nt += amt_nt
@@ -99,7 +100,7 @@ class CurrentReceivablePropertyFeeReport(models.Model):
'display_name': rec.lessee_id.name,
} if rec.lessee_id else "",
"金额(含税)": round(amt, 2),
"税率": tax_rate,
"税率": f"{tax_rate:.1f}%" if tax_rate else "0.0%",
"金额(不含税)": round(amt_nt, 2),
"物业名称": rec.property_name or "",
"产权证": rec.title_deed or "",
@@ -63,7 +63,8 @@ class CurrentReceivableRentReport(models.Model):
discount = rec.discount_amount or 0.0
# 实际应收 = 原始金额 - 减免金额
actual_amt = amt - discount
tax_rate = rec.tax or 0.0
# 从合同获取税率
tax_rate = float(rec.contract_id.tax_rate.name) * 100 if rec.contract_id and rec.contract_id.tax_rate else 0.0
actual_amt_nt = actual_amt / (1 + tax_rate / 100) if tax_rate else actual_amt
# 统计每个管理类型的合计
@@ -85,7 +86,7 @@ class CurrentReceivableRentReport(models.Model):
"原始金额": round(amt, 2),
"减免金额": round(discount, 2) if discount else "",
"实际金额(含税)": round(actual_amt, 2),
"税率": tax_rate,
"税率": f"{tax_rate:.1f}%" if tax_rate else "0.0%",
"实际金额(不含税)": round(actual_amt_nt, 2),
"物业名称": rec.property_name or "",
"产权证": rec.title_deed or "",
+1 -1
View File
@@ -78,7 +78,7 @@ class YuthonProperty(models.Model):
'display_name': rec.contract_id.contract_code,
} if rec.contract_id else "",
"发票类型": invoice_type_map.get(rec.invoice_type, ""),
"税率": f"{rec.tax}%" if rec.tax else "0%"
"税率": f"{float(rec.contract_id.tax_rate.name) * 100:.1f}%" if rec.contract_id and rec.contract_id.tax_rate else "0.0%"
})
summary_stats = []