Skip to main content

Product Rate Plan Charge Transaction Sync

Zuora

Product Rate Plan Charge Transaction Sync

Overview

This process syncs new and recently modified Zuora product rate plan charges to NetSuite items. The charges must be synced so subsequent invoices can be imported with correct item references. Zuora is the master for all charge records.

This is a one-way sync: Only charges created and modified in Zuora will be synced to NetSuite. Items created or modified in NetSuite will not sync back to Zuora.

About the Product Rate Plan Charge Transaction Sync

  • Only active charges are synced. Draft, cancelled, deleted, or inactive (expired) charges are not synced. The sync will not inactivate records.
  • Charges are synced to one of three types of NetSuite items (Inventory, Non Inventory, and Service), determined by the Item Type custom field on the Zuora charge.
    • Once a charge has been synced successfully, the Item Type must not be changed in Zuora. If changed, this will result in a sync error until the type is corrected. If you need to change the Item Type, delete the NetSuite item, reset the Zuora charge’s Integration ID and Integration Status, then resync.
  • The charge price will not be synced to NetSuite. The price will be synced when the transaction line is created. Unsupported charge models include high water mark, and multi-attribute pricing. For more information see, Charge Models.
  • Review the Product Catalog Sync preferences. These preferences control the behavior and data mapping of the charge sync, including the charge number.
  • See Migrating Existing Items if you have item records in NetSuite and Zuora and you want to link those existing records to prevent NetSuite Connector from creating duplicates.
  • If you are using NetSuite Rev Rec templates and Zuora discount charges, you need to add the Rev Rec Template directly onto the NetSuite item after the discount product charge is established in NetSuite.

Transaction Sync Notes

  • The charge sync is mandatory and cannot be disabled. The subsequent transaction syncs depend on the charges being synced.
  • If the Product and Product Rate Plan sync is also enabled, the charges synced to NetSuite will be independent of those records and have no relationship (part of an item hierarchy) with them. However, the charge’s product and product rate plan names are mapped to custom fields for reference.

Product Rate Plan Charge Transaction Sync Rules

This integration syncs records according to the following rules:

  1. If the Product Catalog 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 charge sync is run, the date will be set to Jan 1, 1970 to extract all charges. If the sync has already run, the date will be set to that of the most recently successfully synced Zuora charge (captured during the previous sync).
    • If the Product Catalog Sync Behavior preference was recently switched from Sync New Records Only to Sync New and Modified Records, the query date will be set to the current system time. Typically, no records will be extracted during that sync. Only records modified after that sync will be extracted in future syncs. You can re-save Zuora records can without making any changes to trigger the sync to extract the records.
  2. Zuora product rate plans are synced if they meet the following criteria:
    • The Effective Start Date is less than or equal to current system time.
    • The Effective End Date is greater than or equal to current system time.
    • The Integration Status is empty, or any status other than Sync Complete.
    • Additionally, if the Product Catalog Sync Behavior preference is set to Sync New and Modified Records, the Integration Status must be Sync Complete and the Updated Date must be greater than the last time NetSuite Connector completed the charge sync successfully.
  3. 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 Product Catalog Sync Behavior preference is set to Sync New and Modified Records, the record will be updated in NetSuite.
    • If the Integration ID is populated and the Product Catalog Sync Behavior preference 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, but no standard fields will be modified.
  4. The following validations are performed during the sync to ensure data integrity (validation skipped if linking a record):
    • If populated, the Zuora Accounting Code matches a valid NetSuite Income GL Account.
    • If the NetSuite Connector preference NetSuite Use Revenue Recognition is set to Yes, the Zuora NetSuite Deferred Revenue Account (if populated) matches a valid NetSuite Deferred Revenue GL Account.
    • If the NetSuite Connector preference NetSuite Use Revenue Recognition is set to Yes, the Zuora Revenue Recognition Code (if populated) matches a valid NetSuite revenue recognition template.
    • If populated, the Zuora NetSuite Location matches a valid NetSuite location.
    • If populated, the Zuora NetSuite Class matches a valid NetSuite class.
    • If populated, the Zuora NetSuite Department matches a valid NetSuite department.
    • The Zuora Item Type field is populated.
    • If the Integration Status is Sync Complete, the Integration ID must be populated.
    • If the NetSuite Connector preference NetSuite Use Subsidiaries is set to Yes, the Zuora NetSuite Subsidiary (if populated) matches a valid NetSuite subsidiary.
  5. 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:
  1. The Zuora charge’s Integration Status is updated to Creating Item to indicate the record is currently being synced and to assist with error recovery.
  2. The NetSuite item is created.
  3. Upon successful creation of the NetSuite item, the new NetSuite internal ID is written back to the Zuora charge and the Integration Status is updated to Sync Complete.

Updating a Record

If the sync is updating a record:
  1. The Zuora charge's Integration Status is not updated. This prevents circular updates.
  2. The NetSuite item is updated (standard and Zuora-related custom fields).
  3. Upon successful modification of the NetSuite item, no updates are made to the Zuora charge.

Linking a Record

If the sync is linking a record:
  1. The Zuora charge’s Integration Status is updated to Linking Item to indicate that the record is being synced and to assist with error recovery.
  2. The NetSuite item is updated (only Zuora-related custom fields).
  3. Upon successful modification of the NetSuite item, the Integration Status is updated to Sync Complete on the Zuora charge.