NetCash Bulk Custom Role Permissions Import Tool
Overview
The Bulk Custom Role Permissions Import tool provides a single screen for reviewing and updating NetCash permissions across all custom roles in an account. Permissions are displayed as a matrix, with custom roles as columns and NetCash permissions as rows, allowing access levels to be set for many roles and permissions at once rather than editing each role record individually.
The tool supports two permission categories:
| Category | What It Controls | Available Values |
|---|---|---|
| Custom Transactions | NetCash custom transaction types (for example, NetCash Journal Entry) | None, View, Create, Edit, Full |
| Custom Records | NetCash custom record types (for example, NetCash Automation Rule) | None, View, Create, Edit, Full |
Common uses include initial role configuration during implementation, auditing existing access, and promoting a reviewed permission set from a sandbox account to production by way of an Excel export and import.
Note: Access levels correspond to standard NetSuite permission levels. None removes the permission line from the role entirely; Full grants view, create, edit, and delete access.
Reference NetCash Roles and Permissions for detailed descriptions of each NetCash permission.
Prerequisites
- The NetCash App must be updated to a version that includes the tool. If the setup page link is missing, the installed app version predates the feature. See NetCash - Updating Your App.
- NetCash Users must be configured on employee records. See NetCash Configure Permissions.
- The user's role must be in the audience of the NetCash | Bulk Permissions Uploader Tool. Only the Administrator role is in the audience by default. To add a role, go to Customization > Scripting > Script Deployments, open the deployment, and add the role on the Audience subtab.
Add only trusted roles to the audience
The tool can change permission levels on any editable custom role, and it makes its changes as Administrator
Step-by-step process
Access the Tool
- Navigate to NetCash > NetCash Setup > System Setup.
- Under the Import Tools subtab, locate Bulk Custom Role Permissions Import and click the associated Tool Link.
- The permissions matrix will then load on the next page.
Review the Permission Matrix
The matrix opens with one tab per permission category. Each cell shows the access level currently granted in NetSuite for that role and permission.
- Only active custom roles appear as columns. Roles installed by a bundle (locked roles) and external roles (Customer Center, Vendor Center, Partner Center, and website roles) are not shown.
- Each permission row includes a description explaining what the record controls.
The tools listed below assist with reviewing and navigating the matrix. Items marked More options are hidden until that toggle is enabled.
| Tool | Purpose | Availability |
|---|---|---|
| Search | Filters the visible permission rows by name | Default |
| Maximize | Expands the matrix to fill the available screen space | Default |
| Take the tour | Walks through the tool's primary features | Default |
| Set [Category] visibility | Selects which permission rows are displayed | More options |
| Set role visibility | Selects which role columns are displayed | More options |
| Compare roles… | Displays two roles side by side, optionally limited to permissions where they differ | More options |
| Highlight changes | Dims unchanged cells, displays the previous value of each changed cell (for example, Edit → Full), and allows changes to be reverted from that view | More options |
| Export matrix… | Opens the export dialog for a current or blank matrix | More options |
The More options toggle is located in the matrix header, next to Maximize, with the tooltip "Show the view and export options." It is off the first time the tool is opened, and its setting is remembered per browser. While it is off, the controls marked above are not present on the page at all.
At least one permission row and one role column must remain visible at all times.
Edit Permissions
All edits are applied locally and are not written to NetSuite until saved. A pencil badge on each category tab displays the number of unsaved changes in that category.
Permissions can be edited in four ways:
- Single cell — Click a cell and select the access level
- Range — Drag to select a block of cells and apply one value to the entire selection. An undo option is offered immediately after the change.
- Row — Use the row menu to set one permission to the same level across every visible role, or to revert the row to its saved values. The row menu also includes View transaction (Custom Transactions tab) or View record (Custom Records tab), which opens that permission's transaction or record type in NetSuite.
- Column — Use the column menu to set every permission on the active tab for a single role, to revert the role, or to apply a permission set.
Apply a Permission Set
Permission sets are predefined, read-only templates that apply a standard access profile to a single role. Applying a set overwrites that role's levels for the permissions the set covers and reports how many permissions changed.
NetCash ships the following permission sets:
| Role | Permission Set |
| NetCash Cash Administrator | Full access to every NetCash record. |
| NetCash Cash Manager | View access across NetCash records with edit access to automation rules, rule groups, match items, comments, and reconciliations; no access to match groups, matching criteria, rule filters, or transaction templates. |
| NetCash Cash Staff Accountant | Primarily view access across NetCash records, with edit access to match items, comments, and reconciliations; no access to match groups, matching criteria, rule filters, or transaction templates. |
| NetCash View Only | Read-only (View) access across every NetCash record. |
To apply a permission set:
- Open the column menu for the target role.
- Select Apply permission set….
- Choose the appropriate set, preview the changes, and then apply.
Import Permissions from Excel
The matrix can be populated in one step from an Excel workbook.
- Drag the file into the drop zone, or browse to select it.
- Review the results summary and any warnings, then close the warnings dialog.
- Confirm the matrix reflects the intended values, then save.
Requirements for the file:
- The file must be .xlsx or .xls. CSV files are accepted by the file picker but are not read.
- The workbook must contain a worksheet named one of the following: Role Access, Granular Permissions, Role Permission Settings, Roles and Permissions, or Sheet1.
- Role column headings must match role names in the account. If a heading does not match, the tool offers to map it to an existing role (see below). Permission rows must match NetCash permission names or their display names.
- Valid cell values are None, View, Create, Edit, and Full for record and transaction rows. An empty cell is treated as None.
On a successful import, all matched values are applied to the matrix and flagged as changed. Permissions that exist in the account but were not included in the file are hidden automatically. Roles that were not included in the file are set to None for every permission listed in the file and are hidden as well; their access to permissions not listed in the file does not change. Restoring hidden roles and permissions requires More options to be enabled, then using Set [Category] visibility and Set role visibility.
Roles missing from the file lose access
Any role that is not in the import file is set to None for each permission listed in the file. Check the Roles not in template warning before you save, and use Cancel to discard the import if a role was left out by mistake.
Map unmatched roles
If the file has role column headings that do not match any role in the account, a dialog opens before the matrix updates. It lists each unmatched heading under Role in File so you can map it to an existing NetSuite role or skip it.
- Select a role in the Map to NetSuite Role list. The list is searchable, and a role that is already mapped is not offered again. Each NetSuite role can be mapped only once.
- When the tool can suggest a match, the suggested rows appear first and a banner shows the number of suggested matches. Click Confirm all to accept every suggestion or Reject all to skip them all. Use the check or X on a row to confirm or reject a single suggestion. Confirm or reject every suggestion before you apply.
- Click Apply to apply the mappings. The mapped roles receive the values from their file columns and appear in the matrix. If nothing is mapped, the button reads Skip all and continue.
- Click Cancel to close the dialog without applying any mapping.
Roles that are skipped or left unmapped are not updated, and the warnings dialog lists them under Roles not in NetSuite. The dialog does not open when every role heading matches a role in the account.
The import may also return warnings. The warnings dialog is informational only and is closed without action:
| Warning | Meaning |
|---|---|
| Role(s) not in NetSuite | The file contains a column for a role that does not exist in this account and was not mapped to one. Values in that column are skipped. |
| Permission(s) not in NetSuite | The file contains a row for a permission that does not exist in this account. The row is skipped. |
| Role(s) not in template | The role exists in the account but was not in the file. Its access to every permission listed in the file was set to None, and its column has been hidden. |
| Permission(s) hidden | The permission exists in the account but was not in the file, so its row has been hidden. |
Warning: An import is rejected in full, with no changes applied, if the workbook has no readable worksheet, no role columns, no permission rows, no recognizable categories, or any cell containing an unrecognized value. The error message identifies the specific problem.
Export the Permissions Matrix
With More options enabled, select Export matrix… and choose one of two modes:
- Current matrix — Exports the access levels currently displayed, including unsaved edits.
- Blank matrix — Exports every cell as None, producing a template that can be completed offline.
Only visible roles and permissions are included in the export. The export dialog identifies anything being excluded. Note that the search filter does not limit the export.
The exported workbook includes a permission level legend, a description for each permission, dropdown validation on each cell, and colored formatting by level. Because the exported sheet is directly re-importable, exporting from one account and importing into another is the recommended way to promote a reviewed permission set between environments.
Save Changes
- Click Save.
- Review the confirmation dialog, which lists the number of pending changes per role.
- Confirm to begin saving.
Changes are written one role at a time, and a progress list shows each target as pending, saving, saved, or failed.
- If a single target fails, the remaining targets still save. The failure is reported inline and can be addressed separately.
- Selecting Cancel stops after the change in progress finishes. Targets already saved retain their new values, and the dialog offers Save remaining changes.
- After each role is saved, the tool re-reads the role record and verifies that every requested change was applied.
Discard unsaved changes
Click Cancel in the toolbar to discard every unsaved change and return the matrix to its last saved state. A confirmation dialog (Discard unsaved changes?) appears first. If you imported a file, the uploaded file is removed as well. This cannot be undone.
Grant employee access
Use Grant employee access in the matrix toolbar to set the NetCash user type on many employee records at once, instead of editing each employee record individually. The button opens the Grant Product Access page.
- In Set access to, choose the user type to assign (Full or None).
- Select the employees to update. Use the search box to filter the list, the checkbox in the header to select every employee on the page, or Select all to select every employee across all pages.
- Click Apply. The page confirms the update and clears the selection.
The list shows active employees that have the Give Access box checked on the employee record. Click Back to Role Permissions to return to the matrix.
Considerations
- Bundle-delivered roles cannot be edited. Netgain roles are excluded from the matrix entirely. Roles locked by other bundles are also left out of the matrix, because NetSuite would save changes to a locked role as a new copy instead of updating it. In both cases, create an editable copy of the role and apply the permissions to the copy.
- Scope is limited to NetCash. The tool manages NetCash custom records and custom transactions only. It does not manage standard NetSuite permissions, create roles, or assign employees to roles.
- Name matching during import is case-sensitive. A renamed role or an altered column heading will not be matched automatically; map it to the correct role in the role mapping dialog.
- External roles are not shown. Roles with a Customer, Vendor, Partner, or website center type are excluded from the matrix.
- Saving is sequential. A large change set requires one write per role and may take several minutes.
Troubleshooting
The Bulk Custom Role Permissions Import link is missing from the NetCash Setup page.
- Confirm the NetCash app has been updated to a version that includes the tool.
- Confirm the role in use has access to the NetCash Setup page.
The export, compare roles, highlight changes, or visibility controls are not on the page.
- These controls appear only when More options is enabled in the matrix header. The toggle is off by default and is remembered per browser.
An expected role does not appear as a column.
- Netgain bundle roles, roles locked by other bundles, and external roles (Customer, Vendor, Partner, and website center types) are excluded by design.
- The role may be inactive, or may be a standard NetSuite role rather than a custom role.
- The role may be hidden as a result of a prior import. Enable More options, then check Set role visibility.
An expected permission does not appear as a row.
- The record may be intentionally excluded from the matrix.
- The row may be hidden as a result of a prior import. Enable More options, then check Set [Category] visibility.
A CSV file was imported but nothing changed.
- CSV files are not read by the tool. Save the file as .xlsx and import again.
The import reports that no roles or permissions could be matched.
- The file was likely built for a different account or product, or role and permission names have been renamed. Export the current matrix from the account and compare spelling and capitalization against the file.
The import is rejected because of invalid values.
- One or more cells contain a value other than None, View, Create, Edit, or Full. The error message lists each affected permission, role, and value.
A role reports that its changes were not saved because the role is locked.
- The role was likely installed by a bundle and cannot be edited. Create an editable copy of the role and apply the permissions to the copy.
