diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
index 95085b9..6729d67 100644
--- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
+++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py
@@ -34,28 +34,31 @@
 	return columns, data, None, chart
 
 def get_net_profit_loss(income, expense, period_list, company):
-	if income and expense:
-		total = 0
-		net_profit_loss = {
-			"account_name": "'" + _("Net Profit / Loss") + "'",
-			"account": "'" + _("Net Profit / Loss") + "'",
-			"warn_if_negative": True,
-			"currency": frappe.db.get_value("Company", company, "default_currency")
-		}
+	total = 0
+	net_profit_loss = {
+		"account_name": "'" + _("Net Profit / Loss") + "'",
+		"account": "'" + _("Net Profit / Loss") + "'",
+		"warn_if_negative": True,
+		"currency": frappe.db.get_value("Company", company, "default_currency")
+	}
 
-		has_value = False
+	has_value = False
 
-		for period in period_list:
-			net_profit_loss[period.key] = flt(income[-2][period.key] - expense[-2][period.key], 3)
+	for period in period_list:
+		total_income = flt(income[-2][period.key], 3) if income else 0
+		total_expense = flt(expense[-2][period.key], 3) if expense else 0
 
-			if net_profit_loss[period.key]:
-				has_value=True
+		net_profit_loss[period.key] = total_income - total_expense
 
-			total += flt(net_profit_loss[period.key])
-			net_profit_loss["total"] = total
+		if net_profit_loss[period.key]:
+			has_value=True
 
-		if has_value:
-			return net_profit_loss
+		total += flt(net_profit_loss[period.key])
+		net_profit_loss["total"] = total
+
+	if has_value:
+		return net_profit_loss
+
 
 def get_chart_data(filters, columns, income, expense, net_profit_loss):
 	x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
