Chapter 6.1

Transaction Forms

Transaction forms define how users interact with sales orders, invoices, purchase orders, and other business documents. Good form design improves data entry efficiency, reduces errors, and enforces business rules.

Transaction Form Fundamentals

Each transaction type (Sales Order, Invoice, Purchase Order, etc.) can have multiple custom forms. Users select forms based on their role, transaction type, or business scenario.

Customization Forms Transaction Forms

Form Customization Scope

Element Can Customize Notes
Field Visibility Yes Show, hide, or make mandatory per form
Field Position Yes Drag fields to different positions on form
Field Labels Yes Rename fields to match business terminology
Subtabs Yes Add, remove, rename, reorder tabs
Sublist Columns Yes Show/hide columns, set widths, reorder
Default Values Yes Set field defaults for new records
Linked Forms Yes PDF/email templates used when printing/emailing

Creating Custom Transaction Forms

1

Start from Standard

Navigate to Customization > Forms > Transaction Forms, find the standard form for your transaction type, and click Customize.

2

Name Your Form

Use clear naming conventions: "[Transaction Type] - [Purpose] - [Audience]" e.g., "Sales Order - Standard - Sales Rep"

3

Configure Fields

Use Screen Fields tab to show/hide fields, set mandatory flags, change labels. Focus on essential fields for the use case.

4

Organize Subtabs

Group related fields, hide unused tabs, add custom tabs for specialized content.

5

Configure Line Items

Show relevant columns, hide unnecessary ones, set column widths. Consider user workflow when ordering columns.

6

Link Print/Email Templates

Set the PDF template for printing and email template for sending. Can vary by role or form.

💡 Form Minimalism
The best forms show only what users need. Every additional field is a potential distraction or source of error. Start minimal, add fields only when users request them with clear business justification.

Role-Based Form Assignment

Assign different forms to different roles to streamline their experience.

Customization Forms Transaction Forms [Form] Roles
Role Form Type Focus
Sales Rep Sales Order - Sales Customer info, pricing, quick entry
Warehouse Sales Order - Fulfillment Ship-to, items, quantities, shipping
Finance Sales Order - Finance Revenue recognition, payment terms, approvals
Customer Service Sales Order - CS Order status, tracking, notes
⚖️ Key Decision

One Form vs. Many Forms

Mandatory Fields Strategy

Making fields mandatory enforces data quality but can frustrate users if overdone.

⚠️ Mandatory Field Balance
Only require fields that are truly necessary at the time of entry. Consider using workflow-based validation for fields that must be filled before specific actions (e.g., Ship-to address must exist before fulfillment, not at order creation).

Mandatory vs. Workflow Validation

Approach When to Use Example
Form Mandatory Data absolutely required at creation Customer, Date
Workflow Validation Data required before specific action PO# before approval
Script Validation Complex conditional requirements If Amount > $10K, require Manager field
👔 Professional Services
Professional Services Consideration
Manufacturing transaction forms often need additional fields for work order references, production line selection, and quality hold statuses. Create specialized forms for shop floor use with large fonts and minimal fields for quick data entry on tablets or kiosks.

Transaction Form Configuration Checklist

Chapter 6.2

Entity Forms

Entity forms control the user experience for customer, vendor, employee, and other entity records. Well-designed entity forms streamline data entry while ensuring required information is captured.

Entity Form Customization

Entity forms follow similar customization principles to transaction forms but apply to master data records like customers, vendors, and employees.

Customization Forms Entry Forms

Common Entity Form Types

Entity Type Standard Forms Common Customizations
Customer Standard Customer Form Credit fields, sales territory, custom attributes
Vendor Standard Vendor Form 1099 fields, insurance info, compliance fields
Employee Standard Employee Form HR fields, compensation (if enabled), department
Contact Standard Contact Form Communication preferences, role indicators
Item Standard Item Forms (per type) Inventory settings, pricing, vendor info

Customer Form Design Considerations

