๐งฉ Custom Record Dashboards & Portlets (Visual Analytics in NetSuite)
Introduction
Your data is only as powerful as your ability to visualize it.
Whether youโre tracking integration logs, approvals, or audit trails, NetSuite allows you to build real-time dashboards that summarize critical metrics using Custom Records, SuiteAnalytics, and Portlets.
This guide will walk you through creating interactive dashboards for custom data โ no external BI tools required.
๐ก Why Custom Dashboards Matter
Benefit | Description |
---|---|
Central Visibility | Combine KPIs, charts, and logs on one page. |
Better Decision-Making | Managers see real-time metrics without reports. |
Reduced Email Reports | Replaces manual Excel summaries. |
Customizable by Role | Different roles see tailored insights. |
๐งฑ Step 1: Identify Your Data Source
The first step is defining what you want to visualize.
Example | Record Type | Purpose |
---|---|---|
Integration Log | customrecord_integration_log | Track API performance |
Error Log | customrecord_error_log | Monitor script failures |
Audit Log | customrecord_gl_audit_log | Track GL adjustments |
Approval Records | customrecord_approval_flow | Review pending approvals |
๐ก Each record should have fields like status, timestamp, owner, and duration โ perfect for visual dashboards.
โ๏ธ Step 2: Create a SuiteAnalytics Dataset
Example: Integration Log Dataset
- Navigate to Analytics โ Workbooks โ New Dataset.
- Choose Record Type = Custom Record โ Integration Log.
- Add key fields:
custrecord_integration_source
custrecord_status
custrecord_duration
custrecord_timestamp
- Save dataset as
Integration Performance Dataset
.
๐ง Step 3: Create a SuiteAnalytics Workbook
Now create visual charts & summaries:
- Open the dataset โ Click Create Workbook.
- Add Pivot Table:
- Rows โ
Integration Source
- Columns โ
Status
- Values โ
Count of Records
- Rows โ
- Add Chart View:
- Type: Bar or Line
- X-Axis:
Integration Source
- Y-Axis:
Average Duration (ms)
- Color by
Status
- Add Filter:
Date = This Week
โ Save as Integration Dashboard Workbook.
๐งฉ Step 4: Publish to Home Dashboard
- Go to your Home Dashboard.
- Click Personalize โ Analytics Portlet.
- Choose your Workbook under โSaved Workbooksโ.
- Adjust size and layout โ add next to KPIs or reminders.
๐ก You can have multiple portlets:
- Integration Performance (Workbook)
- Error Log Summary (Saved Search)
- Approval Pending List (Reminders)
๐งฐ Step 5: Build a Custom SuiteScript Portlet (Optional Advanced Method)
You can create a fully dynamic, styled dashboard portlet using SuiteScript 2.1.
/**
* @NApiVersion 2.1
* @NScriptType Portlet
*/
define(['N/search'], (search) => {
const render = (params) => {
const portlet = params.portlet;
portlet.title = 'Integration Summary (Live)';
const results = search.create({
type: 'customrecord_integration_log',
filters: [['custrecord_timestamp', 'within', 'thisweek']],
columns: ['custrecord_integration_source', 'custrecord_status']
}).run().getRange({ start: 0, end: 100 });
let success = 0, failed = 0;
results.forEach(r => {
if (r.getValue('custrecord_status') === 'Success') success++;
else failed++;
});
portlet.html = `
<div style="font-family:Arial; text-align:center;">
<h3>Weekly Integration Status</h3>
<p>โ
Success: <b>${success}</b></p>
<p>โ Failed: <b>${failed}</b></p>
</div>`;
};
return { render };
});
โ Adds a real-time visual summary of your integration results right on the dashboard.
๐ Step 6: Combine Dashboards for Multiple Departments
Department | Dashboard Widgets |
---|---|
Finance | GL Adjustments, Audit Logs, Reconciliation KPIs |
Operations | Integration Summary, Fulfillment Errors |
IT / Admin | Script Execution Logs, Error Counts |
Sales | Approvals Pending, Customer Credit Holds |
๐ก Each roleโs dashboard can be customized with saved searches, workbooks, and custom portlets.
๐งฎ Step 7: Add KPIs and KPI Scorecards
For quick metrics:
- Navigate to Customization โ Centers and Tabs โ KPI Scorecards
- Create new Scorecard:
- Metric:
Failed Integrations (count)
- Metric:
Average Response Time (ms)
- Metric:
Total Approvals Pending
- Metric:
- Add Formula:
Failed Integrations / Total Integrations * 100
โ Failure Rate %
โ Great for management dashboards.
โก Step 8: Refresh & Auto-Update
Use SuiteAnalytics refresh scheduling:
- Go to Workbook โ Schedule Refresh โ Daily or Hourly
- Optionally, send the Workbook snapshot via Email
โ Ensures your visual dashboards are always up-to-date.
๐ง Step 9: Combine Logs into One Dashboard
Create a master portlet combining multiple data sources (Integration Log + Error Log + Audit Records).
Use SuiteScript or HTML tables:
<table style="width:100%; border-collapse:collapse;">
<tr><th>Source</th><th>Success</th><th>Failed</th><th>Last Updated</th></tr>
<tr><td>Boomi</td><td>120</td><td>3</td><td>Today</td></tr>
<tr><td>Shopify</td><td>250</td><td>1</td><td>Today</td></tr>
</table>
โ Displays live integration KPIs directly on your NetSuite homepage.
๐งฐ Step 10: Real-World Example โ Integration Health Dashboard
Goal: Show daily integration status for multiple sources (Boomi, Salesforce, 3PL).
Components:
- Workbook โ Chart of Success vs Failure
- Saved Search โ Failed Integrations (List)
- Custom Portlet โ Average Duration (ms)
- KPI Scorecard โ Failure Rate %
Result:
Managers and Admins can instantly identify integration issues โ no more log diving or email reports.
๐งฉ Best Practices
Category | Best Practice |
---|---|
Performance | Limit each search to 1,000 records per portlet |
Security | Restrict dashboard visibility by role |
Visuals | Use clear colors: Green = Success, Red = Failed |
Storage | Archive logs older than 90 days |
Maintenance | Refresh Workbooks weekly to clean cached data |
๐ Related Tutorials
- ๐ Integration Logging & Monitoring Dashboard
- ๐ Dynamic SuiteScript Configuration Framework
- ๐ Performance Optimization for Map/Reduce Scripts
โ FAQ
Q1. Can I share dashboards across roles?
Yes โ use Publish Workbook to All Roles or assign via Center Tab Customization.
Q2. Can portlets pull data from external APIs?
Yes โ use N/https
in Portlet scripts to fetch live data.
Q3. Can I filter dashboards by user?
Yes โ filter by current user ID or role in Saved Search / SuiteAnalytics.
Q4. Whatโs the difference between SuiteAnalytics and Portlets?
Workbooks are visual reports; Portlets allow custom HTML or live script-based UI widgets.
๐งญ Summary
Custom Record Dashboards transform NetSuite from a data system into a real-time intelligence hub.
By combining SuiteAnalytics Workbooks, Saved Searches, and Portlets, you can visualize KPIs, monitor system performance, and empower every department with actionable insights โ all inside your NetSuite dashboard.
This approach turns your ERP into a centralized, data-driven command center for integration, finance, and operations visibility.
Leave a Reply