Get advance in sales/purchase invoice
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index bf6a343..34a342e 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -362,6 +362,9 @@
 
 	def get_advances(self, account_head, child_doctype, parentfield, dr_or_cr, against_order_field):
 		so_list = list(set([d.get(against_order_field) for d in self.get("entries") if d.get(against_order_field)]))
+		cond = ""
+		if so_list:
+			cond = "or (ifnull(t2.%s, '')  in (%s))" % ("against_" + against_order_field, ', '.join(['%s']*len(so_list)))
 
 		res = frappe.db.sql("""
 			select
@@ -376,12 +379,9 @@
 						and ifnull(t2.against_jv, '')  = ''
 						and ifnull(t2.against_sales_order, '')  = ''
 						and ifnull(t2.against_purchase_order, '')  = ''
-					) or (
-						ifnull(t2.%s, '')  in (%s)
-					)
-				)
+					) %s)
 			order by t1.posting_date""" %
-			(dr_or_cr, '%s', "against_" + against_order_field, ', '.join(['%s']*len(so_list))),
+			(dr_or_cr, '%s', cond),
 			tuple([account_head] + so_list), as_dict= True)
 
 		self.set(parentfield, [])