Edara API v3

Edara API v3: Sales Orders

Read the guide first: authentication, paging, errors, rate limits and the shared PagedResult, BatchResult and *Reference shapes.

Endpoints

GET /v3/sales-orders: Lists sales orders.

Operation GetSalesOrders · permission read:sales-order

Query string: GetSalesOrdersQuery

field type default validation description
offset int? 0 >= 0 Number of items to skip before returning results. Defaults to 0.
limit int? 100 1..1000 (out of range → 400) Maximum number of items to return. Defaults to 100, maximum 1000.
documentCode string Document code filter.
paperNumber string Paper/reference number filter.
warehouseId int? Warehouse id filter.
salesPersonId int? Sales person id filter.
tags List<string> Tags filter.
orderDateFrom DateTime? Inclusive lower bound of the document date range.
orderDateTo DateTime? Inclusive upper bound of the document date range.
orderStatus SalesOrderStatus? Order status filter.
createdBy string Creator filter.
warehouseOnly bool true Whether to limit to warehouse orders only.
onlyMyOrders bool true Whether to limit results to orders created by the current user. Defaults to true.
customerId int? Customer id filter.
paymentStatus SalesOrderPaymentStatus? Payment status filter.

Responses: OK PagedResult<SalesOrderHeaderListResponse>: Paged list of sales orders.

Notes


GET /v3/sales-orders/{id}: Gets a sales order by id.

Operation GetSalesOrderById · permission read:sales-order

Parameters

name in type default description
id route int The sales order id.

Responses: OK SalesOrderResponse: The sales order.

Notes


POST /v3/sales-orders: Creates a sales order.

Operation CreateSalesOrder · permission create:sales-order

Body: SalesOrderRequest

field type default validation description
id int? The sales order id (set on update only).
orderStatus SalesOrderStatus? The initial order status.
paperNumber string The paper number printed on the source document.
runSheetId string The run-sheet identifier when grouped for delivery.
customerId int? NotNull() .GreaterThan(0) The id of the customer the order is issued to. Required.
salesPersonId int? The id of the sales person credited with the sale.
warehouseId int? The id of the warehouse the items are issued from.
salesStoreId int? The id of the sales store originating the order.
shippmentCost decimal? The shipment cost charged on the order.
documentDate DateTime? NotNull() The document date. Required.
shippingDate DateTime? The planned shipping date.
grossTotal decimal? The gross total before discounts and tax.
subTotal decimal? The subtotal after item-level discounts, before order-level discount and tax.
netTotal decimal? The final payable amount.
totalItemsDiscounts decimal? The sum of all item-level discounts.
discount decimal? The order-level discount amount.
discountRate decimal? The order-level discount rate as a percentage.
taxable bool? Whether tax should be applied to the order.
applyTaxAfterDiscount bool? Whether tax is computed after applying the order-level discount.
tax decimal? The total tax amount.
cashAmount decimal? The amount paid in cash at order creation.
onAccountAmount decimal? The amount placed on the customer account (credit).
cashPaid decimal? The cash already collected against the order.
currencyId int? The id of the document currency.
exchangeRate decimal? The exchange rate against the system currency at the document date.
channel string The sales channel originating the order (e.g. web, POS).
notes string Free-form notes captured on the order.
externalId string An external identifier supplied by the caller for reconciliation.
relatedWorkOrderCode string The related work-order code, when one was already generated.
relatedWorkOrderValue decimal? The value of the related work order.
tags List<string> The tags to assign to the order.
isApproved bool? Whether the order is approved for fulfillment.
costCenterId int? The id of the cost center to associate with the order.
requireAutoWorkorder bool? Whether a work order should be auto-generated on issue.
salesOrderDetails List<SalesOrderDetailRequest> new List() NotNull() .NotEmpty(); each: SetValidator(new SalesOrderDetailRequestValidator()) .When(x => x.SalesOrderDetails != null) The line items on the order. Required, at least one.
salesOrderInstallments List<SalesOrderInstallmentRequest> new List() each: SetValidator(new SalesOrderInstallmentRequestValidator()) .When(x => x.SalesOrderInstallments != null) The payment installments scheduled against the order.

