# Update sales order

Use this operation to update an existing open sales order. If you are using the IsCancelOnly flag, please migrate to use the [Cancel Sales Order](CancelSalesOrder) method instead.

Endpoint: POST /api/SalesOrder/UpdateSalesOrder
Version: 3.1.3

## Request fields (application/json):

  - `Authentication` (object)
    Credentials are required for all API operations.

  - `Authentication.UserKey` (string, required)
    Example: C445598CB576468EA35FBB22C55584EF

  - `Authentication.Password` (string, required)
    Example: AF63FDAC1E704DC1AC9460F669ABF107

  - `Authentication.CustomerNo` (string, required)
    Example: 10703

  - `OrderInfo` (object)

  - `OrderInfo.TransmissionId` (string)
    Example: TransID-083021

  - `OrderInfo.OrderNo` (string, required)
    Usually the order number in your point of sale (POS) system.
    Example: TESTORDER-1

  - `OrderInfo.PONo` (string)

  - `OrderInfo.ShipmentKey` (string)

  - `OrderInfo.OrderType` (string, required)
    RETAILUsed for daily orders.CLUBUsed for club and subscription orders.DTTUsed for 'Direct-To-Trade' orders that go directly to a retailer.TRADE_SAMPLEUsed for trade sample orders.WHOLESALEUsed for orders that go to a distributor.DELIVERY_TO_WINERYUsed for orders that move inventory on behalf of the winery without changing ownership (aka RTW).
    Enum: "CLUB", "RETAIL", "DTT", "TRADE_SAMPLE", "JIT", "DELIVERY_TO_WINERY", "WHOLESALE"

  - `OrderInfo.OrderSource` (string)
    Example: Tasting Room

  - `OrderInfo.OrderDate` (string)
    Example: 2026-08-24T14:15:22Z

  - `OrderInfo.GiftCard` (integer)
    Indicates there is a gift message with this order
    Enum: 0, 1

  - `OrderInfo.GiftCardMessage` (string)
    Required if GiftCard set to 1
    Example: gift message text

  - `OrderInfo.Tags` (string)
    Semi-colon delimited list of tags to apply to the order

  - `OrderInfo.SpecialInstructions` (string)

  - `OrderInfo.ConsumerTaxCollected` (string)
    Total Tax Collected on an Order - useful for compliance

  - `OrderInfo.ConsumerShippingPrice` (string)
    Total Shipping cost collected on an Order - useful for compliance

  - `OrderInfo.BatchId` (string)
    Example: TSTORDER

  - `OrderInfo.BatchDescription` (string)
    Example: Club Mixed Red 3PK

  - `BillingContactInfo` (object)

  - `BillingContactInfo.FirstName` (string)
    Example: Jon

  - `BillingContactInfo.LastName` (string)
    Example: Doe

  - `BillingContactInfo.Company` (string)
    Example: Wineshipping

  - `BillingContactInfo.Address` (string)
    Example: 50 Technology Ct

  - `BillingContactInfo.Address2` (string)
    Example: Suite A

  - `BillingContactInfo.City` (string)
    Example: Napa

  - `BillingContactInfo.State` (string)
    For US addresses, use the 2-letter state abbreviation. For international addresses, leave blank
    Example: CA

  - `BillingContactInfo.ZipCode` (string)
    For US addresses, use the 5-digit zip code or 9-digit zip code (e.g. 94558). For international addresses, leave blank
    Example: 94558

  - `BillingContactInfo.Country` (string)
    Example: US

  - `BillingContactInfo.PhoneNumber` (string)
    Example: 7079339063

  - `BillingContactInfo.EmailAddress` (string)
    Example: someone@wineshipping.com

  - `DeliveryContactInfo` (object)

  - `DeliveryContactInfo.HoldAtLocation` (integer)
    Set at 1 for adding Hold At Location specific addresses for the Order (UPS Access Points & FedEx Hold Locations) – it is not necessary to add Delivery Location Info not using Hold at Locations
    Enum: 0, 1

  - `DeliveryContactInfo.LocationCode` (string)

  - `DeliveryContactInfo.Company` (string)
    Example: Wineshipping

  - `DeliveryContactInfo.Address` (string)
    Example: 50 Technology Ct.

  - `DeliveryContactInfo.Address2` (string)
    Example: Suite 101

  - `DeliveryContactInfo.City` (string)
    Example: Napa

  - `DeliveryContactInfo.State` (string)
    Example: CA

  - `DeliveryContactInfo.ZipCode` (string)
    Example: 94558

  - `DeliveryContactInfo.Country` (string)
    Example: USA

  - `DeliveryContactInfo.PhoneNumber` (string)
    Example: 707-933-9063

  - `RecipientContactInfo` (object)

  - `RecipientContactInfo.FirstName` (string)
    Example: Jane

  - `RecipientContactInfo.LastName` (string)
    Example: Doe

  - `RecipientContactInfo.Company` (string)
    Example: Wineshipping

  - `RecipientContactInfo.Address` (string)
    Example: 50 Technology Ct

  - `RecipientContactInfo.Address2` (string)

  - `RecipientContactInfo.City` (string)
    Example: Napa

  - `RecipientContactInfo.State` (string)
    Example: CA

  - `RecipientContactInfo.ZipCode` (string)
    Example: 94558

  - `RecipientContactInfo.Country` (string)
    Example: US

  - `RecipientContactInfo.PhoneNumber` (string)
    Example: 7079339063

  - `RecipientContactInfo.EmailAddress` (string)
    Example: someone@wineshipping.com

  - `ShipmentInfo` (object)

  - `ShipmentInfo.ShippingCarrier` (string)
    See [carrier codes](../../../../docs/codes/carriercodes) for possible values.
    Enum: "FEX", "UPS", "BSW", "GSO", "WIL", "FCC", "TMC", "WST", "WILL"

  - `ShipmentInfo.ShippingCarrierService` (string)
    See [carrier codes](../../../../docs/codes/carriercodes) for possible values.
    Enum: "ONPR", "INPR", "GRND", "2DAY", "HOME", "ONST", "CALL", "LPDS", "NONE"

  - `ShipmentInfo.RequestedShipmentDate` (string)
    RequestedShipmentDate is optional (MM/DD/YYYY format) and is only meaningful to schedule shipment in the future. By default orders will be processed as soon as possible, in-line with your account preferences (cutoff schedules for each site and carrier service)
    Example: 8/31/2025

  - `ShipmentInfo.Insurance` (integer)
    Enum: 0, 1

  - `ShipmentInfo.IcePack` (integer)
    Enum: 0, 1

  - `ShipmentInfo.WineshippingWarehouseLocation` (string)
    See [warehouse locations](../../../../docs/codes/warehouselocations) for possible values.
    Enum: "APC01", "APC02", "COB01", "COB02", "ETC01", "MMC01", "PRB02", "PRB04", "SJU01", "TWL01", "VCX01", "WOX01"

  - `ItemsInfo` (array)

  - `ItemsInfo.ItemNo` (string, required)
    Example: 1466-SE

  - `ItemsInfo.ItemDescription` (string)
    Example: 2016 CAB SAUV RESERVE NAPA VALLEY

  - `ItemsInfo.ItemQuantity` (integer, required)
    Example: 6

  - `ItemsInfo.QuantityUnit` (string)
    Specify whether an Item Quantity should be denominated in Retail (i.e. bottles) or Wholesale (i.e. cases) when creating an order.
    Enum: "RETAIL", "WHOLESALE"

  - `ItemsInfo.UnitPrice` (number)
    Specify the price for the item.
    Example: 40

  - `ItemsInfo.InventoryTaxStatus` (string)
    Only applicable to non-DTC order types such as Wholesale. See [inventory codes](../../../../docs/inventorycodes) for possible values.

  - `ItemsInfo.AdditionalFields` (object)
    These are optional parameters for specific business scenarios

  - `ItemsInfo.ExternalLineNumber` (string)
    Coming soon: Associate the item with a specific line in the customer's order. This is useful for echoing back data for reconciliation within your systems.
    Example: 100001

  - `ItemsInfo.Group` (string)
    Coming soon: Associate the items with a group for future visualization in ACP, reporting purposes, business rules such as waiving, and shipping rules.
    Example: gift-set-1

  - `TransactionReferenceNumber` (string)
    Unique identifier of the order to be used when cancelling or updating an order. The TransactionReferenceValue is returned by the CreateSalesOrder response. If TransactionReferenceNumber is provided OrderNo is ignored.

  - `AdditionalFields` (object)
    These are optional parameters for specific business scenarios

