From e8a8d3947ca6409aa3666034957a83199d8ea2f7 Mon Sep 17 00:00:00 2001 From: Nishka Gosalia Date: Wed, 10 Dec 2025 13:12:47 +0530 Subject: [PATCH] fix: updating base amount in timesheet --- .../doctype/timesheet_detail/timesheet_detail.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py index 1ce2e7977d5..dc4c07bf376 100644 --- a/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py +++ b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.py @@ -92,6 +92,16 @@ class TimesheetDetail(Document): self.billing_amount = self.billing_rate * (self.billing_hours or 0) self.costing_amount = self.costing_rate * (self.hours or 0) + exchange_rate = flt(frappe.get_value("Timesheet", self.parent, "exchange_rate")) or 1.0 + self.base_billing_rate = flt(self.billing_rate * exchange_rate, self.precision("base_billing_rate")) + self.base_costing_rate = flt(self.costing_rate * exchange_rate, self.precision("base_costing_rate")) + self.base_billing_amount = flt( + self.billing_amount * exchange_rate, self.precision("base_billing_amount") + ) + self.base_costing_amount = flt( + self.costing_amount * exchange_rate, self.precision("base_costing_amount") + ) + def validate_dates(self): """Validate that to_time is not before from_time.""" if self.from_time and self.to_time and time_diff_in_hours(self.to_time, self.from_time) < 0: