Learn the NetSuite Cloud Account Provisioning and Remote Database Linking Pattern

NetSuite Technical

Tags: , , ,

This article is relevant if you are considering how you can use NetSuite to manage information that is stored in a remote system.

Background

I am often brought into situations where clients have good technology people who have invented interesting proprietary web based database applications but they want experts to help them implement NetSuite.  My team and I are in these conversations all the time.  When we discuss getting applications to work with each other, the most common way people integrate system is synchronize the data.  However, another pattern may be more valuable.

Since NetSuite is a powerful business platform, it can be used to provision accounts, products and services in remote systems.  Here, I illustrate how we have taken NetSuite to provision accounts in our very own proprietary Bitcoin Transaction Coordinator SuiteApp application.  We deliberately avoided any user interface on the administrative side of that application because NetSuite is very good at this task. The key to making this work is to present a business interface in NetSuite that looks completely like all other NetSuite elements.  The idea is to remove the need to synchronize data and present information real time with no risk for duplication or misinterpretation.

Under this pattern, we need to link up NetSuite to the remote system.  If the remote system supports a REST based interface, which is common by today’s integration strategies, you have all you need to drive this solution with minimal need to create custom NetSuite fields and synchronization code.

NetSuite Systems Architecture for Remote System Linking

The pattern, as illustrated in the diagram, is to account for the following:

  1. BeforeLoad:  While your normal NetSuite form, such as a Customer Form, is loading, call out to the Remote System to retrieve the data elements you need.  Dynamically draw the elements on the screen using the NetSuite form and field API.
  2. User Interface: The NetSuite User Interface will work just like it does for all other fields.  In this mode, NetSuite will not really care about the fact that some data came natively from NetSuite’s database and your custom information came from a remote system.  Hence, any data validation or logic can be implemented via NetSuite client side code.
  3. AfterSubmit: When you commit your record, the AfterSubmit will still have reference to your custom field values.  These will not get saved to NetSuite’s database.  But you then have the opportunity to save these values in the remote system.
Typically, at least one value is needed to persist in the NetSuite system; the remote system record ID that corresponds with the record ID of the native NetSuite object.  With this one remote record ID, you can do the following:
  1. With No Remote ID:  You can detect that you are in a New Record mode and present blank field information so the user can create a record in the remote system.
  2. With a Remote ID:  You can detect that you are in an Update Record mode, draw what is presently in the remote system, and push new information as required.  If desired, you can even support a delete event.

Final Consideration

This pattern is very handy.  The one drawback in this architecture that must be considered, however, is that you will not be able to produce reporting in NetSuite with the remote data elements.  As such, the more typical data synchronize pattern is better suited.

Detailed Code Pattern

I can demonstrate actual SuiteScript code behind this pattern if interested.  Let me know what you think by commenting on the article.  As always, if you want to get more out of your NetSuite platform, contact us for a conversation.
Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

Leave a Reply

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