Vendor Prepayment Application API
Apply vendor prepayments to bills.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/vendorPrepaymentApplication | List prepayment applications |
GET | /record/v1/vendorPrepaymentApplication/{id} | Get specific application |
POST | /record/v1/vendorPrepaymentApplication | Create application |
PATCH | /record/v1/vendorPrepaymentApplication/{id} | Update application |
DELETE | /record/v1/vendorPrepaymentApplication/{id} | Delete application |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | Application number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | Application date | Yes |
subsidiary | object | Subsidiary | Yes (OneWorld) |
currency | object | Currency | Yes |
exchangeRate | number | Exchange rate | Auto-calculated |
total | number | Total applied amount (read-only) | - |
memo | string | Application memo | No |
department | object | Department | No |
class | object | Class | No |
location | object | Location | No |
apply | collection | Bills to apply prepayment to | Yes |
Example: Create Prepayment Application
POST /record/v1/vendorPrepaymentApplication
Content-Type: application/json
Request Body
{
"entity": {
"id": "789"
},
"tranDate": "2026-01-15",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"department": {
"id": "10"
},
"memo": "Apply prepayment to equipment invoice",
"apply": {
"items": [
{
"doc": { "id": "4010" },
"apply": true,
"amount": 10000.00
}
]
}
}
Response
{
"id": "9001",
"tranId": "VPA-2026-001",
"entity": {
"id": "789",
"refName": "Acme Suppliers Inc"
},
"tranDate": "2026-01-15",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"currency": {
"id": "1",
"refName": "USD"
},
"exchangeRate": 1.0,
"total": 10000.00,
"department": {
"id": "10",
"refName": "Operations"
},
"memo": "Apply prepayment to equipment invoice",
"apply": {
"items": [
{
"doc": { "id": "4010", "refName": "Bill INV-100" },
"apply": true,
"amount": 10000.00,
"due": 10000.00
}
]
},
"links": [
{
"rel": "self",
"href": "https://account.suitetalk.api.netsuite.com/services/rest/record/v1/vendorPrepaymentApplication/9001"
}
]
}
Example: Update Prepayment Application
PATCH /record/v1/vendorPrepaymentApplication/9001
Content-Type: application/json
Request Body
{
"memo": "Apply prepayment to equipment invoice - Partial application",
"apply": {
"items": [
{
"doc": { "id": "4010" },
"apply": true,
"amount": 7500.00
},
{
"doc": { "id": "4011" },
"apply": true,
"amount": 2500.00
}
]
}
}
Apply Sublist
Apply Sublist Fields
| Field | Type | Description | Required |
|---|---|---|---|
doc | object | Bill to apply prepayment to | Yes |
apply | boolean | Apply flag | Yes |
amount | number | Amount to apply | Yes |
due | number | Amount due on bill (read-only) | - |
total | number | Bill total (read-only) | - |
Query Filters
Find by Vendor
GET /record/v1/vendorPrepaymentApplication?q=entity='789'
Find by Date Range
GET /record/v1/vendorPrepaymentApplication?q=tranDate BETWEEN '2026-01-01' AND '2026-12-31'
Find Applications Over Amount
GET /record/v1/vendorPrepaymentApplication?q=total > 5000
Find by Department
GET /record/v1/vendorPrepaymentApplication?q=department='10'
Find by Subsidiary
GET /record/v1/vendorPrepaymentApplication?q=subsidiary='1'
Application Workflow
- Vendor Requires Prepayment - Create Vendor Prepayment
- Receive Invoice - Vendor sends bill
- Create Bill - Record vendor bill in NetSuite
- Apply Prepayment - Create Vendor Prepayment Application
- Bill Offset - Bill balance is reduced by prepayment amount
- Pay Remaining - If bill exceeds prepayment, pay the difference
Example: Partial Application
Apply prepayment to multiple bills:
POST /record/v1/vendorPrepaymentApplication
Content-Type: application/json
{
"entity": {
"id": "789"
},
"tranDate": "2026-01-20",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"memo": "Apply prepayment across three invoices",
"apply": {
"items": [
{
"doc": { "id": "4012" },
"apply": true,
"amount": 4000.00
},
{
"doc": { "id": "4013" },
"apply": true,
"amount": 3000.00
},
{
"doc": { "id": "4014" },
"apply": true,
"amount": 3000.00
}
]
}
}
Important Notes
- Vendor Prepayment Applications link prepayments to bills
- The total applied amount cannot exceed the available prepayment balance
- Applications reduce both the prepayment balance and bill amounts due
- Multi-currency applications use the exchange rate from the application date
- Applications cannot be made between different currencies
- Prepayments and bills must be for the same vendor
- Partial applications are supported - apply less than the full prepayment
- Multiple applications can be made against a single prepayment
- Once applied, the bill's
amountRemainingis reduced - Deleting an application reverses the offset and restores balances
- Application date must be within an open accounting period
- The
totalfield is calculated automatically from the apply sublist - Applications can span multiple bills from the same vendor
- Department, class, and location are optional and used for reporting
- The application does not affect cash - it only offsets assets and liabilities
See Also
- Vendor Prepayment - Record prepayments
- Vendor Bill - Bills to apply to
- Vendor Payment - Pay remaining bill balance
- Vendor - Vendor records