diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index fcbbf1f82e2..d741a6008af 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -36,9 +36,6 @@ class PurchaseInvoice(BuyingController): 'overflow_type': 'billing' }] - def onload(self): - self.get("__onload").journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry') - def validate(self): if not self.is_opening: self.is_opening = 'No' diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 4b952aca662..2b64d17046b 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -49,9 +49,6 @@ class SalesInvoice(SellingController): self.indicator_color = "green" self.indicator_title = _("Paid") - def onload(self): - self.get("__onload").journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry') - def validate(self): super(SalesInvoice, self).validate() self.validate_posting_time() diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index c7dad223c3c..79b22ae6779 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -33,9 +33,6 @@ class PurchaseOrder(BuyingController): 'overflow_type': 'order' }] - def onload(self): - self.get("__onload").journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry') - def validate(self): super(PurchaseOrder, self).validate() diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index e2458754680..3d2f16b4b57 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -26,6 +26,9 @@ class AccountsController(TransactionBase): return self.__company_currency + def onload(self): + self.get("__onload").make_payment_via_journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry') + def validate(self): if self.get("_action") and self._action != "update_after_submit": self.set_missing_values(for_validate=True) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index b9b94f512a3..3f4d12d20b0 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -23,6 +23,7 @@ class SellingController(StockController): self.grand_total) def onload(self): + super(SellingController, self).onload() if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"): for item in self.get("items"): item.update(get_bin_details(item.item_code, diff --git a/erpnext/docs/assets/img/accounts/account-settings.png b/erpnext/docs/assets/img/accounts/account-settings.png index 943aa3d0559..dfe2abed439 100644 Binary files a/erpnext/docs/assets/img/accounts/account-settings.png and b/erpnext/docs/assets/img/accounts/account-settings.png differ diff --git a/erpnext/docs/assets/img/accounts/journal-entry.png b/erpnext/docs/assets/img/accounts/journal-entry.png index d4a4e21fc23..c6a2a642cf3 100644 Binary files a/erpnext/docs/assets/img/accounts/journal-entry.png and b/erpnext/docs/assets/img/accounts/journal-entry.png differ diff --git a/erpnext/docs/user/manual/en/accounts/index.txt b/erpnext/docs/user/manual/en/accounts/index.txt index d7c405acc54..6ba93375871 100644 --- a/erpnext/docs/user/manual/en/accounts/index.txt +++ b/erpnext/docs/user/manual/en/accounts/index.txt @@ -3,6 +3,7 @@ opening-accounts sales-invoice point-of-sale-pos-invoice purchase-invoice +payments journal-entry payment-entry multi-currency-accounting diff --git a/erpnext/docs/user/manual/en/accounts/payments.md b/erpnext/docs/user/manual/en/accounts/payments.md new file mode 100644 index 00000000000..7e5aab3a9ac --- /dev/null +++ b/erpnext/docs/user/manual/en/accounts/payments.md @@ -0,0 +1,48 @@ +Payment can be made against following transactions. + + 1. Sales Invoice. + 2. Purchase Invoice. + 3. Sales Order (Advance Payment) + 4. Purchase Order (Advance Payment) + +In ERPNext, there is two options through which user can capture the payment + + 1. Payment Entry(Default). + 2. Journal Entry. + +## Payment Entry + +####Step 1: Make Payment + +On submitting a document against which Payment Entry can be made, you will find Make Payment button. + +Making Payment + +####Step 2: Payment Entry + +Making Payment + +For more details about payment entry [check here.](https://frappe.github.io/erpnext/user/manual/en/accounts/payment-entry) + +## Journal Entry + +To make paymant using journal entry, check below steps + +####Step 1: Activate Payment via Journal Entry + +Goto Accounts Settings > checked Make Payment via Journal Entry + +Making Payment + +####Step 2: Make Payment + +On submitting a document against which Journal Entry can be made, you will find Make Payment button. + +Making Payment + +####Step 3: Journal Entry + +Save and submit the journal entry to record the payament against the invoice +Making Payment + +For more details about journal entry [check here.](https://frappe.github.io/erpnext/user/manual/en/accounts/journal-entry) \ No newline at end of file diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 49cbb689d49..7ac90318d49 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1004,7 +1004,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ get_method_for_payment: function(){ method = "erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry" - if(cur_frm.doc.__onload && cur_frm.doc.__onload.journal_entry){ + if(cur_frm.doc.__onload && cur_frm.doc.__onload.make_payment_via_journal_entry){ if(in_list(['Sales Invoice', 'Purchase Invoice'], cur_frm.doc.doctype)){ method = "erpnext.accounts.doctype.journal_entry.journal_entry.get_payment_entry_against_invoice" }else { diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index ceba33af5a7..0435141d530 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -24,9 +24,6 @@ class SalesOrder(SellingController): def __init__(self, arg1, arg2=None): super(SalesOrder, self).__init__(arg1, arg2) - def onload(self): - self.get("__onload").journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry') - def validate(self): super(SalesOrder, self).validate()