Responses: Created SalesOrderResponse: Sales order created.

Business errors (HTTP 409, match on errorCode):

Notes


POST /v3/sales-orders/issued: Creates an issued sales order.

Operation CreateIssuedSalesOrder · permission create:sales-order

Body: SalesOrderRequest

field type default validation description
id int? The sales order id (set on update only).
orderStatus SalesOrderStatus? The initial order status.
paperNumber string The paper number printed on the source document.
runSheetId string The run-sheet identifier when grouped for delivery.
customerId int? NotNull() .GreaterThan(0) The id of the customer the order is issued to. Required.
salesPersonId int? The id of the sales person credited with the sale.
warehouseId int? The id of the warehouse the items are issued from.
salesStoreId int? The id of the sales store originating the order.
shippmentCost decimal? The shipment cost charged on the order.
documentDate DateTime? NotNull() The document date. Required.
shippingDate DateTime? The planned shipping date.
grossTotal decimal? The gross total before discounts and tax.
subTotal decimal? The subtotal after item-level discounts, before order-level discount and tax.
netTotal decimal? The final payable amount.
totalItemsDiscounts decimal? The sum of all item-level discounts.
discount decimal? The order-level discount amount.
discountRate decimal? The order-level discount rate as a percentage.
taxable bool? Whether tax should be applied to the order.
applyTaxAfterDiscount bool? Whether tax is computed after applying the order-level discount.
tax decimal? The total tax amount.
cashAmount decimal? The amount paid in cash at order creation.
onAccountAmount decimal? The amount placed on the customer account (credit).
cashPaid decimal? The cash already collected against the order.
currencyId int? The id of the document currency.
exchangeRate decimal? The exchange rate against the system currency at the document date.
channel string The sales channel originating the order (e.g. web, POS).
notes string Free-form notes captured on the order.
externalId string An external identifier supplied by the caller for reconciliation.
relatedWorkOrderCode string The related work-order code, when one was already generated.
relatedWorkOrderValue decimal? The value of the related work order.
tags List<string> The tags to assign to the order.
isApproved bool? Whether the order is approved for fulfillment.
costCenterId int? The id of the cost center to associate with the order.
requireAutoWorkorder bool? Whether a work order should be auto-generated on issue.
salesOrderDetails List<SalesOrderDetailRequest> new List() NotNull() .NotEmpty(); each: SetValidator(new SalesOrderDetailRequestValidator()) .When(x => x.SalesOrderDetails != null) The line items on the order. Required, at least one.
salesOrderInstallments List<SalesOrderInstallmentRequest> new List() each: SetValidator(new SalesOrderInstallmentRequestValidator()) .When(x => x.SalesOrderInstallments != null) The payment installments scheduled against the order.

Responses: Created SalesOrderResponse: Sales order created.

Business errors (HTTP 409, match on errorCode):

Notes


PUT /v3/sales-orders/header: Updates a sales order header.

Operation UpdateSalesOrderHeader · permission update:sales-order

Body: SalesOrderRequest

