Solution
Installation
Navigate to SuiteApp Marketplace and search for ‘Extend Product Protection’
Create an Extend Product Protection Item in NetSuite
Create a singular non-inventory item for sale to represent all product protection plans sold. This will allow scaling of SKU management for new product protection offerings.
Create an Extend Shipping Protection Item in NetSuite
Create a singular non-inventory item for sale to represent all shipping protection plans sold following the same process used to create item for product protection.
API Credentials - Extend Configuration Custom Record
After successfully creating a Sandbox and Production Extend Account, a member of your team should have 2 sets of credentials, Sandbox and Production. In the respective accounts, create new Extend Configuration custom record with the associated information:
- Environment: Sandbox or Production
- API Version: 2022-02-01 or the latest found https://docs.extend.com
- Store ID: found in Extend Account
- API Key: found in Extend Account
- Extend Product Reference ID: The internal ID of the NetSuite item field that contains the Extend catalog reference ID, if left blank default is item Internal ID
- Extend Product Protection Item: ‘Extend Product Protection’ item as configured in prior step
- Extend Shipping Protection Item: ‘Extend Shipping Protection’ item as configured in prior step
This custom record holds sensitive credentials required to access your Extend store and therefore this record is restricted to Administrators only. Use caution in granting access to additional users/roles.
Access to the Extend Configuration record is controlled by the Extend Configuration permission. If developers or other non-Administrator roles need access to this record, it can be added via Setup -> Users -> Roles -> [Edit Role] -> Custom Record -> Extend Configuration.
Set Script Parameters
Script | Parameter |
---|---|
Extend | MR | Upsert Order | Extend Sales Order Search: *SCRIPT USE* Extend | Order Upsert Search |
Extend Configuration: Extend Configuration Record (ex. Sandbox or Production) | |
Extend | MR | Refund Contract | Extend Refund Search: *SCRIPT USE* Extend | Order Refund Search |
Extend Configuration: Extend Configuration Record (ex. Sandbox or Production) |
Extend Field | NetSuite Line Field |
---|---|
N/A | Item (Your pre-configured non-inventory item) |
Title | Description |
Price | Rate |
ID | Extend Plan ID (custcol_ext_plan_id) |
N/A | Extend Associated Item (custcol_ext_associated_item) |
Term | Extend Plan Term Length (custcol_ext_plan_term) |
Representing Protection Plan Sales on Sales Orders
When importing an order including an Extend Product Protection Plan details, including the plan id and covered item, must be stored on the Sales Order in NetSuite. The item on the new Sales Order line will be the pre-configured non-inventory item for sale to represent the protection plan.
Line populated:
Line custom columns:
Creating Extend Product Protection Contracts
When Sales Orders are created in NetSuite the order details will be sent to Extend to communicate the sale. The order information can be sent at time of Sales Order creation or once the Sales Order reaches an approved status. Once the items are shipped the fulfillment status is sent to Extend to initiate the contract for that item. The Extend Orders Upsert API gives the ability to populate detailed information about the order from NetSuite including:
- Customer information
- Name
- Address
- Product information
- Item reference ID
- Purchase Price
- Protection plan information
- Plan ID
- Purchase Price
- Transaction Information
- Date
- ID or Order Number
- Sales Channel
- Shipping Total
- Tax Total
The mapreduce Extend | MR | Upsert Order handles both the creation of the order and updates to order modifications and fulfillment updates on a scheduled basis. The recommended schedule varies based on volume of orders and updates, but at minimum the script should be run once per day. This Map/Reduce script references a saved search “*SCRIPT USE* Extend | Order Upsert Search” as a script parameter. View the criteria:
- Type of Sales Order
- Status of Approved
- Last Modified Date within the last day
The script creates the contracts within Extend and stores the returned contract ID on the line of the original Sales Order. Items on the order that are eligible for a protection plan offer but do not have an associated plan will generate a Lead Token to be used for retargeting with our Post Purchase Upsell Email (PUE) module. The Lead Token is stored on the line level of the NetSuite Sales Order and also within the Extend Merchant Portal. The Map/Reduce script can also be executed on demand via an additional deployment.
Refunding Extend Product Protection Contracts
When an order including an Extend protection plan is canceled, or a customer returns an item associated with an extended warranty or just returns the warranty by itself, you will need to terminate the service contract with Extend.
Once you have completed the return authorization (RMA) following your standard return process and issued a refund to the customer, the service contract is terminated via the Extend Refunds API endpoint. Extend will mark the contract as refunded, and will credit you for the eligible amount (see below for rules) in the next monthly invoice you get from Extend.
The mapreduce Extend | MR | Refund Contract handles the cancellation of these contracts on a scheduled basis. The recommended schedule varies based on volume of refund transactions, but at minimum the script should be run once per day. This Map/Reduce script references a saved search “*SCRIPT USE* Extend | Order Upsert Search” as a script parameter. View the criteria:
- Type of Cash Refund or Credit Memo
- Status of Approved
- Created Date within the last day
Calling the Extend API from NetSuite
Extend’s API requires the inclusion of a storeId and access token called X-Extend-Access-Token. The solution stores this information in the Extend Configuration Custom Record to be passed into every API call to ensure authentication.
In addition, Extend’s API requires calls to be made via https. NetSuite’s N/https module will be used to generate all calls to the API.
Extend API Documentation
Detailed information can be found at Extend’s API Guide page: https://docs.extend.com
Questions? Feedback?
At Extend, customer experience is our North Star, and that goes for both our merchant customers (you!) and your store’s customers as they buy your products and our protection plans. So, we want to do anything we can to make your Extend integration successful and to make your customers’ experiences outstanding.
If you have any questions, please don’t hesitate to reach out to us any time or contact [email protected] for help. And if you have any feedback about our documentation, integration process, or our APIs and SDK, we are all ears!
Updated about 1 year ago