This article is relevant if you need to have your NetSuite transactions present a limited list of items for selection.
Background
Many NetSuite transactions require a reference to an item list. Often described as the product detail, the list of items presents the references to objects or services that are typically available for purchase or sale. There are situations where we want to limit the items that can be selected for reference in our transaction processing. These limitations can help shape the business logic and user experience to prevent mistakes.
Use Transaction Form Item Sublist References
NetSuite offers the SuiteBuilder framework to produce point-and-click form customization. Form customization is a fundamental method to modify the user experience. The following forms offer a method to select a previously defined Saved Search which can be used to filter (narrow or make less available) the item sublist.
- Opportunity
- Estimate
- Sales Order
- Invoice
- Cash Sale
- Credit Memo
- Purchase Order
- Vendor Bill
- Vendor Bill Credit
- Return Authorization
- Vendor Return Authorization
Click the image to clarify where the item sublist is defined.
Transaction Form Item Filter Sublist Challenges
The technology to reference an item filter sublist is handy. But there are situations where you need to remember its limitations:
- Data Import or Integration: when performing a CSV data import or referencing a business record that has a form definition with the item filter, the system limits the information that can be referenced. This can often trip up administrators or developers in their enhancement efforts.
- Dynamic Information: the item filter sublist references can only use static filtering criteria. For example, you can not pass the current customer reference in the form to the item filter so that you can further narrow the items presented. Ideally, there would be a way to dynamically pass information to the item filter so that a more robust experience can be defined.
- Multiple Forms: the use of the item filters is good — but if you have many different filtering situations, you may need to create many different form definitions. I like to call this “Form Hell” because if you need to modify an aspect of a form, you may need to do this on every other defined form. It’s easy to get inconsistent definitions leading to possible business logic issues and a less than ideal user experience.
Remember NetSuite Point-and-Click
Many articles I present describe how to use NetSuite’s customization system to use logic to address requirements and enhance logic. Yet, let’s not forget that SuiteBuilder extends the reach of customization possibilities through point-and-click; we can exercise care to design better user experiences which thus helps promote larger user adoption.
If you found this article relevant, feel free to sign up for notifications to new articles as I post them. If you seek expert NetSuite guidance, let’s have a conversation.
I’m getting ready to step into form hell. But I desperately wonder if there’s a way to modify the item filter (with suitescript?) or if you are aware of an enhancement request to provide a more dynamic filtering experience? Since going migrating from SFDC, my largest Sales team complaint has been the lack of robust “product/price books”. This COULD be achieved with Form Hell, but with a product as marvelous as NetSuite I hope that dynamic form saved search switching is achievable somehow?
Hi Adam,
We have not solved that challenge. However, we have, at times, taken NetSuite pricing into our own hands which change the way to think about pricing and price books:
https://blog.prolecto.com/2019/02/16/get-unified-netsuite-vendor-and-customer-discount-price-schedules/
https://blog.prolecto.com/2017/09/03/overcoming-netsuite-discount-items-in-absolute-terms/
https://blog.prolecto.com/2016/02/06/drive-custom-netsuite-based-multi-sales-discount-programs/
Finally, we are exploring our own “item machines” as we are really getting good at powerful UIs that are very fast:
https://blog.prolecto.com/2022/06/11/take-control-watch-how-netsuite-can-be-amazingly-high-performance/
Marty