Skip to main content

Refund Transaction Sync

Zuora

Refund Transaction Sync

Overview

This integration syncs payment refunds to and from NetSuite refunds with Zuora. The refund integration is implemented as two separate syncs: Zuora refunds to NetSuite and NetSuite refunds to Zuora.

About the Refund Sync

  • Zuora has the ability to create a refund and associate it to the payment.
  • The Zuora refund effectively credits the payment and will open the invoice balance.
  • The accounting code for the refund is determined by the refund method (i.e. payment method) and is configured and maintained manually within the associated NetSuite Payment Method.
  • When the payment is applied to more than one invoice, Zuora has the ability to allocate the refund to the parts of the payment applied to invoices.
  • In NetSuite, refunds are applied directly to payments.
  • In NetSuite, the amount to be refunded must first be unapplied from the invoice. The unapplied payment amount can then be refunded.
  • Zuora credit balance refunds are not supported.
  • Review the Transaction Sync preferences. These preferences are important and control the behavior and data mapping of the sync, including the refund number.

Disabling the Sync and Sync Limitations 

  • You can disable either refund sync from the NetSuite Connector Advanced Settings. However, you should disable this under the guidance of Zuora Services.
  • The NetSuite refund sync is disabled by default. Use the NetSuite Connector Advanced Settings to enable the sync.
  • The Zuora refund sync will not execute if Zuora does not calculate taxes (if the NetSuite Connector Advanced Setting Use Standard Invoice Sync is set to false).
  • NetSuite Connector does not sync Zuora refunds made to credit balance adjustments.
  • A refund sync is successful only when the payment is unapplied in NetSuite.

Differences Between Refunds in Zuora and NetSuite

Zuora payment operations are built around the requirements of the subscription life cycle. NetSuite refunds are built around best practices for product-based businesses. 

In Zuora, you can apply refunds to a payment. Because a single payment can be applied to multiple invoices, a refund in Zuora can apply to multiple payments.

The primary method of refunding in NetSuite is to create a credit memo either at the customer account level or associated to an RMA. In NetSuite, the refund is effectively applied to the customer account level.

For the NetSuite integration, there are special steps to perform to make sure the refund references the appropriate payment, and therefore the correct invoice, when syncing to Zuora. See "Refund Transaction Sync Rules," below, for more information.

If you do not need to use the RMA process in NetSuite, Zuora recommends that you perform the refund and other AR transactions in Zuora.

Refund Transaction Sync Rules: Zuora to NetSuite

This process syncs Zuora payment refunds (as opposed to credit balance refunds) to NetSuite customer refunds. This is a two-step sync. First, it updates the existing NetSuite payment to "unapply" the amount applied to the original invoices (which reopens the invoices’ balance). Then it creates a new NetSuite customer refund to refund that payment’s open balance. This prevents the NetSuite payment's open balance from being applied to another transaction.

This integration syncs records according to the following rules:

  1. Zuora payment refund records are synced if they meet the following criteria:
    • The related customer account Sync To NetSuite is set to Yes or is empty.
    • The Status is Posted.
    • The Transferred to Accounting is either No, Error, or Processing.
    • The Refund Date is greater than or equal to the Refund Cutover Date (if specified in the NetSuite Connector Advanced Settings).
  2. The following validations are performed during the sync to ensure data integrity:
    • The Zuora payment method matches a valid NetSuite payment method. See Reconcile Data Between Zuora and NetSuite for more information.
    • The associated Zuora payment has been synced (it has an IntegrationId).
    • If populated, the associated Zuora account's NetSuite Location matches a valid NetSuite location.
    • If populated, the associated Zuora account's NetSuite Class matches a valid NetSuite class.
    • If populated, the associated Zuora account's NetSuite Department matches a valid NetSuite department.
  3. The Zuora payment’s Integration Status is updated to Updating Payment and Transferred to Accounting updated to Processing to indicate that the record is currently being synced and to assist with error recovery.
  4. Update the referenced NetSuite payment to unapply the given amount from its invoice (or multiple invoices). This results in an unapplied balance for that NetSuite payment.
  5. The Zuora payment’s Integration Status is updated to Creating Refund to indicate the record is currently being synced and to assist with error recovery.
  6. Create a new NetSuite customer refund and references that NetSuite payment. This refunds the payment’s unapplied balance.
  7. Upon successful creation of the NetSuite refund, the new NetSuite internal ID is written back to the Zuora refund record, the Integration Status is set to Sync Complete and Transferred to Accounting is set to Yes.

Sync Notes

  • Once synced successfully, changes to the Zuora refund will not be synced, including cancellations. If you need to resync a refund, you must manually delete the NetSuite refund, reapply the original payment amounts, and set the Zuora refund’s Transferred to Accounting to No. If a refund is voided or canceled before it is picked up by the sync, the refund will be ignored.
  • Transferred to Accounting values of Null in the API will appear as No in the Zuora UI. 
  • See NetSuite Classifications for information about how classifications are mapped for NetSuite transaction header and details.

Refund Transaction Sync Flow: Zuora to NetSuite

overview_refund_txn.png

Refund Transaction Sync Rules: NetSuite to Zuora

This process syncs refunds made to standalone credit memos in NetSuite. NetSuite Connector will create one Zuora refund for each NetSuite credit memo.

There is a special procedure you must follow to create a NetSuite refund that you wish to sync to Zuora:

  1. Within NetSuite, create a new credit memo for the given customer account.
  2. On the Items tab, add one or more Items with amounts, as appropriate.

 Do not apply the credit memo to an invoice. 

  1. On the Zuora Refund tab, select Create Zuora Refund and select the Zuora Refund Payment Reference that you want to refund against.
  2. Create a new customer refund that references the new credit memo. The amount of the refund must match the full amount of the referenced credit memo. Do not reference any other transactions on this refund.

If a NetSuite payment was applied to multiple invoices, NetSuite Connector will not sync partial refunds associated with payments applied to multiple invoices. You must sync partial refunds manually. 

This integration syncs records according to the following rules:

  1. NetSuite customer refund records are synced if they meet the following criteria:
    • The related customer account must be synced (the Zuora Customer ID cannot be empty).
    • The refund’s Integration Status is not Sync Complete
    • The refund is fully applied (the Amount Remaining is 0) 
    • The applied credit memo’s Create Zuora Refund is enabled.
  2. The following validations are performed during the sync to ensure data integrity:
    • The refund is applied only to a single credit memo (the one created specifically for the Zuora refund).
    • The applied credit memo has a valid Zuora payment selected.
    • The refund amount is less than or equal to the amount of the referenced payment amount.
  3. The NetSuite refund’s Integration Status is updated to Creating Refund to indicate that the record is currently being synced and to assist with error recovery.
  4. The Zuora refund is created.
  5. Upon successful creation of the Zuora refund, the new Zuora ID is written back to the NetSuite refund record and the Integration Status for both the NetSuite refund and credit memo are set to Sync Complete.

Sync Notes

Once synced successfully, additional changes to the NetSuite refund will be not synced, including cancellations. If you need to resync a refund, you must manually cancel the Zuora refund and clear the Integration Status and Zuora ID fields on the NetSuite refund.

Refund Transaction Sync Flow: NetSuite to Zuora

refund_netsuite_to_zuora.png

  1.