Customer forms are among the most frequently accessed. Design them for both quick initial creation and comprehensive ongoing management.

🎯 Two-Form Strategy
Consider creating a "Quick Add" customer form for rapid creation (name, basic contact, minimal required fields) and a "Full Management" form for account managers who need all details. Assign Quick Add to sales reps and Full Management to account managers.

Customer Form Subtab Organization

Subtab Purpose Key Fields
General Core customer identity Name, ID, category, status, subsidiary
Address Billing and shipping locations Default addresses, additional locations
Financial AR and credit settings Terms, credit limit, currency, price level
Sales Sales team and territory Sales rep, territory, lead source
Preferences Communication and defaults Email preference, default ship method

Vendor Form Considerations

Vendor forms must balance ease of use with compliance requirements, especially for 1099 reporting.

Critical Vendor Fields

  • Legal Name: Must match IRS records exactly for 1099
  • Tax ID: EIN or SSN for US vendors
  • 1099 Eligible: Flag for year-end reporting
  • W-9 on File: Custom field to track compliance
  • Payment Method: Check, ACH, wire preferences
  • Banking Info: For electronic payments (secure storage)
⚠️ 1099 Data Accuracy
Incorrect 1099 data causes IRS penalties and vendor frustration. Make Tax ID and Legal Name mandatory for 1099-eligible vendors. Consider a workflow that blocks payments until W-9 documentation is confirmed.

Employee Form Security

Employee forms often contain sensitive information. Use form customization to restrict access.

Employee Form Variants

Form Variant Target Role Visible Fields
Self-Service Employee (own record) Contact info, preferences, expense approver
Manager View Department Managers Above + performance, time approvals
HR Full Access HR Department All fields including compensation, SSN
Finance View Payroll/Finance Compensation, banking, tax withholdings
👔 Professional Services
Professional Services Consideration
Services firms often need extensive employee forms tracking certifications, billable rates, utilization targets, and project assignments. Create a "Resource Profile" form for resource managers focused on skills and availability rather than HR data.

Entity Form Configuration Checklist

Chapter 6.3

Sublists & Line Items

Sublists display related records and line item data on forms. Configuring sublists properly improves data entry speed and ensures critical information is visible without scrolling.

Sublist Types

NetSuite forms contain different types of sublists, each serving different purposes.

Sublist Type Behavior Examples
Inline Editor Edit directly in grid, tab between cells Sales Order items, Invoice lines
List Read-only display of related records Customer transactions, Item history
Editor Add/edit via separate form popup Addresses, Contacts on entities
Static List Non-editable reference display System notes, audit trail

Line Item Configuration

The Items sublist on transactions is the most heavily used. Optimize it for fast, accurate entry.

Customization Forms Transaction Forms [Form] Sublist Fields

Essential vs. Optional Columns

💡 Column Visibility Strategy
Show columns based on entry sequence: Item → Quantity → Rate → Amount. Add description, tax code, and other fields as needed. Hide columns like "Last Modified" or "Created Date" that are rarely needed during entry.

Recommended Column Order (Sales Order)

Position Column Reason
1 Item Primary selection field
2 Description Verify correct item selected
3 Quantity Most common edit
4 Units If using multiple units
5 Rate Price per unit
6 Amount Extended price (auto-calculated)
7 Tax Code If varies by line

Column Width Optimization

Set column widths to match content. Narrow columns for codes, wider for descriptions.

Column Type Recommended Width Notes
Item Code 15-20% Depends on SKU length
Description 25-35% Widest column typically
Quantity 8-10% Numeric, narrow
Rate 10-12% Currency format
Amount 10-12% Currency format

Matrix Sublist Configuration

Matrix items display in a special grid format showing size/color combinations.

ℹ️ Matrix Sublist
When using matrix items, enable the matrix sublist to allow entry across size/color combinations in a grid format. This dramatically speeds entry compared to line-by-line selection.

Custom Column Sublists

