fix(Purchase Receipt): Add test for exchange rate difference handling
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 2586a0f..0ce4c3a 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -1051,6 +1051,28 @@
 		self.assertEqual(len(item_two_gl_entry), 1)
 
 		frappe.db.set_value('Company', company, 'enable_perpetual_inventory_for_non_stock_items', before_test_value)
+	def test_purchase_receipt_with_exchange_rate_difference(self):
+		from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice as create_purchase_invoice
+
+		pi = create_purchase_invoice(currency = "USD", conversion_rate = 70)
+
+		create_warehouse("_Test Warehouse for Valuation", company="_Test Company with perpetual inventory",
+			properties={"account": '_Test Account Stock In Hand - TCP1'})
+		pr = make_purchase_receipt(warehouse = '_Test Warehouse for Valuation - TCP1', 
+			company="_Test Company with perpetual inventory", currency = "USD", conversion_rate = 80, 
+			do_not_save = "True")
+
+		for item in pr.items:
+			item.purchase_invoice = pi.name
+
+		pr.insert()
+		pr.submit()	
+
+		# fetching the latest GL Entry with 'Exchange Gain/Loss - TCP1' account
+		gl_entries = frappe.get_all('GL Entry', filters = {'account': 'Exchange Gain/Loss - TCP1'})
+		voucher_no = frappe.get_value('GL Entry', gl_entries[0]['name'], 'voucher_no')	
+
+		self.assertEqual(pr.name, voucher_no)
 
 def get_sl_entries(voucher_type, voucher_no):
 	return frappe.db.sql(""" select actual_qty, warehouse, stock_value_difference