Sales orders
Sales orders for outgoing inventory.
Read endpoints expose line detail, sales-return totals, and per-item fulfillment progress.
SalesOrder 对象
Section titled “SalesOrder 对象”A sales order with lines, per-line sales-return totals, per-item fulfillment progress, linked transactions, and custom fields.
Order id.
Order number.
Order date/time.
Estimated fulfillment date/time.
Order status. Purchase and sales orders may also be draft.
可选值draftconfirmedin-progressdone
Supplier for purchase orders or customer for sales orders.
显示属性
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
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.
ISO currency code, or null when unset.
Free-text memo. Empty string when not set.
Optimistic-concurrency version.
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.
显示属性
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Server-side creation timestamp.
Last edit timestamp, or creation timestamp when never edited.
Web URL to view this order in the BoxHero app.
Read-only tags parsed from the memo.
Ordered custom field name-value pairs.
显示属性
Detailed order lines, including per-line sales-return totals.
显示属性
Order line id.
Line rank in the order.
Set when the line references a single item.
显示属性
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
Set when the line references a bundle.
显示属性
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
Unit price as stored on the line.
Quantity. May include up to four decimal places in core data.
Tax name, or null when no tax is applied.
Tax rate as a percentage string.
Whether the stored line price includes tax.
Discount name, or null when no discount is applied.
Discount type. "percent" is a 0-100 percentage; "amount" is an absolute amount.
可选值percentamount
Discount percentage or absolute amount.
price * quantity before discount and tax.
Discount amount applied to this line.
Inclusive plus exclusive tax amount for this line.
Final line total after discount and exclusive tax.
Quantity already returned across this order’s sales returns.
Amount already returned across this order’s sales returns.
Additional costs attached to the order, ordered by rank. Included in total_price but not in any items[] figure.
显示属性
Cost name.
Cost amount. Negative for a deduction such as a prepayment. Additional costs carry no tax or discount, so the amount is the final value.
Cost rank in the order.
Per-item fulfillment progress. Bundle lines are exploded and duplicate items are collapsed.
显示属性
Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.
显示属性
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.
Absolute quantity already fulfilled or received for this item.
Remaining quantity for this item, clamped to zero when over-fulfilled.
Inventory transactions linked to this order.
显示属性
Location transaction id.
Fulfillment direction of an order-linked transaction.
可选值inout
Effective transaction time.
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.
显示属性
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Quantity. May include up to four decimal places in core data.
示例
{ "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 } ]}- List sales orders
GET /v1/sales-orders - Create a sales order
POST /v1/sales-orders - Get a sales order
GET /v1/sales-orders/{order_id} - Update a sales order
PUT /v1/sales-orders/{order_id} - Delete a sales order
DELETE /v1/sales-orders/{order_id} - Update sales order status
PUT /v1/sales-orders/{order_id}/status - Ship sales order quantities
POST /v1/sales-orders/{order_id}/transactions - Ship all remaining sales order quantities
POST /v1/sales-orders/{order_id}/transactions/complete - Get a sales order by order number
GET /v1/sales-orders/by-number/{order_number} - Update a sales order by order number
PUT /v1/sales-orders/by-number/{order_number} - Delete a sales order by order number
DELETE /v1/sales-orders/by-number/{order_number} - Update sales order status by order number
PUT /v1/sales-orders/by-number/{order_number}/status - Create sales order fulfillment transaction by order number
POST /v1/sales-orders/by-number/{order_number}/transactions - Complete all remaining sales order fulfillment by order number
POST /v1/sales-orders/by-number/{order_number}/transactions/complete