Home / Blog App Development

Who Should See What: User Roles and Permissions in a Custom Business System

By Gotka Technologies ·

A person using a phone and laptop together at a cafe
What are user roles and permissions in a business system?

A role is a named group of permissions tied to a job, such as owner, manager or technician. A permission is a specific action, such as seeing, creating, editing, approving, deleting or exporting a type of record. Assigning roles instead of individual rules keeps access consistent, makes new joiners quick to set up, and lets you change a whole job's access in one place.

Why is giving every staff member admin access a bad idea?

Admin access lets a person change settings, see every record and often manage other users. If everyone has it, an honest mistake can delete important data, sensitive details such as cost prices and staff pay spread widely, nobody can tell who changed what, and one leaked password exposes everything. Giving each person only the access their job needs limits all of those risks.

What should I decide about roles before a custom system is built?

List the roles by job and the record types, then decide for each role who can see, create, edit, approve, delete and export each record. Add the scope (all, branch, department or own records), mark sensitive fields such as cost and contact details, set discount and refund approval limits, and name at least two administrators. Write all of it into the specification.

How many admin accounts should a small business have?

Usually two: the owner and one trusted senior person, each with a separate named account. A single administrator is a bottleneck if that person is away, ill or leaves, while too many dilute control. Each administrator should also keep an ordinary account for daily work, and the developer's own access should be limited, named and agreed in writing.

How do I test user roles before accepting a system?

Create one test user per role and go through your permission grid. For every action marked not allowed, try it and confirm the system refuses, including through pasted links, search, reports and the export button. Test branch scope, approval limits just below and above the threshold, and that nobody can approve their own request. Also disable a user and change a role to check both take effect.

What should I do with a system account when someone leaves?

Disable it on or before their last working day rather than deleting it, so the history stays attached to their name. Reassign their open jobs and approvals, change any shared password they knew, remove them from shared mailboxes and connected tools, collect devices and exports, and note the date and who did it. Review the full user list every quarter as well.

WhatsApp
Get in touch

Send us a message

A real person from our team will get back to you.