Customer Refund
A customer refund transaction records the return of funds to a customer who paid for goods or services using cash, a check, or a credit card. The refund is generally made in cash or by check.
For details about this type of transaction, see Customer Credits and Refunds.
The customer refund record is defined in the tranCust (customers) XSD.
Supported Operations
The following operations can be used to modify customer refund records:
add | addList | attach / detach | delete | deleteList | get | getDeleted | getList | getSavedSearch | getSelectValue | initialize / initializeList | search | update | updateList | upsert | upsertList
You can also use the asynchronous equivalents of SOAP web services list operations. For information about asynchronous operations, see SOAP Web Services Asynchronous Operations. For more information about request processing, see Synchronous Versus Asynchronous Request Processing.
Field Definitions
The SOAP Schema Browser includes definitions for all body fields, sublist fields, search filters, and search joins available to this record. For details, see the SOAP Schema Browser’s customer refund reference page.
For information about using the SOAP Schema Browser, see SOAP Schema Browser.
Usage Notes
Working with Credit Card Data
When working with credit card data, be aware of the following security features:
-
When adding a transaction that uses a credit card number, you cannot identify the credit card number using a masked value such as ************5151. You must enter the full 16-digit number, or you can identify an existing credit card record through a RecordRef. (You can identify the full number using the ccNumber field. You can reference an existing record using the creditCard field.)
-
Searches do not work if they include the operator is or isNot in conjunction with the ccNumber field. The only search operators that can apply to this field are empty and notEmpty.
Initializing Customer Refunds
You can initialize a customer refund from a Customer or a Credit Memo.
The SOAP web services initialize operation emulates the UI workflow by prepopulating fields on transaction line items with values from a related record. For more information about this operation, see initialize / initializeList.
Deposits Saved in CustomerRefundApplyList
If you add a customer refund with deposits in the CustomerRefundDepositList sublist, note that the deposits are saved in the CustomerRefundApplyList sublist. The following sample SOAP code illustrates this case.
Customer Refund Add Request
<add xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<record externalId="Pear16027841" xsi:type="ns8:CustomerRefund" xmlns:ns8="urn:customers_2017_1.transactions.webservices.netsuite.com">
<ns8:customer internalId="3023" xsi:type="ns9:RecordRef" xmlns:ns9="urn:core_2017_1.platform.webservices.netsuite.com">
<ns9:name xsi:type="xsd:string">Strawberry13167584</ns9:name>
</ns8:customer>
truncated portion
<ns8:depositList replaceAll="false" xsi:type="ns8:CustomerRefundDepositList">
<ns8:customerRefundDeposit xsi:type="ns8:CustomerRefundDeposit">
<ns8:apply xsi:type="xsd:boolean">true</ns8:apply>
<ns8:doc xsi:type="xsd:long">4354</ns8:doc>
<ns8:depositDate xsi:type="xsd:dateTime">2012-07-25T07:00:00.000Z</ns8:depositDate>
<ns8:refNum xsi:type="xsd:string">26</ns8:refNum>
<ns8:total xsi:type="xsd:double">40.0</ns8:total>
<ns8:remaining xsi:type="xsd:double">40.0</ns8:remaining>
</ns8:customerRefundDeposit>
</ns8:depositList>
</record>
</add>
Response to Later Get Request
<getResponse xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<readResponse>
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com"/>
<record internalId="4355" externalId="Pear16027841" xsi:type="tranCust:CustomerRefund" xmlns:tranCust="urn:customers_2017_1.transactions.webservices.netsuite.com">
<tranCust:customer internalId="3023" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com">
<platformCore:name>Strawberry13167584</platformCore:name>
</tranCust:customer>
truncated portion
<tranCust:applyList>
<tranCust:apply>
<tranCust:apply>true</tranCust:apply>
<tranCust:doc>4356</tranCust:doc>
<tranCust:line>1</tranCust:line>
<tranCust:applyDate>2012-07-25T00:00:00.000-07:00</tranCust:applyDate>
<tranCust:type>Deposit Application</tranCust:type>
<tranCust:total>40.0</tranCust:total>
<tranCust:due>40.0</tranCust:due>
<tranCust:currency>USA</tranCust:currency>
<tranCust:amount>40.0</tranCust:amount>
</tranCust:apply>
</tranCust:applyList>
</record>
</readResponse>
</getResponse>