Vendor Payment API
Record payments made to vendors for bills.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/vendorPayment | List vendor payments |
GET | /record/v1/vendorPayment/{id} | Get specific payment |
POST | /record/v1/vendorPayment | Create payment |
PATCH | /record/v1/vendorPayment/{id} | Update payment |
DELETE | /record/v1/vendorPayment/{id} | Delete payment |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | Payment number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | Payment date | Yes |
account | object | Bank account | Yes |
subsidiary | object | Subsidiary | Yes (OneWorld) |
currency | object | Currency | Yes |
exchangeRate | number | Exchange rate | Auto-calculated |
total | number | Payment amount | Yes |
memo | string | Payment memo | No |
paymentMethod | object | Payment method | No |
checkNum | string | Check number | No |
toBePrinted | boolean | Print check flag | No |
department | object | Department | No |
class | object | Class | No |
location | object | Location | No |
apply | collection | Bills to pay | No |
credit | collection | Credits to apply | No |
Example: Create Vendor Payment
POST /record/v1/vendorPayment
Content-Type: application/json
Request Body
{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"account": {
"id": "10"
},
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"total": 5000.00,
"paymentMethod": {
"id": "3"
},
"checkNum": "5678",
"memo": "Payment for invoices INV-001 and INV-002",
"department": {
"id": "10"
},
"apply": {
"items": [
{
"doc": { "id": "4001" },
"apply": true,
"amount": 2500.00
},
{
"doc": { "id": "4002" },
"apply": true,
"amount": 2500.00
}
]
}
}
Response
{
"id": "7001",
"tranId": "VP-2025-001",
"entity": {
"id": "789",
"refName": "Acme Suppliers Inc"
},
"tranDate": "2025-12-25",
"account": {
"id": "10",
"refName": "Main Operating Account"
},
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"currency": {
"id": "1",
"refName": "USD"
},
"exchangeRate": 1.0,
"total": 5000.00,
"paymentMethod": {
"id": "3",
"refName": "Check"
},
"checkNum": "5678",
"memo": "Payment for invoices INV-001 and INV-002",
"department": {
"id": "10",
"refName": "Operations"
},
"apply": {
"items": [
{
"doc": { "id": "4001", "refName": "Bill INV-001" },
"apply": true,
"amount": 2500.00,
"due": 2500.00,
"disc": 0.00
},
{
"doc": { "id": "4002", "refName": "Bill INV-002" },
"apply": true,
"amount": 2500.00,
"due": 2500.00,
"disc": 0.00
}
]
},
"links": [
{
"rel": "self",
"href": "https://account.suitetalk.api.netsuite.com/services/rest/record/v1/vendorPayment/7001"
}
]
}
Example: Update Vendor Payment
PATCH /record/v1/vendorPayment/7001
Content-Type: application/json
Request Body
{
"memo": "Payment for invoices INV-001 and INV-002 - Expedited",
"total": 5500.00,
"apply": {
"items": [
{
"doc": { "id": "4001" },
"apply": true,
"amount": 2500.00
},
{
"doc": { "id": "4002" },
"apply": true,
"amount": 2500.00
},
{
"doc": { "id": "4003" },
"apply": true,
"amount": 500.00
}
]
}
}
Apply Sublists
Apply Sublist Fields (Bills)
| Field | Type | Description | Required |
|---|---|---|---|
doc | object | Bill to pay | Yes |
apply | boolean | Apply payment flag | Yes |
amount | number | Payment amount | Yes |
due | number | Amount due (read-only) | - |
disc | number | Discount amount | No |
discDate | string | Discount date (read-only) | - |
discAmt | number | Available discount (read-only) | - |
Credit Sublist Fields
| Field | Type | Description | Required |
|---|---|---|---|
doc | object | Vendor credit to apply | Yes |
apply | boolean | Apply credit flag | Yes |
amount | number | Credit amount to apply | Yes |
total | number | Credit total (read-only) | - |
Example: Apply Vendor Credits
POST /record/v1/vendorPayment
Content-Type: application/json
Request Body
{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"account": {
"id": "10"
},
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"total": 2500.00,
"paymentMethod": {
"id": "3"
},
"checkNum": "5679",
"credit": {
"items": [
{
"doc": { "id": "6001" },
"apply": true,
"amount": 250.00
}
]
},
"apply": {
"items": [
{
"doc": { "id": "4004" },
"apply": true,
"amount": 2750.00
}
]
}
}
Example: Take Early Payment Discount
POST /record/v1/vendorPayment
Content-Type: application/json
Request Body
{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"account": {
"id": "10"
},
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"total": 2450.00,
"paymentMethod": {
"id": "3"
},
"apply": {
"items": [
{
"doc": { "id": "4005" },
"apply": true,
"amount": 2450.00,
"disc": 50.00
}
]
}
}
Query Filters
Find by Vendor
GET /record/v1/vendorPayment?q=entity='789'
Find by Date Range
GET /record/v1/vendorPayment?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'
Find by Check Number
GET /record/v1/vendorPayment?q=checkNum='5678'
Find Payments Over Amount
GET /record/v1/vendorPayment?q=total > 10000
Find by Payment Method
GET /record/v1/vendorPayment?q=paymentMethod='3'
Find by Bank Account
GET /record/v1/vendorPayment?q=account='10'
Payment Methods
Common payment method types:
| Method | Description |
|---|---|
| Check | Physical or printed checks |
| Cash | Cash payments |
| Credit Card | Credit card payments |
| ACH | Electronic bank transfers |
| Wire Transfer | Wire transfers |
| Other | Custom payment methods |
Important Notes
- Vendor payments reduce the cash/bank account and accounts payable
- The
totalfield must equal the sum of applied amounts plus credits - Payments can apply to multiple bills from the same vendor
- Credits are applied before cash/check amounts
- Early payment discounts are automatically calculated based on payment terms
- Multi-currency payments use the exchange rate from the payment date
- Payments cannot be applied to bills in different currencies
- The
toBePrintedflag is used for check printing workflows - Check numbers are required when payment method is "Check"
- Partial payments are supported by specifying less than the full bill amount
- Once a payment is applied, bills are marked as paid or partially paid
- Voiding a payment reverses all applications and restores bill balances
- Payment date must be within an open accounting period
- Department, class, and location are optional and used for reporting
See Also
- Vendor Bill - Bills to pay
- Vendor Credit - Credits to apply
- Check - Alternative payment method
- Vendor - Vendor records