Add custom columns to sublists for business-specific data.

Customization Lists, Records, & Fields Transaction Line Fields

Common Custom Line Fields

  • Commission Rate Override: Per-line commission for special deals
  • Customer PO Line: Reference to customer's line item number
  • Delivery Date: Requested delivery per line item
  • Warehouse Notes: Special handling instructions
  • Cost Center: Departmental allocation per line
👔 Professional Services
Professional Services Consideration
Distribution companies often need catch weight fields (actual weight vs. nominal weight), lot number selection, and case/unit breakdowns on line items. Configure sublists to show these fields prominently for warehouse and order entry users.

Sublist Configuration Checklist

Chapter 6.4

Saved Searches as Data Sources

Saved searches power dashboard portlets, form subtabs, dropdown lists, and other UI elements. Understanding how to design searches for UI consumption is key to building effective NetSuite interfaces.

Search-Driven UI Elements

Saved searches can populate multiple UI components beyond just report results.

UI Element Search Type Key Configuration
Dashboard List Portlet Any search marked "Available as List Portlet" Limit results, show key columns only
KPI Scorecard Summary search returning single row Mark "Available as KPI Scorecard"
Trend Graph Search with date grouping Include date dimension, sort ascending
Reminder Search returning action items Mark "Available as Reminder"
Form Subtab Related record search Mark "Available as Sublist View"

List Portlet Searches

List portlets display saved search results as scrollable lists on dashboards.

Reports Saved Searches New

List Portlet Best Practices

Practice Implementation Reason
Limit Results Set max rows (25-50) Portlets should show actionable items, not exhaustive lists
Include Links Show record link column Users need to click through to take action
Sort Meaningfully Most urgent/recent first Top items should be highest priority
Use Formulas Sparingly Avoid complex calculations Portlets refresh frequently; complex formulas slow loading
1

Create Search

Build search with appropriate filters and results columns. Mark as "Available as List Portlet."

2

Configure Audience

Set which roles/users can access via Audience tab. Consider "Available for All Roles" or specific roles.

3

Add to Dashboard

Users add via Personalize Dashboard > Custom Search portlet, or publish via role center.

KPI Scorecard Searches

KPI portlets display single metrics or comparison values. The search design differs from list portlets.

💡 KPI Search Design

For KPI scorecards, the search must:

  • Return exactly ONE row (use Summary type)
  • Include the metric as a formula or summary field
  • Optionally include comparison value (prior period)
  • Be marked "Available as KPI Scorecard"

Example - Open Sales Orders Value:

  • Record Type: Transaction
  • Criteria: Type = Sales Order, Status = Pending Fulfillment
  • Results: SUM(Amount) with Summary Type

Common KPI Searches

KPI Record Type Key Formula/Summary
Open AR Balance Transaction SUM(Amount Remaining) where Type = Invoice
Orders This Month Transaction COUNT(*) where Type = Sales Order, Date = This Month
Inventory Value Item SUM(Total Value) for Inventory Items
Overdue Tasks Task COUNT(*) where Due Date less than Today, Status not equal to Completed
Revenue YTD Transaction SUM(Amount) where Type = Invoice, Date = This Year

Trend Graph Searches

Trend graphs visualize data over time. The search must be structured to support chart rendering.

Trend Search Requirements

  • Time Dimension: Include date field grouped by period (day, week, month)
  • Measure Column: Numeric value to plot (amount, count, quantity)
  • Optional Dimension: Category for multi-series charts (product line, region)
  • Sorting: Sort by date ascending for proper chart rendering
🎯 Chart Type Selection

Match chart type to data characteristics:

  • Line Chart: Continuous trends over time (sales by month)
  • Bar Chart: Comparison across categories (sales by region)
  • Pie Chart: Proportion of whole (expense breakdown)
  • Area Chart: Cumulative values over time (running balance)

Configure chart options when adding to dashboard via "Chart Options" button.

Search Performance Optimization

Searches driving UI elements need to be highly optimized since they run frequently.

