This article is relevant if you are seeking to generate actionable, logic backed NetSuite URLs that can easily be expressed as barcodes or links in emails and web pages.
Background
During a recent NetSuite manufacturing implementation for an FDA compliant organization, the challenge (or really, opportunity) in front our team was to break the implementation into two major phases:
- Phase I – Distribution: bring forth the practices to move and sell finished goods
- Phase II – Manufacturing: use standards to consume raw materials into work in progress ultimately through a bill or materials to finished goods
In our Phase I implementation, the idea that finished goods would be made to stock (or by order) and then shipped from multiple warehouses is simply one of NetSuite’s fundamental strengths. Even though this is a software strength, helping our client adopt new selling and fulfillment practices requires careful planning and configuration. However, what is subject to even more demanding consideration is the ways to bring forth finished goods when the manufacturing application will be subsequently activated in Phase II.
During the activation of Phase I, we needed to create a scalable framework to allow for the constitution of finished goods on the manufacturing floor and leverage the use of mobile devices to assist in the rapid creation of work order based assembly records, inventory movements between various location and bins, the separating of a batch of finished goods products into sampling work and finally the movement of a portion of the inventory to a long-term “retains” location. Once all that is done, we needed to get the approved inventory into the warehouse where it would sit for traditional pick, pack ship operations.
The Use of Barcodes to Drive NetSuite Record Generation
Barcoding is commonly understood to help with the automation of work with physical objects. Most barcoding employed in information systems is for part number or serial number lookup — the barcode represents the information key that might be cumbersome and error-prone to work with during data entry. However, with the advent of the Quick Response (QR) two dimensional (2D) based barcode, the amount of information contained within the barcode is much greater. A common technique is to represent a URL or hyperlink as a 2D QR barcode.
With the barcode in mind, NetSuite’s SuiteLet technology is driven by hyperlinks. NetSuite SuiteLet technology is an integration entry point into the NetSuite business platform and thus can be used to create logic which can include record generation. With URLs as barcodes, we can use mobile phones and tablets to scan a barcode and automatically launch a small device web browser to drive NetSuite custom logic.
Thus, for our client that needed to quickly work with finished goods coming off their manufacturing line, the idea is to use low-cost mobile phones or tablets on the shop floor with the built-in web browser to accelerate NetSuite record generation.
The Challenge in SuiteLet URL Generation
The conventional wisdom for a NetSuite software developer is to say “Okay, no problem. I can create a series of NetSuite Suitelets that will represent all the different record operations needed on the shop floor. Each SuiteLet will have its own URL that I can represent as a barcode for our mobile device”.
This conventional wisdom holds true. But it begs a handful of other concerns that are going to need to be addressed:
- Parameters: how will information parameters be expressed to qualify each logic point and business record acted upon?
- Repeat Use: how will you manage if a URL is to be used one time, or a limited number of times?
- Expiration: what will you do if you need to expire a URL that is currently in printed form in the real world?
- Information Gathering: what will you do when you need to ask the user for extra information when calling the URL?
- Validation: how will you validate information collected and warn users when there are issues?
- Authentication: what if you want some URLs to be authenticated whereas others to used anonymously?
- Presentation: how are you going to work with others to quickly publish this information into a set of barcodes?
- Logging: how are you going to log the URL requests and record the response so you can assess usage?
- Diagnostics: what ways are you going to debug programming logic as URLs are being called?
These concerns can be overcome, but if you have more than a dozen distinct logic requirements, it begs to have an intentional approach.
Introducing the Record Action Framework
As I contemplated the challenge in front of our team, it became clear that we needed to attack the problem by considering the creation of a framework. I worked with one of our senior consultants, Elie C., to build a solution. The thought process and thus architecture to solve this leveraged these ideas:
- SuiteLet Entry Point: A SuiteLet is a gateway to logic — yet the business logic does not need to be closely bound to the gateway — and thus standards can emerge for a wide array of logic invented today and for others not yet contemplated tomorrow.
- Record Driven Logic Management: using records to hold logic profiles, we could describe the logic needed; thus our SuiteLet would be governed by the data on the profile record and it would be easier for the systems analyst to shape and understand.
- Plugin Logic: with NetSuite plugin technology, we could produce a well-defined contract to represent the entry point into our business logic. The business logic can then be defined as conventional SuiteScript 2.0 modules that are self-contained and may be used under multiple contexts — thus our logic would not be tightly bound to the SuiteLet and it would express the supporting services needed.
- URL Generation: with the profile records and surrounding frameworks, we could create a publishing function that allows for URL discovery. The discovery of the URL would provide the hyperlink but it could also supply information about the logic with extra metadata, such as a human-readable description of what the logic does.
- Publishing Function: We ultimately needed a way to publish a set of barcodes to be either printed in physical label form or to be put into email messages or other web pages. With our Content Renderer Engine, we had just the tool to supercharge the creation of HTML and PDF outputs — thus it would be very simple for the author of the content to not have to know all the URL nuances and simply retrieve the needed information to display as a barcode.
Rapid Mobile Driven NetSuite Logic
Once we had the framework in place, the process now to rapidly generate action-oriented barcodes was at hand. We could now focus on the business challenge with our clients where they sought automation from the tedious record management and offer up a complete logic story of how their goods would move between quality control locations and inventory storage processes. As new logic is needed, the constitution process becomes very rapid because the mechanics between automation and the ultimate URL behavior and publishing were well defined and standardized.
Use URLs / Hyperlinks to Drive NetSuite Business Action
Barcodes are not the only way to work with the framework. Since URLs and hyperlinks are a standard method to make requests over the web, we can now easily use the framework to send email messages or display web pages that have “ready to go” link based action driving the work closer to real actor and closing up any latency that may be in NetSuite record management. Because URLs may be authenticated or non-authenticated, we have a choice on their environmental context. We also have full control over if a URL is clicked many times when we want the link to be valid once or only a certain number of times.
Get the Record Action Framework
Like all the things we do with our clients, we give this framework to our clients without a license charge. We believe the NetSuite business platform is designed to be shaped to help increase revenue production and lower operating costs thus resulting in more profit. Our specialty is to hold high standards among our professionals to possess the capacity to listen to NetSuite related business concerns, conceive solutions, and produce outcomes that our clients tell us are elegant and uncommon.
If you found this article valuable, feel free to receive notifications of future articles. If you have a challenging NetSuite business puzzle that can leverage URLs and barcoding, let’s have a conversation.