Skip to content
Chapter 1

Build a report

A report is a stored SuiteQL statement, finished by a wizard: columns, formats, filters, details and audience.

F / 01

Reports written in SuiteQL

Write the query in the first step of the wizard and Preview it against your data. The report runs exactly the SuiteQL you wrote, so anything NetSuite's query engine can answer, a report can show.

  • Joins, aggregates and window functions, as SuiteQL runs them
  • Up to a million characters of SQL per report
  • Preview shows up to 100 rows, and must succeed before you move on
Report wizard on the Query step showing a SuiteQL query that groups sales order lines by month, region and channel, a Preview button and a preview table of the first rows returned.
F / 02

Columns, formats and order

The Columns step turns a result into a report. Each column gets a label, a format and a visibility, and can link to a NetSuite record or to another report.

  • Text, number, currency, percent, date, datetime, month, yes/no and dropdown formats
  • Move a column up or down without touching the SQL
  • Record links for standard and custom record types, with your own URL templates
Report wizard on the Columns step listing each query column with its label, a format such as month, select, number, currency, percent or date, a visibility checkbox and record link settings.
F / 03

Filters that fit the column

The Filters step sets what a report opens with, and viewers can change or clear any of it from the header of the grid. Every filter narrows the charts and tiles on the page too.

  • Operators per column type: text, number, date, month, dropdown and yes/no
  • Relative dates such as This month or Last 30 days, worked out each time it opens
  • A checklist of the values present in the result, with a count beside each
Vendoracme | fjord
Text filter syntaxa | beither onea & bboth!aleave out=aexact matcha*starts with=empty
Date: Last 30 daysAmount: Between 1,000 and 50,000Status: Is any of 2
Pending Receipt412Partially Received88Fully Billed1,006Closed39
Chapter 2

Refresh and scale

Queries run on a schedule, not when someone opens the page. Results are files in your File Cabinet, with no row limit.

F / 04

Scheduled refresh, cached results

Each report runs on the schedule its author sets, in a Map/Reduce, and stores its result in the File Cabinet. Opening a report reads that stored result, so a heavy query opens as fast as a light one.

  • Partial refresh fetches only rows added or changed since the last run, and merges them in
  • A Refresh button for a run now; a run claims the report so two never collide
  • Every step writes an audit line, so a failed run can be followed in the execution log
Refresh runOpen PO LinesMap/Reduce
Map182,340 rowscounted, plan written, 8 chunks
Reduce
c0001c0002c0003c0004c0005c0006c0007c0008
25,000 rows per chunk, side by side
SummarizeManifest stampedold files removed after
r7f2.c0001.p01.json9.0 MBr7f2.c0001.p02.json8.7 MBr7f2.c0002.p01.json9.0 MB
F / 05

No row limit, read part by part

A refresh reads the whole result, however large, in chunks of 25,000 rows that run side by side, writing files of about 9 MB. The browser then fetches the result a file at a time and shows how far it has got.

  • Checks that a paging query really skips ahead before using it, so no row is read twice
  • Continues in the next execution when one run's governance is not enough
  • The previous result stays readable until the new one is complete
Open PO Lines132,340 rows · 6 files
62% loaded82,340 rows receivedfile 4 of 6
part 125,000 rowspart 225,000 rowspart 325,000 rowspart 425,000 rowspart 525,000 rowspart 67,340 rows
Chapter 3

Read and explore

Move from a summary to the rows behind it, change the grain, and read numbers the way your team does.

F / 06

Drill-through, summary to detail

A figure in a summary opens the report behind it, narrowed to the row that was clicked. Click ACME's August spend and the purchase order lines open showing ACME, August and nothing else. Record links open the NetSuite record itself.

  • A carried value fits its column: a month becomes that month's dates
  • A link can carry a fixed value, so the clicked figure equals the detail's total
  • Drawn only for viewers who may open the detail, and it survives import
Summary
Blue Fjord Supply2026-0836,904.50
ACME Corp2026-0848,210.00
Northwind Metals2026-0829,118.00
PO lines behind the figure
Vendor: ACME CorpMonth: 2026-08Show everything
PO-10482Steel coil 4mm21,400.00
PO-10491Fasteners, bulk14,610.00
PO-10517Freight12,200.00
Total48,210.00
F / 07

Month, quarter or year on one report

A report stored by month no longer needs a by-year twin. Group by switches the grain on the spot, and the table, its filters, the totals, every widget and the export follow.

  • Each measure rolls up by its rule: Sum, Ratio of two columns, or Month only
  • A ratio is recomputed from its two sums, never averaged
  • The grain is part of the address, so a link can pin it
Group byMonthQuarterYear
QuarterRevenue SumMargin % RatioMedian days Month only
2026-Q12,841,20033.8%blank
2026-Q23,102,77535.1%blank
2026-Q33,390,41036.4%blank

Ratios are recomputed from the two sums, never averaged.

F / 08

Full or compact numbers

$9,809,607.48 or $9.81M. A report or dashboard carries a default number style, and each viewer can choose otherwise; their choice is kept in their browser.

  • The table, every chart, the stat tiles, the totals row and statements follow
  • Money reads as money and percentages as percentages in every widget
  • Set per page with Numbers in the layout editor's toolbar
Full$9,809,607.48
Compact$9.81M

Per report or dashboard, and each viewer can choose otherwise.

Chapter 4

Dashboards

Pages of widgets over several reports, with one filter bar and layouts built for finance.

F / 09

