#1-ranked iPaaS on G2 among 236 competing solutions

Statement of Work

This Statement of Work (“SOW”) describes the professional services (the “Professional Services”) to be performed by Celigo Inc. (“Celigo”) for the customer (“Client”) identified on an order, proposal or quotation linked to or referencing these terms (each an “Ordering Document”) pursuant to the Celigo Service Subscription Agreement (“Agreement”), available at https://www.celigo.com/agreements/ssa-ns and into which this SOW is incorporated.

Salesforce – NetSuite Integration App (IO) Scope

The tables below outline the standard out-of-box functionality for Salesforce – NetSuite Integration App (IO Version), in addition to the currently known unsupported functionality and available add-ons.

COMPATIBILITY

System Compatibility Supported Not Supported
Editions/Versions
NetSuite NetSuite CRM
NetSuite CRM+
NetSuite
NetSuite OneWorld
NetSuite JCurve accounts w/o SuiteScript feature enabled. JCurve can enable SuiteScript feature to allow bundle(s) to be installed.
Salesforce Salesforce Professional Edition and above
(Compatible with Professional, Enterprise, Unlimited and Developer)
Salesforce Essential Edition

EDITIONS

Integration Flow Standard Premium
Sync Accounts from Salesforce to NetSuite
Sync Customers from NetSuite to Salesforce
Sync Contacts from Salesforce to NetSuite
Sync Contacts from NetSuite to Salesforce
Sync Items from NetSuite to Salesforce (excludes Item Groups)
Sync Opportunities from Salesforce as Sales Orders to NetSuite
Sync Sales Orders from NetSuite to Salesforce
Sync Sales Order Status from NetSuite to Salesforce
Sync Sales Orders from NetSuite as Opportunities to Salesforce
Sync Financials from NetSuite to Salesforce
NetSuite OneWorld Support
Sync EchoSign and DocuSign Agreements from Salesforce to NetSuite
Team Selling Support
Sync Item Groups from NetSuite to Salesforce
Sync Products from Salesforce to NetSuite (excludes Item Groups)
Sync Exchange Rates from NetSuite to Salesforce
Sync Item Fulfillments from NetSuite to Salesforce
Sync Orders from Salesforce to NetSuite
Sync Contract to Contract from NetSuite to Salesforce*
Sync Opportunity to Opportunity from NetSuite to Salesforce*

*These flows are available on installing Contract Renewal Add-On which is separately priced.

Salesforce – NetSuite Integration App “Standard” Edition

This section outlines the functionality of the Standard Edition.

Integration Flows SUPPORTED NOT SUPPORTED

SYNC ACCOUNTS & CUSTOMERS

Bi-Directional

Salesforce to NetSuite

By default, the customer flow syncs accounts from Salesforce as customers in NetSuite once an Opportunity is pushed to NetSuite as a Sales Order. Once the Salesforce Account is in sync with a NetSuite Customer, further updates on the Account will sync automatically to NetSuite Customer. The flow can also be configured to sync accounts from Salesforce to customers in NetSuite when a Salesforce account is created or updated.

The flow supports parent/child relationships by exporting parent accounts to NetSuite customers first and then creating the hierarchy within the NetSuite customer records. Up to 3 parent levels are supported.

NetSuite to Salesforce

The Integration App will export customers from NetSuite to Salesforce when a customer is created or updated in NetSuite.

SYNC CONTACTS

Bi-Directional

Salesforce to NetSuite

The contact flow syncs contacts from Salesforce to contacts in NetSuite once an Opportunity is pushed to NetSuite as Sales Order. Once the Salesforce Account associated with the Salesforce contacts is in sync with a NetSuite Customer, any further updates on the related contacts or any new contacts added are automatically synced to NetSuite.

NetSuite to Salesforce

The Integration App will export contacts from NetSuite to Salesforce when a contact is created or updated and associate the contact(s) to the Account.

Accounts with a count of 40+ contacts may require customization to avoid timeouts by NetSuite.

Filtering contacts based on the contact role

SYNC ITEMS TO PRODUCTS

NetSuite to Salesforce

The item export flow exports items from NetSuite to products in Salesforce when a new item is created in NetSuite, or an existing item is updated in NetSuite. This is a batch flow.

Supported item types in NetSuite include:

  • Non – Inventory Item
  • Service Item
  • Kit Item
  • Inventory Item (including Serialized & Lot)
  • Assembly Items (including Serialized & Lot)
  • Serialized Inventory Item
  • Other Charge Item

