Skip to main content

Vendor Prepayment Application API

Apply vendor prepayments to bills.


Endpoints

MethodEndpointDescription
GET/record/v1/vendorPrepaymentApplicationList prepayment applications
GET/record/v1/vendorPrepaymentApplication/{id}Get specific application
POST/record/v1/vendorPrepaymentApplicationCreate application
PATCH/record/v1/vendorPrepaymentApplication/{id}Update application
DELETE/record/v1/vendorPrepaymentApplication/{id}Delete application

Key Fields

FieldTypeDescriptionRequired
idstringInternal ID-
tranIdstringApplication numberAuto-generated
entityobjectVendorYes
tranDatestringApplication dateYes
subsidiaryobjectSubsidiaryYes (OneWorld)
currencyobjectCurrencyYes
exchangeRatenumberExchange rateAuto-calculated
totalnumberTotal applied amount (read-only)-
memostringApplication memoNo
departmentobjectDepartmentNo
classobjectClassNo
locationobjectLocationNo
applycollectionBills to apply prepayment toYes

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

FieldTypeDescriptionRequired
docobjectBill to apply prepayment toYes
applybooleanApply flagYes
amountnumberAmount to applyYes
duenumberAmount due on bill (read-only)-
totalnumberBill 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

  1. Vendor Requires Prepayment - Create Vendor Prepayment
  2. Receive Invoice - Vendor sends bill
  3. Create Bill - Record vendor bill in NetSuite
  4. Apply Prepayment - Create Vendor Prepayment Application
  5. Bill Offset - Bill balance is reduced by prepayment amount
  6. 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 amountRemaining is reduced
  • Deleting an application reverses the offset and restores balances
  • Application date must be within an open accounting period
  • The total field 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