Performance Best Practices

Technique Implementation Impact
Index-Friendly Filters Filter on indexed fields first (ID, Date, Status) Dramatically reduces scan time
Limit Results Set maximum rows returned Caps worst-case performance
Avoid Formula Filters Filter before calculating, not with formulas Formulas in filters prevent index use
Minimize Joins Avoid deep joins (3+ levels) Each join multiplies query complexity
Summary vs. Detail Use Summary searches for aggregations Database aggregation faster than formula

Search Security and Sharing

Control who can access searches and what data they see.

Audience Configuration

  • Public: All users can see (use cautiously)
  • Role-Based: Specific roles have access
  • Employee-Based: Specific employees only
  • Owner Only: Private to creator
⚠️ Search vs. Role Permissions

Search access does not equal data access:

  • Users can only see search results for records they have permission to view
  • A public search doesn't expose data to unauthorized users
  • However, search existence and column structure are visible
  • For sensitive reports, restrict search access to appropriate roles
👔 Professional Services
Professional Services Consideration

Dashboard searches:

  • Work orders by status (Released, In Progress, Completed)
  • Components below reorder point
  • Production schedule for the week
  • Quality holds awaiting disposition

Saved Search UI Integration Checklist

Chapter 6.5

PDF Templates

Creating professional transaction documents with Advanced PDF/HTML templates using BFO syntax and FreeMarker.

Advanced PDF/HTML Templates Overview

NetSuite's Advanced PDF/HTML templates transform transaction data into professionally formatted documents for printing, emailing, and archiving. Understanding the underlying technologies—BFO (Big Faceless Organization) rendering engine and FreeMarker templating—is essential for effective customization.

ℹ️ Template Technologies

BFO Report Generator:

  • Converts HTML/CSS to PDF format
  • Supports subset of CSS (not full CSS3)
  • Proprietary CSS extensions for PDF features
  • Page layout, headers, footers, page breaks

FreeMarker:

  • Template language for dynamic content
  • Access record fields via ${record.fieldname}
  • Conditionals, loops, formatting functions
  • Include files and macros

Template Types and Navigation

Customization Forms Advanced PDF/HTML Templates

Standard Template Categories

Category Common Templates Typical Use
Transaction Invoice, Sales Order, Purchase Order, Quote Customer/vendor-facing documents
Statement Customer Statement, Dunning Letters AR communications
Shipping Packing Slip, Pick Ticket, Bill of Lading Warehouse operations
Payment Check, Voucher Check, Payment Stub AP disbursements
Label Shipping Labels, Item Labels Barcode/address labels

Template Structure

Advanced PDF templates follow a standard HTML structure with special BFO and FreeMarker elements.

💡 Basic Template Anatomy

Templates include: XML declaration, DOCTYPE, HTML structure with CSS styles in the head, body content with FreeMarker variables like ${record.entity}, line item loops with #list directives, and footer content with totals.

Accessing Record Data

FreeMarker provides access to all record fields through the ${record} object.

Common Field Access Patterns

Data Type Syntax Example
Body Field ${record.fieldid} ${record.tranid}, ${record.total}
Entity Reference ${record.entity} ${record.entity} (customer name)
Address ${record.billaddress} Full formatted address block
Line Items <#list record.item as item> Loop through item sublist
Custom Fields ${record.custbody_fieldid} ${record.custbody_ponumber}
Company Info ${companyinformation.fieldid} ${companyinformation.companyname}

Conditional Logic

FreeMarker conditionals control what content appears based on field values.

Common Conditional Patterns

Pattern Syntax Use Case
If/Else <#if condition>...<#else>...</#if> Show different content based on value
Has Value <#if record.field?has_content> Only show if field has data
Equals <#if record.status == "Pending"> Match specific value
Contains <#if record.memo?contains("Rush")> Text search within field
Numeric Compare <#if record.total > 1000> Amount thresholds
⚠️ Null Value Handling