Price levels in NetSuite are exported as price book entries in Salesforce. Multi-currency pricing can be exported as a combination of price-level and currency to a single Salesforce price book entry, but with a currency entry into that price book entry. Requires multi-currency to be enabled in Salesforce and NetSuite.

Item Types

Item types not explicitly listed in the description to the left are not supported.

Item Groups are only supported in the Premium Edition.

Salesforce to NetSuite reverse flow is supported only in the Premium Edition.

SYNC OPPORTUNITY TO SALES ORDER

Salesforce to NetSuite

The opportunity flow syncs Salesforce opportunities, with notes, enhanced notes, files and attachments, to NetSuite sales orders. Once the sales order is created in NetSuite, this record will be replicated back into Salesforce as an order that is attached to the account and opportunity records. The Integration App syncs the transaction header and lines. Opportunity line item prices will be synced to the sales order.

Multiple currencies are supported as long as multi-currency is enabled in both Salesforce and NetSuite.

The sync is triggered automatically as soon as the Opportunity is in a Closed Won stage and can be customized to trigger on any standard/custom field on the Opportunity record or a combination of fields.

Customer Import

Prior to creating a sales order in NetSuite, the Integration App will check if a customer already exists in NetSuite for this Salesforce account; if one does not exist, a new customer will be created.

File attachments must adhere to NetSuite’s restrictions on file types and sizes.

The Opportunity cannot be synced to Netsuite with only a description item; it must have a dollar value.

EchoSign and DocuSign are only supported in the Premium Edition.

Team selling is supported in Premium Edition.

Item Groups are only supported in the Premium Edition.

SYNC SALES ORDER TO ORDER

NetSuite to Salesforce

The flow syncs a NetSuite Sales Order to a Salesforce order.

The Integration App syncs both Salesforce originating sales orders and NetSuite originating sales orders to Salesforce.

The flow can be customized to trigger on any standard/custom field on the record or a combination of fields.

The Integration App syncs the transaction header and lines.

Account Import

Prior to creating an order in Salesforce corresponding to NetSuite originating sales order, the Integration App will check if the account already exists in Salesforce for this NetSuite customer; if one does not exist, a new account will be created.

Notes, enhanced notes, files and attachments attached to the Sales Order are not synced.

Item Groups are only supported in the Premium Edition.

SYNC SALES ORDER STATUS TO ORDER STATUS

NetSuite to Salesforce

The flow syncs updates on NetSuite Sales Order status to a Salesforce Order status.

It assumes that NetSuite Sales Order is synced as a Salesforce Order.

This is a batch flow to sync status updates on a Sales Order due to other transactions in NetSuite such as billing and fulfilment.

SYNC SALES ORDER TO OPPORTUNITY

NetSuite to Salesforce

The flow syncs a NetSuite Sales Order to a Salesforce opportunity. The Integration App syncs the transaction header and lines.

The flow can be customized to trigger on any standard/custom field on the record or a combination of fields.

Account Import

Prior to creating an order in Salesforce corresponding to NetSuite originating sales order, the Integration App will check if the account already exists in Salesforce for this NetSuite customer; if one does not exist, a new account will be created.

Notes, enhanced notes, files and attachments attached to the Sales Order are not synced.

Item Groups are only supported in the Premium Edition.

SYNC FINANCIALS

NetSuite to Salesforce

The financials export flow provides back-office visibility to Salesforce. The flow brings updates from NetSuite to Salesforce as a sales order moves through fulfillment and billing in NetSuite.

The following NetSuite transactions are exported to Salesforce:

  • NetSuite Invoice
  • NetSuite Customer Payment
  • NetSuite Customer Deposit
  • NetSuite Credit Memo
  • NetSuite Customer Refund
  • NetSuite Cash Sale
  • NetSuite Cash Refund

The Integration App can sync the PDFs for the following transactions on NetSuite to Salesforce.

  • NetSuite Invoice
  • NetSuite Customer Payment
  • NetSuite Customer Deposit
  • NetSuite Credit Memo
  • NetSuite Cash Sale
  • NetSuite Cash Refund

Additionally, the Integration App will sync the following customer financial information from the NetSuite customer to Salesforce account, on a batch basis:

  • Credit limit
  • Hold
  • Balance
  • Overdue balance
  • Days overdue
  • Unbilled orders

