diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index b4c81df..5d91426 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -261,15 +261,19 @@
 		gl_entries = []
 
 		# parent's gl entry
-		if self.base_grand_total:
+		if self.grand_total:
+			# Didnot use base_grand_total to book rounding loss gle
+			grand_total_in_company_currency = flt(self.grand_total * self.conversion_rate, 
+				self.precision("grand_total"))
+			
 			gl_entries.append(
 				self.get_gl_dict({
 					"account": self.credit_to,
 					"party_type": "Supplier",
 					"party": self.supplier,
 					"against": self.against_expense_account,
-					"credit": self.base_grand_total,
-					"credit_in_account_currency": self.base_grand_total \
+					"credit": grand_total_in_company_currency,
+					"credit_in_account_currency": grand_total_in_company_currency \
 						if self.party_account_currency==self.company_currency else self.grand_total,
 					"against_voucher": self.return_against if cint(self.is_return) else self.name,
 					"against_voucher_type": self.doctype,
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index a0ce980..e87794a 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -531,14 +531,18 @@
 
 	def make_customer_gl_entry(self, gl_entries):
 		if self.grand_total:
+			# Didnot use base_grand_total to book rounding loss gle
+			grand_total_in_company_currency = flt(self.grand_total * self.conversion_rate, 
+				self.precision("grand_total"))
+				
 			gl_entries.append(
 				self.get_gl_dict({
 					"account": self.debit_to,
 					"party_type": "Customer",
 					"party": self.customer,
 					"against": self.against_income_account,
-					"debit": self.base_grand_total,
-					"debit_in_account_currency": self.base_grand_total \
+					"debit": grand_total_in_company_currency,
+					"debit_in_account_currency": grand_total_in_company_currency \
 						if self.party_account_currency==self.company_currency else self.grand_total,
 					"against_voucher": self.return_against if cint(self.is_return) else self.name,
 					"against_voucher_type": self.doctype
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 49a7bd0..6488288 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -141,6 +141,8 @@
 
 	round_off_gle.update({
 		"account": round_off_account,
+		"debit_in_account_currency": abs(debit_credit_diff) if debit_credit_diff < 0 else 0,
+		"credit_in_account_currency": debit_credit_diff if debit_credit_diff > 0 else 0,
 		"debit": abs(debit_credit_diff) if debit_credit_diff < 0 else 0,
 		"credit": debit_credit_diff if debit_credit_diff > 0 else 0,
 		"cost_center": round_off_cost_center,
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index b5b3e53..6a0b3c0 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -408,8 +408,9 @@
 			total_amount_to_pay = flt(self.doc.grand_total  - self.doc.total_advance 
 				- flt(self.doc.write_off_amount), self.doc.precision("grand_total"))
 		else:
-			total_amount_to_pay = flt(self.doc.base_grand_total  - self.doc.total_advance 
-				- flt(self.doc.base_write_off_amount), self.doc.precision("grand_total"))
+			total_amount_to_pay = flt(flt(self.doc.grand_total *
+				self.doc.conversion_rate, self.doc.precision("grand_total")) - self.doc.total_advance 
+					- flt(self.doc.base_write_off_amount), self.doc.precision("grand_total"))
 			
 		if self.doc.doctype == "Sales Invoice":
 			self.doc.round_floats_in(self.doc, ["paid_amount"])
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index a8cdf83..3ccc648 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -504,8 +504,11 @@
 			var total_amount_to_pay = flt((this.frm.doc.grand_total - this.frm.doc.total_advance 
 				- this.frm.doc.write_off_amount), precision("grand_total"));
 		} else {
-			var total_amount_to_pay = flt((this.frm.doc.base_grand_total - this.frm.doc.total_advance 
-				- this.frm.doc.base_write_off_amount), precision("base_grand_total"));
+			var total_amount_to_pay = flt(
+				(flt(this.frm.doc.grand_total*this.frm.doc.conversion_rate, precision("grand_total")) 
+					- this.frm.doc.total_advance - this.frm.doc.base_write_off_amount), 
+				precision("base_grand_total")
+			);
 		}
 		
 		if(this.frm.doc.doctype == "Sales Invoice") {
