Skip to main content

Vendor Prepayment API

Record prepayments made to vendors before receiving bills.


Endpoints

MethodEndpointDescription
GET/record/v1/vendorPrepaymentList vendor prepayments
GET/record/v1/vendorPrepayment/{id}Get specific prepayment
POST/record/v1/vendorPrepaymentCreate prepayment
PATCH/record/v1/vendorPrepayment/{id}Update prepayment
DELETE/record/v1/vendorPrepayment/{id}Delete prepayment

Key Fields

FieldTypeDescriptionRequired
idstringInternal ID-
tranIdstringPrepayment numberAuto-generated
entityobjectVendorYes
tranDatestringPrepayment dateYes
accountobjectBank accountYes
balancenumberPrepayment amountYes
unappliednumberUnapplied balance (read-only)-
appliednumberApplied amount (read-only)-
subsidiaryobjectSubsidiaryYes (OneWorld)
currencyobjectCurrencyYes
exchangeRatenumberExchange rateAuto-calculated
memostringPrepayment memoNo
paymentMethodobjectPayment methodNo
checkNumstringCheck numberNo
departmentobjectDepartmentNo
classobjectClassNo
locationobjectLocationNo

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

  1. Create Prepayment - Vendor requires deposit or advance payment
  2. Track Unapplied Balance - Monitor unapplied prepayments
  3. Receive Bill - Vendor bills for goods/services
  4. Apply Prepayment - Use Vendor Prepayment Application to offset bill
  5. Remaining Balance - Any unapplied amount remains for future bills

Important Notes

  • Vendor prepayments reduce cash but create a prepayment asset account
  • The balance field is the total prepayment amount
  • The unapplied field 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, unapplied becomes 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 applied field shows the cumulative amount already applied to bills

See Also