field type default validation description
id int? The sales order id (set on update only).
orderStatus SalesOrderStatus? The initial order status.
paperNumber string The paper number printed on the source document.
runSheetId string The run-sheet identifier when grouped for delivery.
customerId int? NotNull() .GreaterThan(0) The id of the customer the order is issued to. Required.
salesPersonId int? The id of the sales person credited with the sale.
warehouseId int? The id of the warehouse the items are issued from.
salesStoreId int? The id of the sales store originating the order.
shippmentCost decimal? The shipment cost charged on the order.
documentDate DateTime? NotNull() The document date. Required.
shippingDate DateTime? The planned shipping date.
grossTotal decimal? The gross total before discounts and tax.
subTotal decimal? The subtotal after item-level discounts, before order-level discount and tax.
netTotal decimal? The final payable amount.
totalItemsDiscounts decimal? The sum of all item-level discounts.
discount decimal? The order-level discount amount.
discountRate decimal? The order-level discount rate as a percentage.
taxable bool? Whether tax should be applied to the order.
applyTaxAfterDiscount bool? Whether tax is computed after applying the order-level discount.
tax decimal? The total tax amount.
cashAmount decimal? The amount paid in cash at order creation.
onAccountAmount decimal? The amount placed on the customer account (credit).
cashPaid decimal? The cash already collected against the order.
currencyId int? The id of the document currency.
exchangeRate decimal? The exchange rate against the system currency at the document date.
channel string The sales channel originating the order (e.g. web, POS).
notes string Free-form notes captured on the order.
externalId string An external identifier supplied by the caller for reconciliation.
relatedWorkOrderCode string The related work-order code, when one was already generated.
relatedWorkOrderValue decimal? The value of the related work order.
tags List<string> The tags to assign to the order.
isApproved bool? Whether the order is approved for fulfillment.
costCenterId int? The id of the cost center to associate with the order.
requireAutoWorkorder bool? Whether a work order should be auto-generated on issue.
salesOrderDetails List<SalesOrderDetailRequest> new List() NotNull() .NotEmpty(); each: SetValidator(new SalesOrderDetailRequestValidator()) .When(x => x.SalesOrderDetails != null) The line items on the order. Required, at least one.
salesOrderInstallments List<SalesOrderInstallmentRequest> new List() each: SetValidator(new SalesOrderInstallmentRequestValidator()) .When(x => x.SalesOrderInstallments != null) The payment installments scheduled against the order.

Responses: OK SalesOrderResponse: The updated sales order. · NotFound ProblemDetails: Sales order not found.

Business errors (HTTP 409, match on errorCode):

Notes


PUT /v3/sales-orders/code/{code}: Updates a sales order by code.

Operation UpdateSalesOrderByCode · permission update:sales-order

Parameters

name in type default description
code route string The sales order code.

Body: SalesOrderRequest

field type default validation description
id int? The sales order id (set on update only).
orderStatus SalesOrderStatus? The initial order status.
paperNumber string The paper number printed on the source document.
runSheetId string The run-sheet identifier when grouped for delivery.
customerId int? NotNull() .GreaterThan(0) The id of the customer the order is issued to. Required.
salesPersonId int? The id of the sales person credited with the sale.
warehouseId int? The id of the warehouse the items are issued from.
salesStoreId int? The id of the sales store originating the order.
shippmentCost decimal? The shipment cost charged on the order.
documentDate DateTime? NotNull() The document date. Required.
shippingDate DateTime? The planned shipping date.
grossTotal decimal? The gross total before discounts and tax.
subTotal decimal? The subtotal after item-level discounts, before order-level discount and tax.
netTotal decimal? The final payable amount.
totalItemsDiscounts decimal? The sum of all item-level discounts.
discount decimal? The order-level discount amount.
discountRate decimal? The order-level discount rate as a percentage.
taxable bool? Whether tax should be applied to the order.
applyTaxAfterDiscount bool? Whether tax is computed after applying the order-level discount.
tax decimal? The total tax amount.
cashAmount decimal? The amount paid in cash at order creation.
onAccountAmount decimal? The amount placed on the customer account (credit).
cashPaid decimal? The cash already collected against the order.
currencyId int? The id of the document currency.
exchangeRate decimal? The exchange rate against the system currency at the document date.
channel string The sales channel originating the order (e.g. web, POS).
notes string Free-form notes captured on the order.
externalId string An external identifier supplied by the caller for reconciliation.
relatedWorkOrderCode string The related work-order code, when one was already generated.
relatedWorkOrderValue decimal? The value of the related work order.
tags List<string> The tags to assign to the order.
isApproved bool? Whether the order is approved for fulfillment.
costCenterId int? The id of the cost center to associate with the order.
requireAutoWorkorder bool? Whether a work order should be auto-generated on issue.
salesOrderDetails List<SalesOrderDetailRequest> new List() NotNull() .NotEmpty(); each: SetValidator(new SalesOrderDetailRequestValidator()) .When(x => x.SalesOrderDetails != null) The line items on the order. Required, at least one.
salesOrderInstallments List<SalesOrderInstallmentRequest> new List() each: SetValidator(new SalesOrderInstallmentRequestValidator()) .When(x => x.SalesOrderInstallments != null) The payment installments scheduled against the order.

