Identifying Items with Missing Expiration Dates in Lot Numbered Inventory – Using NetSuite Script

Description:

Utilizing SuiteScript within NetSuite, we’ve developed a script to locate inventory items lacking expiration dates. Here’s the breakdown:

Script:

let itemSearchObj = search.create({
   type: "item",
   filters:
   [
      ["inventorynumber.expirationdate","isempty",""], 
      "AND", 
      ["islotitem","is","T"], 
      "AND", 
      ["isinactive","is","F"],
   ],
   columns:
   [
      search.createColumn({
         name: "location",
         join: "inventoryNumber",
         label: "Location"
      }),
      search.createColumn({
         name: "inventorynumber",
         join: "inventoryNumber",
         label: "Number"
      }),
      search.createColumn({
         name: "item",
         join: "inventoryNumber",
         label: "Item"
      }),
      search.createColumn({
         name: "expirationdate",
         join: "inventoryNumber",
         label: "Expiration Date"
      }),
      search.createColumn({
         name: "datecreated",
         join: "inventoryNumber",
         label: "Date Created"
      }),
      search.createColumn({
         name: "internalid",
         join: "inventoryNumber",
         label: "Internal ID"
      })
   ]
});


// Executing the search
var searchResultCount = itemSearchObj.runPaged().count;
log.debug("itemSearchObj result count",searchResultCount);


// Iterating through search results
itemSearchObj.run().each(function(result){
   // .run().each has a limit of 4,000 results
   return true;
});

This script creates a search object targeting inventory items. It filters items based on criteria like missing expiration dates, lot numbered status, and active status. After execution, the script logs the count of search results and iterates through them for further processing.

Leave a comment

Your email address will not be published. Required fields are marked *