The Ultimate Guide to NetSuite User Roles, Permissions and Access Management
Roles decide what a user can reach. Permissions decide what they can do with a record type. Restrictions decide which records they see at all. Most access problems in US NetSuite accounts come from confusing the three, and from never reviewing them after go-live.
The short answer
NetSuite roles and permissions form a four-layer access model. A user is assigned one or more roles. Each role holds permissions, which grant access to a record type, task or page at one of five levels: None, View, Create, Edit or Full. Each role can also hold restrictions, which limit which individual records that role can reach by employee, department, class, location or subsidiary.
The distinction that trips teams up: a permission grants access to a record type, a restriction limits access to specific records. A user can hold Full permission on a record type and still be unable to view a given record, including ones they just created, because a restriction excludes it.
What this guide covers
- The four-layer access model
- Role types, centers and special roles
- Permission categories and access levels
- Restrictions and their edge cases
- Administrator vs Core Administration Permissions
- 2FA, passkeys and the 2027.1 deadline
- Controlling access to NetSuite AI features
- Segregation of duties and SOX
- Auditing roles and access
- The quarterly user access review
- A role design blueprint
- Twelve mistakes we keep finding
- FAQ
1. The four-layer access model
Oracle's own guidance for administrators is blunt about the shape of this: give employees only the access they need, do not assign standard roles to users, customize standard roles instead, create roles for each job function, and assign more than one role when someone genuinely does more than one job.
User
An employee, vendor, partner or customer with login access.
Holds one or more roles, switchable from the role dropdown.Role
A named bundle of permissions and restrictions tied to a center type.
Standard roles are not editable. Customize, then assign.Permission
Access to a record type, task or page, at a level from None to Full.
Answers: what kind of thing can they touch?Restriction
A filter limiting which individual records the role can reach.
Answers: which of those things, specifically?The single most useful sentence in the Oracle documentation on this topic is the one most teams have never read: users with create or full permissions to a restricted record type can create and submit new instances of that record type, but cannot view the records they just created. Users cannot view records they are restricted from, regardless of permission level.
That behavior is correct and intentional, and it is also the explanation for a large share of "I saved it and now it is gone" support tickets. If you see that pattern, the problem is almost never the permission. It is a restriction.
One more structural point for US multi-entity businesses. A single employee can hold several roles and switch between them, which is the right pattern when one person legitimately performs two separable duties. It is also how you preserve segregation of duties without giving one role everything. The wrong pattern is one fat role that covers every hat that person wears.
2. Role types, centers and special roles
Standard vs custom
NetSuite ships a library of standard roles such as Accountant, A/P Clerk, Sales Manager and System Administrator. Standard roles are not editable. To change one you click Customize, which creates an editable copy, and you assign the copy. Oracle's setup checklist states the rule directly: do not assign standard roles to users.
Why it matters practically. When Oracle changes a standard role in a release, your users inherit that change whether or not it suits you. A customized copy gives you a controlled baseline, and it gives your auditors something with a documented owner.
Center types
Every role belongs to a center, which determines the navigation structure the user sees. The center type is chosen when the role is created and cannot be changed after the role is saved, so getting it wrong means rebuilding the role.
| Center | Who it is for | Access management notes |
|---|---|---|
| Classic / Accounting / Sales / Support / Marketing Center | Internal employees | Full navigation. Where most custom role design happens. |
| Employee Center | All staff, for self-service | Time, expenses, purchase requests, directory. The default landing role for most employees, and often the only role a non-finance employee needs. |
| Customer Center | Customers | Excluded from the Require 2FA for All Roles feature. Covered in section 6. |
| Vendor Center | Vendors | Included in the 2027.1 2FA scope. Check shared vendor portal logins now. |
| Partner Center / Advanced Partner Center | Channel partners | Included in the 2027.1 2FA scope. |
Special role settings worth knowing
- Web Services Only Role. Restricts a role to API access, blocking UI login. Correct for integration users, and the cleanest way to stop a service account being used as a human login.
- Single Sign-On Only Role. Forces access through your identity provider. Note that where a role is designated a SAML SSO role, the NetSuite 2FA requirement is ignored, because your IdP is expected to enforce the second factor.
- Restrict by Device ID. Limits a role to specified devices.
- IP address rules. Enforced at company and employee level rather than on the role, and a frequent cause of access failures for remote and travelling US staff.
- Full Access role. Deprecated. Oracle's administrator checklist says plainly: do not use it.
Integration users are user access. Treat every integration role as part of your access review scope, not as infrastructure. It has permissions, it touches financial records, and in a SOX environment an auditor will ask who owns it, what it can do, and who reviewed it. Our NetSuite integration services team builds these as Web Services Only roles with scoped permissions rather than borrowed admin credentials.
3. Permission categories and access levels
Permissions on a role are organized into subtabs, broadly: Transactions, Reports, Lists, Setup, and Custom Records. Setup is the dangerous one. It holds the permissions that change how the account behaves rather than what is in it.
The five access levels
Oracle documents five general access levels. Each successive level increases what the role can do with the related record type, task or page, although Oracle notes that some permissions do not fit the model exactly, and that for certain permissions only the minimum View level is required for the feature to work, with higher levels adding nothing.
| Level | What the user can do | Where it belongs |
|---|---|---|
| None | Cannot create, view, edit or delete | The default. Everything starts here. |
| View | View existing records only | Reporting, review and approval roles. Most managers. |
| Create | Create new and view existing. Cannot edit or delete | Intake and data entry roles where corrections should route through someone else. |
| Edit | Create, view and edit existing | Most active operational roles. |
| Full | Create, view, edit and delete | Narrow specialist cases only. Full is a delete right. |
The Full level is the most over-assigned setting in NetSuite. It is frequently granted because a user reported they "could not do something," and Full is the fastest way to make the complaint stop. In a US company subject to SOX, broad delete rights on transaction records are a finding waiting to happen. Before granting Full, confirm the user actually needs to delete records, not merely edit them.
Build up, never down
The most common route to an over-permissioned account is starting from the Administrator role, or a near-admin copy, and removing what the user should not have. It feels faster. It reliably leaves permissions behind, because nobody can hold the full permission set in their head, and the leftovers are invisible until an audit finds them.
Build from the center type upward instead: start from a narrow standard role that matches the job function, customize it, and add only what the user demonstrably needs. Then assign the role to yourself and walk the entire business process end to end before releasing it. Oracle's own checklist includes exactly that step, and it catches the "I can enter the bill but not submit it" class of problem before a user does.
Global Permissions
The Global Permissions feature grants a permission to an employee across every role they hold. Oracle's guidance is to avoid it unless you have to, and to use role permissions and restrictions instead. The reason is auditability. A global permission does not appear where a reviewer looks for it, which is on the role, so it is the single easiest way to hide access from your own access review.
Advanced Employee Permissions
If your account has the Advanced Employee Permissions feature enabled, employee data access is split across permissions such as Employees, Employee Administration, Employee Public and Employee Confidential. This matters for restriction behavior: with that feature on, the restrictions set on the Role page apply only to the Employees and Employee Administration permissions, while Employee Public and Employee Confidential ignore them. US companies handling compensation data in NetSuite should confirm which model their account is using before designing HR-adjacent roles.
4. Restrictions and their edge cases
Restrictions are set on the Restrictions subtab of the role record, and they are where role design gets genuinely subtle. They limit a role's access to transaction, customer, employee, partner and optionally item records based on field values on those records. They can also limit the values a user may assign to those fields.
| Restriction | Filters on | Typical use |
|---|---|---|
| Employee Restrictions | Employee, sales rep and supervisor fields | Sales reps seeing only their own customers and opportunities. Employees seeing only their own time and expenses. |
| Department Restrictions | Department field | Cost center boundaries. Departmental managers. |
| Class Restrictions | Class field | Product line or business unit separation. |
| Location Restrictions | Location field | Warehouse, plant and branch roles. Strongest fit for operations and inventory. |
| Subsidiary Restrictions (OneWorld) | Subsidiary field | Multi-entity separation. Limits which subsidiary values can be selected and which records can be edited. |
The three restriction levels
For employee, department, class and location, the levels are consistent:
- none, default to own: no restriction on what can be selected, but the field defaults to the user's own value
- own, subordinate, and unassigned: the user's own value, its children, and records where the field is blank
- own and subordinates only: the user's own value and its children, excluding unassigned records
For subsidiary restrictions the model differs: the role can be limited to the user's own subsidiary, or to a selected set of subsidiaries.
Six edge cases that cause real incidents
1. Unassigned records leak through. With "own, subordinate, and unassigned," any record where the field is blank is visible. If your department field is inconsistently populated, that restriction is doing far less than you think. Oracle notes separately that any Chart of Accounts account without an assigned department is not subject to the own-subordinate-unassigned or own-and-subordinates-only restrictions at all.
2. Restrictions are ignored when the employee record is incomplete. If a custom role does not have a department, class or location set on the user's employee record, restrictions on those fields are ignored. The role looks restricted on screen and behaves unrestricted in practice. This is the failure mode that looks most like a NetSuite bug and almost never is.
3. Expense and time transactions bypass segment restrictions. Class, department, location and subsidiary restrictions are not applied for expense and time transactions. If your control design assumes a location-restricted role cannot see other locations' expense reports, test it.
4. Do Not Restrict Employee Fields is a deliberate hole. Checking this box lets a role with employee restrictions still select any employee in employee fields. It is often necessary, because an employee-restricted user frequently needs to name a colleague on a record or run a report referencing employee fields. It is also an exception to your restriction, so document why it is checked.
5. Allow Cross-Subsidiary Record Viewing does what it says. It lets users see, but not edit, records for subsidiaries their role does not cover. Useful for shared service centers. Also a disclosure decision, not a convenience setting, for US groups with entities that should not see each other's data.
6. Subsidiary restrictions cascade to departments. In OneWorld, subsidiary restrictions automatically apply to departments. A role restricted to Subsidiary X can access only departments assigned to Subsidiary X, even with no department restriction set.
Forms as a fourth control
Restrictions control which records a role reaches. Custom forms control what a role sees on a record. A form can hide fields entirely or mark them read-only, and a role can be restricted to that form. This is how you keep cost prices, vendor payment terms or compensation out of view without blocking access to the record. It is often the right answer when "they need the record but not that field" comes up, and it is cleaner than a second record type. Our NetSuite customization services team builds role-specific forms as a standard part of access design.
5. Administrator vs Core Administration Permissions
The standard Administrator role grants full account access and cannot be customized. It is also 2FA-required by default, permanently.
Core Administration Permissions is the feature that lets you build near-admin access with restrictions applied. It is enabled on all accounts by default, and it can be assigned to any role, which you then configure to restrict access to specific areas of NetSuite. To assign it you must be logged in as Administrator, or with a role that already has Core Administration Permissions plus Manage Roles.
Oracle attaches two warnings to it, both worth repeating. Use caution, because the role becomes similar to the standard Administrator role in terms of exclusive administrative privileges. And when you assign it, you should consider setting the role's Two-Factor Authentication Required dropdown to require 2FA. In practice Core Administration Permissions is itself one of the permissions that forces 2FA on a role, so that consideration is largely made for you.
How many administrators should a US mid-market company have? There is no Oracle-published number, and anyone quoting one is guessing. The defensible position for an auditor is different: every account with Administrator or Core Administration Permissions has a named business owner, a documented reason, 2FA enforced, and evidence it was reviewed in the last quarter. Two unreviewed admins is a worse finding than six reviewed ones. Excessive full-access roles remains the single most common security gap we find during a NetSuite health check.
Where admin access quietly accumulates
- Implementation consultants whose access was never revoked at project close
- A previous partner's team, still active after a transition. We document and tighten exactly this during a takeover, as in our NetSuite partner transition case study
- A developer given admin "temporarily" to debug a script
- Integration credentials created with the Administrator role because it was quicker
- A departed employee's role left active because their records were still referenced
6. 2FA, passkeys and the 2027.1 deadline
This is the section with actual dates attached, and the reason access management is a 2026 priority rather than a 2027 one.
What is already mandatory
NetSuite requires 2FA for all Administrator and other highly privileged roles when logging in to any NetSuite account, including production, sandbox, development and Release Preview. The Administrator role and highly privileged roles are 2FA-required by default and the requirement cannot be removed. This has been enforced across all accounts since 2018.2.
Certain permissions force a role to be 2FA-required. Oracle lists them, and every one of them is a permission a US company should already be treating as privileged:
- Access Token Management (for Token-Based Authentication)
- OAuth 2.0 Authorized Applications Management
- Core Administration Permissions
- Two-Factor Authentication base
- Set Up SAML Single Sign-on, Set Up OpenID Connect (OIDC) Single Sign-on, Set Up OpenID Single Sign-on
- OIDC Provider Setup
- Integration Application
Standard roles carrying the Two-Factor Authentication base permission include Marketing Administrator, Sales Administrator, Support Administrator and System Administrator. You can see which standard and customized roles include these permissions in the Two-Factor Authentication Required column on the Two-Factor Authentication Roles page.
Two consequences teams discover the hard way. All non-UI access through an API, including web services and RESTlets, is also 2FA-required, and 2FA-required roles cannot use user credentials for API authentication. And where a role is designated a SAML SSO role, the 2FA requirement is ignored, because authentication has moved to your identity provider.
What changed in 2026.2
- Passwordless authentication with passkeys. As of 13 July 2026, users can set up a passkey and use it instead of a password to log in.
- Passkey as a 2FA authenticator. In 2026.2 a FIDO2-compliant passkey can serve as the second factor.
- Require 2FA for All Roles. Since 21 September 2026, administrators can require 2FA for all Employee, Vendor and Partner roles. Customer Center, web store and shopper roles are excluded.
- Very Strong Password Policy is available as an account setting. Note that certain highly privileged roles are required to hold at least the Strong policy at all times.
What happens in 2027.1
Require 2FA for All Roles is switched on automatically in 2027.1, covering Employee, Vendor and Partner roles. An administrator can disable it at Setup > Company > Enable Features, on the Company subtab, which reverts 2FA settings to their previous state per the Two-Factor Authentication Roles page. Non-employee roles including Customer Center, Vendor Center, Partner Center, Advanced Partner Center and web store roles are not included in that automatic scope.
Alongside it, 2027.1 carries the authentication changes that break integrations rather than logins:
- NLAuth authentication for RESTlets ends, with existing IssueToken integrations excepted
- No new Token-Based Authentication integrations can be created. End of support for TBA is tentatively 2028.2
- PKCE becomes required for new OAuth 2.0 authorization code integrations
We cover the migration path in detail in our TBA to OAuth 2.0 guide, and the wider release context in our NetSuite 2026.2 release breakdown.
The three searches to run before your 2027.1 upgrade
- Shared and service logins. Any login shared between people, or used by a script or scheduler to sign in to the UI with a password alone, will hit 2FA for the first time. That includes vendor and partner portal logins.
- Vendor and partner access. These are in scope and are usually the least governed accounts in the system. Confirm every one has a real, reachable person behind it who can complete a 2FA enrollment.
- Integration authentication. Inventory every NLAuth caller and every TBA integration now. The 2FA change and the integration changes land in the same release.
Multiple Sessions per User. Worth knowing if you are considering it: this capability is opt-in rather than on by default, and once enabled, every role in the account must be configured as 2FA-required. It is not a quiet convenience toggle.
7. Controlling access to NetSuite AI features
Access management in 2026 includes a question that did not exist two years ago: who can ask the system a question in natural language, and what does the system answer with?
The reassuring part first. Ask Oracle works within your existing roles and permissions, so a user only sees what they are already authorized to see. AI access does not bypass your role design. But it does something your role design was never stress-tested for: it makes data that was technically visible but practically buried instantly retrievable. A role that could, in theory, run a search exposing margin data across every customer now has a conversational interface for doing it.
That is the real governance point. Before enabling AI features, re-examine roles for access that was tolerable only because it was inconvenient to exercise.
What 2026.2 added
- Manage NetSuite Next Access by Role and Manage Ask Oracle Access by Role. Access to both is controlled per role rather than account-wide, so rollout can be staged. NetSuite Next is being made available to customers in phases, which means a feature present in one account can be absent in another on the same version.
- New AI MCP permissions for the Specialized User: CRM role. Administrators can customize that role so users can use the NetSuite AI Connector Service to interact with NetSuite data conversationally. The relevant permissions are Log in using OAuth 2.0 Access Tokens and REST Web Services. Both have a default level of None, and Oracle states administrators should grant them only when needed. The role continues to limit access to the records and actions its existing permissions allow.
- File Cabinet access controls for custom tools. An empty folder list prevents custom tools from reading, creating or updating files, and existing NetSuite role permissions still apply on top.
- AI preference changes for NetSuite AI Units, which affects consumption rather than access, but belongs in the same rollout conversation.
For the connector architecture behind this, see our NetSuite MCP and AI connector guide, and for the platform direction, our NetSuite Next overview.
Review custom roles separately from standard roles. A custom role might not pick up a new feature automatically, or it might expose a capability without the permissions needed to use it correctly. Both outcomes generate support tickets, and the second one generates them after someone has already tried to do real work. Every new permission should have a documented business owner.
8. Segregation of duties and SOX
For US public companies and those preparing for an IPO, NetSuite role design is not an IT exercise. It is the control environment that Section 404 of the Sarbanes-Oxley Act requires management to assess and the external auditor to attest to. Private companies carrying SOC 1 or SOC 2 obligations, or bank covenants requiring audited financials, face a similar test.
Segregation of duties means no single role can initiate, approve and conceal the same transaction. In NetSuite terms, these are the conflicts auditors look for first.
| Conflict | Why it matters | How to separate it |
|---|---|---|
| Create vendor and pay vendor | The classic fictitious vendor scheme. One role can invent a payee and pay it. | Vendor master maintenance in a role without Pay Bills. Treat vendor bank detail changes as a privileged action with its own approval. |
| Enter bill and approve bill | Self-approval of a liability. | Approval routed by SuiteFlow to a role with View on the bill, not Edit. |
| Post journal entries and reconcile bank | A difference can be posted away rather than investigated. | Separate roles. Reconciliation role gets View on journals. |
| Maintain customer master and apply credits or write-offs | Receivables can be adjusted to hide a shortfall. | Write-off permission in a controlled role with threshold-based approval. |
| Administer roles and transact in finance | A user can grant themselves whatever access they need, then transact. | Keep Manage Roles and Core Administration Permissions out of any role that also posts transactions. |
| Run payroll and maintain employee master | Ghost employee risk. | Separate, and review together every quarter. |
Two things auditors ask that catch teams out
"Show me who could do this, not who did." Evidence that no inappropriate transaction occurred is not evidence of a control. The question is whether the access existed. That makes your role records, not your transaction history, the primary evidence.
"How do you know this is still true?" A role design documented at go-live and never reviewed carries little weight three years later. The control is the recurring review, not the original design. Section 10 sets out how to run it.
Compensating controls are legitimate where separation is genuinely impossible, which is common in US companies with small finance teams. A two-person accounting department cannot separate everything. What it can do is document the conflict, implement a detective control such as an independent review of a specific exception search, and evidence that the review happened. An acknowledged conflict with a working compensating control is a defensible position. An unacknowledged one is a deficiency.
We built the approval routing and reporting layer behind this kind of control for a B2B distributor whose sales order approvals needed constant manual intervention. The detail is in our NetSuite approval workflow case study, and the build pattern is covered in our guide to automating workflows with NetSuite.
9. Auditing roles and access in NetSuite
Oracle states that assigned permissions can be audited through searches of role and employee records, and assigned restrictions through searches of role records. That is the mechanism. Here is what to actually build.
The tools
| Tool | What it answers | Where |
|---|---|---|
| Login Audit Trail | Every login attempt, successful or failed, with IP address and timestamp | Setup > Users/Roles > View Login Audit Trail |
| Two-Factor Authentication Roles | Which roles are 2FA-required, including those forced by privileged permissions | Setup > Users/Roles > Two-Factor Authentication Roles |
| Role and permission searches | Which roles hold a given permission at a given level, and who holds those roles | Saved searches on the Role and Employee record types |
| Role permission differences | How a customized role diverges from the standard role it came from | Manage Roles, permission difference view |
| System Notes | Who changed a role, permission or employee record, and when | System Information subtab on the record |
| Mass update: permissions on custom roles | Applying a permission change across many custom roles at once | Lists > Mass Updates > Roles & Permissions |
The five saved searches to build once and keep
- Privileged role holders. Every employee holding a role with Administrator or Core Administration Permissions. Send it to the control owner monthly.
- Full-level permissions. Every role holding any permission at the Full level, grouped by permission. This is your delete-rights inventory.
- Active users, inactive employees. Employee records marked inactive or terminated that still have login access or assigned roles. The highest-value search on this list.
- Roles with no restrictions. Custom roles with transaction permissions and an empty Restrictions subtab, to catch roles that were meant to be scoped and never were.
- Dormant access. Users with no login in 90 days, cross-referenced against roles held. Dormant privileged access is the cheapest risk to remove.
If saved search formulas are not familiar territory, our NetSuite saved searches guide covers the mechanics. For login and access failures specifically, our write-up of the most common NetSuite support issues walks through the usual causes.
After every NetSuite release, review the release notes for new permission categories and update your roles. New features arrive with new permissions, and a custom role will not receive them automatically. That is the gap between "we designed roles properly" and "our roles are currently correct."
10. The quarterly user access review
A user access review is the control that makes everything above defensible. It needs to be boring, repeatable and evidenced. Here is a cadence that survives an audit without consuming a week.
| Frequency | Activity | Evidence produced |
|---|---|---|
| On change | Provision and deprovision with HR. Access removed the same day employment ends. | Ticket with requester, approver and date |
| Monthly | Privileged role holders search reviewed by the control owner. Login Audit Trail anomalies checked. | Signed-off search output |
| Quarterly | Full access review. Every active user and role confirmed by their manager as still appropriate. SoD conflict matrix re-run. | Manager attestations, exception log, remediation list |
| Each release (twice yearly) | Release notes reviewed for new permissions. Custom roles checked for gaps and unintended capability. | Release review note with role changes made |
| Annually | Role design itself reviewed against current org structure, not just the assignments within it. | Updated role catalog |
What the evidence pack needs to contain
- A role catalog: every custom role, its purpose, its business owner, and the standard role it derives from
- A user-to-role matrix as at the review date, exported and retained
- Manager attestation that each person's access matches their current job
- The SoD conflict matrix, with conflicts either resolved or documented with a compensating control
- An exception log showing what was found and when it was remediated
- Proof that terminated users were removed, with dates
- The 2FA-required role list from the Two-Factor Authentication Roles page
Most US mid-market companies fail this not on design but on retention. The review happens, nobody exports anything, and six months later there is no evidence it occurred. Export the search output every time and store it with a date.
If nobody internally owns this, it is a reasonable thing to outsource. Access reviews, permission audits, role-bloat cleanup and audit-ready evidence packs for SOX and SOC 2 are part of our NetSuite administration services, and ongoing governance across both annual releases sits within NetSuite managed services.
11. A role design blueprint
A starting structure for a US mid-market business on OneWorld. Adjust to your authority matrix. The point is the shape: narrow roles, stacked where someone genuinely holds two jobs.
| Role | Key permission posture | Restrictions |
|---|---|---|
| Employee Self-Service | Employee Center. Time, expenses, purchase requests only | Employee: own and subordinates only |
| AP Specialist | Vendor bills Edit, Pay Bills Create. Vendor master View only | Subsidiary: selected |
| AP Manager | Vendor bills View, Pay Bills Edit, approval permissions | Subsidiary: selected |
| Vendor Master Maintainer | Vendors Edit. No Pay Bills, no transaction permissions | Subsidiary: selected |
| AR Specialist | Invoices and customer payments Edit. Write-offs None | Subsidiary: selected |
| Controller | Broad View, targeted Edit on journals and close tasks. No Manage Roles | Subsidiary: selected, cross-subsidiary viewing considered |
| Sales Representative | Customers and opportunities Edit, cost fields hidden by custom form | Employee: own and subordinates only |
| Warehouse Operator | Item fulfillment and receipt Edit. No pricing, no financials | Location: own and subordinates only |
| Report Consumer | View only across the reporting set required | Department or subsidiary as appropriate |
| Integration User | Web Services Only. Minimum permissions for its defined calls | Scoped to the records the integration touches |
| System Administrator | Core Administration Permissions, 2FA required. No transaction posting | Documented owner, quarterly review |
Getting this structure right at implementation is considerably cheaper than retrofitting it. Role design is part of how we scope NetSuite implementation services, and remediating it afterwards is one of the most common reasons companies engage NetSuite Support Services.
12. Twelve mistakes we keep finding
- Assigning standard roles directly. Oracle's checklist says do not. Release changes to a standard role propagate to your users without review.
- Starting from Administrator and removing access. It always leaves something behind. Build up from a narrow role instead.
- Treating Full as "make it work." Full includes delete. Most operational roles need Edit at most.
- Using Global Permissions for convenience. It applies to every role the employee holds and does not appear on the role record, so it hides access from your own review.
- Restrictions with inconsistent segment data. A department restriction over a half-populated department field restricts almost nothing.
- Forgetting that unassigned records leak. "Own, subordinate, and unassigned" includes every blank-field record in the account.
- Assuming restrictions cover expense and time. Class, department, location and subsidiary restrictions are not applied to those transactions.
- Never setting the segment on the employee record. Without a department, class or location on the user's employee record, those restrictions are ignored entirely.
- Running integrations on admin credentials. Use Web Services Only roles with scoped permissions. Also note that 2FA-required roles cannot use user credentials for API authentication.
- Leaving the Full Access role in play. It is deprecated. Replace it.
- Not revoking consultant and former-partner access. Including ours, when a project ends. Ask for it in writing.
- Reviewing access but keeping no evidence. An unevidenced control is, to an auditor, an absent one.
If several of these sound familiar, that is normal. Access drift is not a breach, it is accumulation, and it is invisible until an audit or an incident surfaces it. A structured NetSuite health check is the usual way to find out where you actually stand, and our NetSuite administrator fundamentals guide covers the surrounding admin discipline.
Frequently asked questions
What is the difference between a permission and a restriction in NetSuite?
A permission grants access to a record type, task or page, at a level from None through Full. A restriction limits which individual records a role can reach, based on field values such as employee, department, class, location or subsidiary. A user can hold Full permission on a record type and still be unable to view a specific record because a restriction excludes it, including records they created themselves.
What are the five NetSuite permission levels?
None, View, Create, Edit and Full. None blocks all access. View allows viewing existing records only. Create allows creating new and viewing existing, but not editing or deleting. Edit allows creating, viewing and editing. Full adds deletion. Oracle notes that some permissions do not follow this model exactly, and that for certain permissions only the minimum View level is required for the feature to work.
Can you edit a standard NetSuite role?
No. Standard roles are not editable. You click Customize to create an editable copy and assign the copy instead. Oracle's administrator setup checklist states that standard roles should not be assigned to users directly.
What is Core Administration Permissions in NetSuite?
It is a feature, enabled on all accounts by default, that lets you assign near-administrator privileges to a role and then restrict that role's access to specific areas of NetSuite. Oracle warns that the role becomes similar to the standard Administrator role in terms of exclusive administrative privileges, and recommends setting the role as 2FA required. Assigning it requires the Administrator role, or a role with Core Administration Permissions plus Manage Roles.
Does NetSuite require two-factor authentication?
Yes, for all Administrator and other highly privileged roles, across production, sandbox, development and Release Preview accounts. That requirement has been enforced in all accounts since 2018.2 and cannot be removed. Certain permissions, such as Access Token Management, OAuth 2.0 Authorized Applications Management, Core Administration Permissions and the single sign-on setup permissions, force a role to be 2FA required.
Will NetSuite require 2FA for all users in 2027?
The Require 2FA for All Roles feature became available to administrators on 21 September 2026 and is switched on automatically in NetSuite 2027.1, covering Employee, Vendor and Partner roles. An administrator can disable it at Setup, Company, Enable Features, on the Company subtab. Customer Center, Vendor Center, Partner Center, Advanced Partner Center and web store or shopper roles are not included in the automatic scope.
Can a NetSuite user have more than one role?
Yes, and it is the recommended pattern when someone genuinely performs more than one job function. Users switch between roles in the interface. Stacking narrow roles preserves segregation of duties better than building one broad role that covers every responsibility a person holds.
Why can a user create a record but not see it afterwards?
Because a restriction excludes it. Oracle documents this behavior directly: users with create or full permissions to a restricted record type can create and submit new instances, but cannot view those records. Users cannot view records they are restricted from regardless of their permission level. Check the Restrictions subtab on the role, not the permission.
Do NetSuite restrictions apply to expense reports and time entries?
No. Class, department, location and subsidiary restrictions are not applied for expense and time transactions. If a control relies on a location-restricted or subsidiary-restricted role being unable to see other units' expense or time records, test that assumption before documenting it as a control.
Why are my department or location restrictions being ignored?
Most often because the user's employee record has no department, class or location set. If a custom role does not have those values on the employee record, restrictions on those fields are ignored. Separately, records where the segment field is blank are visible under the "own, subordinate, and unassigned" level, and Chart of Accounts accounts with no assigned department are not subject to those restrictions at all.
How do you control who can use Ask Oracle and NetSuite Next?
Access to both is managed by role, which allows a staged rollout. Ask Oracle operates within existing roles and permissions, so a user only sees what they are already authorized to see. NetSuite Next is being released to customers in phases, so availability varies between accounts on the same version. Before enabling AI features, review roles for access that was only tolerable because it was inconvenient to exercise.
What are the new AI MCP permissions in NetSuite 2026.2?
Administrators can customize the Specialized User: CRM role so users can use the NetSuite AI Connector Service to interact with NetSuite data conversationally. The permissions involved are Log in using OAuth 2.0 Access Tokens and REST Web Services. Both default to None, and Oracle advises granting them only when needed. The role continues to limit access to the records and actions permitted by its existing permissions.
How often should NetSuite access be reviewed?
Provisioning and deprovisioning on change, privileged access reviewed monthly, a full access review and segregation of duties check quarterly, a permission review after each of the two annual releases, and a role design review annually. For US companies under SOX or SOC obligations, the recurring review and its retained evidence is the control, not the original role design.
What is the best way to handle segregation of duties with a small finance team?
Document the conflict rather than pretending it does not exist, then implement a detective compensating control such as an independent review of a defined exception search, and keep evidence that the review was performed. An acknowledged conflict with a working compensating control is defensible. An unacknowledged one is a control deficiency.
Should integration users have their own NetSuite role?
Yes. Use a Web Services Only role, which blocks interface login, with the minimum permissions needed for the calls the integration makes. Never run integrations on administrator credentials. Note also that all non-interface access through an API is 2FA required, and 2FA required roles cannot use user credentials for API authentication.
Product behavior described here is drawn from the Oracle NetSuite Help Center, including Access Levels for Permissions, Permissions and Restrictions, Setting Employee Restrictions, Setting Department, Class, and Location Restrictions, Core Administration Permissions, Mandatory Two-Factor Authentication for NetSuite Access, Permissions Requiring Two-Factor Authentication, and the NetSuite 2026.2 release notes for Account Setup and Maintenance, Authentication and CRM. Release dates and behavior are Oracle's published plans and can change. Verify against your own account before relying on any detail for a compliance or go-live decision.
About the author
Santosh Krishnamoorthy is Principal ERP Consultant at EPIQ Infotech, a certified Oracle NetSuite Alliance Partner based in Cerritos, California. He leads access governance, release readiness and finance process design for mid-market and enterprise NetSuite accounts across the United States, and works across NetSuite, JD Edwards and Oracle Fusion Cloud.
EPIQ Infotech has delivered 100+ NetSuite projects since 2013, with 15+ years of Oracle ERP experience, clients in 24 countries and a 96% client retention rate. This guide is reviewed against each NetSuite release.
Not sure who has access to what?
We will inventory every role and privileged user, run a segregation of duties check against your authority matrix, and hand you a prioritized remediation list plus the evidence pack your auditors will ask for.

Santosh Krishnamoorthy is a Principal ERP Consultant at EPIQ Infotech, with extensive experience in NetSuite and enterprise systems. He works with finance and operations teams to improve reporting accuracy, streamline workflows, and build ERP environments that support sustainable growth. His writing focuses on practical insights drawn from real implementation and support experience.
Free Consultation
Talk to a NetSuite Expert
Response within 1 hour