Always handle potentially null values to prevent template errors:

  • Default value: ${record.memo!"No memo"}
  • Empty string default: ${record.memo!""}
  • Has content check: <#if record.memo?has_content>
  • Null check: <#if record.memo??>

Page Layout and CSS

BFO supports a subset of CSS with special extensions for PDF features.

Essential BFO CSS

Feature CSS Syntax Notes
Page Size @page { size: letter; } letter, legal, A4, or custom dimensions
Margins @page { margin: 0.5in; } Individual sides: margin-top, etc.
Page Break page-break-before: always; Force new page
Avoid Break page-break-inside: avoid; Keep element together
Running Header position: running(header); Repeat on every page
Page Counter content: "Page " counter(page); Page X of Y pagination

Number and Date Formatting

Control how numbers, currencies, and dates display in templates.

Formatting Functions

Type Syntax Result
Currency ${record.total?string.currency} $1,234.56
Number ${record.quantity?string["0.00"]} 123.45
Percentage ${record.rate?string.percent} 15%
Date ${record.trandate?string["MM/dd/yyyy"]} 12/09/2025
Long Date ${record.trandate?string["MMMM d, yyyy"]} December 9, 2025

Template Assignment

Control which templates are used for different scenarios.

Customization Forms Transaction Forms [Form] Printing Options

Assignment Methods

  • Transaction Form: Link template to specific transaction form
  • Print/Email Actions: Different templates for print vs. email
  • Subsidiary: Different templates per subsidiary (multi-subsidiary)
  • Language: Localized templates for multi-language
  • Scripted: Dynamically select template via SuiteScript
👔 Professional Services
Professional Services Consideration

Template considerations:

  • Include lot/serial numbers on packing slips
  • Certificates of conformance with spec data
  • Material safety data sheets (MSDS) references
  • Country of origin for export documentation
🎯 Template Development Workflow

