Document Properties
Kbid2596R7
Last Modified04-Feb-2020
Added to KB08-Sep-2014
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9

Concept - Order Fulfillment Status Import (valid to 7.8)


1 Introduction

This document gives an overview about the Intershop 7 Order Status Import. The principle focus of the Order Status Import is, to provide a way to external systems (e.g., ERP system) to update an order in the Intershop 7, so that it reflects the current processing state.The Order Status Import is used to update the status of order's:

  • Order processing status
  • Payment transactions status
  • Line item fulfillment status

1.1 Order Export vs. Order Status Import

In contrast to previous Enfinity Suite 6.x versions, Intershop 7 does not use identical XML schemata for Order Export and Order Status Import. This is because Intershop 7 does not implement a real import of orders neither created by other Intershop 7 instances nor by any external systems.  

1.2 References

For exporting orders in Intershop 7:

2 Status Values

Some of the status values which are described below are based on the Intershop 7 eCommerce reference process and reflect only a demo scenario.They are not mandatory to run the system. Status values which are created by the Intershop 7 system or which the system is dealing with (processes based on it) are emphasized. Other status values are only listed due to backward compatibility.

Basically, every Intershop 7 customer has the freedom to use its own status values by its own project.

2.1 Order Status Values

Following order status values are supported in Intershop 7 by default. Listed order status values are based on the definitions of the StateGroup 'OrderStatus'.

Note

There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing.

Order StatusStatus IDNumeric
Code
Used in
Order Status Import
Description
createdCREATED0 

Only an internal state, the order has for a very short time after its creation.

Note

This status value is only an internal setting that should not be set in the context of the Order Status Import.

pendingPENDING2 Order is waiting for payment.
newNEW3 

Order creation has been finished, but has not been exported by the Order Export yet.

Note

This status is set internally only as result of a successful Order Creation. This means all sorts of checks (e.g., items are deliverable; creditworthiness of the customer, availability of the shipping method for the desired destination region etc.) were successfully completed. This status should not be set in the context of the Order Status Import.


(open)(OPEN)(4) 

For backward compatibility reasons only. No longer used by Intershop 7.

completedCOMPLETED5X

For backward compatibility reasons only. No longer used by Intershop 7.

Order handling is completely finished. This means, that ordered items has been shipped to the customer and:

  • Maximum period of time granted for returning delivered order items is exceeded
  • Customer has ordered items either partly or completely returned
  • All payment transactions (e.g., capturing, refund) for the order are completely finished

Note

Intershop 7 provides no capability out of the box to set an order as completed. COMPLETED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. 


cancelledCANCELLED6 

Order has been cancelled by the customer in the web shop storefront, but has not been exported by the Order Export yet.

Note

This status may also be set by Order Status Import. An Intershop 7 standard system will export an order marked as cancelled afterwards.


(rejected)(REJECTED)(7) For backward compatibility reasons only. No longer used by Intershop 7.
in progressINPROGRESS8 

Order was exported by Order Export.

Note

This status is set by the Order Export

cancelled and exportedCANCELLEDANDEXPORTED9 

Order has been cancelled by the customer in the web shop storefront. After cancellation, the order has been exported. (e.g., due to marketing issues)

Note

This status is set internally only as result of an Order Export and should not be set in the context of the Order Status Import.


not deliverableNOTDELIVERABLE10X

For backward compatibility reasons only. No longer used by Intershop 7.

Order is not deliverable for any reason, e.g., incomplete or wrong address data.

Note

Intershop 7 provides no out of the box capability to set an order as not deliverable. NOTDELIVERABLE is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario.


deliveredDELIVERED11X

For backward compatibility reasons only. No longer used by Intershop 7.

Ordered items has been delivered to the customer.

Note

Intershop 7 provides no capability out of the box to set an order as delivered. DELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario.


returnedRETURNED12X

For backward compatibility reasons only. No longer used by Intershop 7.

Ordered items has been returned by the customer.

Note

Intershop 7 provides no capability out of the box to set an order as returned. RETURNED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario.


export failedEXPORTFAILED13 

Not used in Order Status Import.

Note

This status is set internally only as result of an Order Export and should not be set in the context of the Order Status Import.


payment cancelledPAYMENTCANCELLED15 Order has been cancelled because of a payment cancellation on an external provider page.

The highlighted status values are created by Intershop 7 by default. Further order status values are not supported by default, because Intershop 7 does not provide any kind of further order management functionality. They must be introduced by the customer project itself.

Status transition chart of the Intershop 7 order statuses: (imported status values and status values which are not created by Intershop 7 itself, are not covered here)

order_states

2.2 Line Item Status Values

Following line item status values are supported in Intershop 7 by default. Listed line item (fulfillment) status values are based on the definitions of the StateGroup 'SellerOrderProductLineItemStatus'.

Note

There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing. Some line item status are obviously the same like the order status after an operation. But this must be not mandatory.

For instance: If the whole order will be cancelled, the order gets the status cancelled as well as the line item. If only a line item is cancelled, the line item gets the cancelled status but not the whole order.

Line Item StatusStatus IDNumeric
Code

