diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py
index fcd6846..9b1ddb7 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -32,6 +32,9 @@
 		}]
 		
 	def validate(self):
+		if not self.doc.is_opening:
+			self.doc.is_opening = 'No'
+			
 		super(DocType, self).validate()
 		
 		self.po_required()
@@ -45,15 +48,8 @@
 		self.check_for_stopped_status()
 		self.validate_with_previous_doc()
 		self.validate_uom_is_integer("uom", "qty")
-
-		if not self.doc.is_opening:
-			self.doc.is_opening = 'No'
-
 		self.set_aging_date()
-
-		#set against account for credit to
 		self.set_against_expense_account()
-		
 		self.validate_write_off_account()
 		self.update_raw_material_cost()
 		self.update_valuation_rate("entries")
@@ -215,7 +211,8 @@
 		against_accounts = []
 		stock_items = self.get_stock_items()
 		for item in self.doclist.get({"parentfield": "entries"}):
-			if auto_accounting_for_stock and item.item_code in stock_items:
+			if auto_accounting_for_stock and item.item_code in stock_items \
+					and self.doc.is_opening == 'No':
 				# in case of auto inventory accounting, against expense account is always
 				# Stock Received But Not Billed for a stock item
 				item.expense_head = stock_not_billed_account
diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py
index c826fcb..1f24c58 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/accounts/report/accounts_receivable/accounts_receivable.py
@@ -132,8 +132,8 @@
 		if not hasattr(self, "gl_entries"):
 			conditions, values = self.prepare_conditions()
 			self.gl_entries = webnotes.conn.sql("""select * from `tabGL Entry`
-				where docstatus < 2 {} order by posting_date, account""".format(conditions),
-				values, as_dict=True)
+				where docstatus < 2 {0} order by posting_date, account""".format(conditions),
+				values, as_dict=True, debug=1)
 				
 		return self.gl_entries
 		
@@ -153,8 +153,8 @@
 			if not account_map:
 				webnotes.throw(_("No Customer Accounts found."))
 			else:
-				accounts_list = ['"{}"'.format(ac) for ac in account_map]
-				conditions.append("account in ({})".format(", ".join(accounts_list)))
+				accounts_list = ['"{0}"'.format(ac) for ac in account_map]
+				conditions.append("account in ({0})".format(", ".join(accounts_list)))
 		
 		return " and ".join(conditions), values
 		
