Business Central permission errors
By Emil Björk · Microsoft business apps consultant, Gothenburg
The Business Central permission-set errors that stop a user cold — cause, fix, and how to design permission sets that avoid them.
On this page (5)
Business Central's permission model is table-and-object-level: a permission set grants specific access (Read, Insert, Modify, Delete, Execute) to specific tables, pages, reports, and codeunits, and a user needs the union of everything their assigned permission sets grant. When that union is missing one object, the error is usually specific about which object — but decoding what that object actually means in business terms is the hard part.
"You do not have the following permissions on TableData [Table Name]: Insert"
Symptom. A user tries to create or post a document and the action fails with this exact permission message, naming a table and an operation (Insert, Modify, Delete, or Execute).
Cause. No assigned permission set grants the required operation on that specific table. This is common after a new feature starts writing to a table nobody thought to grant (a new posting routine, an extension's own tables) or after a permission set was trimmed to reduce access without testing every workflow that depends on it.
Fix. Identify which permission set should logically cover this table (or add a new one), grant the missing operation, and reassign it to the user or their user group. The Permission Set page's "Where Used" style lookups and the standard permission sets' documentation help identify the right owner rather than guessing.
Prevention. Test every permission set change against a representative user's full workflow — end to end, not just the screen that was being modified — before rolling it to production. A trimmed permission set that works for 95% of a role's daily tasks still generates tickets for the other 5%.
"You do not have the following permissions on Codeunit [Name]: Execute"
Symptom. An action or a background job fails naming a codeunit rather than a table.
Cause. Codeunits carry their own executable permission separate from the tables they touch — a permission set can grant every table operation an action needs and still fail if the codeunit that runs the action itself isn't executable for that user.
Fix. Add Execute permission on the named codeunit to the relevant permission set. AL extensions typically ship a permission set covering their own codeunits; if the error names a codeunit from an installed extension, check whether that extension's permission set was actually assigned, not just installed.
Prevention. When installing a new AL extension, assign its shipped permission set to the relevant user groups as a deliberate step in the rollout checklist — installing an extension does not automatically grant anyone permission to use it.
"The permissions specified for user group [X] conflict with company [Y]"
Symptom. A permission set assignment fails or behaves inconsistently when a user group is scoped to specific companies in a multi-company tenant.
Cause. Business Central lets user group permission assignments be company-specific; a user group meant to apply everywhere but only assigned in one company silently doesn't apply in others.
Fix. Check the User Group and User Group Members pages for company scoping and extend the assignment to every company the user actually needs.
Prevention. In a multi-company tenant, decide explicitly at design time whether permission sets are meant to be identical across companies or genuinely different, and document which — assuming "it'll just apply everywhere" is the most common cause of this class of ticket.
Job queue entries failing with a permission error
Symptom. A scheduled job queue entry that used to run fine starts failing with a permission error, with no user actively doing anything at the time.
Cause. Job queue entries run under a specific stored user context (see job queue), and that user's permissions can change — a permission set unassigned, an account disabled — independently of anyone touching the job queue configuration itself.
Fix. Check the permission set assignments for the job queue entry's configured user, not the permissions of whoever is investigating the ticket.
Prevention. Use a dedicated service-style user (not a named employee's account) for job queue entries and integrations, so a personnel change or an individual's permission review never silently breaks a scheduled job.
Where to go next
Permission set design as a whole is covered in permissions and security in Business Central. For the errors that show up when posting groups rather than permissions are missing, see posting setup errors.
Frequently asked questions
Why does a user get a permission error on something they could do yesterday?
- Almost always a permission set was changed or unassigned — directly, or indirectly because a licence type change (Essentials to Team Member, for instance) altered which permission sets apply. Check the user's current permission set assignments before assuming a platform bug.
Is SUPER a safe permission set to hand out to fix errors quickly?
- It bypasses every permission check, so it makes the symptom disappear without diagnosing the cause — and it's a security and audit problem if left assigned. Use it only to confirm the error is genuinely a permissions issue, then assign the specific permission actually missing.
Related guides
- Business Central extension install and upgrade errorsWhy a Business Central AL extension fails to install, publish, or upgrade — dependency, data-upgrade, and schema errors decoded.
- Business Central report layout errorsWhy posting or printing a document in Business Central fails with a layout error — Word and RDLC layout selection, custom fields, and rendering failures.
- AL compiler errors in Business CentralThe AL compiler errors every Business Central developer hits — AL0118, AL0132, AL0185, AL0296, AL0432, AL0603, AL0604, ID-range and symbol errors — with cause.
- AL runtime errors in Business CentralThe Business Central runtime errors AL developers and admins meet most — record already exists, does not exist, modified by another user, string length.
- Business Central API errorsBusiness Central API and OData errors decoded — Authentication_InvalidCredentials, BadRequest_ResourceNotFound, Internal_CompanyNotFound, Request_EntityChanged.
Browse every guide in Business Central or just Troubleshooting.
Did this fix it?
Signals which guides land and which need work. No account, no comment box — corrections go through the contact page.
Spot something wrong or want a topic covered? Send a correction or a topic request — both are welcome.