When finance says “How are we doing?” they don’t want twelve tabs and a scavenger hunt. They want a few vital signs. Revenue, margin, cash, AR/AP, inventory. Plus a short story about why those numbers moved.
Below is a quick, practical way to build that view with NetSuite’s SuiteAnalytics Workbooks.
Then we’ll show how BizCommand puts the same signals on one screen with AI-written narratives.
The 5 Vital Signs
- Revenue & Gross Margin %
- Cash on Hand
- AR & DSO (Days Sales Outstanding)
- AP & DPO (Days Payable Outstanding)
- Inventory Health & Turns (and a peek at backlog)
Tip: Use accounting periods (months/quarters) and your segments (subsidiary, department, class, location) consistently so trends are comparable.
Before You Start
- Permissions: Your role needs access to SuiteAnalytics Workbook and the underlying records.
- Navigation: Go to Analytics → Workbooks → New Workbook. You’ll pick a Dataset first (think “data source”), then add pivots/charts.
Building the Dataset first
- In NetSuite, go to Analytics → Datasets → New Dataset.
- Pick a Record Type. This is your primary data source.
- Add fields from the primary record, then add fields from Related Records as needed.
- Add Filters that will hold everywhere you reuse this dataset.
- Add Formulas for reusable measures, for example Gross Profit or GM%.
- Save with a clear name and description, for example “Finance KPIs, Transactions GL, monthly.”
General tips
- For GL-true numbers, start from Transactions and set Posting = Yes.
- Use Accounting Period fields when you need clean month or quarter trends.
- Use Amount (Signed) and Account Type to avoid double counting.
- For line-level analysis, include Main Line = No and bring in Item, Location, or Customer.
- Create formulas in the Dataset when you want the same logic reused across many Workbooks.
1) Revenue & Gross Margin % (Workbook)
Dataset: Transactions (GL impact)
Drag to Criteria
- Posting = Yes
- Date = Last 12 months, or your reporting range
- Optional hygiene: Eliminate Intercompany = No, Void Line = No
Drag to Columns
- Accounting Period or Posting Period
- Subsidiary (optional)
- Account Type
- Amount (Signed)
- Optional: Department, Class, Location, Item, Customer
Create Formula Measures Use conditional sums so you do not double count mixed lines.
- Revenue SUM(CASE WHEN Account Type = ‘Income’ THEN Amount (Signed) ELSE 0 END)
- COGS SUM(CASE WHEN Account Type = ‘Cost of Goods Sold’ THEN Amount (Signed) ELSE 0 END)
- Gross Profit Revenue – COGS
- Gross Margin % Gross Profit / NULLIF(Revenue, 0)
Save dataset: “DS, Finance, Revenue and GM by Period”
Workbook
- Rows: Accounting Period
- Values: Revenue, Gross Profit, Gross Margin %
- Chart: Column for Revenue, line for GM%
- Look for: sudden GM% dips, spikes tied to freight, discounting, or mix shifts..
2) Cash on Hand (Workbook)
Dataset: Posting Account Activity
Criteria
- Account Type = Bank
- Accounting Period in range
Columns
- Accounting Period, Account, Subsidiary
- Ending Balance
Save dataset: “DS, Finance, Cash by Bank and Period”
Workbook
- Chart: Stacked column by Account with Ending Balance
- KPI tile: Total cash = sum of Ending Balance
- Look for: concentration in one bank, drawdowns versus plan.
3) AR & DSO (Workbook)
Balances are cleaner with Posting Account Activity for AR. You can still use Transaction if you want drivers by customer.
Primary record: Posting Account Activity
Criteria
- Account Type = Accounts Receivable
- Accounting Period in range
Columns
- Accounting Period, Subsidiary
- Ending Balance as AR Balance
Bring Revenue Use your Revenue dataset from Section 1 in a separate Workbook visualization, or create a revenue dataset filtered to Income and join in the Workbook view.
Formula Measure in Workbook
- DSO (AR Balance / NULLIF(Revenue, 0)) * Days in Period
Workbook views
- Rows: Accounting Period
- Values: AR Balance, Revenue, DSO
- Optional breakout: add Customer using a second viz sourced from the Transaction dataset to see who drives aging.
4) AP & DPO (Workbook)
Primary record: Posting Account Activity
Criteria
- Account Type = Accounts Payable
- Accounting Period in range
Columns
- Accounting Period, Subsidiary
- Ending Balance as AP Balance
Purchases or COGS reference Use a separate dataset for COGS or a purchases proxy from Transaction.
Workbook Formula
- DPO (AP Balance / NULLIF(Purchases or COGS, 0)) * Days in Period
5) Inventory Health & Turns (Workbook)
You need COGS and an average Inventory Asset balance.
Dataset A — COGS
Primary record: Transaction Criteria: Posting = Yes, Account Type = Cost of Goods Sold Columns: Accounting Period, Subsidiary, Item (optional), Amount (Signed) Measure: COGS = SUM(Amount (Signed))
Dataset B — Inventory Asset balance
Primary record: Posting Account Activity Criteria: Account Type = Inventory Asset, Accounting Period in range Columns: Accounting Period, Subsidiary, Ending Balance
Workbook Formula Measures
- Average Inventory, use Average(Ending Balance) over the months in the selected range or compute per period if you prefer a rolling average.
- Turns COGS / NULLIF(Average Inventory, 0)
Workbook
- Rows: Accounting Period
- Values: Turns, plus COGS and Average Inventory for context
- Optional driver view from a Transaction dataset filtered to Main Line = No with Item, Location, On Hand to flag slow movers.
What to look for: low turns with high on-hand, stockout risk, aged inventory by location.
Turn It Into a One-Pager “Board Pack”
In the same Workbook:
- Add Tiles: Revenue, GM%, Cash, DSO, DPO, Turns.
- Add Charts for trend lines.
- Add Pivots with drill-to transactions (enable “Allow drilldown” on visualizations).
- Share with roles, and schedule an export if you prefer inbox delivery before close.
Common pitfalls
- Mixed date filters (period vs calendar date). Pick one and standardize.
- Main Line vs line-level confusion. For line analysis, include line records; for GL sums, stick with Posting = Yes.
- Sign conventions. If numbers look inverted, check “Amount (signed)” vs “Amount (absolute)” and account type filters.
Or, do all of this faster with BizCommand
BizCommand puts the same vital signs you just built: revenue, gross margin %, cash, AR/AP, and inventory health. All of it appears on one NetSuite screen. You get live KPI tiles, one-click drilldowns to the exact transactions behind a change, plain-English narratives that explain what moved and why, and board-ready exports in seconds. It is NetSuite-native and respects your existing roles and permissions.
A quick real-world contrast
Question: “Why did our sales dip recently
?”
With Workbooks
- Open Revenue/COGS workbook, filter periods or subsidiary
- Add item or customer dimensions, scan for mix, discounts, freight
- Jump to transactions, reconcile variances
- Write a short explanation for leadership
- Export charts and tables, paste into slides
With BizCommand
- Click Gross Margin % tile
- Read the plain-English narrative (for example, “Freight costs spiked on SKU A, discounting increased for Customer B, mix shifted to lower-margin items at Subsidiary 3.”)
- One-click drilldown to the exact transactions
- Export charts and the briefing for your board pack
When to use which
Workbooks are perfect when you need custom, one-off analyses or very specific formulas, or when you have analysts who like building and iterating their own views.
BizCommand shines when you want the same core KPIs every day, week, or close without rebuilding, when leaders want quick narratives and board-ready exports, and when teams need fewer tabs and faster drilldowns inside NetSuite.
Bottom line
Workbooks are a great toolkit. BizCommand is the one-screen command center that turns those KPIs into instant answers and action, without the tab jungle.
Know today. Decide today. Want a 5-minute walkthrough? [email protected]