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:

CategoryWhat It ControlsAvailable Values
Custom TransactionsNetCash custom transaction types (for example, NetCash Journal Entry)None, View, Create, Edit, Full
Custom RecordsNetCash 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.


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.



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.

ToolPurposeAvailability
SearchFilters the visible permission rows by nameDefault
MaximizeExpands the matrix to fill the available screen spaceDefault
Take the tourWalks through the tool's primary featuresDefault
Set [Category] visibilitySelects which permission rows are displayedMore options
Set role visibilitySelects which role columns are displayedMore options
Compare roles…Displays two roles side by side, optionally limited to permissions where they differMore options
Highlight changesDims unchanged cells, displays the previous value of each changed cell (for example, Edit → Full), and allows changes to be reverted from that viewMore options
Export matrix…Opens the export dialog for a current or blank matrixMore 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:

RolePermission Set
NetCash Cash AdministratorFull access to every NetCash record.
NetCash Cash ManagerView 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 AccountantPrimarily 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 OnlyRead-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.

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:

WarningMeaning
Role(s) not in NetSuiteThe 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 NetSuiteThe file contains a row for a permission that does not exist in this account. The row is skipped.
Role(s) not in templateThe 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) hiddenThe permission exists in the account but was not in the file, so its row has been hidden.

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.

  1. In Set access to, choose the user type to assign (Full or None).
  2. 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.
  3. 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.

Was this article helpful?