Cash Refund API
Issue immediate cash/check refunds to customers, combining credit memo and refund payment in a single transaction.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/cashRefund | List all cash refunds |
GET | /record/v1/cashRefund/{id} | Get specific cash refund |
POST | /record/v1/cashRefund | Create new cash refund |
PATCH | /record/v1/cashRefund/{id} | Update cash refund |
DELETE | /record/v1/cashRefund/{id} | Delete cash refund |
Key Fields
Header Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID (read-only) | - |
tranId | string | Cash refund number | Auto-generated |
entity | object | Customer reference | Yes |
tranDate | string | Refund date (ISO 8601) | Yes |
status | object | Cash refund status | Read-only |
subsidiary | object | Subsidiary | Yes (OneWorld) |
Financial Fields
| Field | Type | Description | Required |
|---|---|---|---|
currency | object | Transaction currency | Yes |
exchangeRate | number | Exchange rate | Auto-calculated |
subTotal | number | Subtotal (read-only) | - |
taxTotal | number | Total tax (read-only) | - |
total | number | Refund amount (read-only) | - |
Payment Fields
| Field | Type | Description | Required |
|---|---|---|---|
account | object | Cash/bank account for refund | Yes |
paymentMethod | object | Payment method | No |
creditCard | object | Credit card reference | Conditional |
checkNum | string | Check number | No |
Source Transaction
| Field | Type | Description | Required |
|---|---|---|---|
createdFrom | object | Source transaction (Cash Sale, RMA) | No |
otherRefNum | string | External reference | No |
Billing & Shipping
| Field | Type | Description | Required |
|---|---|---|---|
billAddr1 | string | Billing address line 1 | No |
billCity | string | Billing city | No |
billState | string | Billing state/province | No |
billZip | string | Billing postal code | No |
shipAddr1 | string | Shipping address line 1 | No |
shipCity | string | Shipping city | No |
shipState | string | Shipping state/province | No |
shipZip | string | Shipping postal code | No |
Other Fields
| Field | Type | Description | Required |
|---|---|---|---|
salesRep | object | Sales representative | No |
memo | string | Internal memo | No |
class | object | Department/class | No |
location | object | Location | No |
Sublists
| Field | Type | Description | Required |
|---|---|---|---|
item | collection | Line items | Yes (at least 1) |
Line Items
The item sublist contains the products/services being refunded.
Item Line Fields
| Field | Type | Description | Required |
|---|---|---|---|
item | object | Item reference | Yes |
quantity | number | Quantity being refunded | Yes |
rate | number | Unit price | Yes |
amount | number | Line total (qty × rate) | Auto-calculated |
description | string | Line description | No |
taxCode | object | Tax code | No |
taxRate1 | number | Tax rate % | Auto-calculated |
grossAmt | number | Amount including tax | Auto-calculated |
Example: Create Cash Refund
POST /record/v1/cashRefund
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"account": {
"id": "10"
},
"paymentMethod": {
"id": "2"
},
"checkNum": "CHK-1001",
"memo": "Cash refund for returned items",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"rate": 99.99,
"description": "Widget Pro - Customer dissatisfied"
}
]
}
}
Response:
{
"id": "7001",
"tranId": "CR-7001",
"entity": {
"id": "456",
"refName": "Acme Corporation"
},
"tranDate": "2025-12-25",
"status": {
"id": "COMPLETED",
"refName": "Completed"
},
"subTotal": 99.99,
"taxTotal": 8.00,
"total": 107.99,
"links": [
{
"rel": "self",
"href": "https://{account}.suitetalk.api.netsuite.com/services/rest/record/v1/cashRefund/7001"
}
]
}
Example: Create Cash Refund from Cash Sale
POST /record/v1/cashRefund
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"createdFrom": {
"id": "4001"
},
"account": {
"id": "10"
},
"paymentMethod": {
"id": "1"
},
"memo": "Full refund - defective product",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 2,
"rate": 49.99
}
]
}
}
Auto-Fill from Cash Sale
When you provide createdFrom with a cash sale ID, NetSuite can auto-fill customer and item details.
Example: Update Cash Refund
PATCH /record/v1/cashRefund/7001
Content-Type: application/json
{
"memo": "Refund processed - check mailed",
"otherRefNum": "RMA-2025-001"
}
Cash Refund vs Credit Memo
| Cash Refund | Credit Memo |
|---|---|
| Immediate cash payment to customer | Credit on account |
| Reduces bank balance | Reduces A/R balance |
| Single transaction | Separate from payment |
| Use for returned cash sales | Use to apply against future invoices |
| Closes immediately | Remains open until applied |
Cash Refund vs Customer Refund
| Cash Refund | Customer Refund |
|---|---|
| Refunds returned items | Refunds overpayments/credits |
| Includes line items | Applies against credit memos |
| Reverses revenue | Reduces A/R credit balance |
| For product/service returns | For payment corrections |
Query Filters
Find Cash Refunds by Date
GET /record/v1/cashRefund?q=tranDate='2025-12-25'
Find by Customer
GET /record/v1/cashRefund?q=entity='456'
Find by Payment Method
GET /record/v1/cashRefund?q=paymentMethod='2'
Find by Date Range
GET /record/v1/cashRefund?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'
Find High-Value Refunds
GET /record/v1/cashRefund?q=total > 500
Find by Source Transaction
GET /record/v1/cashRefund?q=createdFrom='4001'
Important Notes
Accounting Impact
Creating a cash refund:
- Debit: Revenue/Income accounts (per line item)
- Debit: Sales Tax Payable (if applicable)
- Credit: Cash/Bank Account
This reverses both the revenue and cash from the original sale.
When to Use Cash Refunds
- Returned cash sales
- Defective products
- Customer cancellations
- Service not rendered
- Customer dissatisfaction
- Quick refund without credit process
Immediate Payment
- Cash refunds process payment immediately
- No separate customer refund transaction needed
- Reduces cash/bank balance immediately
- Cannot be partially applied
Payment Methods
Common methods for cash refunds:
- Check (most common)
- Cash
- Credit card refund (back to original card)
- ACH/EFT
- Store credit (use Credit Memo instead)
Credit Card Refunds
- Refund to original payment method
- May require payment processor integration
- Processing fees may apply
- Reversal time varies by processor
Return Authorization Workflow
Standard workflow for returns:
- Customer requests return
- Create Return Authorization (RMA)
- Receive items back
- Create Cash Refund
- Process payment to customer
Inventory Impact
- Returns items to inventory
- Updates item quantities
- Affects inventory valuation
- May trigger restock fees
Revenue Recognition
- Reverses revenue immediately
- Important for financial reporting
- Affects period-end close
- May impact revenue allocations
Voiding vs Deleting
- Void: Recommended for posted refunds
- Creates reversing journal entries
- Maintains audit trail
- Delete: Only if period unlocked and no GL impact
Multi-Currency
- Must match customer's currency
- Exchange rate captured at refund date
- May differ from original sale rate
- Exchange gain/loss may apply
See Also
- Cash Sale - Original cash sale
- Credit Memo - Issue account credits
- Customer Refund - Refund overpayments
- Return Authorization - Process returns