Skip to main content

Vendor Return Authorization API

Create vendor return authorizations (VRAs) for returning items to vendors.


Endpoints

MethodEndpointDescription
GET/record/v1/vendorReturnAuthorizationList vendor return authorizations
GET/record/v1/vendorReturnAuthorization/{id}Get specific VRA
POST/record/v1/vendorReturnAuthorizationCreate VRA
PATCH/record/v1/vendorReturnAuthorization/{id}Update VRA
DELETE/record/v1/vendorReturnAuthorization/{id}Delete VRA

Key Fields

FieldTypeDescriptionRequired
idstringInternal ID-
tranIdstringVRA numberAuto-generated
entityobjectVendorYes
tranDatestringReturn dateYes
subsidiaryobjectSubsidiaryYes (OneWorld)
currencyobjectCurrencyYes
exchangeRatenumberExchange rateAuto-calculated
totalnumberReturn amount (read-only)-
memostringReturn reason/notesNo
locationobjectReturn from locationNo
departmentobjectDepartmentNo
classobjectClassNo
createdFromobjectSource transaction (PO/Bill)No
itemcollectionItems to returnYes

Example: Create Vendor Return Authorization

POST /record/v1/vendorReturnAuthorization
Content-Type: application/json

Request Body

{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"location": {
"id": "1"
},
"department": {
"id": "10"
},
"memo": "Defective items - requesting replacement or credit",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 5,
"rate": 25.00,
"amount": 125.00,
"description": "Defective units - manufacturing defect"
},
{
"item": { "id": "790" },
"quantity": 3,
"rate": 50.00,
"amount": 150.00,
"description": "Damaged during shipping"
}
]
}
}

Response

{
"id": "10001",
"tranId": "VRA-2025-001",
"entity": {
"id": "789",
"refName": "Acme Suppliers Inc"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"currency": {
"id": "1",
"refName": "USD"
},
"exchangeRate": 1.0,
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"department": {
"id": "10",
"refName": "Operations"
},
"memo": "Defective items - requesting replacement or credit",
"total": 275.00,
"item": {
"items": [
{
"item": { "id": "789", "refName": "Widget A - Standard" },
"quantity": 5,
"rate": 25.00,
"amount": 125.00,
"description": "Defective units - manufacturing defect"
},
{
"item": { "id": "790", "refName": "Widget B - Premium" },
"quantity": 3,
"rate": 50.00,
"amount": 150.00,
"description": "Damaged during shipping"
}
]
},
"links": [
{
"rel": "self",
"href": "https://account.suitetalk.api.netsuite.com/services/rest/record/v1/vendorReturnAuthorization/10001"
}
]
}

Example: Update Vendor Return Authorization

PATCH /record/v1/vendorReturnAuthorization/10001
Content-Type: application/json

Request Body

{
"memo": "Defective items - RMA #VEN-12345 approved by vendor",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 8,
"rate": 25.00,
"amount": 200.00,
"description": "Defective units - additional units found during inspection"
},
{
"item": { "id": "790" },
"quantity": 3,
"rate": 50.00,
"amount": 150.00,
"description": "Damaged during shipping"
}
]
}
}

Line Items

Item Sublist Fields

FieldTypeDescriptionRequired
itemobjectItem being returnedYes
quantitynumberReturn quantityYes
ratenumberUnit priceYes
amountnumberLine total (calculated)-
descriptionstringReturn reason/notesNo
locationobjectReturn from locationNo
departmentobjectDepartmentNo
classobjectClassNo
customerobjectCustomer (for job costing)No
inventoryDetailobjectSerial/lot numbersNo

Example: Create VRA from Purchase Order

POST /record/v1/vendorReturnAuthorization
Content-Type: application/json

Request Body

{
"entity": {
"id": "789"
},
"tranDate": "2025-12-26",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"createdFrom": {
"id": "2001"
},
"memo": "Return excess inventory - overshipped",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 10,
"rate": 25.00,
"amount": 250.00
}
]
}
}

Query Filters

Find by Vendor

GET /record/v1/vendorReturnAuthorization?q=entity='789'

Find by Date Range

GET /record/v1/vendorReturnAuthorization?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'

Find Returns Over Amount

GET /record/v1/vendorReturnAuthorization?q=total > 500

Find by Location

GET /record/v1/vendorReturnAuthorization?q=location='1'

Find by Department

GET /record/v1/vendorReturnAuthorization?q=department='10'

Convert to Vendor Credit

Once vendor approves the return, create a vendor credit:

POST /record/v1/vendorCredit
Content-Type: application/json
{
"createdFrom": {
"id": "10001"
},
"entity": {
"id": "789"
},
"tranDate": "2025-12-27",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
}
}

Return Workflow

  1. Identify Defective/Unwanted Items - Quality check or inventory audit
  2. Create VRA - Document items to be returned
  3. Get Vendor Approval - Obtain RMA number from vendor
  4. Ship Items Back - Return items to vendor
  5. Receive Credit - Create Vendor Credit when approved
  6. Apply Credit - Apply to open bills or future purchases

Important Notes

  • Vendor Return Authorizations document items being returned to vendors
  • VRAs reduce inventory on hand when created
  • Common reasons include defects, overshipments, wrong items, or damage
  • The createdFrom field links the VRA to the original PO or bill
  • Vendor credits are typically created from VRAs once approved
  • Multi-currency VRAs use the exchange rate from the return date
  • Serial/lot tracked items require inventory detail on line items
  • The total field is calculated automatically from line items
  • VRAs can be created independently or from existing transactions
  • Items are removed from inventory immediately upon VRA creation
  • Vendor approval (RMA number) should be noted in the memo field
  • Some vendors may issue replacement items instead of credits
  • Department, class, and location can be set at header or line level
  • VRAs are part of the accounts payable workflow
  • Restocking fees can be handled as additional line items with negative amounts

See Also