User Role improvement idea for locations, customer, suppliers etc

Hello
I was thinking if it can be implemented that users can also be restricted to use of locations, customers, suppliers and other more features.
For example
Sales man of branch A (location) can only create delivery notes from his specified branch A as it removes the chance of mistakes during selection of location at the time of creating delivery note of the invoice. It also helps in speeding up the creation of delivery notes. They could see inventory locations but not having a chance to disturb them even from a little mistake in selection. Also it can’t be left empty that way and its selected by default.
And some users like managers can be given multiple location access like area manager has 2 branches and other area manager has 3 branches. In short admin can give access to either 1 or more than 1 location access just like bank or cash accounts which can be selected in multiple.

Specific Access of Clients and sales data
If users are set specific for some clients they can only create sales invoices for those specific clients only and can’t see sales of other branch B or C and of other clients or users.
Like if Branch A daily sale is 1000usd its visible to branch A staff only.
Branch B sale is 800usd its visible to Branch B staff only
They can only have sales invoice access or customer access to those clients which are specified to them.

Similarly same situation for purchase invoices and suppliers.
Purchase manager A can only access his specific location, supplier, invoice and goods receipt etc

i think this would be a great improvement in user roles and helps business having smart data analysis. By this it can be reported which user made how many sales and and purchases etc and it could be a great help to bigger businesses having multiple locations and alot of users.

Please search before starting new topics. There is already one in ideas that would cover this, among many other things. Better permission capability has been promised.

Ok giving my suggestion in that previous topic