Vendor Prepayment API
Record prepayments made to vendors before receiving bills.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/vendorPrepayment | List vendor prepayments |
GET | /record/v1/vendorPrepayment/{id} | Get specific prepayment |
POST | /record/v1/vendorPrepayment | Create prepayment |
PATCH | /record/v1/vendorPrepayment/{id} | Update prepayment |
DELETE | /record/v1/vendorPrepayment/{id} | Delete prepayment |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | Prepayment number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | Prepayment date | Yes |
account | object | Bank account | Yes |
balance | number | Prepayment amount | Yes |
unapplied | number | Unapplied balance (read-only) | - |
applied | number | Applied amount (read-only) | - |
subsidiary | object | Subsidiary | Yes (OneWorld) |
currency | object | Currency | Yes |
exchangeRate | number | Exchange rate | Auto-calculated |
memo | string | Prepayment memo | No |
paymentMethod | object | Payment method | No |
checkNum | string | Check number | No |
department | object | Department | No |
class | object | Class | No |
location | object | Location | No |
Example: Create Vendor Prepayment
POST /record/v1/vendorPrepayment
Content-Type: application/json
Request Body
{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"account": {
"id": "10"
},
"balance": 10000.00,
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"paymentMethod": {
"id": "3"
},
"checkNum": "5680",
"department": {
"id": "10"
},
"memo": "Prepayment for large equipment order - PO #2025-100"
}
Response
{
"id": "8001",
"tranId": "VPP-2025-001",
"entity": {
"id": "789",
"refName": "Acme Suppliers Inc"
},
"tranDate": "2025-12-25",
"account": {
"id": "10",
"refName": "Main Operating Account"
},
"balance": 10000.00,
"unapplied": 10000.00,
"applied": 0.00,
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"currency": {
"id": "1",
"refName": "USD"
},
"exchangeRate": 1.0,
"paymentMethod": {
"id": "3",
"refName": "Check"
},
"checkNum": "5680",
"department": {
"id": "10",
"refName": "Operations"
},
"memo": "Prepayment for large equipment order - PO #2025-100",
"links": [
{
"rel": "self",
"href": "https://account.suitetalk.api.netsuite.com/services/rest/record/v1/vendorPrepayment/8001"
}
]
}
Example: Update Vendor Prepayment
PATCH /record/v1/vendorPrepayment/8001
Content-Type: application/json
Request Body
{
"memo": "Prepayment for large equipment order - PO #2025-100 - Confirmed by vendor",
"balance": 12000.00
}
Query Filters
Find Unapplied Prepayments
GET /record/v1/vendorPrepayment?q=unapplied > 0
Find by Vendor
GET /record/v1/vendorPrepayment?q=entity='789'
Find by Date Range
GET /record/v1/vendorPrepayment?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'
Find Prepayments Over Amount
GET /record/v1/vendorPrepayment?q=balance > 5000
Find by Department
GET /record/v1/vendorPrepayment?q=department='10'
Apply to Vendor Bill
Use Vendor Prepayment Application to apply prepayment when bill is received:
POST /record/v1/vendorPrepaymentApplication
Content-Type: application/json
{
"entity": {
"id": "789"
},
"tranDate": "2026-01-15",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"apply": {
"items": [
{
"doc": { "id": "4010" },
"apply": true,
"amount": 10000.00
}
]
}
}
Prepayment Workflow
- Create Prepayment - Vendor requires deposit or advance payment
- Track Unapplied Balance - Monitor unapplied prepayments
- Receive Bill - Vendor bills for goods/services
- Apply Prepayment - Use Vendor Prepayment Application to offset bill
- Remaining Balance - Any unapplied amount remains for future bills
Important Notes
- Vendor prepayments reduce cash but create a prepayment asset account
- The
balancefield is the total prepayment amount - The
unappliedfield tracks the remaining balance available for application - Prepayments are applied using Vendor Prepayment Application transactions
- Multi-currency prepayments use the exchange rate from the prepayment date
- Prepayments cannot be applied to bills in different currencies
- Common use cases include equipment deposits, retainer fees, and large orders
- Prepayments can be partially applied to multiple bills
- Once fully applied,
unappliedbecomes zero - The prepayment asset account is typically configured in accounting preferences
- Check numbers are required when payment method is "Check"
- Voiding a prepayment reverses all applications
- Prepayment date must be within an open accounting period
- Department, class, and location are optional and used for reporting
- The
appliedfield shows the cumulative amount already applied to bills
See Also
- Vendor Prepayment Application - Apply to bills
- Vendor Bill - Bills to apply prepayment to
- Purchase Order - Related POs
- Vendor - Vendor records