๐งฉ How to Create and Use Custom Segments in NetSuite
Introduction
NetSuiteโs Custom Segments feature lets you add new dimensional reporting layers beyond the default classifications like Department, Class, and Location.
With custom segments, finance teams and administrators can track and analyze data by any dimension that fits the business โ such as Brand, Region, Project Type, or Channel โ directly within transactions and reports.
Custom segments integrate seamlessly into GL postings, saved searches, and SuiteAnalytics, providing a flexible way to slice your financials with precision โ without using complex scripts.
๐ก What Are Custom Segments?
Custom Segments are user-defined classification fields that behave like NetSuiteโs native dimensions. They can be added to transactions, entities, items, or custom records, and can even be configured to carry over to GL Impact automatically.
Examples:
Business Case | Custom Segment Example |
---|---|
Multi-brand retail | Brand or Product Line |
Multi-channel sales | Sales Channel (Online, Wholesale, Distributor) |
Global operations | Region or Market |
Project-based services | Project Type or Work Category |
โ๏ธ Prerequisites
Before creating a custom segment:
- You must have Custom Segments enabled under:
Setup โ Company โ Enable Features โ Accounting โ Custom Segments
- You need Administrator or Full Access role.
- Familiarity with SuiteBuilder helps (fields, lists, records).
๐งฑ Step-by-Step: Creating a Custom Segment in NetSuite
Step 1: Navigate to Custom Segment Setup
Go to:
Customization โ Lists, Records, & Fields โ Segments โ New
Step 2: Define Segment Properties
Field | Description | Example |
---|---|---|
Name | Label for your segment | โBrandโ |
ID | Internal ID used by scripts | custsegment_brand |
Applies To | Select applicable records | Transaction, Item |
GL Impact | Check this if segment should post to GL | โ Enabled |
Filtering | Optional filter for values | Active Brands Only |
Parent Segment | (Optional) Creates hierarchy | None (for now) |
Step 3: Create Segment Values
- Go to the Values subtab.
- Add each possible option manually (e.g., Brand A, Brand B, Brand C).
- You can also import them using CSV.
- Save and mark as Active.
Step 4: Deploy Segment to Forms
- Go to any Transaction Form (e.g., Sales Order).
- Click Customize โ Screen Fields.
- Under Classification tab, youโll now see your segment (e.g., Brand).
- Mark it visible and optionally mandatory.
- Save the form.
Now, your segment appears on transactions for users to select.
Step 5: Enable GL Impact Tracking
If your custom segment should affect accounting, enable GL Impact when creating it.
When selected on a transaction, the segment will:
- Flow into GL postings automatically.
- Appear in financial reports as a separate column.
- Be available in saved searches and SuiteAnalytics.
โ
Example:
When you select Brand A on a Sales Order โ the revenue GL line is tagged with Brand A in the general ledger.
๐งฎ Example Use Case: Brand-Level P&L Reporting
Business Scenario:
Your company sells multiple brands and wants separate income statements per brand.
Solution:
- Create a Custom Segment = Brand.
- Enable GL Impact.
- Add segment to all sales and expense transactions.
- Run Financial Report โ Income Statement โ Filter by Brand.
Result:
Now you can see profit & loss per brand โ without needing separate subsidiaries or departments.
๐ Integrating Custom Segments with Other Features
Feature | Description | Benefit |
---|---|---|
Saved Searches | Add segment as a filter or result column | Create brand or region-based searches |
SuiteAnalytics Workbook | Use as dimension | Build pivot reports by segment |
Custom Records | Assign segment to custom data | Track extra-level detail |
SuiteScript | Access via record.getValue('custsegment_...') | Automate based on segment |
Workflows | Add conditions or actions | Trigger logic per segment |
๐งฐ Example SuiteScript Usage
// SuiteScript 2.x example: reading segment value
define(['N/record', 'N/log'], (record, log) => {
function afterSubmit(ctx) {
const rec = ctx.newRecord;
const brandSegment = rec.getValue('custsegment_brand');
log.debug('Brand Segment Selected:', brandSegment);
}
return { afterSubmit };
});
Use case: Automatically adjust pricing or account mapping based on selected segment.
๐ Reporting with Custom Segments
Custom segments automatically appear in:
- Financial Reports โ Income Statement / Balance Sheet
- Saved Searches
- SuiteAnalytics Workbook datasets
You can filter or group results by your new dimension to produce detailed P&L breakdowns, sales by region, or departmental costs.
๐ง Best Practices
- Keep segment values under 1000 records for best performance.
- Avoid creating too many GL-impact segments (can slow posting).
- Use hierarchical segments (Parent/Child) for grouping.
- Lock segment values to prevent accidental edits.
- Test in Sandbox before deploying in Production.
๐งฉ Common Issues and Solutions
Issue | Cause | Solution |
---|---|---|
Segment not appearing on transaction | Not deployed to form | Customize the transaction form |
Segment not posting to GL | GL Impact not enabled | Edit segment โ check GL Impact |
Segment missing in reports | Permissions or inactive values | Check access roles and values |
Not visible to users | Form restriction or hidden tab | Enable under form preferences |
๐ Related Tutorials
- ๐ Custom GL Lines Plug-in in NetSuite
- ๐ Building Workflows with SuiteFlow
- ๐ SuiteAnalytics Workbook for Custom Reporting
โ FAQ
Q1. Are custom segments available in all NetSuite editions?
Yes, but GL Impact segments are available only in OneWorld and Advanced Accounting editions.
Q2. How many custom segments can I create?
Up to 25 segments, but only 3 GL-impact segments are typically recommended for performance.
Q3. Can I rename or delete a custom segment?
You can rename it safely, but deleting it can break historical data references.
Q4. Do custom segments appear in CSV imports?
Yes, if you include the internal ID or name in your CSV template.
๐งญ Summary
Custom Segments in NetSuite empower finance and operations teams to extend dimensional reporting beyond the defaults.
They help track brands, channels, or markets, bringing clarity and control to your financial analytics โ all without scripting or heavy customization.
Leave a Reply