From e033df27573c5ae395d8987ef01464e620cf9f0f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 31 Aug 2018 13:30:03 +0530 Subject: [PATCH] minor fixes --- .../doctype/sales_invoice/sales_invoice.py | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 2907149261d..cb65557dc5f 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -1100,6 +1100,16 @@ class SalesInvoice(SellingController): for item in self.get('items'): last_gl_entry = False + booking_end_date = getdate(add_days(today(), -1)) if not end_date else end_date + if booking_end_date < item.service_start_date or (item.service_stop_date and booking_end_date.month > item.service_stop_date.month): + continue + elif booking_end_date>=item.service_end_date: + last_gl_entry = True + booking_end_date = item.service_end_date + elif item.service_stop_date and item.service_stop_date<=booking_end_date: + last_gl_entry = True + booking_end_date = item.service_stop_date + booking_start_date = getdate(add_months(today(), -1)) if not start_date else start_date booking_start_date = booking_start_date if booking_start_date>item.service_start_date else item.service_start_date @@ -1115,24 +1125,13 @@ class SalesInvoice(SellingController): else: booking_start_date = getdate(add_days(prev_gl_entry.posting_date, 1)) - booking_end_date = getdate(add_days(today(), -1)) if not end_date else end_date - if item.service_stop_date and booking_end_date.month > item.service_stop_date.month: - continue - elif booking_end_date>=item.service_end_date: - last_gl_entry = True - booking_end_date = item.service_end_date - elif item.service_stop_date and item.service_stop_date<=booking_end_date: - last_gl_entry = True - booking_end_date = item.service_stop_date - total_days = date_diff(item.service_end_date, item.service_start_date) total_booking_days = date_diff(booking_end_date, booking_start_date) + 1 account_currency = get_account_currency(item.income_account) if not last_gl_entry: - base_amount = flt(item.base_net_amount*total_booking_days/flt(total_days), item.precision("base_net_amount")) if account_currency==self.company_currency: - amount = base_amount + amount = flt(item.base_net_amount*total_booking_days/flt(total_days), item.precision("base_net_amount")) else: amount = flt(item.net_amount*total_booking_days/flt(total_days), item.precision("net_amount")) else: @@ -1141,9 +1140,9 @@ class SalesInvoice(SellingController): from `tabGL Entry` where company=%s and account=%s and voucher_type=%s and voucher_no=%s and voucher_detail_no=%s group by voucher_detail_no ''', (self.company, item.deferred_revenue_account, "Sales Invoice", self.name, item.name), as_dict=True)[0] - base_amount = flt(item.base_net_amount - gl_entries_details.total_debit, item.precision("base_net_amount")) + if account_currency==self.company_currency: - amount = base_amount + amount = flt(item.base_net_amount - gl_entries_details.total_debit, item.precision("base_net_amount")) else: amount = flt(item.net_amount - gl_entries_details.total_debit_in_account_currency, item.precision("net_amount"))