Vendor Return Authorization API
Create vendor return authorizations (VRAs) for returning items to vendors.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/vendorReturnAuthorization | List vendor return authorizations |
GET | /record/v1/vendorReturnAuthorization/{id} | Get specific VRA |
POST | /record/v1/vendorReturnAuthorization | Create VRA |
PATCH | /record/v1/vendorReturnAuthorization/{id} | Update VRA |
DELETE | /record/v1/vendorReturnAuthorization/{id} | Delete VRA |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | VRA number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | Return date | Yes |
subsidiary | object | Subsidiary | Yes (OneWorld) |
currency | object | Currency | Yes |
exchangeRate | number | Exchange rate | Auto-calculated |
total | number | Return amount (read-only) | - |
memo | string | Return reason/notes | No |
location | object | Return from location | No |
department | object | Department | No |
class | object | Class | No |
createdFrom | object | Source transaction (PO/Bill) | No |
item | collection | Items to return | Yes |
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
| Field | Type | Description | Required |
|---|---|---|---|
item | object | Item being returned | Yes |
quantity | number | Return quantity | Yes |
rate | number | Unit price | Yes |
amount | number | Line total (calculated) | - |
description | string | Return reason/notes | No |
location | object | Return from location | No |
department | object | Department | No |
class | object | Class | No |
customer | object | Customer (for job costing) | No |
inventoryDetail | object | Serial/lot numbers | No |
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
- Identify Defective/Unwanted Items - Quality check or inventory audit
- Create VRA - Document items to be returned
- Get Vendor Approval - Obtain RMA number from vendor
- Ship Items Back - Return items to vendor
- Receive Credit - Create Vendor Credit when approved
- 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
createdFromfield 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
totalfield 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
- Vendor Credit - Credits for returns
- Purchase Order - Source POs
- Item Receipt - Receiving items
- Vendor Bill - Original bills
- Vendor - Vendor records