Only header level data is exported from NetSuite to the Salesforce financial object. Line level data is included in the PDFs.

Line level data is not synced.

PDFs for Customer Refund transactions are not supported.

ONEWORLD SUPPORT

When syncing transactions from Salesforce to NetSuite, the Integration App will associate a NetSuite subsidiary with the transaction. The flow may be configured as follows:

  • Hard code one subsidiary for all transactions, or
  • Designate a Salesforce field/record to signify subsidiary and map the subsidiaries between Salesforce and NetSuite using this field/record

NetSuite OneWorld must be enabled.

Salesforce – NetSuite Integration App “Premium” Edition

This section outlines the functionality of the Premium Edition (in addition to all the functionality available in Standard Edition).

SYNC ECHOSIGN & DOCUSIGN AGREEMENTS

Salesforce to NetSuite

If EchoSign or DocuSign is enabled in Salesforce, when an opportunity is synced to NetSuite, the EchoSign/DocuSign files and attachments will be synced. The Integration App can be configured such that only certain EchoSign/DocuSign document status(es) will be synced.
TEAM SELLING SUPPORT

The integration application will sync the opportunity team and split information on a Salesforce opportunity through the Salesforce Opportunity to NetSuite Sales Order flow.

Updates on the sales team will be synced through NetSuite Sales Order to Sales Opportunity flow.

Team selling feature must be in Salesforce and NetSuite.

Employees in the opportunity teams must be in sync.

SYNC PRODUCT TO ITEM

Salesforce to NetSuite

This flow exports products from Salesforce and syncs to items in NetSuite when a new product is created in Salesforce, or an existing item is updated in Salesforce. This is a batch flow.

Supported item types in NetSuite include:

  • Non – Inventory Item
  • Service Item
  • Inventory Item (including Serialized & Lot)

Pricebook entries in Salesforce are exported as price level entries in NetSuite. Multi-currency pricing is supported.

The user has to select one of the applications as product master and one of the applications as price master. The following use cases are supported:

  • NetSuite is both product master and price master
  • Salesforce is both product master and price master
  • NetSuite is product master and Salesforce is price master
  • Salesforce is product master and NetSuite is price master
  • Salesforce is the price master, there is no product master
  • NetSuite is the price master, there is no product master

Item Types

Item types not explicitly listed in the description to the left are not supported.

Item Groups are not supported.

The user cannot sync price information bidirectionally.

SYNC ITEM GROUPS

NetSuite to Salesforce

The Item Groups in NetSuite are synced from NetSuite as a single Product in Salesforce (not the member items) and the total sum of the member items price as the price on the Salesforce Product.

SYNC EXCHANGE RATES

NetSuite to Salesforce

This flow syncs exchange rate information from NetSuite to Salesforce. It is a batch flow from NetSuite to Salesforce and can be scheduled to run on a schedule or on-demand.

SYNC ITEM FULFILLMENT TO ITEM FULFILLMENT and ASSET

NetSuite to Salesforce

When a NetSuite sales order is fulfilled, the NetSuite fulfillment record will be synced to a Salesforce custom fulfillment sObject in real time along with the item fulfillment lines. If that NetSuite fulfillment uses NetSuite’s serialized inventory feature, each serialized inventory line item in this NetSuite Fulfilment record also gets created as a Salesforce Asset and will be referenced by the Salesforce Item fulfillment.

SYNC ORDER TO SALES ORDER

Salesforce to NetSuite

This flow syncs a Salesforce Order as a NetSuite Sales Order in real time. The Integration App syncs the transaction header and lines from Salesforce to NetSuite.

The flow is triggered automatically and can be customized to trigger on any standard/custom/reference fields on the Order record or a combination of fields.

Customer Import

Prior to creating a sales order in NetSuite, the Integration App will check if the customer already exists in NetSuite for this Salesforce account; if one does not exist, a new customer will be created.

Files attached to the Order are not synced.

Additional Salesforce instance

This section outlines support for connecting additional Salesforce instances to the same NetSuite instance.

SUPPORTED NOT SUPPORTED
Multiple Salesforce instances to 1 NetSuite instance

Standard and Premium editions

Each Salesforce instance requires an individual integration tile and add-on.

Only one Salesforce instance can be installed per integration application. The NetSuite instance is the same across all integration applications.

For all records except product, a record in NetSuite must be related to only one record across Salesforce instances i.e. there should be a 1:1 relationship between Salesforce and NetSuite.
For example, an account A in Salesforce instance 1 is created as customer A1 is NetSuite. The same account A in Salesforce instance 2 is created as customer A2 in NetSuite.

