One of the beauties of a platform like NetSuite is the ability to install predeveloped bundles to handle specific business needs directly into an existing instance without the need for a large amount of additional customization. However, often times these bundles can be a bit limiting and leave the client at the mercy of how the bundle was developed. This is because the underlying code, workflows, form customizations, etc. that are included in the bundle tend to be locked and prevent the client from making any alterations.
I recently came across this exact situation with a client hoping to implement the Warranty and Repairs bundle to its fully capacity. This client manufactures product and needed a clean and effective way of monitoring warranty periods by item, tracking failure reasons for defective items, and ultimately the processing of the returned product. At face value, the bundle accomplished just what they were looking for.
NetSuite Warranty Preferences
I want to summarize how the Warranty and Repairs bundle works and a key setback that was uncovered along the way. To begin with, l will briefly review the settings/preferences that need to be established upon installation of the bundle. First, see the ‘Warranty Preferences’ below:
These primary preferences define when the Warranty Registrations are generated, how the dates are calculated, and if the system should allow the shipment of a replacement item in advance of receiving the damaged good. The additional initial setup has to do with defining warranty terms and failure reasons – see examples below:
Next, let’s take a look at the settings on the Item Record. Below you will see a screenshot of settings that are added to the Assembly Item record on the ‘Warranty Information’ tab as part of the bundle:
Without getting too much into the specifics, the ‘Repaired Item’ is used for items under warranty that need to be repaired. A Work Order will ultimately be generated for the ‘Repaired Item’, which includes the original item as a component, and that will be the item that is sent back to the customer. If this was an Inventory Item, we would only need to designate the Warranty Terms and not include a ‘Repaired Item’.
So now that the setup has been covered, let’s run through how Warranty Registrations are generated and processed. When an item that has the ‘Track Warranty’ checkbox selected on the item record is included on an invoice (or sales order depending on the setup), a Warranty Registration record is generated. See below for a blank registration record:
All of this data gets populated based on the item setup and customer information brought over from the corresponding invoice. This step brings me to one key deficiency of this bundle: one Warranty Registration record is generated for each serial number. If a quantity greater than one of any serialized item that needs to track warranties is on an invoice, there will be multiple Warranty Registrations created for that SKU – one per serial number. This may seem logical but in practice it makes things much more difficult and time consuming. If an item under warranty needs to be returned and processed, a Warranty Claim needs to created for that item. You generate the Warranty Claim directly from the Warranty Registration record.
The Warranty Claim form leverages the native NetSuite Support case form which is why I have not included a screenshot here. There are additional fields included on the form which can be seen below. The first is Failure Reason which is strictly referential and used for reporting purposes, and the second is Action which determines how the subsequent steps in the process play out. The options in the Action field are Return, Replace, and Repair.
If Return is selected, the corresponding RMA that is generated from the Warranty Claim follows the vanilla NetSuite RMA process. If Replace is selected, the RMA triggers a subsequent $0 sales order for the item in question. If Repair is selected, the RMA triggers a subsequent $0 sales order and work order for the Repaired Item (see explanation above). Fulfillment of the latter two selections follow the vanilla process. The kicker in all of this though is that processing Warranty Claims and RMAs is on a per serial number basis. What happens if the client sold 100 serial numbers of a given item and they all had the same defective part? There cannot be the expectation that user is going to manually create 100 Warranty Claims and 100 RMAs for each serial number. Unfortunately, there is not really even a workaround for this in the bundle. We ended up having to use the generated Warranty Registration records referentially as a means of determining whether or not an item is under warranty and then building a complementary workflow on top of the bundle. The workflow essentially followed the same steps with RMA/SO flow outlined above but allowed for the processing of more than one serial number on a single transaction. So, to summarize, if your company deals with serialized inventory and needs to potentially handle large quantities of a given item, this bundle may not be the one for you.
If you need additional NetSuite support, please schedule a free consultation.