Responses: OK SalesOrderResponse: The updated sales order. · NotFound ProblemDetails: Sales order not found.

Business errors (HTTP 409, match on errorCode):

Notes


PATCH /v3/sales-orders/code/{code}/tags: Updates sales order tags by code.

Operation UpdateSalesOrderTags · permission update:sales-order

Parameters

name in type default description
code route string The sales order code.

Body: SalesOrderTagsUpdateRequest

field type default validation description
tags List<string> The full set of tags to assign to the order (replaces any existing tags).

Responses: OK SalesOrderResponse: The updated sales order. · NotFound ProblemDetails: Sales order not found.

Business errors (HTTP 409, match on errorCode):

Notes


DELETE /v3/sales-orders/{id}: Deletes a sales order by id.

Operation DeleteSalesOrder · permission delete:sales-order

Parameters

name in type default description
id route int The sales order id.

Responses: NoContent: (not declared; read from the method body)

Business errors (HTTP 409, match on errorCode):

Notes


PATCH /v3/sales-orders/{id}/cancel: Cancels a sales order by id.

Operation CancelSalesOrderById · permission update:sales-order

Parameters

name in type default description
id route int The sales order id.

Responses: OK SalesOrderActionResponse: The cancelled sales order.

Business errors (HTTP 409, match on errorCode):

Notes


PATCH /v3/sales-orders/code/{code}/cancel: Cancels a sales order by code.

Operation CancelSalesOrderByCode · permission update:sales-order

Parameters

name in type default description
code route string The sales order code.

Responses: OK SalesOrderActionResponse: The cancelled sales order. · NotFound ProblemDetails: Sales order not found or not in a cancellable state.

Business errors (HTTP 409, match on errorCode):

Notes


PATCH /v3/sales-orders/code/{code}/status: Updates sales order status by code.

Operation UpdateSalesOrderStatus · permission update:sales-order

Parameters

name in type default description
code route string The sales order code.

Body: UpdateSalesOrderStatusRequest

field type default validation description
status UpdateableSalesOrderStatus? NotNull() Target status.

Responses: OK SalesOrderActionResponse: The updated sales order. · NotFound ProblemDetails: Sales order not found.

Business errors (HTTP 409, match on errorCode):

Notes


PATCH /v3/sales-orders/code/{code}/unissue: Unissues a sales order by code.

Operation UnIssueSalesOrderByCode · permission update:sales-order

Parameters

name in type default description
code route string The sales order code.

Responses: OK SalesOrderActionResponse: The unissued sales order. · NotFound ProblemDetails: Sales order not found.

Business errors (HTTP 409, match on errorCode):

Notes


GET /v3/sales-orders/print-templates: Lists print templates.

Operation GetSalesOrderPrintTemplates · permission print:sales-order

Query string: GetSalesOrderPrintTemplatesQuery

field type default validation description
offset int? 0 no validator: negative silently becomes 0 Number of items to skip before returning results. Defaults to 0.
limit int? 100 no validator: out of 1..1000 silently becomes 100 Maximum number of items to return. Defaults to 100, maximum 1000.
updateDate DateTime? Inclusive lower bound of the print-template update date.

Responses: OK PagedResult<SalesOrderPrintTemplateResponse>: Paged list of print templates.

Notes


GET /v3/sales-orders/print-templates/{templateId}: Gets a print template by id.

Operation GetSalesOrderPrintTemplateById · permission print:sales-order

Parameters

name in type default description
templateId route int The print template id.

Responses: OK SalesOrderPrintTemplateResponse: The print template. · NotFound ProblemDetails: Print template not found.

Notes


POST /v3/sales-orders/cash-in: Records a sales order cash-in.

Operation CreateCashInForSalesOrder · permission create:cash-transaction

