diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 7b0447b91cb..8818d4d1d06 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")); this.frm.page.set_inner_btn_group_as_primary(__("Create")); } @@ -130,7 +135,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 aa457f811f1..097d4f1ad03 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")); } @@ -135,13 +135,15 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends ( } if (doc.outstanding_amount > 0) { - this.frm.add_custom_button( - __("Payment Request"), - function () { - me.make_payment_request_with_schedule(); - }, - __("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 5cf8a0ef3dc..321f52f6ec0 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -380,7 +380,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(), @@ -388,7 +392,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 b41f9885a61..98d730f9b0a 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -1162,11 +1162,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_with_schedule(), - __("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(