How-toOracle NetSuiteDashboards / KPI Scorecards

How to Build NetSuite Dashboards and KPI Scorecards

Question
how to set up KPI scorecard on NetSuite dashboard

Also searched as

  • NetSuite dashboard KPI meter configuration
  • how to add saved search to NetSuite dashboard
  • NetSuite KPI scorecard comparison periods
  • NetSuite dashboard portlets not showing data

Short answer

NetSuite dashboards are assembled from portlets (KPI, KPI Scorecard, List, Trend Graph, Report Snapshot) added via Personalize Dashboard, where KPI portlets show a single metric with a comparison period and KPI Scorecards show a table of multiple KPIs across time periods and can be published to a role for standardized reporting.

Applies to: NetSuite Dashboards, all editions, role-based dashboard personalization

How to set up a KPI dashboard

  1. 1Go to your Home or role dashboard, click Personalize Dashboard, and drag a KPI or KPI Scorecard portlet onto the page.
  2. 2On a KPI portlet, click the settings gear, choose the metric from the available KPI list (built-in metrics like Sales Total, or a saved search set up as a KPI), and set the comparison period (e.g. This Period vs Last Period, This Period vs Same Period Last Year).
  3. 3For a KPI Scorecard, click Set Up, add multiple KPIs as rows, and configure columns for different time periods (current period, prior period, variance) side by side in one portlet.
  4. 4To use a custom metric, first create a Saved Search under Lists > Search > Saved Searches, mark Available for KPI Scorecards / Reminders as needed, then select it as a KPI source in the portlet setup.
  5. 5For trend visualization, add a Trend Graph portlet and point it at the same KPI or saved search to chart the metric over time rather than a single snapshot number.
  6. 6Set thresholds and highlighting on KPI Scorecard rows (green/red coloring) under the KPI's threshold settings to flag when a metric crosses a target.
  7. 7To standardize a dashboard across a team, build it under an admin or designated role, then use Personalize Dashboard > Publish Dashboard (or Set as Dashboard for a role) to push the layout to all users of that role.
  8. 8If a portlet shows no data, check the underlying saved search's Public checkbox and audience/role sharing, since a KPI portlet inherits the saved search's own permissions.

KPI portlet vs KPI Scorecard vs Report Snapshot

A KPI portlet shows one number with a period-over-period comparison and percentage change, best for a single headline metric like total bookings or open support cases. A KPI Scorecard is a grid of many KPIs across multiple period columns in one compact portlet, the standard choice for an executive or sales manager view comparing several metrics at once.

Report Snapshot portlets pull from NetSuite's financial reports (P&L, balance sheet trends) rather than saved searches, useful for finance-oriented dashboards that need report-level formatting and drill-down into the underlying report rather than a search result list.

Building KPIs from saved searches

Any saved search with a single summary result (a count, sum, or single aggregated value) can become a KPI source. Create the search with the correct filters and a Sum or Count summary type on the results tab, then select it under the KPI portlet's Add/remove KPI dialog, where custom saved-search KPIs appear alongside NetSuite's built-in metrics.

Comparison periods for a custom KPI require the search to be period-aware, typically by filtering on a relative date range like This Fiscal Quarter, so NetSuite can recompute the same search definition against the prior period automatically for the comparison column.

Role-based dashboard publishing

Dashboards personalize per user by default, meaning a change one user makes does not affect others. To standardize reporting across a role (all Sales Reps see the same pipeline KPIs), an administrator configures the dashboard under that role's context and uses Set Dashboard as Standard for Role, which pushes the layout to users who have not customized their own.

Users who previously personalized their own dashboard will not automatically get the standardized version unless the admin also resets their personalization, so a published dashboard update does not retroactively override every user's existing custom layout.

Troubleshooting blank or slow portlets

A KPI or List portlet showing no data usually traces to the underlying saved search's audience/role sharing not including the viewing user, or a filter (such as a specific sales rep) that excludes the current user's own records when the search is not designed to be role-aware.

Slow-loading dashboards are commonly caused by heavy saved searches with formula fields or joins across large transaction volumes running on every dashboard load; converting expensive summary logic into a scheduled script that writes to a lightweight custom record, then building the KPI off that record, avoids recalculating the heavy search on every page view.

Common pitfalls

  • !Building a KPI off a saved search that is not shared with the roles who need to see the dashboard, resulting in blank portlets for everyone except the search's owner.
  • !Using an absolute date filter (a fixed date range) instead of a relative date filter (This Period, Last Fiscal Quarter) on a KPI search, breaking the automatic period-over-period comparison.
  • !Publishing a standardized dashboard expecting it to override every user's already-personalized dashboard, when existing personalizations are preserved unless explicitly reset.
  • !Overloading a single dashboard with many heavy saved-search-driven portlets, slowing page load for every user of that role.
  • !Forgetting that KPI Scorecard threshold coloring must be configured per KPI row; it does not inherit from the saved search's own conditional formatting.
  • !Not testing a new KPI portlet under the actual target role (versus an admin role with full visibility), missing permission-driven blank results.