Used in

Order Status Import

Description
newNEW10 Order creation has been finished, but has not been exported by Order Export yet. The order gets the status NEW as well as the line item itself.
(confirmed)(CONFIRMED)(11) For backward compatibility reasons only. No longer used by Intershop 7.
(partly shipped)(PARTSHIPPED)(12) For backward compatibility reasons only. No longer used by Intershop 7.
(shipped)(SHIPPED)(13) For backward compatibility reasons only. No longer used by Intershop 7.
(rejected)(REJECTED)(14) For backward compatibility reasons only. No longer used by Intershop 7.
partly deliveredPARTDELIVERED20 

For backward compatibility reasons only. No longer used by Intershop 7.

Note

Intershop 7 provides no capability out of the box to set a line item as partly delivered. PARTDELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario.


deliveredDELIVERED21 

For backward compatibility reasons only. No longer used by Intershop 7.

Note

Intershop 7 provides no capability out of the box to set a line item as delivered. DELIVERED is only a theoretical status of the Intershop 7 eCommerce reference process and used for a demo scenario. 

cancelledCANCELLED22 

Order has been cancelled by the customer in the web shop storefront, but has not been exported by Order Export yet. The order gets the status CANCELLED as well as the line item itself.

Note

Intershop 7 provides no capability out of the box to cancel a single line item and to set a single line item as cancelled. In the default Intershop 7 process the line item will be cancelled if the whole order will be cancelled. 

in progressINPROGRESS23 

Order was exported by Order Export. So, each single line item gets also the status INPROGRESS.

Note

This status is set by the Order Export and will not be set manually or individually. 


cancelled and exportedCANCELLEDANDEXPORTED24 

Order has been cancelled by the customer in the web shop storefront. After cancellation, the order has been exported. (e.g., due to marketing issues) So, each single line item gets also the status CANCELLEDANDEXPORTED.

Note

This status is set by the Order Export and will not be set manually or individually. 


Status transition chart of the Intershop 7 line item statuses: (imported status values and status values which are not created by Intershop 7 itself, are not covered here)

  • In the Intershop 7, the line item status values are aligned with the order status values
  • Exceptions:
    • They are starting with the status NEW
    • The status EXPORTFAILED will be not used for line items

2.3 Payment Transaction Status Values

Following payment transaction status values are supported in Intershop 7 by default. Listed order status values are based on the definitions of the StateGroup 'PaymentTransaction'.

Note

There are some state values that either are not used in Intershop 7 anymore or that are only used for internal processing.

Payment Transaction
Status

Status ID

Numeric

Code

Used in

Order Status Import

Description
createdCREATED0 

Only an internal state, the payment transaction has for a very short time after its creation.

Note

This status value is only an internal setting that should not be set in the context of the Order Status Import.
authorizedAUTHORIZED1 

The payment amount is reserved, but isn't booked yet.

Note

This status is set internally only by payment services.

(partly captured)(PARTCAPTURED)(2)(X)This status is currently not used by Intershop 7.
capturedCAPTURED3XThe payment amount is booked.
voided authorizationVOIDEDAUTHORIZATION4XAn authorized transaction is cancelled
(voided capture)(VOIDEDCAPTURE)(5) This status is currently not used by Intershop 7.
(marked)(MARKED)(6) This status is currently not used by Intershop 7.
(settled)(SETTLED)(7) This status is currently not used by Intershop 7.
(refunded)(REFUNDED)(8) This status is currently not used by Intershop 7.
(voided authorization failed)(VOIDEDAUTHORIZATION_FAILED)(9) This status is currently not used by Intershop 7.
(refund failed)(REFUND_FAILED)(10) This status is currently not used by Intershop 7.

The statuses 5-10 are not used.

3 Order Status Import Schema

The XML schema for the Order Status Import is created from annotated Java classes (javax.xml.bind.annotation.*). Schema is generated by the Gradle tools during build process and published to the ${IS_SHARE}/system/impex/schema folder as result of the Intershop 7 setup.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:tns="http://www.intershop.com/xml/ns/intershop/order/status/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.intershop.com/xml/ns/intershop/order/status/1.0" version="1.0">
    <xs:element name="orders" type="tns:ordersXML"/>
    <xs:complexType name="orderXML">
        <xs:sequence>
            <xs:element name="product-line-items" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="product-line-item" type="tns:productLineItemXML" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="payment-transactions" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="payment-transaction" type="tns:paymentTransactionXML" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="status" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="productLineItemXML">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="fulfillment-status" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="paymentTransactionXML">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="status" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ordersXML">
        <xs:sequence>
            <xs:element name="order" type="tns:orderXML" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

