
Upselling should be a natural part of the sales process, not a workaround that sales teams avoid because the tools get in the way. While NetSuite offers a native upsell and related-items feature, many growing organizations quickly discover that it lacks the flexibility and validation controls needed for real-world sales workflows.
At GIR Software Services, we design NetSuite enhancements that improve revenue opportunities without compromising system rules or data quality. In this Solutions Spotlight, we share how our team delivered a custom upsell popup for NetSuite that provides full validation, complete configurability, and clear visibility of upsell opportunities directly on the transaction screen.
Problem Statement
Limitations of NetSuite Native Upsell Functionality
The client was using NetSuite’s standard upsell feature but found it too restrictive for daily sales operations:
- No ability to control displayed columns
- No way to tailor the data source
- No control over layout or behavior
Sales leadership wanted more insight presented to reps at the moment of decision, not buried in item records or menus.
Missing Client-Side Validation in Native Upsell Popup
One of the most critical gaps was that when items were added through the native upsell popup:
- Client scripts did not execute
- Pricing rules and validations were bypassed
- Business controls were unintentionally skipped
This created compliance risks and inconsistent order data; something that could not continue.
Lack of Visibility for Available Upsell Items
Another challenge was awareness. Sales reps had no clear signal that upsell items were even available for items already on the order.
Without visibility:
- Opportunities were missed
- Upsell relied on memory and training
- Revenue potential went unrealized
The solution needed to actively surface upsell options during order entry.

Solution Overview
Custom Upsell Architecture for NetSuite Transactions
GIR designed a completely new upsell framework that works within standard NetSuite transaction behavior while removing the UI and validation limitations of the native popup.
The solution includes:
- A custom Related Items data model
- A transaction-level upsell button
- A fully configurable popup interface
- Validation-safe item insertion using NetSuite APIs
This approach ensures both revenue enablement and system integrity.
Related Items Custom Record Design
Parent-to-Upsell Item Mapping
Instead of hard-coding upsell logic, GIR introduced a Related Items custom record that allows administrators to define:
- Parent item
- One or more upsell items
- Optional classification or grouping
This creates a scalable structure that grows with the item catalog and can be maintained by business users.
Dynamic “Contains Related Items” Flag
To support real-time UI behavior, we added a flag to the item record that automatically updates when related items exist.
This enables:
- Conditional button visibility
- Fast detection during transaction entry
- No unnecessary popup triggers
This backend logic ensures the upsell feature appears only when it’s relevant.
Custom Upsell Button on Transaction Form
Conditional Button Visibility
GIR placed a custom button directly above the Items sublist: a location not natively supported by NetSuite.
The button:
- Appears only when upsell items exist on the order
- Updates dynamically as items are added or removed
- Immediately alerts reps to upsell opportunities

Improved Sales User Experience
By placing the upsell action exactly where sales reps are already working, the process becomes:
- Intuitive
- Fast
- Hard to ignore
This small UI change delivered a major improvement in usability and adoption.
Fully Custom Upsell Popup Interface
Multi-Select Upsell Item Selection
The custom popup allows reps to:
- Select multiple upsell items
- Navigate across multiple pages
- Review selections before adding
All selected items are added with a single backend action, improving both speed and accuracy.
Executing NetSuite Client Scripts and Validations
Unlike the native popup, this solution uses standard NetSuite APIs to insert line items.
That means:
- All client scripts run
- Pricing rules are enforced
- Approval logic is preserved
This was a critical business requirement and a key reason a full custom solution was necessary.
Saved Search–Driven Customization
Configurable Columns and Data Sources
One of the most powerful aspects of this solution is that the popup is fully driven by a saved search.
Administrators can:
- Add or remove columns
- Use joins to related records
- Insert formula fields
All without modifying code.
Sorting and Formula-Based Enhancements
Because saved searches control the data:
- Default sorting is configurable
- Performance filters can be applied
- Business-specific logic can be embedded
This gives the business long-term control and flexibility, an important part of GIR’s design philosophy.
Pagination and Performance Optimization
Configurable Page Size and Filters
The popup supports pagination with admin-controlled settings:
- Page size limits
- Performance filters (e.g., rownum thresholds)
This ensures usability even with large item catalogs.
Persisting Selections Across Pages
Selections are retained when navigating between pages, so users can:
- Browse freely
- Compare options
- Add everything at once
This avoids frustration and encourages broader upsell adoption.
Smart UX Enhancements
Preventing Duplicate Upsell Items
If an upsell item already exists on the order:
- The row appears greyed out
- The checkbox is disabled
This prevents duplicate entries and reduces cleanup work.
Bulk Item Add with Loading Indicator
When items are added:
- A loading screen appears
- All items are processed together
- Users receive visual confirmation
This improves confidence and prevents repeated clicks or partial adds.

Performance Considerations
From the start, GIR optimized for:
- Efficient saved search filtering
- Controlled data loading
- Minimal UI blocking
This ensures that the upsell process enhances productivity rather than slowing down order entry.
User Guide and Enablement
To support adoption, GIR delivered a full user guide covering:
- How sales reps use the upsell popup
- How admins manage related items
- How to customize popup columns and behavior
This ensures the solution remains effective long after deployment and reduces reliance on IT support.
Conclusion
Upselling should increase revenue not introduce system risk or slow down your sales team. By replacing NetSuite’s rigid native upsell popup with a fully validated, highly configurable custom interface, GIR Software Services delivered a solution that supports both business growth and data integrity.
This project reflects what clients expect from GIR:
- Deep NetSuite technical expertise
- Thoughtful UX design for real users
- Solutions that scale with business needs
If your team needs smarter sales workflows, better transaction UI, or custom NetSuite enhancements that respect your business rules, GIR Software Services is ready to help.
Explore our NetSuite services:
Talk to GIR about optimizing your sales workflows: Link
Know a business we could help?