For the product record, a record in NetSuite may or may not relate to one record across Salesforce instances. For example, product P in NetSuite instance can be synced as Item I1 in Salesforce instance 1 and Item I2 in Salesforce instance 2.

N:1 relationship between Salesforce and NetSuite for all records except the product record.

Add On: Contract Renewals

This section outlines optional add-on feature for Salesforce – NetSuite Integration App. It is available only if the add-on is specifically itemized on the Quote. It is mandatory to have Celigo’s Salesforce – NetSuite Integration App and NetSuite Contract Renewals module installed before installing this add-on.

Integration Flows SUPPORTED NOT SUPPORTED

SYNC CONTRACT TO CONTRACT

NetSuite to Salesforce

Support for New Business Contract Transactions

When a new Salesforce opportunity is synced as a NetSuite sales order, the Contract Renewals module creates a new contract for this sales order in NetSuite. This flow syncs this newly created NetSuite contract to a native Salesforce contract object.

Items from the synced NetSuite sales order are added as contract items to the new Contract by the Contract Renewals module. These contract items are also synced to Salesforce as a custom related list in the native Contract object.

Support for Other Contract Transactions

  • Upsell – An upsell Salesforce opportunity can be created in Salesforce by selecting a previously synced, active contract. When this opportunity is synced as a NetSuite sales order, the Contract Renewals module adds the items from the upsell opportunity to the existing contract and the updated contract is synced back to Salesforce with the newly added contract items.

Support for Direct Sales and Channel Sales for Contract Renewal

Whether the Salesforce opportunity is a direct sale to the End User or an indirect sale via a Reseller or Distributor, the Integration App supports the combinations of bill to customer and ship to customer.

Support for Monthly and Annual Pricing of Items

The Integration App supports items setup with monthly and annual pricing and adjusts accordingly to appropriately calculate total order amount for a given contract. The Integration App also shows the Total Amount calculation done by the NetSuite Contract Renewals module within the Salesforce opportunity.

The Contract Renewals module must be enabled in NetSuite. Note: Implementation of NetSuite’s Contract Renewals Module is not included in this Proposal.

SYNC OPPORTUNITY TO OPPORTUNITY

NetSuite to Salesforce

This flow creates an opportunity in Salesforce for a contract renewal transaction in NetSuite opportunity as the renewal transaction.

The Contract Renewals module must be enabled in NetSuite. Note: Implementation of NetSuite’s Contract Renewals Module is not included in this Proposal.

Transaction types other than opportunity and sales order are not supported out of the box.

Updates on the opportunity are not synced.

Item Groups are only supported in the Premium Edition.

Assumptions

  1. Any functionality of the Integration App not explicitly stated as in or out of scope requires further review by Celigo. Known limitations have been stated above, however additional limitations or gaps may exist and are not included in the scope of this Solution.
  2. Integration activity is logged in the Celigo integrator.io Dashboard. It is the Client’s responsibility to monitor the integration.
  3. Salesforce custom objects and related lists that are associated with the records the Integration App imports or exports are not supported.
  4. When the Integration App imports or updates NetSuite records, server-side NetSuite scripts will be triggered. Client-side NetSuite scripts are not triggered by the Integration App. If there are existing scripts on the NetSuite records, or if scripts are added in the future, Celigo will not debug nor resolve any issues resulting from these NetSuite scripts.
  5. The Client is responsible for the creation and maintenance of any mapped fields in both Salesforce and NetSuite.
  6. The Client is responsible for the maintenance of unit tests for any packages, triggers, workflow rules, and validation rules within Salesforce. Salesforce maintains a 100 query limit on these tests. Celigo has streamlined its unit tests for the Integration App and it does not materially impact this limit. Should the Celigo install fail due to the query limit, it is the Client’s responsibility to review and modify their existing unit tests. If a Client installs additional packages after the installation of the Integration App and receives errors concerning their existing packages, it is the Client’s responsibility to review and modify their existing unit tests. If there are specific errors with Celigo’s tests, Celigo will review and modify the Integration App’s unit tests.
  7. The Client is responsible for setting up, monitoring, maintaining, and troubleshooting Salesforce.
  8. Implementation fees include pre-production linking between Salesforce and NetSuite of up to 5000 records for each record type (accounts, contacts, and items). Additional record linking is not included unless otherwise specified.
  9. If Client would like to build a custom integration flow, Client may use their 1 free integration flow or purchase an Integrator.io license.