Body: CashInForSalesOrderRequest

field type default validation description
documentCode string Generated accounting document code.
paperNumber string Paper or external reference number.
salesPersonId int? Sales person id.
documentDate DateTime? Accounting document date.
paidAmount decimal? NotNull() .GreaterThan(0) Amount paid. Required.
relatedSalesOrderCode string NotEmpty() Sales-order code the receipt is posted against. Required.
cashAccountId int? NotNull() .GreaterThan(0) Cash account id receiving the payment. Required.
notes string Additional notes.

Responses: Created CashTransactionResponse: Cash-in document created. · NotFound ProblemDetails: Related sales order or cash account not found.

Business errors (HTTP 409, match on errorCode):

Notes

Types

AccountReference

Lightweight account reference (id + code + name).

field type description
id int The account id.
code string The account code.
name string The account name.

CashTransactionResponse

Response describing a created cash transaction.

field type description
documentCode string The generated accounting document code.

CurrencyReference

Lightweight currency reference (id + ISO code + name).

field type description
id int The currency id.
code string The ISO 4217 currency code.
name string The currency name.

CustomerReference

Lightweight customer reference (id + code + name).

field type description
id int The customer id.
code string The customer code.
name string The customer name.

DocumentType

Document type codes shared across sales, purchase, and warehouse domains.

Values (sent/returned as the name): RS, RR, RT, IO, IR, IT, TR, CI, CO, JE, SI, PI, CN, DN, NR, NP, SO, SR, RecSO, PO, PR, OB, RMA

InstallmentPaymentType

Payment method for a sales-order installment.

Values (sent/returned as the name): Cash=0, Installments=1

SalesOrderActionResponse

Response describing a sales-order state transition (issue / cancel / un-issue).

field type description
salesOrderCode string The sales-order code the action was performed on.
status string The new status after the action.
changedAt DateTime The timestamp at which the action was applied.

SalesOrderDetailRequest

Request to create or update a sales-order line item.

field type validation description
id int? The line id (set on update only).
quantity decimal? GreaterThan(0) .When(x => x.Quantity.HasValue) The quantity ordered, expressed in the line's unit of measure. Required.
price decimal? GreaterThanOrEqualTo(0) .When(x => x.Price.HasValue) The unit price for the line. Required.
taxRate decimal? The tax rate applied to the line as a percentage.
taxId int? The id of the tax applied to the line.
withholdingTaxId int? The id of the withholding tax applied to the line.
itemDiscount decimal? The item-level discount value (interpreted per ItemDiscountType).
itemDiscountType DiscountType? Whether the item discount is a flat amount or a percentage.
warehouseId int? The id of the warehouse the line is issued from.
bundleId int? The bundle id when the line is part of a bundle.
serviceItemId int? The service-item id when the line is a service.
stockItemId int? The stock-item id when the line is a stock item.
stockItemCode string The stock-item code (alternative key when StockItemId is not supplied).
stockItemDescription string The stock-item description (echoed on the response; not a lookup key).
unitOfMeasureId int? The id of the unit of measure the quantity is expressed in.
batchNumber string The batch number, when the stock item is batch-tracked.
expiryDate DateTime? The batch expiry date, when applicable.
comments string Must(c => !c.Contains(",") && !c.Contains("|")) .When(x => !string.IsNullOrEmpty(x.Comments)) Free-form notes captured on the line.
bundleQuantity decimal? The bundle quantity when the line is a bundle component.
relatedSerials List<string> The list of serial numbers when the stock item is serial-tracked.

SalesOrderDetailResponse

Response describing a sales-order line item.

