The Salesforce Opportunity to NetSuite Sales Order Add/Update flow lets you sync the Salesforce opportunity information to NetSuite as a sales order so that your finance team receives the order details in real-time for faster order processing. The flow syncs Salesforce opportunities in the "Closed Won" stage as NetSuite sales orders. In other words, creates NetSuite Sales Orders based on Salesforce opportunities.
After the creation of sales orders, any updates made to Salesforce opportunities are synced to NetSuite sales orders and any updates made to the sales order are synced to Salesforce orders. (We cannot sync updates after the "Pending Approval" status).
While creating an opportunity as a sales order, the flow determines if the customers and contacts for the sales order are missing. If missing, the account associated with the opportunity and the contact associated with the account are created as Customer and Contact in NetSuite.
The Salesforce Contact to NetSuite Contact Add/Update flow syncs Salesforce contacts to NetSuite contacts. If the Salesforce account is not synced as a customer in NetSuite, then the Contacts flow gets triggered with the creation of a Sales Order if enabled. The Salesforce Account to NetSuite Customer Add/Update flow is triggered if the account is not in sync as a NetSuite customer.
- To sync opportunities to NetSuite, you need to edit and save them manually.
- To sync opportunities in bulk to NetSuite, set the batch size to 1.
Sync Opportunites as Sales Orders
- In your integrator.io account, go to the integration tile and then click the gear icon.
- Go to Settings > Integration Flows > Opportunity.
- For the Salesforce Opportunity to NetSuite Sales Order flow, click the toggle button to turn on the flow.
- In your Salesforce account, go to Opportunities.
- To create a new opportunity,
- Click New.
- Enter the required details in the fields.
- Click Save.
- To update an existing opportunity,
- From the available opportunities, click on the appropriate opportunity.
- Click Edit.
-
Click Stage and change the value to Closed Won.
Note: By default, the flow is triggered when the Opportunity's stage changes to Closed Won. You can choose your stage using the Settings icon of the flow.
- To create a new opportunity,
- Click Save.
In addition, if customers and contacts related to the opportunity are absent in NetSuite, new customers (Accounts) and contacts are created for the opportunity. The flow syncs the parent accounts, and multi-subsidiary, and multi-currency information are also synced to NetSuite.
For existing Opportunities in the Closed Won stage, you will have to manually edit and save each Opportunity so that it is automatically synced to NetSuite as a Sales Order.
Configure settings
- Go to Flows > Opportunity.
- Next to the Salesforce Opportunity to NetSuite Sales Order Add/Update flow, click Settings.
- Click the Qualification Criteria button.
- Select the desired values for setting your own criteria for triggering the flow.
- Click Save.
- Go to Settings > Opportunity
- Select Enable Notes if you want to sync opportunity notes to NetSuite sales orders.
- Select Enable Attachments if you want to sync opportunity attachments to NetSuite sales orders.
- Select Enable Files if you want to sync opportunity files to NetSuite sales orders.
- Click Save.
Note: All the notes, attachments, and files are synced from Salesforce Opportunity Files to NetSuite Sales Order > Communication > Files
Settings to support address line split mappings
The following section describes the setting to support address line split mappings for the Salesforce Opportunity to NetSuite Sales Order flow.
- You need to map
Address 1
andAddress 2
fields of NetSuite Order in the flow mapping. -
You need to use handlebars to split the provided Billing Address and Shipping Address details in Salesforce and sync them as
Address 1
andAddress 2
fields in the NetSuite order address sublist.
Below are the sample handlebars to be configured:
- ShippingAddress1: {{#if SyncedQuote.ShippingStreet}} {{regexMatch SyncedQuote.ShippingStreet "[a-zA-Z 0-9 ()-]{1,150}"}} {{/if}}
- ShippingAddress2: {{#if SyncedQuote.ShippingStreet}} {{regexMatch SyncedQuote.ShippingStreet "\r\n[a-zA-Z\r\n ,0-9 ()-]{1,150}"}} {{/if}}
Workaround to sync multi-expression fields
To sync multi-field expressions configured in the Salesforce Account to NetSuite Customer Add/Update flow to NetSuite, it is recommended to configure the below mapping in the Salesforce Opportunity to NetSuite Sales Order Add/Update flow:
Source record field (Salesforce) | Destination record field (NetSuite) |
Website |
custentity_celigo_sfnsio_dummymapping |
Note: If you have multi-field expressions configured for 'Name', 'BillingStreet', 'BillingCity','BillingCountry','BillingState','BillingPostalCode', 'ShippingCountry','ShippingCity','ShippingState','ShippingPostalCode','ShippingStreet', do not configure the above-mentioned additional mapping.
Comments
Our model is to use SFDC to generate an Opportunity, flow it to NS, and then generate the sales order in NS. We do not have items in SFDC to assign to an Opportunity.
1) I would like to test the SFDC Opportunity to NS Sales order flow, but can't get past the Celigo requirement for the SFDC Opportunity to have at least one item. I removed the "Fail Record" from the Flow Mapping to Items : Item (InternalId), but that did not change anything.
2) I need to flow SFDC Opportunities to NS Estimates. Does that require a different flow? Can I modify, or clone the SFDC Opportunity to NS Sales order flow?
Please sign in to leave a comment.