Aller au contenu

Sales orders

Sales orders for outgoing inventory.

Read endpoints expose line detail, sales-return totals, and per-item fulfillment progress.

A sales order with lines, per-line sales-return totals, per-item fulfillment progress, linked transactions, and custom fields.

idintegerminimum 0, maximum 2147483647obligatoire

Order id.

order_numberstringobligatoire

Order number.

order_timestringdate-timeobligatoire

Order date/time.

estimated_timestringdate-time, nullableobligatoire

Estimated fulfillment date/time.

statusstringobligatoire

Order status. Purchase and sales orders may also be draft.

Valeurs possiblesdraftconfirmedin-progressdone

partnerEntitynullableobligatoire

Supplier for purchase orders or customer for sales orders.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

total_pricestringobligatoire

Cached order total as a decimal string: the sum of the line totals plus any additional costs. Does not equal the sum of items[].total when the order carries costs.

currency_codestringnullableobligatoire

ISO currency code, or null when unset.

memostringobligatoire

Free-text memo. Empty string when not set.

revisionintegerminimum -9007199254740991, maximum 9007199254740991obligatoire

Optimistic-concurrency version.

created_byEntityobligatoire

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

created_atstringdate-timeobligatoire

Server-side creation timestamp.

updated_atstringdate-timeobligatoire

Last edit timestamp, or creation timestamp when never edited.

urlstringuriobligatoire

Web URL to view this order in the BoxHero app.

tagsarray of stringobligatoire

Read-only tags parsed from the memo.

custom_fieldsarray of objectobligatoire

Ordered custom field name-value pairs.

Afficher les propriétés
namestringobligatoire
valuestringobligatoire
itemsarray of SalesOrderLineobligatoire

Detailed order lines, including per-line sales-return totals.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Order line id.

rankintegerminimum -9007199254740991, maximum 9007199254740991obligatoire

Line rank in the order.

itemExtendedItemEntitynullableobligatoire

Set when the line references a single item.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

bundleExtendedItemEntitynullableobligatoire

Set when the line references a bundle.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

pricestringobligatoire

Unit price as stored on the line.

quantitynumberobligatoire

Quantity. May include up to four decimal places in core data.

tax_namestringnullableobligatoire

Tax name, or null when no tax is applied.

tax_ratestringnullableobligatoire

Tax rate as a percentage string.

tax_inclusivebooleannullableobligatoire

Whether the stored line price includes tax.

discount_namestringnullableobligatoire

Discount name, or null when no discount is applied.

discount_typestringnullableobligatoire

Discount type. "percent" is a 0-100 percentage; "amount" is an absolute amount.

Valeurs possiblespercentamount

discount_valuestringnullableobligatoire

Discount percentage or absolute amount.

subtotalstringobligatoire

price * quantity before discount and tax.

discount_amountstringobligatoire

Discount amount applied to this line.

tax_amountstringobligatoire

Inclusive plus exclusive tax amount for this line.

totalstringobligatoire

Final line total after discount and exclusive tax.

return_quantitynumberobligatoire

Quantity already returned across this order’s sales returns.

return_amountstringobligatoire

Amount already returned across this order’s sales returns.

costsarray of OrderCostobligatoire

Additional costs attached to the order, ordered by rank. Included in total_price but not in any items[] figure.

Afficher les propriétés
namestringobligatoire

Cost name.

amountstringobligatoire

Cost amount. Negative for a deduction such as a prepayment. Additional costs carry no tax or discount, so the amount is the final value.

rankintegerminimum -9007199254740991, maximum 9007199254740991obligatoire

Cost rank in the order.

tx_itemsarray of FulfillmentTxItemobligatoire

Per-item fulfillment progress. Bundle lines are exploded and duplicate items are collapsed.

Afficher les propriétés
itemExtendedItemEntityobligatoire

Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

ordered_quantitynumberobligatoire

Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.

fulfilled_quantitynumberobligatoire

Absolute quantity already fulfilled or received for this item.

pending_quantitynumberobligatoire

Remaining quantity for this item, clamped to zero when over-fulfilled.

transactionsarray of OrderTransactionSummaryobligatoire

Inventory transactions linked to this order.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Location transaction id.

typestringobligatoire

Fulfillment direction of an order-linked transaction.

Valeurs possiblesinout

transaction_timestringdate-timeobligatoire

Effective transaction time.

to_locationEntityobligatoire

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

count_of_itemsintegerminimum 0, maximum 9007199254740991obligatoire
total_quantitynumberobligatoire

Quantity. May include up to four decimal places in core data.

Exemple

{
"id": 90201,
"order_number": "SO-2001",
"order_time": "2026-01-15T09:30:00.000Z",
"estimated_time": "2026-01-20T00:00:00.000Z",
"status": "confirmed",
"partner": {
"id": 431488,
"name": "Northwind Retail",
"deleted": false
},
"total_price": "2187.56",
"currency_code": "USD",
"memo": "",
"revision": 3,
"created_by": {
"id": 1001,
"name": "John Smith",
"deleted": false
},
"created_at": "2026-01-15T09:30:00.000Z",
"updated_at": "2026-01-15T09:30:00.000Z",
"url": "https://app.boxhero-app.com/sales-orders/90201",
"tags": [
"wholesale"
],
"custom_fields": [],
"items": [
{
"id": 700201,
"rank": 0,
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"bundle": null,
"price": "19.99",
"quantity": 100,
"tax_name": null,
"tax_rate": null,
"tax_inclusive": null,
"discount_name": null,
"discount_type": null,
"discount_value": null,
"subtotal": "1999.00",
"discount_amount": "0.00",
"tax_amount": "0.00",
"total": "1999.00",
"return_quantity": 5,
"return_amount": "99.95"
},
{
"id": 700202,
"rank": 1,
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"bundle": null,
"price": "12.50",
"quantity": 20,
"tax_name": "Sales Tax",
"tax_rate": "8.25",
"tax_inclusive": false,
"discount_name": "Volume discount",
"discount_type": "percent",
"discount_value": "10",
"subtotal": "250.00",
"discount_amount": "25.00",
"tax_amount": "18.56",
"total": "243.56",
"return_quantity": 0,
"return_amount": "0.00"
}
],
"costs": [
{
"name": "Shipping fee",
"amount": "45.00",
"rank": 0
},
{
"name": "Prepayment",
"amount": "-100.00",
"rank": 1
}
],
"tx_items": [
{
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"ordered_quantity": 100,
"fulfilled_quantity": 60,
"pending_quantity": 40
},
{
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"ordered_quantity": 20,
"fulfilled_quantity": 20,
"pending_quantity": 0
}
],
"transactions": [
{
"id": 14012345,
"type": "out",
"transaction_time": "2026-01-16T11:00:00.000Z",
"to_location": {
"id": 47041,
"name": "Warehouse",
"deleted": false
},
"count_of_items": 1,
"total_quantity": 100
}
]
}