field type description
id int? The line item id.
quantity decimal? The quantity ordered, expressed in the line's unit of measure.
issuedQuantity decimal? The quantity that has been issued from the warehouse.
invoicedQuantity decimal? The quantity that has already been invoiced against this line.
unitPrice decimal? The unit price before discount and tax.
price decimal? The extended line price after item-level discount, before tax.
taxRate decimal? The tax rate applied to the line as a percentage.
withholdingTaxRate decimal? The withholding-tax rate applied to the line as a percentage.
tax TaxReference The tax applied to the line.
itemDiscount decimal? The item-level discount value (interpreted per ItemDiscountType).
itemDiscountType DiscountType? Whether the item discount is a flat amount or a percentage.
warehouse WarehouseReference The warehouse the line is issued from.
bundleId int? The bundle id when the line is part of a bundle, otherwise null.
serviceItemId int? The service-item id when the line is a service, otherwise null.
stockItem StockItemReference The stock item ordered on the line.
unitOfMeasure UnitOfMeasureReference The unit of measure the quantity is expressed in.
batchNumber string The batch number, when the stock item is batch-tracked.
expiryDate DateTime? The batch expiry date, when applicable.
comments string Free-form notes captured on the line.
returnedQuantity decimal? The quantity returned against this line.
bundleQuantity decimal? The bundle quantity when the line is a bundle component.

SalesOrderHeaderListResponse

Response row for the sales-order header listing (one row per sales order).

field type description
id int? The sales-order document id.
documentCode string The sales-order document code.
customerId int? The customer id.
customerName string The customer name.
salesPersonId int? The sales-person id.
salesPersonName string The sales-person name.
documentDate DateTime? The sales-order document date.
dueDate DateTime? The next installment due date, if any.
orderStatus SalesOrderStatus? The sales-order status.
salesOrderDetails List<SalesOrderDetailResponse> The line items on the order.
salesOrderInstallments List<SalesOrderInstallmentResponse> The payment installments scheduled against the order.
paymentStatus SalesOrderPaymentStatus? The order's payment status.
paidAmount decimal? The live, running paid amount: reflects actual collections, never the frozen down payment.
remainingAmount decimal? The outstanding balance (NetTotal - PaidAmount).
netTotal decimal? The order's net total.
currency CurrencyReference The order's currency.
salesStore SalesStoreReference The sales store originating the order.
isIssued bool? Whether the order has been issued.
priceIncludeVat bool? Whether item prices include VAT (tax-inclusive pricing).
taxable bool? Whether tax is applied to the order.
channel string The sales channel originating the order (e.g. web, POS).
externalId string An external identifier supplied by the caller for reconciliation.
tags List<string> The tags assigned to the order.
relatedWorkOrderCodes List<string> The codes of the work orders (issue offerings) related to this order.

SalesOrderInstallmentRequest

Request to create or update a sales-order payment installment.

field type validation description
id int? The installment id (set on update only).
daysLimit int? The number of days from the document date until the installment is due.
amount decimal? GreaterThan(0) .When(x => x.Amount.HasValue) The installment amount in the document currency.
dueDate DateTime? The installment due date.
accountId int? The id of the accounting account the installment is posted against.
paymentType InstallmentPaymentType? The payment method for the installment (e.g. cash, on-account).

SalesOrderInstallmentResponse

Response describing a sales-order payment installment.

field type description
id int? The installment id.
daysLimit int? The number of days from the document date until the installment is due.
amount decimal? The installment amount in the document currency.
dueDate DateTime? The installment due date.
account AccountReference The accounting account the installment is posted against.
paymentType InstallmentPaymentType? The payment method for the installment (e.g. cash, on-account).

SalesOrderPaymentStatus

Sales-order payment states. Matches Sales.Documents.PaymentStatus exactly: that column, and its CHECK constraint, only ever allow "Unpaid" or "Paid"; there is no third "partially paid" state anywhere in the schema or in a live code path that sets it.

Values (sent/returned as the name): Unpaid=0 (The order has not been marked as paid.), Paid=1 (The order has been marked as paid.)

SalesOrderPrintTemplateDetailResponse

A single key/value pair in a sales-order print template body.

field type description
id int The detail row id.
salesOrderPrintTemplateId int The id of the parent print template.
key string The detail key.
value string The detail value.

SalesOrderPrintTemplateResponse

Response describing a sales-order print template.

