Vendor Record API
Create, read, update, and delete vendor (supplier) records using the NetSuite REST API.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/vendor | List all vendors |
GET | /record/v1/vendor/{id} | Get specific vendor |
POST | /record/v1/vendor | Create new vendor |
PATCH | /record/v1/vendor/{id} | Update existing vendor |
DELETE | /record/v1/vendor/{id} | Delete vendor |
Key Fields
Identification & Basic Info
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID (read-only) | - |
entityId | string | Vendor ID/Name | Yes (if not auto) |
autoName | boolean | Auto-generate name | No |
companyName | string | Company name | Yes (if company) |
isPerson | boolean | Individual vs company | No |
firstName | string | First name (if person) | Conditional |
lastName | string | Last name (if person) | Conditional |
subsidiary | object | Primary subsidiary | Yes (if OneWorld) |
Contact Information
| Field | Type | Description |
|---|---|---|
email | string | Primary email address |
altEmail | string | Alternate email |
phone | string | Primary phone |
altPhone | string | Alternate phone |
fax | string | Fax number |
url | string | Website URL |
Financial Fields
| Field | Type | Description |
|---|---|---|
balance | number | Current A/P balance (read-only) |
creditLimit | number | Maximum credit limit |
terms | object | Payment terms |
currency | object | Vendor currency |
taxIdNum | string | Tax ID / EIN |
is1099Eligible | boolean | Subject to 1099 reporting (US) |
Classification
| Field | Type | Description |
|---|---|---|
category | object | Vendor category |
department | object | Department |
class | object | Classification |
location | object | Location |
Accounting Settings
| Field | Type | Description |
|---|---|---|
payablesAccount | object | A/P account |
expenseAccount | object | Default expense account |
Status & Dates
| Field | Type | Description |
|---|---|---|
isInactive | boolean | Inactive flag |
dateCreated | string | Creation date (read-only) |
lastModifiedDate | string | Last modified date (read-only) |
Sublists
| Field | Type | Description |
|---|---|---|
addressBook | collection | Vendor addresses |
currencyList | collection | Accepted currencies |
Example: Create Vendor
POST /record/v1/vendor
Content-Type: application/json
{
"companyName": "Office Supplies Inc",
"entityId": "VEND-001",
"isPerson": false,
"subsidiary": {
"id": "1"
},
"email": "ap@officesupplies.com",
"phone": "555-0300",
"terms": {
"id": "5"
},
"currency": {
"id": "1"
},
"category": {
"id": "2"
},
"taxIdNum": "12-3456789",
"is1099Eligible": true,
"expenseAccount": {
"id": "456"
}
}
Response
{
"links": [
{
"rel": "self",
"href": "https://1234567.suitetalk.api.netsuite.com/services/rest/record/v1/vendor/789"
}
],
"id": "789",
"refName": "Office Supplies Inc",
"entityId": "VEND-001",
"companyName": "Office Supplies Inc",
"email": "ap@officesupplies.com",
"balance": 0,
"dateCreated": "2025-12-25T11:00:00Z"
}
Example: Update Vendor
PATCH /record/v1/vendor/789
Content-Type: application/json
{
"email": "accounts.payable@officesupplies.com",
"phone": "555-0399",
"creditLimit": 25000
}
Query Filters
Find Vendors by Name
GET /record/v1/vendor?q=companyName LIKE 'Office%'
Find 1099 Eligible Vendors
GET /record/v1/vendor?q=is1099Eligible=true
Find Vendors with Balance Due
GET /record/v1/vendor?q=balance > 0
Important Notes
Required Fields
- OneWorld Accounts:
subsidiaryis required - Company:
companyNamerequired ifisPerson=false - Individual:
firstNameandlastNamerequired ifisPerson=true - Entity ID: Required unless
autoName=true
1099 Reporting
For US accounts, mark vendors as is1099Eligible: true to track payments for 1099 tax reporting.
See Also
- Vendor Category - Categorize vendors
- Purchase Order - Create POs for vendors
- Vendor Bill - Record bills from vendors
- Vendor Payment - Pay vendor bills