4 Order Status Import Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:orders xmlns:ns2="http://www.intershop.com/xml/ns/intershop/order/status/1.0">
    <order id="00000001@PrimeTech-PrimeTechSpecials" status="DELIVERED">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="DELIVERED"/>
            <product-line-item id="2" fulfillment-status="DELIVERED"/>
            <product-line-item id="3" fulfillment-status="DELIVERED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_INVOICE-vncKAB2yo4oAAAE6raMhWLxs" status="CAPTURED"/>
        </payment-transactions>
    </order>
    <order id="00000002@PrimeTech-PrimeTechSpecials" status="DELIVERED">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="DELIVERED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_DEBIT_TRANSFER-C50KAB2y._YAAAE6dKghWLxs" status="CAPTURED"/>
        </payment-transactions>
    </order>
    <order id="00000003@PrimeTech-PrimeTechSpecials" status="INPROGRESS">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="INPROGRESS"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_DEBIT_TRANSFER-rHoKAB2yIFsAAAE69KshWLxs" status="CREATED"/>
        </payment-transactions>
    </order>
    <order id="00000004@PrimeTech-PrimeTechSpecials" status="INPROGRESS">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="CANCELLED"/>
            <product-line-item id="2" fulfillment-status="INPROGRESS"/>
            <product-line-item id="3" fulfillment-status="DELIVERED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_CASH_ON_DELIVERY-0XQKAB2yUHoAAAE6F7QhWLxs" status="CAPTURED"/>
        </payment-transactions>
    </order>
    <order id="00000005@PrimeTech-PrimeTechSpecials" status="INPROGRESS">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="INPROGRESS"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_DEBIT_TRANSFER-K_wKAB2yWfIAAAE6OrghWLxs" status="CREATED"/>
            <payment-transaction id="BPS_GIFT_CARD-tvoKAB2yk6cAAAE6OLghWLxs" status="CREATED"/>
        </payment-transactions>
    </order>
    <order id="00000006@PrimeTech-PrimeTechSpecials" status="NEW">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="NEW"/>
            <product-line-item id="2" fulfillment-status="NEW"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_INVOICE-1PgKAB2yyywAAAE6zLshWLxs" status="CREATED"/>
        </payment-transactions>
    </order>
    <order id="00000007@PrimeTech-PrimeTechSpecials" status="RETURNED">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="CANCELLED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_CASH_ON_DELIVERY-IHcKAB2yLKwAAAE6970hWLxs" status="REFUNDED"/>
        </payment-transactions>
    </order>
    <order id="00000008@PrimeTech-PrimeTechSpecials" status="CANCELLED">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="CANCELLED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_CASH_ON_DELIVERY-xDkKAB2yzc0AAAE6aMAhWLxs" status="REFUNDED"/>
        </payment-transactions>
    </order>
    <order id="00000009@PrimeTech-PrimeTechSpecials" status="NEW">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="NEW"/>
            <product-line-item id="2" fulfillment-status="NEW"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_GIFT_CARD-txsKAB2yI64AAAE6asQhWLxs" status="CAPTURED"/>
            <payment-transaction id="BPS_CASH_ON_DELIVERY-zxAKAB2ykM8AAAE6acQhWLxs" status="CAPTURED"/>
        </payment-transactions>
    </order>
    <order id="00000010@PrimeTech-PrimeTechSpecials" status="INPROGRESS">
        <product-line-items>
            <product-line-item id="1" fulfillment-status="DELIVERED"/>
        </product-line-items>
        <payment-transactions>
            <payment-transaction id="BPS_INVOICE-TMEKAB2yn44AAAE6ZschWLxs" status="PARTCAPTURED"/>
        </payment-transactions>
    </order>
</ns2:orders>

They will be imported by a XML which will correspond a defined XSD for the import. In the storefront and in the Commerce Management application these new statuses have to be displayed.
 

4.1 Definitions / Interfaces / UML Diagrams

JAXB annotation is used to describe the structure of the data which will be imported. In the build process a corresponding xsd file is generated (ac_order_status_import_xml.xsd).

To adjust the statuses in the line items the following BO classes are used: OrderBO as an entry point.
Use com.intershop.component.order.capi.OrderBO.getProductLineItems() to get the line items and update them with ProductLineItemBO.setStatus(int).

At first a look up is needed to get the correct order. An required attribute is the documentNo (document number) and the domain combinated in an ID.
Extensions will be created to retrieve the corresponding order, product line item or the payment transaction. For the line items the position is required for identification.
And for the payment transactions the ID respectively the UUID.

The last step is to simply update the status in the order, product line items and payment transaction with the help of the BO classes OrderBO, OrderProductLineItemBO and PaymentTransactionBO.

5 Business Configuration

To enable the Order Status Import:

  1. Log in to the Operations Commerce Mangement application.
  2. Open tab Sales Organizations.
  3. Choose the organization.
  4. Enable the managed service Order Status Import Service.
  5. Log out from Operations.
  6. Log in to the Organization Commerce Mangement application.
  7. Create a new service configuration in tab services.
  8. Give the configuration a name, ID, description and activate them.
  9. Fill in the local file directory (of the application server) where the service looks for files to be imported and the desired file handling after successful order status import.
    There are two options:
    Delete, which delete the successful imported file and
    Rename, which add the suffix .imported to the successful imported file.
  10. Share and activate the service and save the service configuration.
  11. Now create a new order status import in tab Orders and use the preliminary created service configuration as configuration type.
    Via the tab Scheduling it is possible to configure how and when the order status import job must be executed automatically.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets