diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 0cb9609c6d2..a25af18e5fc 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -115,7 +115,12 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying. } } - if (doc.docstatus == 1 && doc.outstanding_amount != 0 && !doc.on_hold) { + if ( + doc.docstatus == 1 && + doc.outstanding_amount != 0 && + !doc.on_hold && + frappe.model.can_create("Payment Entry") + ) { this.frm.add_custom_button(__("Payment"), () => this.make_payment_entry(), __("Create")); cur_frm.page.set_inner_btn_group_as_primary(__("Create")); } @@ -126,7 +131,13 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying. } } - if (doc.docstatus == 1 && doc.outstanding_amount > 0 && !cint(doc.is_return) && !doc.on_hold) { + if ( + doc.docstatus == 1 && + doc.outstanding_amount > 0 && + !cint(doc.is_return) && + !doc.on_hold && + frappe.boot.user.in_create.includes("Payment Request") + ) { this.frm.add_custom_button( __("Payment Request"), function () { diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 800a97358f2..b6a939a1b8b 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -94,7 +94,7 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends ( erpnext.accounts.ledger_preview.show_stock_ledger_preview(this.frm); } - if (doc.docstatus == 1 && doc.outstanding_amount != 0) { + if (doc.docstatus == 1 && doc.outstanding_amount != 0 && frappe.model.can_create("Payment Entry")) { this.frm.add_custom_button(__("Payment"), () => this.make_payment_entry(), __("Create")); this.frm.page.set_inner_btn_group_as_primary(__("Create")); } @@ -136,13 +136,15 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends ( } if (doc.outstanding_amount > 0) { - cur_frm.add_custom_button( - __("Payment Request"), - function () { - me.make_payment_request(); - }, - __("Create") - ); + if (frappe.boot.user.in_create.includes("Payment Request")) { + this.frm.add_custom_button( + __("Payment Request"), + function () { + me.make_payment_request_with_schedule(); + }, + __("Create") + ); + } this.frm.add_custom_button( __("Invoice Discounting"), this.make_invoice_discounting.bind(this), diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index 2d1c965154e..2ad2edaf119 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -440,7 +440,11 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends ( __("Create") ); - if (flt(doc.per_billed) < 100 && doc.status != "Delivered") { + if ( + frappe.model.can_create("Payment Entry") && + flt(doc.per_billed) < 100 && + doc.status != "Delivered" + ) { this.frm.add_custom_button( __("Payment"), () => this.make_payment_entry(), @@ -448,7 +452,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends ( ); } - if (flt(doc.per_billed) < 100) { + if (flt(doc.per_billed) < 100 && frappe.boot.user.in_create.includes("Payment Request")) { this.frm.add_custom_button( __("Payment Request"), function () { diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index c00465c3007..1452a1c1e49 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -773,11 +773,13 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex } // payment request if (flt(doc.per_billed) < 100 + frappe.boot.sysdefaults.over_billing_allowance) { - this.frm.add_custom_button( - __("Payment Request"), - () => this.make_payment_request(), - __("Create") - ); + if (frappe.boot.user.in_create.includes("Payment Request")) { + this.frm.add_custom_button( + __("Payment Request"), + () => this.make_payment_request_with_schedule(), + __("Create") + ); + } if (frappe.model.can_create("Payment Entry")) { this.frm.add_custom_button(