Tutorial: On-Demand Items for NetSuite

Tutorial: On-Demand Items for NetSuite

On-Demand Items, if enabled, allows you to pull in the sever-side data, that is not stored locally, into SuitePOS. This significantly reduces bottlenecks (and times) during item syncs because not all of the items are required.  

This is primarily used for retailers that have a lot of items (20k +) where the sync's are intolerable and most items are barcoded (manual selection may prove too slow). 

STEP 1: Enable On-Demand Items

NetSuite POS Settings:

STEP 2: Fine Tune Saved Searches

Either the default Item Saved Search (or the store level Item Saved Search - release 4.1.0+) can be modified to reduce items sync'd.

POS Settings - Saved Searches:


Minimum Requirements
At a minimum certain items thats are referenced in POS Settings will need to be brought in. These include (depending on what is enabled):
  • Tip Item
  • Surcharge Item
  • Always Available for Returns
  • In addition, items that do not have barcodes (eg. gift cards) may be added
  • Popular items should be considered
  • If you are using Dynamic Options, all option items must be included in the Item Saved Search

Furthermore, when referencing these items it is always better (and faster) to hardcode the Item internalId (or any field that is indexed). 

Barcoded Items

When a barcode is scanned, the system first looks locally for the item and if it cannot find it it will try to retrieve it (automatically) from NetSuite and add it to the cart. Subsequent retrievals will then use the local data.

If there are duplicate NetSuite-side barcodes (which should not be the case and needs to be corrected), the clerk gets to pick which one they need. 
SEARCH FIELDS
For speed, only the following fields are exactly matched when searching NetSuite:
  • Item Name/Code
  • Display Name
  • UPC
  • Additional Codes 1 thru 3
"Vendor Name/Code" is not matched because it seems it is not indexed by NetSuite and will significantly hinder performance. 

Manually Selected On-Demand Items

Items can be searched by manually typing in the letters. This will auto-reduce the item data locally.  If Items are not found, you can do a generic server-side search by hitting the magnifying glass. 



Very Large Item Counts

NetSuite-side manual searches can take up to 20 seconds if your item counts are above 500k. As such, it is best to not do this and instead use barcodes on all your items.
When an on-demand item is pulled in, for efficiency it does not allocate it to the associated menu category (if applicable); instead a manual search is performed.

Considerations

While on-demand searching is very useful for reducing sync times there are some things that need to be considered and balances.

No Internet or NetSuite Down

You will not be able to search on-demand items. 

For this reason, you should consider including popular items in your Item Saved Search and/or possibly including a "generic" placeholder item that you can change the price of should the item you are looking for cannot be retrieved. You can even copy a POS Settings record and and use that on one or two designated terminals at a specific store. This will contain a larger item search (or on-demand disabled) for emergency use.

Retrieval Times

Item retrieval times will highly depend on your server package with NetSuite. Most timings we have seen for direct retrieval are two seconds or less even with up to 2M items.

Search Limits

For performance, we have limited the response results to 300 items.

Syncs
Daily or manual full/diff syncs will clear out on-demand items stored locally. This is to avoid creating orphan items that are not picked up during the sync (due to the criteria being limited)