Additional record mapping is required to integrate the template’s exports and imports with your Salesforce and NetSuite apps.
Note that all of your flows are disabled when first installed. After configuring the flows, you may enable them in your Flows dashboard or in Flow Builder with the Off/On toggle button. Then run or schedule each flow.
Salesforce accounts (Households/Organizations) to NetSuite constituents
This flow exports Salesforce Households/Organizations accounts and imports them into NetSuite as Customer constituents, syncing the data in real time.
The flow is designed to create an account whenever a Salesforce opportunity is synced with NetSuite as a cash sale or invoice. Once the account is synced, any subsequent account change in Salesforce will also update NetSuite.
This flow also syncs parent-level information for the account. For example, if company ABC is associated with parent company XYZ, then the flow syncs the account information for XYZ, as well.
Flow details
- Export source: Salesforce
- Import destination: NetSuite
- Built-in listener: Get salesforce accounts – get all accounts from Salesforce
-
Built-in import: Import NetSuite households – add or update households into NetSuite with the external ID as the lookup identifier
- preMap hook: Processing NetSuite Household.js – build full name string from first and last names
- Built-in import: Import NetSuite constituents – add or update constituents into NetSuite with configured custom field as the lookup identifier
Before you begin
- Configure the Custom field (Celigo_SFNSNP__NetSuite_Id__c) as Field Specific Qualification Criteria and set the operation as “is not empty” in Get salesforce accounts.
- This is not a standalone flow; it must be run after the Opportunities flows (below).
- Verify that the NetSuite constituents ID is stored as a custom field in Salesforce accounts.
Setup instructions
- Add primary subsidiary mapping according to your requirements in Import NetSuite constituents.
- Configure mapping for Individual and Family Member Type (InternalId) according to your requirements in Import NetSuite constituents.
- Configure static mapping for Billing State and Shipping State according to your requirements in Import NetSuite constituents.
Salesforce contacts (Donors) to NetSuite constituents (SubCustomers)
This flow exports Salesforce donor contacts and imports them into NetSuite as sub-customer constituents, syncing the data in real time. The contacts are synced only if the customer account is already synced with NetSuite.
This flow would typically sync contacts during one of the Sync Opportunities flows (below), which sync a Salesforce cash sale, invoice, or standalone prospect account with NetSuite. Once the account is synced, any subsequent donor change in Salesforce will also update NetSuite.
Flow details
- Export source: Salesforce
- Import destination: NetSuite
- Built-in listener: Get Salesforce contacts – get all contacts from Salesforce
- Built-in import: Import NetSuite constituents – add or update constituents into NetSuite with a configured custom field or email as the lookup identifier
Before you begin
- Configure the Custom field, Account.Celigo_SFNSNP__NetSuite_Id__c, as Field Specific Qualification Criteria and set operation as “is not empty” in Get Salesforce contacts.
- This is not a standalone flow; it must be run after the two Opportunities and one Accounts flows.
- Verify that the NetSuite constituents ID is stored as a custom field in Salesforce accounts.
Setup instructions
- Add primary subsidiary mapping according to your requirements in Import NetSuite constituents.
- Configure mapping for Individual and Family Member Type (InternalId) according to your requirements in Import NetSuite constituents.
- Configure static mapping for Billing State and Shipping State according to your requirements in Import NetSuite constituents.
Salesforce opportunities (Type: Donations and Events) to NetSuite cash sales
This flow exports Salesforce donation and event opportunities and imports them into NetSuite as cash sales, syncing the data in real time. This flow helps the finance team to sync the information needed for processing cash sales in NetSuite.
Salesforce opportunities are synced by default when they are in the “Closed-Won“ stage, of type “Donations and Events.” You can select other criteria according to the stage of the opportunity and define the triggers.
When a Salesforce donation and event opportunity is created, its associated account will also be imported if it does not exist in NetSuite. If the account contains contacts, they too will sync along with the opportunity.
Flow details
- Export source: Salesforce
- Import destination: NetSuite
-
Built-in listener: Get Salesforce opportunities (Donations and Events) – get all opportunities
- preSavePage hook: Processing Salesforce Opportunities.js – convert Salesforce record types to NetSuite
-
Built-in import: Import NetSuite households – add or update households into NetSuite with the external id as the lookup identifier
- preMap hook: Processing NetSuite Household.js – build full name string from first and last names
- Built-in import: Import NetSuite constituents – add or update constituents into NetSuite with configured custom field as the lookup identifier
- Built-in import (NetSuite ID writeback): Import Salesforce accounts – update accounts into Salesforce with ID as the lookup identifier
- Built-in import: Import NetSuite constituents (individual) – add or update contacts into NetSuite with configured custom field or email as the lookup identifier
- Built-in import: Import Salesforce contacts – update contacts into Salesforce with ID as the lookup identifier.
-
Built-in import: Import NetSuite cash sales – add or update cash sales into NetSuite with configured custom field as the lookup identifier
- preMap hook: Processing NetSuite cash sales.js – build array with constituent IDs
Before you begin
Create a Non-inventory Item for Sale in NetSuite:
- Item Name as Event Contribution and Subitem as Special Events
- Item Name as Corporate Contributions and Subitem as Direct Contributions
- Item Name as Individual Contributions and Subitem as Direct Contributions
Setup instructions
- Add primary subsidiary mapping according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure static mapping for Billing State and Shipping State according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure mapping for Individual and Family Member Type (InternalId) according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure static mapping for Items : Revenue Type (InternalId) and Items : Revenue Subtype (InternalId) according to your requirements in Import NetSuite cash sales.
- Hardcode mapping values for To Be E-mailed, Items: Quantity, and Items : Restriction (InternalId) according to your requirements in Import NetSuite cash sales.
Salesforce opportunities (Type: Pledge) to NetSuite invoices
This integration flow syncs Salesforce pledge opportunities and imports them into NetSuite as invoices, syncing the data in real time. This flow helps the finance team to sync the information needed for processing cash sales in NetSuite.
Salesforce opportunities are synced by default when they are in the “Closed-Won“ stage, of type “Pledge.” You can select other criteria according to the stage of the opportunity and define the triggers.
When a Salesforce pledge opportunity is created, its associated account will also be imported if it does not exist in NetSuite. If the account contains contacts, they too will sync along with the opportunity.
Flow details
- Export source: Salesforce
- Import destination: NetSuite
-
Built-in listener: Get Salesforce opportunities – get all opportunities
- preSavePage hook: Processing Salesforce Opportunities(Pledge).js – convert Salesforce record types to NetSuite
-
Built-in import: Import NetSuite households – add or update households into NetSuite with the external ID as the lookup identifier
- preMap hook: Processing NetSuite Household.js – build full name string from first and last names
- Built-in import: Import NetSuite constituents – add or update constituents into NetSuite with configured custom field as the lookup identifier
- Built-in import (NetSuite ID writeback): Import Salesforce accounts – update accounts into Salesforce with ID as the lookup identifier
- Built-in import: Import NetSuite constituents (individual) – add or update contacts into NetSuite with configured custom field or email as the lookup identifier
- Built-in import: Import Salesforce contacts – update contacts into Salesforce with id as the lookup identifier
-
Built-in import: Import NetSuite invoices – add or update invoices into NetSuite with configured custom field as the lookup identifier
- preMap hook: Processing NetSuite invoices.js – build array with constituent IDs
Before you begin
Create a Non-inventory Item for Sale in NetSuite:
- Item Name as Corporate Contributions and Subitem as Direct Contributions
- Item Name as Individual Contributions and Subitem as Direct Contributions
Setup instructions
- Add primary subsidiary mapping according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure static mapping for Billing State and Shipping State according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure mapping for Individual and Family Member Type (InternalId) according to your requirements in Import NetSuite constituents and Import NetSuite constituents (individual).
- Configure mapping for To be E-mailed, Restriction (InternalId), Items : Revenue Type (InternalId), Items : Revenue Subtype (InternalId), Items : Restriction (InternalId), and Items: Quantity according to your requirements in Import NetSuite invoices.
Comments
Please sign in to leave a comment.