Customer Account Transaction Sync
Overview
This integration syncs Zuora customer accounts to NetSuite, or NetSuite customers to Zuora. You must choose whether Zuora or NetSuite will serve as the master for customer records. New and modified customer records that are created or updated in the master application will be synced to the destination application.
This is a one-way sync. For example, if Zuora is selected as the master application, new and updated Zuora customers will sync to NetSuite. However, any changes to customer records made within NetSuite, even after the record has been synced once, will not sync back to Zuora.
About the Customer Account Transaction Sync
- By default, Zuora is the customer account master.
- Only active accounts are synced. Draft, cancelled, deleted, or inactive accounts are not synced. The sync will not inactivate records.
- Contacts and addresses are handled specially. See the Sync Rules sections, below, for more information.
- Customer account hierarchies are maintained regardless of which application is the account master. If account hierarchies are disabled in Zuora, the NetSuite Parent Account reference will be ignored.
- Review the customer account sync preferences. These preferences are important and control the behavior and data mapping of the customer account sync, including the customer account number. The Tax Reg Number field is not supported for syncing.
- If you already have customer records in NetSuite and Zuora, you can link those existing records to prevent NetSuite Connector from creating duplicates. See Migrate Data from NetSuite to Zuora for more information.
Transaction Sync Notes
The customer sync is mandatory and cannot be disabled. This is because the subsequent transaction syncs depend on the customer accounts being synced.
Customer Account Sync: Zuora to NetSuite
This process syncs new or recently modified Zuora accounts to NetSuite customers. Zuora Bill To Contact and Sold To Contact information is mapped to the Address List associated with the NetSuite customer (not to NetSuite Contacts).
Transaction Sync Rules
This integration syncs records according to the following rules:
- If the Customer Account Sync Behavior option is set to
Sync New and Modified Records
, initialize the date from which to query Zuora for recent changes. If this is the first time the customer account sync is run, the date will be set to Jan 1, 1970 to extract all customer accounts. If the sync has already run, the date will be set to that of the most recently successfully synced Zuora account (captured during the previous sync). In the Advanced Settings, you can configure the Transaction Cutover Dates. This feature enables the connector to select only the accounts created from the specified cutover date onward. By default, the connector includes accounts starting from January 1970.- If the Customer Account Sync Behavior preference was recently switched from
Sync New Records Only
toSync New and Modified Records
, the query date will be set to the current system time. Typically, this means that no records will be extracted during the current sync. Only records modified after that sync will be extracted in future syncs. Note that Zuora records can be re-saved without making actual changes to trigger the sync to extract them.
- If the Customer Account Sync Behavior preference was recently switched from
- Zuora customer account records are synced if they meet the following criteria:
- The Status is
Active
. - The Sync to NetSuite option is
Yes
(new records are defaulted toYes
or Sync to NetSuite option isnull
). - The Integration Status is empty or not
Sync Complete
. - If the Customer Account Sync Behavior preference is set to
Sync New and Modified Records
, Integration Status isSync Complete
and the Updated Date is greater than the last time NetSuite Connector completed the customer sync successfully.
- The Status is
- The sync action is determined based on your preferences and the record’s characteristics:
- If the Integration ID is empty, the record will be created in NetSuite.
- If the Integration ID is populated and the Customer Account Sync Behavior option is set to
Sync New and Modified Records
, the record will be updated in NetSuite. - If the Integration ID is populated and Customer Account Sync Behavior option is set to
Sync New Records Only
, the record will be linked. This means that only the Zuora-related custom fields will be populated in NetSuite, and standard fields will not be modified.
- The following validations are performed during the sync to ensure data integrity (this validation is skipped if linking a record):
- The Zuora Terms match valid NetSuite Terms.
- The Zuora Currency alphabetic code matches a valid NetSuite Currency symbol.
- If Integration Status is
Sync Complete
, the Integration ID must be populated. - If the NetSuite Connector option NetSuite Subsidiaries is
Yes
, then the Zuora NetSuite Subsidiary, if populated, matches a valid NetSuite Subsidiary.
- When you enable the syncing of Zuora accounts to Netsuite,
- The Attention field needs to include the first and last name of the recipient for a shipment.
- The Addressee field should include the company name.
- To prevent data synchronization issues, refrain from utilizing double quotation marks ("") and commas (,) in the Account Name field.
- The remaining steps depend on whether the transaction sync is creating, updating, or linking a record.
Creating a Record
If the sync is creating a record:
- The Zuora customer account’s Integration Status is updated to
Creating Customer
to indicate that the record is currently being synced and to assist with error recovery. - The customer is created in NetSuite.
- Upon successful creation of the NetSuite customer, the new NetSuite internal ID is written back to the Zuora customer account and the Integration Status is updated to
Sync Complete
.
Updating a Record
If the sync is updating a record:
- The Zuora customer account’s Integration Status is not updated. This is to prevent circular updates.
- The NetSuite customer is updated (standard and Zuora-related fields).
- Upon successful modification of the NetSuite Customer, nothing is updated on the Zuora customer account.
Linking a Record
If the sync is linking a record:
- The Zuora customer account’s Integration Status is updated to
Linking Customer
to indicate the record is currently being synced and to assist with error recovery. - The NetSuite customer is updated (only Zuora-related custom fields).
- Upon successful modification of the NetSuite customer, the Integration Status is updated to
Sync Complete
on the Zuora customer account.
Customer Account Sync: NetSuite to Zuora
This process syncs new or recently modified NetSuite Customer to Zuora Accounts and Contacts. The Zuora Bill To and Sold To Contact information is mapped from the NetSuite Customer's address list (Default Billing Address and Default Shipping Address, respectively), NOT the Customer's separate Contact records. The sync will create and maintain two separate Zuora Contacts, even if the Bill To and Sold To information is the same. Only Customers that have been explicitly flagged to "Send To Zuora" will be synced.
Customer Account Transaction Sync Notes
Creating the Zuora Account is a four-step sequence:
- Create an account in
Draft
status. - Create a bill to contact.
- Create a sold to contact.
- Update the account to
Active
status and set the Bill to Contact and Sold to Contact references.
Transaction Sync Rules
This integration syncs records according to the following rules:
- If the Customer Account Sync Behavior option is set to
Sync New and Modified Records
, initialize the date from which to query Zuora for recent changes. If this is the first time the customer account sync is run, the date will be set to Jan 1, 1970 to extract all customer accounts. If the sync has already run, the date will be set to that of the most recently successfully synced Zuora account (captured during the previous sync).- If the Customer Account Sync Behavior preference was recently switched from
Sync New Records Only
toSync New and Modified Records
, the query date will be set to the current system time. Typically, this means that no records will be extracted during the current sync. Only records modified after that sync will be extracted in future syncs. Note that Zuora records can be re-saved without making actual changes to trigger the sync to extract them.
- If the Customer Account Sync Behavior preference was recently switched from
- Zuora Customer Account records are synced if they meet the following criteria:
- If the Customer Account Sync Behavior preference is set to
Sync New and Modified Records
and all of the following are true:- The
Active
status is enabled. - The Send to Zuora option is set to
Yes
. - The Integration Status is
Sync Complete
. - The Stage is
Customer
. - The Last Modified Date is greater than the last time NetSuite Connector completed the customer sync successfully.
- The
- If the Customer Account Sync Behavior preference is set to
Sync New Records Only
and all of the following are true:- The Active status is enabled (checked).
- The Send to Zuora option is set to
Yes
. - The Integration Status is empty or not
Sync Complete
. - The Stage is
Customer
.
- If the Customer Account Sync Behavior preference is set to
- The sync action is determined based on your preferences and the record’s characteristics:
- If the Integration ID is empty, the record will be created in Zuora.
- If the Integration ID is populated and the Customer Account Sync Behavior option is set to
Sync New and Modified Records
, the record will be updated in Zuora. - If the Integration ID is populated and the Customer Account Sync Behavior option is set to
Sync New Records Only
, the record will be linked. This means that only the NetSuite-related custom fields will be populated in Zuora. Standard fields will not be modified.
- The following validations are performed during the sync to ensure data integrity (this validation is skipped if linking a record):
- If populated, the NetSuite Subsidiary matches a valid NetSuite subsidiary name.
- The NetSuite Terms match valid Zuora Terms.
- The NetSuite Currency symbol matches a Zuora NetSuite Currency alphabetic code.
- The Zuora Batch is populated.
- The Zuora Bill Cycle Day is populated.
- The customer has a Default Billing Address specified.
- The Addressee is populated for the Default Billing Address.
- If the customer has a Default Shipping Address specified, the Addressee is populated
- The remaining steps depend on whether the transaction sync is creating, updating, or linking a record.
Creating a Record
If the sync is creating a record:
- The NetSuite customer’s Integration Status is updated to
Creating Customer Account
to indicate the record is currently being synced and to assist with error recovery. - The Zuora customer account is created in
Draft
status. - The Zuora Bill To Contact is created.
- The Zuora Sold To Contact is created.
- The Zuora customer account is updated with the contact references and the status is updated to
Active
. - Upon successful creation and activation of the Zuora customer account, the new Zuora ID is written back to the NetSuite customer and the Integration Status is updated to
Sync Complete
.
Updating a Record
If the sync is updating a record:
- The NetSuite customer’s Integration Status is not updated. This is to prevent circular updates.
- The Zuora Bill To Contact is updated.
- The Zuora Sold To Contact is updated.
- The Zuora customer account is updated (standard and NetSuite-related custom fields).
- Upon successful modification of the Zuora records, nothing is updated on the NetSuite customer.
Linking a Record
If the sync is linking a record:
- The Zuora customer account’s Integration Status is updated to
Linking Customer Account
to indicate the record is currently being synced and to assist with error recovery. - The Zuora customer account is updated (only NetSuite-related custom fields).
- Upon successful modification of the Zuora customer account, the Integration Status is updated to
Sync Complete
on the NetSuite customer.