How an ERP-grounded AI assistant handles this

ERPray, grounded on your NetSuite saved searches and dashboard configurations, can answer questions like which saved search feeds a specific KPI on the sales dashboard, why a portlet is blank for a particular role, and can draft the saved search definition for a new metric you describe in plain language, cutting out the trial-and-error of manually testing filter and summary settings in the search builder.

Frequently asked questions

Can a KPI Scorecard mix built-in metrics and custom saved-search KPIs in one portlet?

Yes. The Add/remove KPI dialog lists both NetSuite's built-in metrics and any of your saved searches marked available as a KPI source, and you can combine them as rows in the same scorecard.

Why does my KPI show 0% change even though the numbers clearly differ?

The comparison period setting may be misconfigured, or the underlying saved search uses an absolute date filter that returns the same static result regardless of which period NetSuite is trying to compare against, so it never recalculates for the prior period.

Can I export a dashboard KPI to a report or spreadsheet?

The KPI portlet itself does not export directly, but you can open the underlying saved search from the portlet and export its results to CSV, or add a Report Snapshot portlet where applicable for report-native export options.

How do I restrict a dashboard KPI to only show a user's own records?

Add a filter on the underlying saved search using a relative/dynamic value like Sales Rep is [current user] rather than a hardcoded employee, so the same saved search and KPI definition returns personalized results for each viewer.

Related

How-to

How to use formula fields in a NetSuite saved search

In the saved search Results tab, add a column, set Field to "Formula (Text)", "Formula (Numeric)", "Formula (Date)" or "Formula (Currency)", then type an Oracle SQL expression into the Formula box using curly braces around field IDs, e.g. {trandate} or {item.custitem_weight}. Formula fields can also go on the Criteria tab so you can filter on the calculated value itself.

How-to

How to Set Up Approval Routing in NetSuite

NetSuite offers two approval routing paths: native transaction approval (Enable Features > Transaction approvals, then per-employee Approval Limit and Purchase Approval Limit fields) for simple single-approver chains, and SuiteFlow (Customization > Workflow > Workflows) for multi-step, condition-based, or parallel approval routing with escalation and notification logic.

How-to

How to Set Up Revenue Recognition With NetSuite ARM

NetSuite Advanced Revenue Management (ARM) recognizes revenue on a schedule independent of invoicing by generating a Revenue Element from each transaction line, applying a Revenue Recognition Rule to determine timing, and optionally allocating revenue across performance obligations using Standalone Selling Price (SSP). Setup requires enabling the ARM feature, defining recognition rules, and mapping item revenue categories before transactions start generating revenue plans.

How-to

How to Customize NetSuite Advanced PDF/HTML Templates

NetSuite Advanced PDF/HTML templates use FreeMarker markup inside an XML-for-PDF or HTML wrapper, edited under Customization > Forms > Advanced PDF/HTML Templates. You reference transaction body fields with ${record.fieldid}, loop line items with a list directive over record.item, and control layout with standard XSL-FO style tags in the barcode/pdf namespace.

Error fix

Fix NetSuite SSS_USAGE_LIMIT_EXCEEDED Error

SSS_USAGE_LIMIT_EXCEEDED fires when a SuiteScript execution consumes all the governance units (usage points) allotted to its script type before it finishes. Fix it by checking runtime.getCurrentScript().getRemainingUsage() before expensive calls, yielding or rescheduling in Scheduled scripts, and moving heavy record-count work into Map/Reduce, which yields automatically across stages.

Error fix

Fix NetSuite INVALID_FLD_VALUE Error

INVALID_FLD_VALUE means NetSuite rejected a value you tried to set on a field because it does not match the field's expected type, list option, or reference record. Fix it by confirming the internal ID or text value actually exists on that field's source list and matches the field's value type (text versus list versus record reference) before setting it.

AI for ERP

AI for NetSuite, Beyond the Built-In Text Tools

NetSuite's built-in AI covers text generation, not grounded answers on your own data. See how a private LLM over SuiteQL adds real Q&A and controls.

AI for ERP

AI agents for NetSuite manufacturing operations

AI agents for NetSuite manufacturing: WIP tracking, routing exceptions, and work order status grounded in SuiteQL, with human approval on anything that writes back.

Stuck on Oracle NetSuite?

Talk to engineers who work inside Oracle NetSuite every week, and who build private AI that answers these questions from your own ERP data.