field type description
id int? The print-template id.
moduleName string The module the template belongs to.
pageName string The logical page the template is rendered on.
paperSize string The paper size (e.g. A4, A5).
templateName string The display name of the template.
direction string The text direction ("ltr" or "rtl").
printTemplateDetails List<SalesOrderPrintTemplateDetailResponse> The key/value pairs that make up the template body.
htmlContent string The saved Advanced HTML template body, or null for a Simple/system template.

SalesOrderResponse

Response describing a sales order.

field type description
id int? The sales order id.
documentCode string The sales order document code (unique per tenant).
documentType DocumentType? The document type.
orderStatus SalesOrderStatus? The current order status.
paperNumber string The paper number printed on the source document.
runSheetId string The run-sheet identifier when grouped for delivery.
customer CustomerReference The customer the order is issued to.
salesPerson SalesPersonReference The sales person credited with the sale.
warehouse WarehouseReference The warehouse the items are issued from.
salesStore SalesStoreReference The sales store originating the order.
shippmentCost decimal? The shipment cost charged on the order.
documentDate DateTime? The document date.
shippingDate DateTime? The planned shipping date.
grossTotal decimal? The gross total before discounts and tax.
subTotal decimal? The subtotal after item-level discounts, before order-level discount and tax.
netTotal decimal? The final payable amount.
totalItemsDiscounts decimal? The sum of all item-level discounts.
discount decimal? The order-level discount amount.
discountRate decimal? The order-level discount rate as a percentage.
taxable bool? Whether tax is applied to the order.
priceIncludeVat bool? Whether item prices include VAT (tax-inclusive pricing).
isWithholdingTax bool? Whether the document is liable for withholding tax.
applyTaxAfterDiscount bool? Whether tax is computed after applying the order-level discount.
tax decimal? The total tax amount.
cashAmount decimal? The amount paid in cash at order creation.
onAccountAmount decimal? The amount placed on the customer account (credit).
cashPaid decimal? The cash already collected against the order.
currency CurrencyReference The document currency.
exchangeRate decimal? The exchange rate against the system currency at the document date.
channel string The sales channel originating the order (e.g. web, POS).
notes string Free-form notes captured on the order.
externalId string An external identifier supplied by the caller for reconciliation.
relatedWorkOrderCode string The related work-order code, when one was generated.
relatedWorkOrderValue decimal? The value of the related work order.
tags List<string> The tags assigned to the order.
isApproved bool? Whether the order has been approved for fulfillment.
isIssued bool? Whether the order has been issued (committed to inventory).
requireAutoWorkorder bool? Whether a work order should be auto-generated on issue.
salesOrderDetails List<SalesOrderDetailResponse> The line items on the order.
salesOrderInstallments List<SalesOrderInstallmentResponse> The payment installments scheduled against the order.

SalesOrderStatus

Sales-order lifecycle states.

Values (sent/returned as the name): Cancelled=0, Confirmed=1, Pending=2, Processing=3, OutForDelivery=4, Shipped=5, Returned=6, Open=7

SalesPersonReference

Lightweight sales-person reference (id + code + name).

field type description
id int The sales-person id.
code string The sales-person code.
name string The sales-person name.

SalesStoreReference

Lightweight sales-store reference (id + code + name).

field type description
id int The sales-store id.
code string The sales-store code.
name string The sales-store name.

StockItemReference

Lightweight stock-item reference (id + code + description).

field type description
id int The stock-item id.
code string The stock-item code.
description string The stock-item description.

TaxReference

Lightweight tax reference (id + name + rate).

field type description
id int The tax id.
name string The tax name.
rate decimal The tax rate as a percentage.

UnitOfMeasureReference

Lightweight unit-of-measure reference (id + name).

field type description
id int The unit-of-measure id.
name string The unit-of-measure name.

UpdateableSalesOrderStatus

Sales-order statuses that may be set via the status-update endpoint.

Values (sent/returned as the name): Cancelled, Confirmed, OutForDelivery

WarehouseReference

Lightweight warehouse reference (id + code + name).

field type description
id int The warehouse id.
code string The warehouse code.
name string The warehouse name.