Credit Memo API
Issue credits to customers for returns, billing adjustments, or discounts using the NetSuite REST API.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/creditMemo | List all credit memos |
GET | /record/v1/creditMemo/{id} | Get specific credit memo |
POST | /record/v1/creditMemo | Create new credit memo |
PATCH | /record/v1/creditMemo/{id} | Update credit memo |
DELETE | /record/v1/creditMemo/{id} | Delete credit memo |
Key Fields
Header Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID (read-only) | - |
tranId | string | Credit memo number | Auto-generated |
entity | object | Customer reference | Yes |
tranDate | string | Credit date (ISO 8601) | Yes |
status | object | Credit memo 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 | Credit amount (read-only) | - |
amountRemaining | number | Unapplied credit (read-only) | - |
amountPaid | number | Applied credit (read-only) | - |
Source Transaction
| Field | Type | Description | Required |
|---|---|---|---|
createdFrom | object | Source transaction (Invoice, 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 |
message | object | Message to customer | 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 credited.
Item Line Fields
| Field | Type | Description | Required |
|---|---|---|---|
item | object | Item reference | Yes |
quantity | number | Quantity being credited | 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 Credit Memo
POST /record/v1/creditMemo
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"salesRep": {
"id": "123"
},
"memo": "Return - defective items",
"message": {
"id": "1"
},
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 2,
"rate": 99.99,
"description": "Widget Pro - Defective units"
},
{
"item": { "id": "790" },
"quantity": 2,
"rate": 10.00,
"description": "Restocking fee"
}
]
}
}
Response:
{
"id": "6001",
"tranId": "CM-6001",
"entity": {
"id": "456",
"refName": "Acme Corporation"
},
"tranDate": "2025-12-25",
"status": {
"id": "OPEN",
"refName": "Open"
},
"subTotal": 219.98,
"taxTotal": 17.60,
"total": 237.58,
"amountRemaining": 237.58,
"amountPaid": 0.00,
"links": [
{
"rel": "self",
"href": "https://{account}.suitetalk.api.netsuite.com/services/rest/record/v1/creditMemo/6001"
}
]
}
Example: Create Credit Memo from Invoice
POST /record/v1/creditMemo
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"createdFrom": {
"id": "5001"
},
"memo": "Billing adjustment - overcharge",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"rate": 50.00,
"description": "Adjustment for overcharge"
}
]
}
}
Auto-Fill from Invoice
When you provide createdFrom with an invoice ID, NetSuite can auto-fill customer and other details from the invoice.
Example: Update Credit Memo
PATCH /record/v1/creditMemo/6001
Content-Type: application/json
{
"memo": "Return approved - credit issued",
"otherRefNum": "RMA-2025-001"
}
Apply Credit to Invoice
Credits can be applied when creating a Customer Payment:
POST /record/v1/customerPayment
Content-Type: application/json
{
"customer": {
"id": "456"
},
"tranDate": "2025-12-26",
"payment": 0,
"apply": {
"items": [
{
"doc": { "id": "5002" },
"apply": true,
"amount": 237.58
}
]
},
"credit": {
"items": [
{
"doc": { "id": "6001" },
"apply": true,
"amount": 237.58
}
]
}
}
This applies credit memo 6001 against invoice 5002.
Query Filters
Find Open Credit Memos
GET /record/v1/creditMemo?q=status='OPEN'
Find by Customer
GET /record/v1/creditMemo?q=entity='456'
Find Unapplied Credits
GET /record/v1/creditMemo?q=amountRemaining > 0
Find by Date Range
GET /record/v1/creditMemo?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'
Find High-Value Credits
GET /record/v1/creditMemo?q=total > 500
Find by Source Invoice
GET /record/v1/creditMemo?q=createdFrom='5001'
Important Notes
Accounting Impact
Creating a credit memo:
- Debit: Revenue/Income accounts (per line item)
- Debit: Sales Tax Payable (if applicable)
- Credit: Accounts Receivable
This reverses the accounting entries from the original sale.
When to Use Credit Memos
- Product returns (with Return Authorization)
- Billing adjustments
- Pricing corrections
- Volume discounts applied retroactively
- Service credits
- Customer goodwill credits
Credit Memo Statuses
| Status | Description |
|---|---|
OPEN | Credit available to apply |
FULLY_APPLIED | Credit fully used |
VOIDED | Credit voided |
Applying Credits
Credits can be applied to:
- Open invoices
- Future invoices
- Can be refunded via Customer Refund
- Applied via Customer Payment transaction
Credit Memo vs Cash Refund
| Credit Memo | Cash Refund |
|---|---|
| Credit on account | Immediate cash payment |
| Reduces A/R balance | Reduces cash balance |
| Apply against invoices | One-time transaction |
| Remains until applied | Closes immediately |
Source Transactions
- Can be created from Invoices
- Can be created from Return Authorizations (RMA)
- Can be standalone (no source)
- Maintains reference via
createdFrom
Multi-Currency Considerations
- Must match customer's currency
- Exchange rate captured at creation
- Applied credits use credit memo exchange rate
Revenue Impact
- Reverses revenue recognition
- Impacts financial reporting
- May trigger revenue allocation adjustments
- Important for period-end close
Item Returns
For physical product returns:
- Create Return Authorization (RMA)
- Receive items back (Item Receipt)
- Create Credit Memo
- Apply credit to customer account
See Also
- Invoice - Original invoices
- Return Authorization - Process returns
- Customer Refund - Issue cash refunds
- Customer Payment - Apply credits to invoices
- Cash Refund - Combined credit and refund