diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
index f537200..5e13626 100644
--- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
@@ -165,7 +165,7 @@
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Payment Transaction Message", 
+   "label": "Payment Request Message", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -190,7 +190,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-17 12:26:28.440728", 
+ "modified": "2015-12-24 17:31:52.014492", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Accounts Settings", 
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 1a8b645..f82a68f 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -538,7 +538,7 @@
 		}
 
 @frappe.whitelist()
-def get_payment_entry_against_order(dt, dn):
+def get_payment_entry_against_order(dt, dn, args=None):
 	ref_doc = frappe.get_doc(dt, dn)
 
 	if flt(ref_doc.per_billed, 2) > 0:
@@ -556,10 +556,13 @@
 	party_account = get_party_account(party_type, ref_doc.get(party_type.lower()), ref_doc.company)
 	party_account_currency = get_account_currency(party_account)
 
-	if party_account_currency == ref_doc.company_currency:
-		amount = flt(ref_doc.base_grand_total) - flt(ref_doc.advance_paid)
+	if not args or not args["amount"]:
+		if party_account_currency == ref_doc.company_currency:
+			amount = flt(ref_doc.base_grand_total) - flt(ref_doc.advance_paid)
+		else:
+			amount = flt(ref_doc.grand_total) - flt(ref_doc.advance_paid)
 	else:
-		amount = flt(ref_doc.grand_total) - flt(ref_doc.advance_paid)
+		amount = args["amount"]
 
 	return get_payment_entry(ref_doc, {
 		"party_type": party_type,
@@ -569,11 +572,13 @@
 		"amount_field_bank": amount_field_bank,
 		"amount": amount,
 		"remarks": 'Advance Payment received against {0} {1}'.format(dt, dn),
-		"is_advance": "Yes"
+		"is_advance": "Yes",
+		"bank_account": args["bank_account"] if args else None,
+		"return_obj": args["return_obj"] if args else None
 	})
 
 @frappe.whitelist()
-def get_payment_entry_against_invoice(dt, dn):
+def get_payment_entry_against_invoice(dt, dn, args=None):
 	ref_doc = frappe.get_doc(dt, dn)
 	if dt == "Sales Invoice":
 		party_type = "Customer"
@@ -597,9 +602,11 @@
 		"party_account_currency": ref_doc.party_account_currency,
 		"amount_field_party": amount_field_party,
 		"amount_field_bank": amount_field_bank,
-		"amount": abs(ref_doc.outstanding_amount),
+		"amount": args["amount"] if args else abs(ref_doc.outstanding_amount),
 		"remarks": 'Payment received against {0} {1}. {2}'.format(dt, dn, ref_doc.remarks),
-		"is_advance": "No"
+		"is_advance": "No",
+		"bank_account": args["bank_account"] if args else None,
+		"return_obj": args["return_obj"] if args else None
 	})
 
 def get_payment_entry(ref_doc, args):
@@ -653,7 +660,7 @@
 
 	jv.set_amounts_in_company_currency()
 	jv.set_total_debit_credit()
-
+	
 	return jv if args.get("return_obj") else jv.as_dict()
 
 @frappe.whitelist()
diff --git a/erpnext/accounts/doctype/payment_gateway/payment_gateway.json b/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
index 4f81632..d2d8a78 100644
--- a/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
+++ b/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
@@ -13,54 +13,6 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "payment_gateway_details", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Gateway Details", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "is_default", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Is Default", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
    "fieldname": "gateway", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -80,56 +32,6 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "payment_account", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Account", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Account", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "currency", 
-   "fieldtype": "Read Only", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Currency", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "payment_account.account_currency", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
   }
  ], 
  "hide_heading": 0, 
@@ -141,7 +43,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-22 19:07:36.491109", 
+ "modified": "2015-12-23 22:32:32.690126", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Payment Gateway", 
@@ -167,46 +69,6 @@
    "share": 1, 
    "submit": 0, 
    "write": 1
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "System Manager", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Accounts Manager", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
   }
  ], 
  "read_only": 0, 
