OrderInvoiceStatus command

The OrderInvoiceStatus command is used when an Update_WCS_OrderStatus XML message with an OrderStatusType tag value of OrderInvoice is received from a back-end system. The command updates information regarding the invoice status of an existing order. It has the same parameters, behavior, and exception conditions as the OrderStatus command. The only difference between the two commands is that the OrderInvoiceStatus command sets the value of the orderStatus parameter to a default value of I which means the order has been invoiced if it is not provided in the message.

Parameter values

String. WCS order status sequenceNumber for serialization.
String in timestamp format. WebSphere Commerce order status last update timestamp for serialization.
versioning: String "TRUE" or "FALSE". Default is FALSE.
If TRUE, the versioning will be enabled.

The parameters listed below correspond to columns in the ORDSTAT table.

orderId: Integer.
WebSphere Commerce order reference number as defined in the ORDERS_ID column in table ORDSTAT. This is a foreign key that references column ORDERS_ID in the ORDERS table.
merchantOrderNumber: String, mandatory.
Order number generated in the backend system as defined in the OSMORDER column.
currency: String
The ISO 4217 currency type in which the price is expressed as defined in the OSCPCUR column.
priceTotal: BigDecimal(20,4)
The total product price for the order as defined in the OSPRTOT column.
taxTotal: BigDecimal(20,4)
The total tax for the order as defined in the OSTXTOT column.
shippingTotal: BigDecimal(20,4)
The total shipping charge for the order as defined in the OSSHTOT column.
shipingTaxTotal: BigDecimal(20,4)
The total tax on shipping charge for the order as defined in the OSSHTXTOT column.
orderStatus: String
The status of the order as defined in the OSSTATUS column.
placeDateTime: Timestamp
The date that the order is actually placed as defined in the OSPLTIME column.
requestShipDateTime: Timestamp
The date that the order is requested to be shipped as defined in the OSRSTIME column.
scheduleShipDateTime: Timestamp
The date that the order is scheduled to be shipped as defined in the OSSSTIME column.
actualShipDateTime: Timestamp
The date that the order is actually shipped as defined in the OSASTIME column.
invoiceDateTime: Timestamp
The date that the order is invoiced as defined in the OSINVTIME column.
invoiceValue: BigDecimal(20,4)
The net value that the order is invoiced as defined in the OSINVVAL column.
shipCondition: String
Code to be designate whether partial shipment of the order will be accepted as defined in the OSSCOND column. 'SC': Ship Complete, 'SP': Ship Partial.
shippingModeFlag: String
Code to indicate shipping address and shipping mode are at order level or order item level as defined in the OSSMFLAG column. 'O': Order level; 'I': Item level.
comment: String
Comments regarding the order status as defined in the OSCMNT column.
field1: Integer
Order status customization field 1 as defined in the FIELD1 column.
field2: BigDecimal(15,2)
Order status customization field 2 as defined in the FIELD2 column.
field3: String
Order status customization field 3 as defined in the FIELD3 column.
items: Vector of Hash table.
Each hash table represents the parameters for one item.


  • The first order status for an order must have orderId and merchantOrderNumber specified.
  • Check if the order specified in orderId exists in the ORDERS table.
  • If serialization information is available, such as the sequenceNumber and the lastUpdateTimestamp parameters, check if the values are more recent than the ones already in the ORDSTAT table, if not then no update will be performed.
  • Create or update a row in the table ORDSTAT using all the provided information.
  • If versioning is enabled and this is the first order status for the order a new row will be created in ORDSTAT table, otherwise a copy of the last order status will be made and its version (OSVERNBR) will be set to the maximum number of existing version +1. A new row will be created containing all provided information with its OSVERNBR value set to 0.
  • Update the value in the STATUS column of table ORDERS to 'G'.

Exception Conditions

  • The orderId specified is not a valid order number in the ORDERS table.
  • Either the orderId or merchantOrderNumber is not specified in the first order status for a particular order.
  • The orderId and merchantOrderNumber do not match one already in ORDSTAT table for a particular order in a subsequent order status update.
  • Serialization information is provided and the order status message is out of sequence