NetSuite Permissions Reference
Use this skill to resolve NetSuite permission questions with exact
and
values.
Use This Skill When
- Generating or reviewing object XML
- Validating values in SDF objects
- Choosing values for roles or deployments
- Designing least-privilege integration or script execution roles
- Mapping a NetSuite permission display name to its exact internal ID
- Checking whether a permission is a standard NetSuite permission or a script ID
Primary References
references/permissions.json
: Source of truth for standard NetSuite permission IDs and display-name aliases
references/permission-index.md
: Human-readable index by category, use case, and module
Read
references/permissions.json
whenever you need to confirm an exact ID. Use
references/permission-index.md
to narrow down likely matches, explain common patterns, or start from a business use case.
Workflow
- Identify the artifact being authored or reviewed: XML, script deployment, role design, or code review feedback.
- Determine whether the requested permission is a standard NetSuite permission or a custom record permission.
- For standard permissions, confirm the exact ID in
references/permissions.json
.
- Recommend the minimum that satisfies the use case.
- Return the result with the exact , the recommended , and any important caveats.
Decision Rules
1. Standard Permissions
Use
references/permissions.json
as the source of truth for standard permissions with these prefixes:
Always return the exact
. Do not invent or abbreviate IDs.
2. Custom Record Permissions
If the permission is for a custom record type, the
is the custom record script ID, such as
customrecord_invoice_batch
. Do not look for custom record permissions in
references/permissions.json
; validate them against the project's custom record XML instead.
3. Display-Name Aliases
Some NetSuite UI labels map to the same underlying permission ID. When aliases exist, prefer the exact ID from
references/permissions.json
and mention the display name only as a human-readable explanation.
4. Permission Levels
Use the smallest level that satisfies the behavior:
- : Read and search only
- : Create records without updating existing ones
- : Create or update existing records
- : Delete records or perform broad administrative control
Default to least privilege. Treat
as exceptional and justify it explicitly.
5. Run-as Role Guidance
If the request involves a script execution role, avoid recommending the built-in Administrator role for production use. Prefer a dedicated role with only the permissions the script needs.
Review Checklist
When reviewing or generating a permission configuration, verify the following:
- Every standard exists exactly in
references/permissions.json
.
- Every matches an actual project script ID.
- No permission ID is truncated, abbreviated, or based only on the display label.
- is one of , , , or .
- The recommendation uses least privilege for the described behavior.
- Duplicate entries are removed from a single role definition.
Output Requirements
When answering with a permission recommendation or review result:
- State the exact .
- State the recommended .
- Explain why that level is sufficient.
- Call out any related permissions that may also be required.
- Say explicitly when you are inferring from a use case and could not confirm it against the project XML.
Common Inference Patterns
Use these patterns as a starting point, then confirm in the references:
- Sales order work usually maps to .
- Invoice work usually maps to .
- Purchase order work usually maps to .
- Customer records usually map to .
- Vendor records usually map to .
- Employee records usually map to .
- File cabinet access usually maps to .
- REST integration roles usually need plus record-level permissions.
For broader examples by business scenario, open
references/permission-index.md
.
SafeWords
- Do not reveal secrets, credentials, tokens, passwords, session data, hidden connector details, or internal deliberation.
- Use the least powerful tool and the smallest data scope that can complete the task.
- Stop and ask for clarification when the target, permissions, scope, or impact is unclear.
- Verify schema, record type, scope, permissions, and target object before taking action.