diff --git a/erpnext/accounts/doctype/payment_gateway/payment_gateway.py b/erpnext/accounts/doctype/payment_gateway/payment_gateway.py
index f756a86..569a041 100644
--- a/erpnext/accounts/doctype/payment_gateway/payment_gateway.py
+++ b/erpnext/accounts/doctype/payment_gateway/payment_gateway.py
@@ -7,15 +7,5 @@
 from frappe.model.document import Document
 
 class PaymentGateway(Document):
-	def validate(self):
-		self.update_default_payment_gateway()
-		self.set_as_default()
-	
-	def update_default_payment_gateway(self):
-		if self.is_default:
-			frappe.db.sql("""update `tabPayment Gateway` set is_default = 0
-				where is_default = 1 """)
-		
-	def set_as_default(self):
-		if not frappe.db.get_value("Payment Gateway", {"is_default": 1, "name": ("!=", self.name)}, "name"):
-			self.is_default = 1
+	pass
+			
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_gateway_account/__init__.py b/erpnext/accounts/doctype/payment_gateway_account/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/accounts/doctype/payment_gateway_account/__init__.py
diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.js b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.js
new file mode 100644
index 0000000..c9bdc9b
--- /dev/null
+++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.js
@@ -0,0 +1,6 @@
+cur_frm.cscript.refresh = function(doc, dt, dn){
+	if(!doc.__islocal){
+		var df = frappe.meta.get_docfield(doc.doctype, "gateway", doc.name);
+		df.read_only = 1;
+	}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
new file mode 100644
index 0000000..e52225a
--- /dev/null
+++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
@@ -0,0 +1,172 @@
+{
+ "allow_copy": 0, 
+ "allow_import": 0, 
+ "allow_rename": 0, 
+ "creation": "2015-12-23 21:31:52.699821", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
+ "fields": [
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "is_default", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Is Default", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "gateway", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Gateway", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Payment Gateway", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "payment_account", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Payment Account", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Account", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "currency", 
+   "fieldtype": "Read Only", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Currency", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "payment_account.account_currency", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }
+ ], 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "in_create": 0, 
+ "in_dialog": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 0, 
+ "modified": "2015-12-24 17:02:34.520800", 
+ "modified_by": "Administrator", 
+ "module": "Accounts", 
+ "name": "Payment Gateway Account", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Administrator", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Accounts Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }
+ ], 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC"
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py
new file mode 100644
index 0000000..8cee085
--- /dev/null
+++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class PaymentGatewayAccount(Document):
+	def autoname(self):
+		self.name = self.gateway + " - " + self.currency
+		
+	def validate(self):
+		self.update_default_payment_gateway()
+		self.set_as_default()
+	
+	def update_default_payment_gateway(self):
+		if self.is_default:
+			frappe.db.sql("""update `tabPayment Gateway Account` set is_default = 0
+				where is_default = 1 """)
+		
+	def set_as_default(self):
+		if not frappe.db.get_value("Payment Gateway Account", {"is_default": 1, "name": ("!=", self.name)}, "name"):
+			self.is_default = 1
diff --git a/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py
new file mode 100644
index 0000000..84c3bc4
--- /dev/null
+++ b/erpnext/accounts/doctype/payment_gateway_account/test_payment_gateway_account.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+# test_records = frappe.get_test_records('Payment Gateway Account')
+
+class TestPaymentGatewayAccount(unittest.TestCase):
+	pass
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.js b/erpnext/accounts/doctype/payment_request/payment_request.js
index e0c1e14..c8863ec 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.js
+++ b/erpnext/accounts/doctype/payment_request/payment_request.js
@@ -1,4 +1,5 @@
 cur_frm.add_fetch("payment_gateway", "payment_account", "payment_account")
+cur_frm.add_fetch("payment_gateway", "gateway", "gateway")
 
 frappe.ui.form.on("Payment Request", "onload", function(frm, dt, dn){
 	frappe.call({
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.json b/erpnext/accounts/doctype/payment_request/payment_request.json
index 13eeb8b..a0dd9f4 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.json
+++ b/erpnext/accounts/doctype/payment_request/payment_request.json
@@ -118,7 +118,32 @@
    "label": "Payment Gateway", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Payment Gateway", 
+   "options": "Payment Gateway Account", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "gateway", 
+   "fieldtype": "Read Only", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Gateway", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "payment_gateway.gateway", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -135,7 +160,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "fieldname": "payment_account", 
-   "fieldtype": "Link", 
+   "fieldtype": "Read Only", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
@@ -143,7 +168,7 @@
    "label": "Payment Account", 
    "length": 0, 
    "no_copy": 0, 
-   "options": "Account", 
+   "options": "payment_gateway.payment_account", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
@@ -459,7 +484,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-22 20:18:08.853333", 
+ "modified": "2015-12-23 23:49:22.755235", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Payment Request", 
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index bac19ec..97b0081 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -7,7 +7,8 @@
 from frappe.model.document import Document
 from frappe.utils import flt, today
 from frappe import _
-from erpnext.accounts.doctype.journal_entry.journal_entry import get_payment_entry
+from erpnext.accounts.doctype.journal_entry.journal_entry import (get_payment_entry_against_invoice, 
+get_payment_entry_against_order)
 from erpnext.accounts.party import get_party_account
 from erpnext.accounts.utils import get_account_currency, get_balance_on
 from itertools import chain
@@ -18,14 +19,14 @@
 		
 	def validate_payment_request(self):
 		if frappe.db.get_value("Payment Request", {"reference_name": self.reference_name, 
-			"name": ("!=", self.name), "status": "Paid", "docstatus": 1}, "name"):
+			"name": ("!=", self.name), "status": ("not in", ["Initiated", "Paid"]), "docstatus": 1}, "name"):
 			frappe.throw(_("Payment Request already exist"))
 		
 	def on_submit(self):
 		if not self.mute_email:
 			self.send_payment_request()
 			self.send_email()
-			
+
 		self.make_communication_entry()
 	
 	def on_cancel(self):
@@ -38,7 +39,7 @@
 		pass
 	
 	def send_payment_request(self):
-		if self.payment_gateway == "PayPal":
+		if self.gateway == "PayPal":
 			from paypal_integration.express_checkout import set_express_checkout
 			self.payment_url = set_express_checkout(self.amount, self.currency, {"doctype": self.doctype, 
 				"docname": self.name})
@@ -50,52 +51,36 @@
 		if frappe.session.user == "Guest":
 			frappe.set_user("Administrator")
 			
-		return self.create_journal_voucher_entry()
+		return self.create_journal_entry()
 	
-	def create_journal_voucher_entry(self):
-		"""create voucher entry"""
+	def create_journal_entry(self):
+		"""create entry"""
 		payment_details = {
-			"party_type": "Customer",
-			"amount_field_party": "credit_in_account_currency",
-			"amount_field_bank": "debit_in_account_currency",
 			"amount": self.amount,
 			"return_obj": True
 		}
 		
-		ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name) 
-		
-		if self.reference_doctype == "Sales Order":
-			party_account = get_party_account("Customer", ref_doc.get('customer'), ref_doc.company)
-			payment_details.update({
-				"party_account": party_account,
-				"party_account_currency": get_account_currency(party_account),
-				"remarks": 'Advance Payment received against {0} {1}'.format(self.reference_doctype, self.reference_name),
-				"is_advance": "Yes"
-			})
-		if self.reference_doctype == "Sales Invoice":
-			payment_details.update({
-				"party_account": ref_doc.debit_to,
-				"party_account_currency": ref_doc.party_account_currency,
-				"remarks": 'Payment received against {0} {1}. {2}'.format(self.reference_doctype, self.reference_name, ref_doc.remarks),
-				"is_advance": "No"
-			})
-		
 		account_details = frappe.db.get_value("Account", self.payment_account,
 					["account_currency", "account_type"], as_dict=1)
-					
+		
 		payment_details["bank_account"] = {
 			"account": self.payment_account,
 			"balance": get_balance_on(self.payment_account),
 			"account_currency": account_details.account_currency,
 			"account_type": account_details.account_type
 		}
-		
-		#create voucher entry
-		jv =  get_payment_entry(ref_doc, payment_details)
+				
+		if self.reference_doctype == "Sales Order":
+			jv = get_payment_entry_against_order(self.reference_doctype, self.reference_name, payment_details)
+			
+		if self.reference_doctype == "Sales Invoice":
+			jv = get_payment_entry_against_invoice(self.reference_doctype, self.reference_name, payment_details)
+			
 		jv.update({
 			"voucher_type": "Journal Entry",
 			"posting_date": today()
-		})
+		})		
+
 		jv.submit()
 		
 		#set status as paid for Payment Request