Dashboards across reports

A dashboard is a page of widgets, each over any report the viewer can open, on the same drag-and-drop grid a report layout uses. Each widget reads its report's cached result and refreshes with it.

  • Tables, bar, line, comparison, pie and donut charts, stat tiles and notes
  • Stat tiles name the periods they compare, so a figure reads without the panel
  • Distinct count and median, bucketed by year, quarter, month or week
Executive Overview dashboard with Region and Channel filters, four stat tiles comparing last month and year to date with prior periods, a line chart of actual revenue against plan with the months after today dashed, a channel mix pie, a revenue by region bar chart and a top ten customers bar chart.
F / 10

Series, a dashed future and Today

A line chart on a date or month column takes a Series column, one line per value. Where the axis runs past today, what is still to come is dashed and a Today marker stands at the current bucket.

  • A comparison trend lays this period over the last, lined up point by point
  • A running period is compared with the same elapsed part of the last one
  • The hover card lists every series at the point
Channel Trends report with a bar chart of revenue by month, a donut chart of revenue by channel and a line chart of gross margin by channel over twelve months, above the detail table.
F / 11

The Statement widget

A report laid out as a financial statement: one row per account in ordered sections, one column per period and a Total, with a total after each section, percent-of lines and a last line over everything.

  • Over a postings report it reads as NetSuite's Income Statement
  • Follows the report's filters, a subsidiary or a range of months
  • Sections collapse on a click, negatives read in parentheses, the first column stays put
Income Statement report laid out as a financial statement with one column per month from January to September 2026 and a Total column, Income and Cost of Sales sections, account lines, section totals and a Cost of Sales percent of revenue line.
F / 12

Dashboard filters, carried into reports

One filter bar per dashboard. Each filter is routed to the right column of each widget, so two reports that name a field differently still filter together.

  • Text, dropdown, number, date, month and yes/no, each with an optional starting value
  • A warning when a filter's targets look like different fields
  • A report opened from a widget, or through a drill-through, keeps the filters
Dashboard filterVendor: ACME Corp
Spend by monthcolumn VendortextOpen PO linescolumn Supplier NametextBills by vendorcolumn Vendorrecord link

Two names for one field still filter together; the editor asks when they look different.

Chapter 5

On the NetSuite home page

The figures people check every morning, where they already are.

F / 13

NetSuite dashboard portlets

Any widget a layout can show can be a portlet on a NetSuite home dashboard. Define it under Manage, Portlets, with the same side panel as the layout editor and a live preview.

  • One portlet entry per widget, listed by its own name under Set Up
  • Audienced exactly like its report, and re-synced whenever that changes
  • Portlets travel with their reports through export and import
Portlet editor with name, report, widget type and height fields, a live preview of a revenue actual versus plan line chart, and the widget settings panel.
Chapter 6

Govern

Who sees what, which reports are still used, and an account that is not like the others.

F / 14

Audience by role, subsidiary and department

Public, or any combination of roles, employees, departments and subsidiaries, picked from searchable lists. The server enforces it, whatever buttons a page shows.

  • Set one audience on many reports at once from the catalogue
  • Dashboards have an audience of their own; each widget still follows its report
  • Access never travels in a file: an imported report starts private
Audience Public
Roles
ControllerCFOAP ManagerSearch
Subsidiaries
US OperationsUK LtdSearch
Departments
FinanceSearch
Employees
Dana WhitfieldSearch

Portlet deployments follow this audience, every time it changes.

F / 15

Categories, archive and the 90-day list

The catalogue lists every report as cards or a sortable table, with how often each was opened in the last 90 days. Not opened in 90 days is one click away, and Archive puts a report away without deleting it.

  • Categories for reports, dashboards or both, with icons and counts
  • Archive takes a report's portlets down; Restore puts everything back
  • Archiving a report a dashboard reads asks first, and names the dashboards
Advanced Reports catalogue in table view listing sixteen reports across Sales, Finance, Customers, Inventory, Purchasing and Operations, each with a description, category, audience, last run time, open count, row count and status.
F / 16

Works in any NetSuite account

OneWorld or not, with or without Departments. The app asks the account which audience fields it has and works without the ones it lacks, for reading, saving and portlets.

  • Only the audiences the account has are offered
  • Nothing to configure before the first report
  • An empty catalogue tells an author how to begin, and a viewer who to ask
Chapter 7

Move and learn

Reports travel between accounts as a file, and the guide travels with the app.

F / 17

Import and export as a file

Reports, dashboards and portlets move between accounts as one .json file, and an import previews what it would do before anything is written. It is the same file the Library gives you.

  • Matched by export key, or by exact name for a report written in the account
  • A dashboard travels with its reports; a missing one is refused at the preview
  • An archive list retires the reports a file replaces
Import / Export page on the Import tab after loading an export file, showing the import mode options and a verdict listing reports to update or create, a portlet and a dashboard to update, with a Confirm Import button.
F / 18

In-app help and What's new

The guide lives inside the app in four tabs, and What's new shows the release notes, so people see what changed without leaving NetSuite.

  • Every user-visible change ships with its sentence in the guide
  • A version badge stays highlighted until What's new is opened
  • The same guide is published on this site
Help page with tabs for Using reports, Building reports, Dashboards and Administration, open on sections about finding reports, cached results, month, quarter or year, and full or compact numbers.

Want to see it on your own data?

We will walk through the features that matter to your team in a sandbox, with a report or two built from your own SuiteQL.