Skip to main content

Credit Memo API

Issue credits to customers for returns, billing adjustments, or discounts using the NetSuite REST API.


Endpoints

MethodEndpointDescription
GET/record/v1/creditMemoList all credit memos
GET/record/v1/creditMemo/{id}Get specific credit memo
POST/record/v1/creditMemoCreate new credit memo
PATCH/record/v1/creditMemo/{id}Update credit memo
DELETE/record/v1/creditMemo/{id}Delete credit memo

Key Fields

Header Fields

FieldTypeDescriptionRequired
idstringInternal ID (read-only)-
tranIdstringCredit memo numberAuto-generated
entityobjectCustomer referenceYes
tranDatestringCredit date (ISO 8601)Yes
statusobjectCredit memo statusRead-only
subsidiaryobjectSubsidiaryYes (OneWorld)

Financial Fields

FieldTypeDescriptionRequired
currencyobjectTransaction currencyYes
exchangeRatenumberExchange rateAuto-calculated
subTotalnumberSubtotal (read-only)-
taxTotalnumberTotal tax (read-only)-
totalnumberCredit amount (read-only)-
amountRemainingnumberUnapplied credit (read-only)-
amountPaidnumberApplied credit (read-only)-

Source Transaction

FieldTypeDescriptionRequired
createdFromobjectSource transaction (Invoice, RMA)No
otherRefNumstringExternal referenceNo

Billing & Shipping

FieldTypeDescriptionRequired
billAddr1stringBilling address line 1No
billCitystringBilling cityNo
billStatestringBilling state/provinceNo
billZipstringBilling postal codeNo
shipAddr1stringShipping address line 1No
shipCitystringShipping cityNo
shipStatestringShipping state/provinceNo
shipZipstringShipping postal codeNo

Other Fields

FieldTypeDescriptionRequired
salesRepobjectSales representativeNo
memostringInternal memoNo
messageobjectMessage to customerNo
classobjectDepartment/classNo
locationobjectLocationNo

Sublists

FieldTypeDescriptionRequired
itemcollectionLine itemsYes (at least 1)

Line Items

The item sublist contains the products/services being credited.

Item Line Fields

FieldTypeDescriptionRequired
itemobjectItem referenceYes
quantitynumberQuantity being creditedYes
ratenumberUnit priceYes
amountnumberLine total (qty × rate)Auto-calculated
descriptionstringLine descriptionNo
taxCodeobjectTax codeNo
taxRate1numberTax rate %Auto-calculated
grossAmtnumberAmount including taxAuto-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

StatusDescription
OPENCredit available to apply
FULLY_APPLIEDCredit fully used
VOIDEDCredit 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 MemoCash Refund
Credit on accountImmediate cash payment
Reduces A/R balanceReduces cash balance
Apply against invoicesOne-time transaction
Remains until appliedCloses 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:

  1. Create Return Authorization (RMA)
  2. Receive items back (Item Receipt)
  3. Create Credit Memo
  4. Apply credit to customer account

See Also