A client script is deployed to the Sales Order record to validate the item is flagged as an Extend Warranty Item via the validateLine entry point. If the item is warrantable, the client side script should call a suitelet view to present a list of available warranty plans for the entered item.
On validateLine, the script should call the search.lookupFields method on the item record and return the warranty checkbox. This will allow the user to add Extend protection to different line items of the Sales Order. There is also an option to use the “Add Protection Plan” button, although this is used solely for Sales Orders with 1 warrantable item.
If the item is a warranty item, the client script should call the offer presentation suitelet passing the item internalid, as well as, the value you are using as the items referendId in Extend.
The suitelet will call the API to get all relevant plans per item. The response will return an array of available plans that a user can select from. The suitelet will then iterate through these plans, creating a list view form with the following fields:
- Checkbox to select a line
- Plan ID (hidden)
- Plan Price
- Plan Term
- Plan Title
- Submit Button
When a user selects a plan from the suitelet and hits the submit button, the suitelet should then post the desired information back to the line level. At a minimum, you should be posting the below:
|Extend Field||NetSuite Line Field|
|N/A||Item (Your pre-configured non-inventory item)|
|ID||Extend Plan ID (custcol_ext_plan_id)|
|N/A||Extend Plan Item (custcol_ext_plan_item)|
Users should only be able to select one plan at a time. There will need to be a client script appended to the suitelet to mitigate users selecting multiple warranties.
User selects line with desired plan:
The item on the new Sales Order line will be the singular, pre-configured non-inventory item for sale to represent the warranty.
Line populated with selection:
Updated about 1 month ago