diff --git a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py index b90e2e44bf3..f5a2cc406c0 100644 --- a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py +++ b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py @@ -219,13 +219,18 @@ def get_net_profit( has_value = False + gross_income_roots = [row for row in (gross_income or []) if not flt(row.get("indent"))] + non_gross_income_roots = [row for row in (non_gross_income or []) if not flt(row.get("indent"))] + gross_expense_roots = [row for row in (gross_expense or []) if not flt(row.get("indent"))] + non_gross_expense_roots = [row for row in (non_gross_expense or []) if not flt(row.get("indent"))] + for period in period_list: key = period if consolidated else period.key - gross_income_for_period = flt(gross_income[0].get(key, 0)) if gross_income else 0 - non_gross_income_for_period = flt(non_gross_income[0].get(key, 0)) if non_gross_income else 0 - gross_expense_for_period = flt(gross_expense[0].get(key, 0)) if gross_expense else 0 - non_gross_expense_for_period = flt(non_gross_expense[0].get(key, 0)) if non_gross_expense else 0 + gross_income_for_period = sum(flt(row.get(key, 0)) for row in gross_income_roots) + non_gross_income_for_period = sum(flt(row.get(key, 0)) for row in non_gross_income_roots) + gross_expense_for_period = sum(flt(row.get(key, 0)) for row in gross_expense_roots) + non_gross_expense_for_period = sum(flt(row.get(key, 0)) for row in non_gross_expense_roots) total_income = gross_income_for_period + non_gross_income_for_period total_expense = gross_expense_for_period + non_gross_expense_for_period