Project Approach

Celigo’s delivery approach is collaborative, whereby both Celigo and the Client assume responsibilities required to bring the project to a successful conclusion. This will be a Group Activation project, managed by the Client. The Client must provide resources as described in the project team section below. These Client resources and timely completion of responsibilities are necessary for the project to be completed successfully and on time.

Delivery Methodology

Celigo’s Group Activation is a collaborative, hands-on group activation methodology, where Celigo guides multiple Clients through configuration and activation of an Integration App via a series of online sessions. Both Celigo and the Client assume responsibilities required to successfully complete the activation.

A Group Activation Series consists of five (5) pre-defined sessions for Starter Edition Integration Apps and seven (7) sessions for Standard Edition Integration Apps, each lasting up to one hour, with attendees from multiple Celigo clients. Each session will cover an essential part of the Integration App’s flow configurations and settings. In addition, the Client will have access to two (2) 1-hour office-hour sessions where they can ask additional questions. Each Client will follow along in their own environment, completing configuration during and in-between the scheduled sessions.

Through the sessions, Celigo will provide the Client with:

  • tools and resources to use during the Activation (e.g. training videos, help guides, and templates)
  • best practices and considerations (e.g. recommended order of Activation; running a smoke test via test mode)
  • the opportunity to ask questions

To obtain the most value from the sessions, the Client should come prepared with questions and complete prerequisites / homework.

User Acceptance Testing, Go-Live, and Post-Go-Live Support

The Client is responsible for conducting User Acceptance Testing and completing Go-Live outside of the Group Activation sessions. To aid the Client, Celigo will provide the Client with a User Acceptance Testing (UAT) template. Upon completion of the Group Activation series, the Client will immediately be eligible for support from Celigo’s Go-Live Support team, which is specially trained to assist with support issues arising from go-live activities. Upon completion of go-live, the Client will be transferred to Celigo’s traditional support team for long term support needs. The Client is responsible for defining and creating the data necessary to perform UAT as well as deleting any test data that was created during the course of the project. Additionally, Client is responsible for any and all data migration.

Project Environment

If the Client has purchased a Perpetual or Temporary Sandbox, Celigo recommends that the Client complete the Group Activation sessions using their sandbox environment. The Client will be responsible for migrating their settings from the sandbox environment to the production environment. The Client may contact the Go-Live Support Team with questions.
Project Schedule

Celigo will contact the Client regarding the project within 1 week of Quotation signature. Clients must first complete Initiation and Installation, which can take anywhere from 1 day to a few weeks depending on the Client’s timeliness, in order to register for a Group Activation Series. Initiation consists of one or more prerequisite tasks that a Client must complete in order to be ready for Activation. Celigo will publish an online schedule of all Group Activation Series in advance. The following graph depicts a typical Series schedule for out-of-the-box functionality where there are no unexpected project delays such as change orders, third party delays, custom flows, etc., which may increase project duration. The asterisk (*) represents a possible gap between completion of Initiation and Project Kickoff.

Starter Target Projection/Duration = 2 Weeks

Stage / Milestone 0 * 1 2
Initiation & Installation
Sessions 1, 2 & 3
Sessions 4 & 5

Standard Target Project Duration = 3 Weeks

Stage / Milestone 0 * 1 2 3
Initiation & Installation
Sessions 1, 2 & 3
Sessions 4 & 5
Sessions 6 & 7

Deviations from these assumptions may lead to commensurate changes in the timeline and pricing.

  1. Client acknowledges that it is responsible for the success of the Project. Lack of timely decision making and completion of tasks may impact project timelines and pricing.
  2. Client acknowledges that it plans to complete the Activation in one Group Activation Series.
  3. If the Client is unresponsive or delays their attendance in a Group Activation Series, the subscription term and conditions remain the same; the subscription price and term is not adjusted.
  4. If this project coincides, impacts, or overlaps with other projects the Client is implementing:
    1. Celigo is not responsible for overall project management unless explicitly stated as in scope, and if Celigo needs to manage 3rd parties in order to deliver this project, this will be considered out of scope and will result in a change order.
    2. Celigo’s project will be closed regardless of whether the other projects are completed.
    3. Additional charges may apply for Celigo to participate in meetings (such as requirements sessions) regarding the other projects.