Allocate entire advance amount if advance against SO/PO
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 9a62fc2..af0a96e 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -387,7 +387,7 @@
 
 		res = frappe.db.sql("""
 			select
-				t1.name as jv_no, t1.remark, t2.%s as amount, t2.name as jv_detail_no
+				t1.name as jv_no, t1.remark, t2.%s as amount, t2.name as jv_detail_no, `against_%s` as against_order
 			from
 				`tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
 			where
@@ -400,7 +400,7 @@
 						and ifnull(t2.against_purchase_order, '')  = ''
 					) %s)
 			order by t1.posting_date""" %
-			(dr_or_cr, '%s', cond),
+			(dr_or_cr, against_order_field, '%s', cond),
 			tuple([account_head] + so_list), as_dict= True)
 
 		self.set(parentfield, [])
@@ -411,7 +411,7 @@
 				"jv_detail_no": d.jv_detail_no,
 				"remarks": d.remark,
 				"advance_amount": flt(d.amount),
-				"allocate_amount": 0
+				"allocated_amount": flt(d.amount) if d.against_order else 0
 			})
 
 	def validate_advance_jv(self, advance_table_fieldname, against_order_field):