Here is an overview of the Graphite Connect integration works with NetSuite.
Graphite Connect / NetSuite synchronization
Data is synchronized between Graphite Connect and NetSuite via a NetSuite bundle. The bundle must be installed and configured on your NetSuite instance by your NetSuite administrator, and then data for connected companies on Graphite Connect will be synchronized into your NetSuite instance.
The bundle is configurable to allow each customer to control how data is synchronized between Graphite Connect and NetSuite. The bundle supports NetSuite customizations. Additionally, since the NetSuite bundle is developed internally, the bundle can be updated to support new record types or data if required.
Data synchronization
Any data stored in Graphite Connect can be synchronized into several different NetSuite record types. Generally, most company data is stored in the vendor record but other data may be synchronized to additional record types associated with the company's vendor record. Additional record types supported are:
- Contact records: Primarily hold email, name and phone numbers for sales, payment, ordering, and other contacts. All are associated back with the parent vendor record for easy reference.
- Address sub-records on the vendor record: These hold address data - the bundle can be configured to synchronize payment, ordering and/or all addresses associated with the company. Examples of additional addresses might include headquarters, sales locations, warehouses, etc.
- Banking records: Banking information is stored in Electronic Bank Payment (EBP) records. In order to synchronize banking information, Graphite Connect requires that the EBP bundle be installed so the appropriate custom record types are available in the NetSuite instance.
- US tax forms (files): W8s and W9s can be transferred to the NetSuite file cabinet and then associated with the appropriate vendor record.
Data for each record type is configured through data mapping records created in NetSuite. By using records to control synchronization in the bundle, administrators can quickly add new data to synchronize from Graphite Connect and control which data is synchronized from Graphite Connect into NetSuite.
Controlling which connections synchronize in Graphite Connect
Data specific to your NetSuite implementation (categories, subsidiaries, payment terms, etc.) is displayed in Graphite Connect as a section for each connected company. Using this data, Graphite Connect users can provide NetSuite-specific data and control if the company is synchronized. Users can also specify that Graphite Connect data should be synchronized into existing records by providing a NetSuite vendor record ID; or, if the record ID is left blank and synchronization is turned on, a new vendor record (and associated records) will be created.
Data mapping
As part of the Graphite Connect/Netsuite integration, some effort will be required to define the data mapping between Graphite Connect and your NetSuite instance. Depending on the number of data points you want to synchronize, and the complexity of your data, this can usually be finished in a week.
For each data point, a record is created that specifies which NetSuite record type and field the data should go into, which Graphite Connect question contains the data, and, if necessary, how to translate the data from a Graphite Connect format into a supported NetSuite format (e.g. "USD" in Graphite Connect into the internal ID for "USD" in your NetSuite instance).
Generally, this mapping development is done against a test instance of Graphite Connect against a sandbox NetSuite instance. For the quickest possible development time, granting the Graphite Connect team sandbox access has dramatically cut down implementation time with other customers.
Synchronization deployment and scheduling
The core of the Graphite Connect bundle is a scheduled script that loads the mapping records and then makes REST API calls to Graphite Connect to fetch company data. Company data is fetched securely over HTTPS, and API access requires a secure Graphite Connect API token provided to your NetSuite administrator by the Graphite Connect operational team.
After installing the bundle, the NetSuite administrator will need to confirm the mapping record(s) are set properly and create a master setting record that contains the Graphite Connect API key, URL, and other configuration options that control how data is synchronized.
After installation and configuration is set, a scheduled script deployment is created to run the synchronization on whatever schedule works for your organization. Most customers have the script run every 15 minutes.
General implementation schedule
The general approach has been to:
- Install the Graphite Connect bundle on sandbox.
- Develop mapping data.
- Test synchronization between sandbox and graphite test environment.
- Create a bundle on sandbox for production, which includes the "core" bundle plus all the mapping record(s) created on sandbox.
- Deploy the sandbox bundle on production and configure.
- Test production bundle.