Finally! — NetSuite to NetSuite Integration
This article is relevant if you’re seeking to integrate one instance of NetSuite with another instance of NetSuite to produce Entities, Items, and/or Transactions.
It’s kind of “a thing” when you’re a company using NetSuite and you notice one of your Customers or Vendors using NetSuite as well. A fleeting moment of “Hey, check it out, they use NetSuite too!” happens…..ahhhh, the corporate camaraderie warms the heart.
As we started helping more companies exclusively with NetSuite, we noticed more and more NetSuite companies doing business with one other.
We thought about how cool it would be to have a NetSuite to NetSuite integration among our peers, vendors and customers, but we never realized that idea…until now.
It’s NetSuite-to-NetSuite integration time!
The Use Case
We kept it simple, when an Invoice is produced by a Vendor, transmit the information to create a Vendor Bill on the Customer side. Unless I’m missing something, an Invoice results in a Vendor Bill somewhere out there. Seemed like a great place to start.
The stage is set, when our Vendor produced an Invoice for services to us, we enable them transmit the Invoices to us via this process and automatically process the inbound Invoice as a Vendor Bill (Pending Approval of course).
How did we do it?
Invoice Response Record — We made a Custom record so we could have some flexibility and options of how we wanted to present the information and run analysis on the financial data within it before we transform the payload. For example, we pull the key header information out of the payload and run it against Purchase Order values and other cross validation routines. We discuss some of these alternative handling routines and what these records do in a different context within this article.
For our NetSuite to NetSuite integration use case, we simply take the Invoice data to constitute an autonomous Vendor Bill.
Authentication (This one is good)
Token based Authentication through Vendor Center
One of the coolest things we accomplished with this was a configuration that leverages the Vendor Center and native authentication to support the ability to create the Vendor Bill records.
We added a permission to a native Vendor Center role to allow for “Login Using Access Tokens”
This allowed for the Vendor to login to the Customer account via the Vendor Center using tokens.
Once you’ve established the connection, then the integration can start to perform the work for you.
My hat is off to our team for thinking about this method to authenticate between NetSuite systems. This kept it nice and native, like we strive to do whenever it is possible.
The Scripts and Workflows
Map Reduce — Vendor Side — This script simply transmits the Invoice data to their respective Customer destinations. This is Saved Search driven that you define the criteria and apply it to the M/R as a parameter. This pushes the payload to the Customer account.
Map Reduce — Customer Side — This script picks up the transmitted data and creates the Invoice Response records for handling (mentioned above)
Now, on a periodic basis, any time an Invoice is produced from our Vendor, we setup a workflow to send a notification when an Invoice Response record has been created within our own account. Due to our comfort with this Vendor, we allow for it to create a Vendor Bill that we can review and approve. This is done with a native workflow using a Workflow Action Script that transforms the Invoice Response record to a Vendor Bill.
We kept the native default expense account setting for the Vendor, and we drove the lines on the Invoice into expense lines on the Vendor Bill. Of course if you had item alignment, you could use items or configure a placeholder item to act vs. the expense lines.
Who would this serve best?
My colleagues and I thought that the biggest beneficiary of this type of integration would be NetSuite themselves. They ultimately are the one Vendor with the most NetSuite Customers out in the universe. Technically they could just push Invoices to all Customers and auto-constitute a Vendor Bill within peoples accounts (with permission of course).
We also see this being a great method to deploy for anyone working with NetSuite Customers on a services level. We see several of our Customers posting Bills as a single line to a specific G/L account, this would be a great solution for this type of transaction trade between Vendor and Customer.
There are great opportunities to leverage this between anyone using drop ship item vendors, as the ability to see or sync Item data, gather fulfillment data and update your own system with fulfillment information direct from the shippers NetSuite system would be really powerful stuff.
Season of Bundle Joy
We’re happy to offer this bundle to anyone interested in using it within the NetSuite community. We’re certain we can help achieve any integration ambitions you may have, and if this bundle can serve your business well, then drop us a line and we can discuss how putting it to work for both you and your trade partners running NetSuite can improve both of your businesses.
Note: this article originally appeared on the eXtendTech blog