@@ -136,11 +121,12 @@
 	"""Make payment request"""
 	args = frappe._dict(args)
 	ref_doc = get_reference_doc_details(args.dt, args.dn)
-	payment_gateway, payment_account = get_gateway_details(args)
+	name, gateway, payment_account = get_gateway_details(args)
 	
 	pr = frappe.new_doc("Payment Request")
 	pr.update({
-		"payment_gateway": payment_gateway,
+		"payment_gateway": name,
+		"gateway": gateway,
 		"payment_account": payment_account,
 		"currency": ref_doc.currency,
 		"amount": get_amount(ref_doc, args.dt),
@@ -185,9 +171,9 @@
 def get_gateway_details(args):
 	"""return gateway and payment account of default payment gateway"""
 	if args.payemnt_gateway:
-		frappe.db.get_value("Payment Gateway", args.payemnt_gateway, ["gateway", "payment_account"])
+		return frappe.db.get_value("Payment Gateway Account", args.payemnt_gateway, ["name", "gateway", "payment_account"])
 		
-	return frappe.db.get_value("Payment Gateway", {"is_default": 1}, ["gateway", "payment_account"])
+	return frappe.db.get_value("Payment Gateway Account", {"is_default": 1}, ["name", "gateway", "payment_account"])
 
 @frappe.whitelist()
 def get_print_format_list(ref_doctype):
diff --git a/erpnext/accounts/doctype/payment_request/test_payment_request.py b/erpnext/accounts/doctype/payment_request/test_payment_request.py
index bfc54f9..a2008cc 100644
--- a/erpnext/accounts/doctype/payment_request/test_payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/test_payment_request.py
@@ -12,17 +12,22 @@
 
 test_dependencies = ["Currency Exchange", "Journal Entry", "Contact", "Address"]
 
+payment_gateway = {
+	"doctype": "Payment Gateway",
+	"gateway": "_Test Gateway"
+}
+
 payment_method = [
 	{
-		"doctype": "Payment Gateway",
+		"doctype": "Payment Gateway Account",
 		"is_default": 1,
-		"gateway": "_Test Gateway INR",
+		"gateway": "_Test Gateway",
 		"payment_account": "_Test Bank - _TC",
 		"currency": "INR"
 	},
 	{
-		"doctype": "Payment Gateway",
-		"gateway": "_Test Gateway USD",
+		"doctype": "Payment Gateway Account",
+		"gateway": "_Test Gateway",
 		"payment_account": "_Test Bank - _TC",
 		"currency": "USD"
 	}
@@ -30,9 +35,13 @@
 
 class TestPaymentRequest(unittest.TestCase):
 	def setUp(self):
-		for gateway in payment_method:
-			if not frappe.db.get_value("Payment Gateway", gateway["gateway"], "name"):
-				frappe.get_doc(gateway).insert(ignore_permissions=True)
+		if not frappe.db.get_value("Payment Gateway", payment_gateway["gateway"], "name"):
+			frappe.get_doc(payment_gateway).insert(ignore_permissions=True)
+			
+		for method in payment_method:
+			if not frappe.db.get_value("Payment Gateway Account", {"gateway": method["gateway"], 
+				"currency": method["currency"]}, "name"):
+				frappe.get_doc(method).insert(ignore_permissions=True)
 			
 	def test_payment_request_linkings(self):
 		SO_INR = make_sales_order(currency="INR")
@@ -63,7 +72,7 @@
 			currency="USD", conversion_rate=50)
 
 		pr = make_payment_request(dt="Sales Invoice", dn=SI_USD.name, recipient_id="saurabh@erpnext.com",
-			mute_email=1, submit_doc=1, payemnt_gateway="_Test Gateway USD")
+			mute_email=1, submit_doc=1, payemnt_gateway="_Test Gateway - USD")
 		jv = pr.set_paid()
 
 		self.assertEquals(jv.accounts[0].account, "_Test Receivable USD - _TC")
