Any payment processed by ZonePayments may be refunded. ZonePayments supports full and/or partial refunds for charges processed by your payment provider, as long as the refund amount does not exceed the total charge amount.
Charges for Customer Payment and Customer Deposits may be refunded directly through your payment provider. When a single Customer Payment was applied to an Invoice, a refund may be initiated in NetSuite.
Note: ZonePayments is only able to automate refunds for payments that have a Payment Activity record in NetSuite, which links a Stripe Payment to a NetSuite Transaction.
Initiating a Refund through NetSuite
To initiate a refund through NetSuite, begin with an unapplied Credit Memo from an Invoice that has charges paid through ZonePayments.
To initiate a refund from NetSuite:
- Go to the Invoice you wish to refund
- Click the Credit button at the top of the Invoice.
- If creating a partial refund, adjust the credit memo line values as necessary.
- Double-check the ‘apply’ tab to ensure the credit memo is not applied to any Transactions.
- Check the ZP Issue Refund checkbox on the Credit Memo under the custom subtab
- This will kickoff a refund through your payment provider for the unapplied amount of the Credit Memo the next time the ‘Create Provider Refunds’ automation runs.
- Once the refund is initiated through the provider, a Customer Refund is created in NetSuite the next time the ‘Reconcile Payments’ automation runs. This Customer Refund will automatically get applied to the Credit Memo that you created.
Initiating a Customer Refund through Your Payment Provider
When a refund is initiated directly through your payment provider, the appropriate NetSuite Transactions are automatically generated the next time the ‘Reconcile Payments’ automation runs. See Stripe documentation to learn how to issue a refund.
The manner in which a provider handles the refund depends on the following criteria:
- The refund is for a full or partial amount
- The refund applies to one of many charge lines on the Invoice
- The refund applies across multiple Invoices
See below to learn how each scenario is handled.
When a charge is refunded through the payment provider for the full amount of the Invoice(s), an unapplied Credit Memo is created for each Invoice and a Customer Refund is created and applied to each Credit Memo(s).
If the charge is for a Customer Deposit that is unapplied, a Customer Refund is created and the Customer Deposit is fully applied via Deposit Application.
When a charge is refunded through the payment provider for the partial amount of one or more Invoices consisting of a single line item, an unapplied Credit Memo is created for each Invoice. The line amount is then adjusted to match the refund amount and a Customer Refund is created and applied to the Credit Memo(s).
Because payments cannot be applied to Invoices at the line level, when a partial refund is initiated for an Invoice with multiple line items, ZonePayments is unable to determine specific line quantities or amounts to be credited or refunded. In these instances, an unapplied Credit Memo is created from each of the Invoices and Credit Memo lines will default to the item selected in the Partial Refund Credit Item field of either the Payment Profile or General Preferences with the amount populated for the refunded amount.
Refunding Payments and Customer Deposits Applied to More Than One Invoice
If the provider refund is applicable to multiple Invoices, unapplied Credit Memos are created from each Invoice, starting with the most recently generated Invoice and working backwards to the oldest, until the refund amount is fully consumed.
Refunding Payments for Partially Applied Customer Deposits
If the provider refund is applicable to a partially applied Customer Deposit, the amount is refunded to any Invoice(s) first. When a refund amount exceeds the amount applied to the Invoice(s), a Customer Refund is created for the unapplied Customer Deposit and applied via Deposit Application.
Verifying a Successful Refund
To verify that the refund has successfully processed in NetSuite:
- Go to the Invoice where the refund has been initiated
- Click on the Related Records subtab
- Click on the ZP Payment Provider Activity subtab
- Under ZP Payment Provider Activity, locate the Payment that has been refunded
- Open the Payment Provider Activity record to view verify all NetSuite Transactions for the refund have generated (Credit Memo and Customer Refund)
To verify that the refund has been processed in Stripe:
- From the ZP Payment Provider Activity Refund record, locate the Provide Refund Token
- Copy the unique Token ID present from the Provider Refund Token field
- Go to the Stripe account tied to the original payment and enter the Refund Token value to look up the payment.