A suggestion based on my basic understanding on User permissions. The existing permission is very open and hence cannot restrict users based on business needs.
User classification:
Administrator:- Full Access to the business
Accountant:- Has access to all transactions
Sales Manager: Create customers, create quotes and post sales invoices and see all sales invoice by all users
Sales Executive: view create sales quotes only. These users can only view the quotes they created.
Cashier:- See details of payments from customers and suppliers and print cheques after approval from Admin or accountant.
Auditor:- external or internal auditors for viewing of business transactions.
Permissions should be associated with each tab than having one permission for all the tabs.
Eg:- Sales Manager will have view for purchase order but view and create and update for customer/sales order and sales invoice.
Sales Executive:- View customers without outstanding payment details. Create SO and view the ones created by them only.
I guess if we can come up with a good permission structure, it will be easy for the developers to make the necessary changes.