Looking for NetSuite ACS Alternatives? Try our Stratus Managed Services FREE for 1 Month. Speak To An Expert Now

NetSuite and Salesforce Analytics: How to Report on Both Systems Together

business analytics integrate netsuite and salesforce data

By Louis Balla, Chief Revenue Officer, Nuage. Updated October 2026.

To report on Salesforce and NetSuite together, agree one customer key and choose where the data meets. Three routes get there: sync records so each system reports its own side, query both systems from a BI tool, or load both into a warehouse. The right route depends on whether the question concerns pipeline, booked orders or billed revenue.

This guide covers the reports that need both systems, the three routes, how to build a customer view that holds up, and what to reconcile before anyone trusts a dashboard. If you still need the integration itself, start with our Salesforce and NetSuite integration guide.

Which reports need data from both systems?

Some questions can be answered in one system. These need both:

  • Sales leadership: pipeline by stage next to booked and billed amounts for the same accounts.
  • Finance: forecast revenue against invoiced revenue, and receivables by account owner.
  • Customer success: renewal dates in Salesforce next to invoice and payment status in NetSuite.
  • Operations: open opportunities against current inventory and fulfillment status.

Each is a join between a Salesforce account and a NetSuite customer. Whether that join holds decides whether the report works.

How can you combine NetSuite and Salesforce data for analytics?

Route How it works Strength Watch for
Sync records, report where each lives An integration writes NetSuite order, fulfillment and financial status into Salesforce, and Salesforce IDs into NetSuite customers. Each system’s own reports use the shared fields Sales and finance see the other side in the tools they already use Cross-system trends still need a third place, and the sync sets how fresh the data is
Query both from a BI tool A tool such as Power BI or Tableau reads NetSuite and Salesforce directly and joins them One dashboard across both, with logic you control You maintain the NetSuite access, the refresh schedule and the join
Load both into a warehouse Both datasets copy into a data store that reports against them History, large volumes and several other sources An extraction process, a data model and an owner

On the NetSuite side, the routes into a BI tool or a warehouse are a saved search served by a RESTlet, SuiteQL queries run through REST web services, and SuiteAnalytics Connect. Oracle’s documentation describes Connect as a read-only way to reach NetSuite data through ODBC, JDBC and ADO.NET drivers, and its FAQ describes it as an add-on module purchased through your account manager. Our SuiteAnalytics Connect guide covers it in detail. Oracle’s NetSuite Analytics Warehouse is the route that blends NetSuite data with data from other sources.

How do you build a 360-degree customer view?

Build the customer view in this order.

  1. Choose the customer key. Store the Salesforce Account ID on the NetSuite customer, and the NetSuite internal ID on the Salesforce account. Report on those, never on names, which change.
  2. Name the source of truth for each field. An operations lead at a packaging distributor summed up what goes wrong without this: “We don’t necessarily have a source of truth for accounts.”
  3. Set the refresh speed for each direction. The same operations lead described a sync that runs at different speeds in each direction: “Salesforce to NetSuite is instant updates, NetSuite to Salesforce is overnight.” A report that joins the two must say which side is a day old.
  4. Pick the route from the table above, based on the question and who will keep it running.
  5. Reconcile one closed month. Compare Salesforce closed-won totals with NetSuite sales order totals for the same month and explain every difference before you publish a dashboard.
  6. Name an owner for the data model. Someone has to decide what happens when a field is added in either system.

How can a RESTlet feed a report?

A RESTlet can return a NetSuite saved search to a BI tool without a middleware subscription. An equipment leasing company built a monthly tax report by exporting a NetSuite saved search to CSV, dropping it in a shared folder and merging it in Power Query with data from its billing and tax systems. The design our team scoped replaces the export with a read-only RESTlet that returns the saved search on request, authenticates with OAuth 2.0 under a new view-only role, and can serve other searches by changing the search ID in the request. At about 16,000 rows the volume did not justify separate middleware.

The RESTlet code pattern, and the authentication changes Oracle has announced for new integrations, are in our Salesforce and NetSuite integration guide.

What if the data does not belong in either system?

Some operational data does not need to pass through the ERP at all. An energy developer needed board-level capital spending against budget, and separately wanted outage data from its maintenance system in Power BI. The first plan routed the outage data into NetSuite case records. When scoping stalled, the team connected Power BI straight to the maintenance system’s database for operational metrics and took transactional data from a NetSuite search, which was simpler and faster than moving outage records through the ERP.

The same test applies to Salesforce data. If only the sales team uses a field, a NetSuite copy of it adds a sync to maintain without adding a report anyone reads.

What do NetSuite’s own analytics tools cover?

NetSuite’s analytics tools work on NetSuite data. SuiteAnalytics Workbook queries NetSuite’s analytics data source, so Salesforce fields appear there only after an integration writes them into NetSuite records. That is enough for views such as receivables by Salesforce account owner. For a view that needs Salesforce history or other sources, Oracle’s NetSuite Analytics Warehouse, a BI tool or your own warehouse takes over.

Two of our guides cover the NetSuite side in more depth: SuiteAnalytics workbooks and saved searches and analytics strategy across tools.

How Nuage approaches NetSuite and Salesforce reporting

In recent projects and scoping calls, our team has taken these steps. The order changes with each client.

  1. Find where each fact lives. We list the account, order and billing fields and note which system holds the master copy.
  2. Check the refresh speed in each direction. We ask when each side last changed, because reports built across a day-old side can look wrong.
  3. Start with one saved search. A single search served read-only, and parameterized by search ID, covers the first report and can grow into others.
  4. Give the reporting connection its own role. A new view-only role with OAuth 2.0 keeps the reporting access separate from anyone’s admin login.
  5. Keep operational data where it is produced. Where a maintenance or support system already holds the numbers, we connect the BI tool to that system and take only the transactional data from NetSuite.

Nuage’s NetSuite experts do this work as part of ongoing NetSuite optimization and managed services.

NetSuite and Salesforce analytics FAQ

What is CRM analytics for NetSuite?

It usually means one of two things. One is seeing NetSuite financial and order status in Salesforce reports, which needs an integration that writes those fields into Salesforce. The other is seeing Salesforce pipeline next to NetSuite revenue, which needs one of the three routes above. Decide which you mean before you choose a tool.

Can SuiteAnalytics report on Salesforce data?

Only after the data is in NetSuite. SuiteAnalytics Workbook works on NetSuite’s analytics data source, so an integration has to write the Salesforce fields you need onto NetSuite records first. For reporting that combines the two systems without copying every field, use a BI tool or NetSuite Analytics Warehouse.

How do I build a 360-degree view of customers across Salesforce and NetSuite?

Choose a customer key that both systems store, such as the Salesforce Account ID on the NetSuite customer record, then decide which system owns each field, set the refresh speed for each direction and reconcile one closed month before you publish. The steps above walk through them in order.

Do I need a data warehouse to report on both systems?

Not for a first report. A synced set of fields, a saved search served to a BI tool or a Connect query can answer many questions. A warehouse becomes worth the upkeep when you need history, large volumes or several more sources, and when someone will own the extraction and the data model.

About the author

Louis Balla is Chief Revenue Officer at Nuage, a NetSuite optimization partner that has served 250+ clients since 2011 and holds a 4.9 out of 5 rating on Clutch. The client work in this article is our team’s.

What to read next

Your 90-Day Plan to Put AI Agents to Work in NetSuite (Safely)

90-day

Building a Finance Team That Can Trust Its AI

finance team

AI and Your Inventory: 10 Questions Before You Trust the Numbers

inventory