Skip to main content

Cash Sale API

Cash sales combine an invoice and payment in a single transaction for immediate payment scenarios.


Endpoints

MethodEndpointDescription
GET/record/v1/cashSaleList all cash sales
GET/record/v1/cashSale/{id}Get specific cash sale
POST/record/v1/cashSaleCreate new cash sale
PATCH/record/v1/cashSale/{id}Update cash sale
DELETE/record/v1/cashSale/{id}Delete cash sale

Key Fields

Header Fields

FieldTypeDescriptionRequired
idstringInternal ID (read-only)-
tranIdstringCash sale numberAuto-generated
entityobjectCustomer referenceYes
tranDatestringSale date (ISO 8601)Yes
statusobjectCash sale statusRead-only
subsidiaryobjectSubsidiaryYes (OneWorld)

Financial Fields

FieldTypeDescriptionRequired
currencyobjectTransaction currencyYes
exchangeRatenumberExchange rateAuto-calculated
subTotalnumberSubtotal (read-only)-
taxTotalnumberTotal tax (read-only)-
totalnumberGrand total (read-only)-

Payment Fields

FieldTypeDescriptionRequired
paymentnumberPayment amount receivedNo
paymentMethodobjectPayment methodNo
creditCardobjectCredit card referenceConditional
ccNumberstringCredit card number (last 4)No
ccApprovedbooleanCredit card approvedRead-only
checkNumstringCheck numberNo
accountobjectDeposit to accountConditional
undepFundsbooleanUndeposited fundsNo

Billing & Shipping

FieldTypeDescriptionRequired
billAddr1stringBilling address line 1No
billCitystringBilling cityNo
billStatestringBilling state/provinceNo
billZipstringBilling postal codeNo
shipAddr1stringShipping address line 1No
shipCitystringShipping cityNo
shipStatestringShipping state/provinceNo
shipZipstringShipping postal codeNo

Other Fields

FieldTypeDescriptionRequired
salesRepobjectSales representativeNo
memostringInternal memoNo
messageobjectMessage to customerNo
classobjectDepartment/classNo
locationobjectLocationNo

Sublists

FieldTypeDescriptionRequired
itemcollectionLine itemsYes (at least 1)

Line Items

The item sublist contains the products/services sold.

Item Line Fields

FieldTypeDescriptionRequired
itemobjectItem referenceYes
quantitynumberQuantity soldYes
ratenumberUnit priceYes
amountnumberLine total (qty × rate)Auto-calculated
descriptionstringLine descriptionNo
taxCodeobjectTax codeNo
taxRate1numberTax rate %Auto-calculated
grossAmtnumberAmount including taxAuto-calculated
isClosedbooleanLine closedNo

Example: Create Cash Sale

POST /record/v1/cashSale
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"paymentMethod": {
"id": "1"
},
"account": {
"id": "10"
},
"salesRep": {
"id": "123"
},
"memo": "Walk-in customer purchase",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 2,
"rate": 49.99,
"description": "Widget Pro - Blue"
},
{
"item": { "id": "790" },
"quantity": 1,
"rate": 19.99,
"description": "Shipping & Handling"
}
]
}
}

Response:

{
"id": "4001",
"tranId": "CS-4001",
"entity": {
"id": "456",
"refName": "Acme Corporation"
},
"tranDate": "2025-12-25",
"status": {
"id": "DEPOSITED",
"refName": "Deposited"
},
"subTotal": 119.97,
"taxTotal": 9.60,
"total": 129.57,
"payment": 129.57,
"links": [
{
"rel": "self",
"href": "https://{account}.suitetalk.api.netsuite.com/services/rest/record/v1/cashSale/4001"
}
]
}

Example: Create Cash Sale with Credit Card

POST /record/v1/cashSale
Content-Type: application/json
{
"entity": {
"id": "456"
},
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"paymentMethod": {
"id": "5"
},
"creditCard": {
"id": "2"
},
"ccApproved": true,
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"rate": 299.99
}
]
}
}

Example: Update Cash Sale

PATCH /record/v1/cashSale/4001
Content-Type: application/json
{
"memo": "Customer requested rush delivery",
"otherRefNum": "PO-12345"
}

Payment Methods

Common payment methods used with cash sales:

Payment MethodUse Case
CashPhysical cash payments
CheckCheck payments
Credit CardCredit/debit card payments
ACH/EFTElectronic bank transfers
Wire TransferWire transfers
PayPal/StripeOnline payment gateways

Undeposited Funds

Set undepFunds: true to hold payment for later bank deposit:

{
"entity": { "id": "456" },
"tranDate": "2025-12-25",
"undepFunds": true,
"paymentMethod": { "id": "1" },
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 1,
"rate": 99.99
}
]
}
}

When undepFunds is true:

  • Payment goes to Undeposited Funds account
  • Later included in a Deposit record
  • Common for batch deposits
  • Allows grouping multiple payments

Query Filters

Find Cash Sales by Date

GET /record/v1/cashSale?q=tranDate='2025-12-25'

Find by Customer

GET /record/v1/cashSale?q=entity='456'

Find by Payment Method

GET /record/v1/cashSale?q=paymentMethod='1'

Find Undeposited Funds

GET /record/v1/cashSale?q=undepFunds=true

Find by Date Range

GET /record/v1/cashSale?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'

Find High-Value Sales

GET /record/v1/cashSale?q=total > 1000

Important Notes

Accounting Impact

Creating a cash sale:

  • Debit: Cash/Bank Account (or Undeposited Funds)
  • Credit: Revenue/Income accounts (per line item)
  • Credit: Sales Tax Payable (if applicable)

When to Use Cash Sales

  • Point of sale transactions
  • Walk-in customers
  • COD (Cash on Delivery) sales
  • E-commerce with immediate payment
  • Prepaid services

Cash Sale vs Invoice

Cash SaleInvoice
Payment received immediatelyPayment received later
Single transactionSeparate payment transaction
Simpler workflowBetter for credit terms
No A/R createdCreates A/R balance

Payment Amount

  • If payment is omitted, defaults to transaction total
  • Can be less than total for partial payment
  • Remaining balance creates A/R
  • Overpayment creates customer credit

Credit Card Processing

  • Requires credit card processor setup
  • Real-time authorization possible
  • Tokenization for security
  • ccApproved indicates authorization status

Revenue Recognition

  • Revenue recognized immediately
  • Not deferred unless using revenue recognition features
  • Date of sale is recognition date

Voiding vs Deleting

  • Void: Recommended for posted transactions
  • Creates reversing entries
  • Maintains audit trail
  • Delete: Only if period unlocked and no dependencies

See Also