Recommended process:

  1. Start by customizing existing standard template (don't start from scratch)
  2. Use "Preview" function to test with sample transaction
  3. Check PDF output, not just HTML preview
  4. Test with transactions having many line items (page breaks)
  5. Test with minimum data (null handling)
  6. Verify in different browsers if email HTML version used

PDF Template Configuration Checklist

Chapter 6.6

Email Templates

Create professional, dynamic email communications using NetSuite's email template system with merge fields, conditional content, and automated delivery.

Email Template Overview

NetSuite email templates automate customer and vendor communications with dynamically merged data. Unlike PDF templates that use FreeMarker, email templates use a simpler merge field syntax, making them more accessible to non-technical users while still providing powerful personalization capabilities.

ℹ️ Email Template Types
  • Transaction Email Templates: Attached to transaction forms for sending invoices, POs, quotes
  • Marketing Email Templates: Campaign-based emails with unsubscribe links
  • Workflow Email Templates: Triggered by workflow actions
  • Case Email Templates: Support case communications
  • Employee Notification Templates: Internal HR communications
Setup Company Email Email Preferences

Template Structure

Email templates consist of several components that work together to create personalized communications:

Component Purpose Notes
Subject Line Email subject with merge fields Keep under 50 characters; can include ${entity.firstname}
Body (Rich Text) HTML formatted content WYSIWYG editor with merge field insertion
Body (Plain Text) Fallback for non-HTML clients Auto-generated or manual override
Attachments PDF of transaction, File Cabinet files Check "Attach Transaction PDF" checkbox
From Address Sender email (must be configured) Requires domain authentication for deliverability

Merge Field Syntax

Email templates use a simple merge field syntax to insert dynamic data from records:

💡 Finding Available Merge Fields
When editing an email template, use the Insert Field dropdown in the WYSIWYG editor. This shows all available merge fields for the selected record type, organized by category. The field IDs shown are exactly what you need in the ${...} syntax.

Creating Transaction Email Templates

Setup Company Email Email Templates New
1

Select Record Type

Choose the transaction type (Invoice, Sales Order, etc.) to determine available merge fields

2

Configure Template Settings

Name, description, and set as preferred template for record type

3

Build Subject Line

Include transaction number: "Invoice ${transaction.tranid} from ${company.companyname}"

4

Design Body Content

Use WYSIWYG editor, insert merge fields, apply formatting

5

Configure Attachments

Check "Attach Transaction PDF" to include invoice/PO as attachment

Marketing Email Templates

Marketing templates are designed for campaigns and include special features for tracking and compliance:

Lists Marketing Marketing Templates New
Feature Transaction Template Marketing Template
Primary use Invoices, POs, quotes Campaigns, newsletters
Unsubscribe link Not included Required (auto-inserted)
Open/click tracking Not available Built-in analytics
A/B testing No Yes (with campaigns)
Drag-drop editor No Yes

Email Delivery Configuration

Domain Authentication

🚨 SPF/DKIM Required for Deliverability

Without proper domain authentication, emails may be marked as spam or rejected. Required DNS records:

  • SPF Record: Authorizes NetSuite to send on your behalf
  • DKIM Record: Cryptographically signs emails
  • DMARC Policy: Tells receiving servers how to handle failures

Path: Setup > Company > Email > Domain Keys

Send From Configuration

Send From Option Configuration Use Case
Current User User's email address Personalized communications
Default Email Company-wide default Generic notifications
Specific Address Hard-coded email Department-specific (ar@company.com)
Record Field Dynamic from record Sales rep for their customers
🎯 Email Template Strategy

Design principles:

  • Mobile-first: 60%+ of emails read on mobile—use single-column layouts, large fonts
  • Keep it short: Get to the point quickly; link to details rather than including everything
  • Clear CTAs: One primary action per email, make buttons obvious
  • Consistent branding: Use company colors, logo, standard footer across all templates
  • Test across clients: Check rendering in Gmail, Outlook, Apple Mail
⚠️ Common Email Template Mistakes
  • Missing null handling: ${entity.firstname} shows blank if not set—use fallbacks where possible
  • Broken images: Use absolute URLs for images; relative paths fail in email
  • Wrong "From" address: Sending from unauthenticated domain = spam folder
  • No plain text version: Some clients/filters require plain text alternative
  • Overly complex HTML: Email HTML support is limited—avoid CSS grid, flex, advanced features
  • Large attachments: Keep under 10MB; prefer links to File Cabinet for large files
👔 Professional Services
Professional Services Consideration

Template considerations:

  • Subscription renewal reminders
  • Usage threshold alerts
  • License key delivery
  • Onboarding sequences (multiple templates)

Email Template Configuration Checklist

Chapter 6.7

Dashboard Design

Design effective role-based dashboards that surface the right information to the right users, utilizing portlets, KPIs, reminders, and shortcuts for maximum productivity.

Dashboard Architecture Overview

NetSuite dashboards serve as the primary workspace for users, displaying real-time information tailored to their role. Well-designed dashboards reduce clicks, surface actionable insights, and drive user adoption. Each dashboard is a combination of portlets organized into a customizable layout.

ℹ️ Dashboard Hierarchy
  • Published Dashboards: Admin-created, assigned to roles, users cannot modify
  • Role-Based Defaults: Default dashboard for role, users can customize
  • Personal Dashboards: User-created dashboards (if permissions allow)

Users see published dashboards first (in tabs), then their personal dashboards.

Home Set Up Home (gear icon) Personalize Dashboard

Portlet Types

Portlets are the building blocks of dashboards. Each portlet type serves a different purpose:

Portlet Type Purpose Data Source
Key Performance Indicators (KPI) Scorecard-style metrics KPI Scorecard saved search or standard KPIs
Search Results List view of saved search data Any saved search marked "Available as List Portlet"
Report Snapshots Financial reports as charts Built-in or custom financial reports
Trend Graph Time-series visualization Saved search with date grouping
Reminders Action-required notifications Built-in or custom reminder searches
Shortcuts Quick links to frequent tasks User or admin defined
Quick Search Record lookup Global search by record type
Recent Records Recently viewed items User's browsing history
Custom Portlet SuiteScript-powered content Portlet script (Suitelet)
Calendar Schedule visualization Events, tasks, transactions

Published Dashboards

Published dashboards are administrator-controlled layouts that cannot be modified by users. Use them for:

  • Standardized role-based views
  • Compliance-required metrics visibility
  • Executive dashboards with consistent KPIs
  • Onboarding dashboards for new users
Customization Centers and Tabs Published Dashboards New
1

Create Dashboard

Name dashboard, add description, select subsidiary (OneWorld)

2

Configure Layout

Choose column structure (1, 2, or 3 columns)

3

Add Portlets

Select portlet types and configure each one

4

Assign Roles

Choose which roles see this dashboard

5

Publish

Activate dashboard; appears as tab for assigned roles

💡 Dashboard Tab Naming
Published dashboard names become tab names. Keep them short and descriptive: "Sales Dashboard," "AR Overview," "Inventory Status." Avoid generic names like "Dashboard 1."

KPI Portlets

KPI portlets display key metrics in a scorecard format with comparison values, trends, and conditional highlighting.

Standard vs. Custom KPIs

Feature Standard KPIs Custom KPIs (Saved Search)
Source Built-in NetSuite metrics Custom saved search
Flexibility Limited configuration Full control over calculation
Comparison periods Built-in (prior period, same period last year) Requires formula fields
Highlighting Automatic (green/red based on trend) Requires highlighting conditions
Use when Standard metrics meet needs Custom calculations required
🎯 KPI Scorecard Design Tips

Best practices:

  • Limit to 6-8 KPIs per portlet—too many reduces impact
  • Use consistent date ranges (MTD, QTD, YTD, Rolling 30)
  • Add comparison column (prior period or same period last year)
  • Configure highlighting: green for good, red for bad, yellow for warning
  • Link KPIs to detail saved searches (drill-down capability)

Role-Based Dashboard Strategy

Different roles have different information needs. Design dashboards that answer "What do I need to do?" and "How am I performing?"

🎯 Dashboard Design by Role Type

Transactional Roles (AR/AP Clerks, Warehouse):

  • Heavy on reminders and work queues
  • Shortcuts to frequent transactions
  • Simple metrics (counts, totals)

Management Roles (Controllers, Managers):

  • KPI-focused with comparisons
  • Trend graphs for performance over time
  • Drill-down capability to details

Executive Roles (CEO, CFO):

  • High-level KPIs only
  • Report snapshots for financial position
  • Minimal clutter, maximum insight

Dashboard Performance

⚠️ Dashboard Load Time Issues

Slow dashboards frustrate users and reduce adoption. Common causes:

  • Too many portlets: Each portlet makes separate requests; limit to 8-10
  • Inefficient saved searches: Use summary-level data, not transaction-level
  • Real-time KPIs: Consider scheduled refresh for heavy calculations
  • Large date ranges: Default to current period, allow expansion

Optimization Strategies

Issue Solution
Slow search portlets Limit results to 25-50 rows; add date filters
Heavy KPI calculations Pre-calculate in scheduled script; store in custom record
Too many reminders Consolidate into single reminder search with categories
Slow report snapshots Use scheduled report with "Cache Results" enabled
Unused portlets Remove; portlets load even if collapsed
👔 Professional Services
Professional Services Consideration

Key dashboard elements:

  • MRR/ARR and growth rate
  • Churn rate and at-risk renewals
  • NRR (Net Revenue Retention)
  • Support case metrics
  • Deferred revenue balance
👔 Professional Services
Professional Services Consideration

Key dashboard elements:

  • Utilization rate (billable vs. total)
  • Project profitability
  • Time pending approval
  • Revenue recognition schedule
  • Resource availability

Dashboard Design Checklist