Suite Utils
Back to Blog
NetSuite TipsAug 21, 2026 • 6 min read

Read-Only NetSuite Access for Non-Users: 4 Options

The scenario is common: ops leads, sales managers, and warehouse staff need to see NetSuite data daily, but paying for a full user license at $99/month per person isn't realistic when they never...

Lucas PinheiroLucas PinheiroAI & Advanced Analytics Engineer
Read-Only NetSuite Access for Non-Users: 4 Options

The scenario is common: ops leads, sales managers, and warehouse staff need to see NetSuite data daily, but paying for a full user license at $99/month per person isn't realistic when they never edit a record. Right now you're exporting saved searches to CSV and emailing them around, and the files go stale within hours. There are four practical paths, each with different costs and governance trade-offs. Here's how to pick the one that fits your org.

Option 1: View and Approve Licenses (the cheapest on-platform route)

NetSuite sells a Specialized User: View and Approve license. It's cheaper than general access but still not free.

This role gives read-only access to dashboards, reports, saved searches, and transaction records. Users can also approve specific transactions: invoices, journal entries, return authorizations, sales orders, transfer orders, vendor bills, vendor payments, vendor in-transit payments, and vendor return authorizations. With the Procurement Management Cloud Service license, they can also approve blanket purchase orders, purchase contracts, and requisitions.

The catch that trips people up: View and Approve has no export permission. Users can read data inside NetSuite's four walls but can't run a CSV export or pull a file to review offline. For people who just want to glance at numbers, that's fine. For anyone who needs to hand data to a spreadsheet or a downstream tool, it isn't enough.

You also can't extend the role beyond its standard permission set. NetSuite lets you build a custom role based on it and remove permissions, but you cannot add permissions outside the standard role or grant greater access. If a user needs a permission that isn't in the set, you're back to buying a general access license. The Account Setup Guide spells out which transaction approvals are included and how customization works.

Option 2: SuiteAnalytics Connect into Power BI or Tableau

If your people need to slice data outside NetSuite, SuiteAnalytics Connect is the ODBC/JDBC gateway that lets tools like Power BI, Tableau, and Looker query NetSuite directly. It uses a dedicated role, typically the Data Warehouse Integrator role, which grants Connect access to NetSuite data.

Setup steps:

  1. Go to Setup > Company > Enable Features, click the Analytics subtab, and check the SuiteAnalytics Connect box.
  2. Create a dedicated integration role, not a live user's credentials. Go to Setup > Users/Roles > User Management > Manage Roles, click Customize next to the role, open the Setup subtab under Permissions, and add the SuiteAnalytics Connect permission.
  3. Note that you can't add the SuiteAnalytics Connect permission to a role that has SAML Single Sign-on permission. This is a hard platform restriction, not a configuration preference.
  4. Install the ODBC driver on the machine running your BI tool and point it at your account endpoint. You'll need the latest driver version and certificate-based server authentication.

Power BI connects to NetSuite through the ODBC driver, and each saved search you publish becomes a queryable view. This keeps dashboards live instead of stale CSV snapshots, and the BI tool handles the read-only layer for your non-NetSuite users.

One governance note: SuiteAnalytics Connect login activity is tracked in the Login Audit Trail, so you can see which integration role is pulling what.

Option 3: A Custom RESTlet That Feeds a Data Warehouse

If you already have a data warehouse (Snowflake, Fabric, BigQuery) and an ETL tool like Celigo, you can export saved searches on a schedule and build dashboards on top. This is the pattern several teams landed on, and it's more reliable than it sounds.

A RESTlet that runs a saved search and returns JSON is the cleanest way to do this, and the script pattern is straightforward in SuiteScript 2.1:

/**
 * @NApiVersion 2.1
 * @NScriptType Restlet
 */
define(['N/search'], (search) => {
  function get(context) {
    const savedSearchId = context.savedSearchId;
    const results = [];

    search.load({ id: savedSearchId })
      .run()
      .each((result) => {
        results.push(result.getAllColumns().map((col) => ({
          label: col.label,
          value: result.getValue(col)
        })));
        return true;
      });

    return results;
  }

  return { get };
});

The RESTlet takes a saved search ID as a parameter, runs it, and returns the rows as JSON. Your ETL job calls the RESTlet on a schedule, lands the data in the warehouse, and your BI tool builds the read-only dashboards from there.

Two cautions from real deployments:

  • Don't use a live user's credentials for the integration. Create a dedicated integration user with its own role and API access. If that person leaves, your pipeline shouldn't break.
  • Respect governance limits. A single RESTlet call runs under the account's script governance budget (usually 1,000 units for a single request, 5,000 for batch). Large saved searches can blow through that, so paginate results with run().each() and process in batches rather than returning 50,000 rows in one response.

Option 4: NetSuite Analytics Warehouse

If you'd rather not build and maintain the pipeline yourself, NetSuite Analytics Warehouse is Oracle's governed, analytics-focused option. It's a prebuilt warehouse that syncs NetSuite data into an Oracle Analytics environment, with its own dashboarding layer. It's the most "managed" of the four options and costs more than a custom build, but it removes the ETL maintenance burden. It also gives your non-NetSuite users a clean read-only interface without touching NetSuite licensing. The NetSuite Connector documentation covers how data flows from your account into connected analytics environments.

Which One Fits?

OptionCostExport outside NetSuiteSetup effort
View and Approve licensePer-user subscriptionNoLow
SuiteAnalytics Connect + BILicense + BI toolYesMedium
RESTlet → data warehouseLicense + ETL + warehouseYesHigh
NetSuite Analytics WarehouseSubscriptionYesLow-Medium

The deciding factor is whether your people need the data outside NetSuite. If they only need to look at dashboards and approve transactions inside the system, View and Approve is the cheapest legitimate path. If they need live data in Power BI or a warehouse, skip the CSV-emailing habit entirely and go straight to Connect or an automated export pipeline.

The "free" option is building the sync yourself with a RESTlet, and it's genuinely not that bad once you have the integration role and a scheduled ETL in place. If you're already managing multiple saved searches and custom fields, audit and clean up stale searches before you wire them into a warehouse, so you're not syncing dead weight into your analytics layer. The NetSuite Pay Guide also covers licensing considerations if you're weighing user types against budget.

About the author

Put these ideas to work.

Suite Utils builds small NetSuite tools that fix the specific thing breaking your day. Each one runs as a native SuiteScript SuiteApp inside your account. No sales call, no onboarding.

Browse the Tools

Enjoyed this one?

Get NetSuite tips like this in your inbox. No spam. Practical guides only.

Keep reading