Welcome to the Intershop Order Management 2.1!
Intershop Order Management is an Intershop Commerce Suite orders and payments. Intershop Order Management processes orders from multiple touch points (web shop, mobile shop, call center, etc.), allocates them to multiple fulfillment solutions (fulfillment centers, drop-ship distributors, physical stores, etc.), and tracks all order and payment transactions. that is designed to combine omni-channel commerce processes into one system. It automates and streamlines the life-cycle of
Intershop Order Management offers a centralized platform for managing distributed inventory, order, invoice and payment life cycles, and provides call center functionality, enabling real-time visibility into customers' purchasing behavior, stock levels, payments, and more. As part of Intershop Commerce Suite, it utilizes the suite's transaction, PIM and merchandising features.
Intershop Order Management (IOM) offers the possibility to tailor your business models as flexible and free as you need and depict them in your e-commerce environment. The order management system adjusts the order processing for various sales channels and suppliers and can be seamlessly integrated with existing components of your IT environment.
|Intershop Order Management||Intershop Commerce Management B2X||IOM Connector|
|IOM||The abbreviation for Intershop Order Management|
|ICM||The abbreviation for Intershop Commerce Management|
As mentioned before, the IOM Connector is to be set up alongside a standard ICM installation. It adds additional cartridges that define the following managed services:
Both ICM and IOM follow the same hierarchical concept of organizations that have expandable entities. These entities differ, however. In ICM one sales organization may have multiple channels, while in IOM one sales organization may have multiple shops.
Intershop recommends to consider channels and shops as synonyms in the context of this document and your setup. Although not the same, they are in close relation to each other.
As mentioned before, a couple IOM Services, although not mandatory, are to be created in the context of channel. This way you can ensure that the communication exchange between ICM and IOM is realized on the intended level.
The services mentioned in the previous chapter are realized with web services. They are exchanging data between the two systems in a specific format, but they also need to be configured. Web services require an end point that is different for each of them. In the table below you can see the end points, with IOM server host/address shown as a placeholder.
|IOM Order Service||https://<iom-host>/webservices/OrderService/v1.1|
|IOM Order State Service||https://<iom-host>/webservices/OrderStateService/v1.0|
|IOM Download Service||https://<iom-host>/webservices/DownloadService/v1.0|
|IOM Reverse Service||https://<iom-host>/webservices/ReverseService/v1.0|
|IOM Inventory Service||https://<iom-host>/servlets/services/|
When doing the configuration mentioned in the step above, you must also specify a shop. Usually, a channel in ICM represents a shop in IOM.
Consumers of the services must authorize themselves to IOM before any data is processed - either as input or output. To realize this, you must create a user in IOM with permissions necessary for the operations performed by the service. An easy way to ensure this is to assign the
ShopServiceClient role to the corresponding user. However, you may fine grain the permissions for each service as they all will need a user name/password combination.
If you want to use prepared demo data (you do not if you do not know what this is) here are some prepared values:
Both systems exchange data so they need a common ground as a base for this communication. The following table shows the mappings between IOM and ICM:
|Product||Shop's product ID||Channel's product SKU|
|Customer||Shop's customer number||Customer No|
|Order||Shop's order No||Order document number|
These identifiers must be identical for each item in both systems. For example, if an order with a line item that has the SKU 00910 is placed and then exported to IOM, the web services layer will report an error if the product with this product ID is not present in IOM.
IOM Connector provides instruments that route any order placed from ICM to IOM. To use this feature, you must configure the order export (see Snippet - ICM IOM Configuration - Order Export (valid to 2.17) ), which depends on an existing service configuration (see Configure IOM Order Service). As mentioned before, on the configuration page you may tweak the export settings, but we generally use "on order creation" trigger.
The look and feel and the business processes in the standard ICM is not altered in any way, but placed orders are routed to IOM.
|Order Confirmation in ICM||Order details in IOM|
Order approval and additional order information work out of the box with order export to IOM. Orders are exported to IOM once they are approved by the responsible user(s) in the customer's organization. All approval and additional information details are exported to IOM upon order placement. They are accessible in the Attributes section.
The table below lists the mapping of data exchanged between ICM and IOM.
|Order Document Number||Shop Order ID|
|Creation Date||Sales Information / Order|
|Payment Method||Payment Method|
|Tax Rate||Tax Rate|
|Order total||Order total|
|Invoice & Shipping Address|
|First Name||First Name|
|Last Name||Last Name|
|Address 2||Address Suffix 1|
|Address 3||Address Suffix 2|
|ZIP/Postal Code||ZIP/Postal Code|
|Line Item Information|
|Product SKU||Shop product ID|
|Tax Rate||Tax Rate|
This feature is governed by IOM Order State Service. Once this service is configured and activated, order status information in My Account -> Order history is taken in real time from IOM.
|My Account -> Order History||Order search in IOM|
Real time means that order statuses are updated the moment they are updated in IOM. Thus any action taken in IOM, for example Confirmation of delivery, will be shown in ICM the moment when someone requests their order history. In the table below you find the mapping between order statuses in the two systems.
|Intershop Commerce Management||Intershop Order Management|
|in validation||check failed|
Customers are able to trigger returns of orders. Once the order is shipped, and its delivery confirmation is tracked in IOM, its status is changed to shipped. From the order history page, every order that has been shipped can be triggered for return by clicking the Return link. For each individual item, a return quantity and a reason can be specified. Return reasons are requested from IOM and available for selection to the customers.
The required service for order return is IOM Reverse Service. Without it configured and activated, customers will not be able to use this feature.
Once someone has requested a return, they will be able to download or directly print a return slip. This return slip can be downloaded from the link shown on the Prepare Return Documents page.
As with the rest of IOM features, this one is also realized by using managed service - IOM Download Service. You must configure it first before using it.
The main task that the Inventory Service does is to check the product availability status for a particular product in IOM. IOM Inventory Service performs in real time, but at the same time it supports caching the results for a given time interval (e.g., 5 seconds). When the page with the customer's desired product is open, the Inventory Service sends a request to IOM that asks for the ATP (available to promise) status. If the product is available then the customer will see the button Add to Cart and a field in which to specify the desired quantity of the product. On the other hand, if the product is not available, on the screen will be shown the following: a button with the text Notify me when available. If in the service configuration the checkbox Availability check on failure is not selected, then in the case of a problem with the communication with the IOM system, the Simple Inventory Service will be activated and the selected product will be checked for ATP (ICM) in the local database.
The distribution package that contains the binary distribution of Intershop Order Management 2.1 is available in the Product Calendar and consists only of this file:
For installation instructions please read:
Please note that the installation requires installed and preconfigured:
The commented WSDLs are part of the IOM distribution package and can be found in this directory /doc/SOAP.
|IOM-7643||API-break because of non-deprecated deletion of getCountry() of userMailLO.getCustomerAddressLO()|
|IOM-7628||communication mapper v1_0: Wrong handling of the “#@#” separator between street name and house number.|
|IOM-7266||OMS blocks valid eMail addresses|
|IOM-7226||Cannot change ArticleSupplierShopDetails in OMT for items with more than one ShopArticleNo|
|IOM-7223||Missing audit trail when canceling orders in approval state|
|IOM-6211||race condition in OrderPersistenceBean may cause ConstraintViolationException|
|IOM-7125||Shop-Supplier check is wrong when looking for article availability in parent shop(s)|
|IOM-7093||Cron schedules defined in the table ScheduleDO are not respected at the first run|
|IOM-7092||The lastRun attribute of ScheduleDO is set to the job creation date instead to the current time on the first run|
|IOM-7034||cluster property is_oms_smtp_port is not in use|
|IOM-7044||Export files are deleted from the filesystem when the JVM/application server is shut down|
|IOM-6799||Invoice calculation after a manual credit note doesn't consider the entered values|
|IOM-6779||Wrong unique constraint on ExecutionBeanValueDO|
|IOM-6730||Non-deterministic carrier name display in OMT|
|IOM-6721||Cascading delete on Shop2Supplier2ApprovalTypeDefDO may cause orders to get stuck|
|IOM-6706||Missing notify message after changing an assignment of a permission to a role|
|IOM-6705||Missing TypedObject at PaymentNotificationDO while saving payment notification|
|IOM-6674||Sporadic very slow product import|
|IOM-6671||Expanded Payment methods do not show up as filter in the order search|
|IOM-6642||Credit note limit is wrong when position is spread over invoices|
|IOM-6626||Manual Credit Note Fails After Return|
|IOM-6571||CalculateInvoicingSalesPricePTBean fails under some preconditions|
|IOM-6567||Hibernate-exception while editing an erroneous dispatch|
|IOM-6516||VelocityTransformer doesn't support UTF-8 encoded includes|
|IOM-6515||PaymentNotificationDO.setPaymentNotificationTypeDefDO wrong implementation|
|IOM-6513||Non-atomic open amount (XML) export causes duplicate export|
|IOM-6492||Length check missing in OrderMapperInBean (HouseNumber, StreetName)|
|IOM-6402||Precondition check for invoice number generation doesn't work|
|IOM-6354||TransmissionTypeDefDOEnumInterface unchecked cast to TransmissionTypeDefDO|
|IOM-6352||TransmissionTypeDefDO[EnumInterface] uses MessageTypeDefDO instead of EnumInterface|
|IOM-6327||Discount calculation (net based calculation v2) incompatible with ICM|
|IOM-7254||The registration of customer email templates runs automatically on server startup too|
|IOM-6319||Introduce Paging for Order StateService|
|IOM-6272||Display payment balance warnings in customer invoice list|
|IOM-6353||ATP error when using multiple ShopArticleNo for a same SupplierArticle|
|IOM-6347||Manual approval rejection not working while payment approvals are pending|
|IOM-6346||NullPointerExceptions in ValidateResponsePTBean.identifyPosStateCode4Continuous|
|IOM-6312||SQL injection is possible in OrderStateService|
|IOM-6310||Country is missing in AddressLO and cannot be used within mail templates|
|IOM-6309||ShopArticleNo mapping update impossible in some cases|
|IOM-6283||UserLoginHistoryDO may get incremented too often|
|IOM-6230||Edit order response dialog broken|
|IOM-6229||Business query "Not refunded returns" incomplete|
|IOM-5395||Stacktrace in the browser after cancelling a cancellation|
|IOM-5361||Potential NPEs for *PropertyDOs|
|IOM-5319||CustomerService resets open amounts|
|IOM-6249||Exception in OMT order position view ("Rounding necessary")|
|IOM-6244||ConnectException in CacheUtilBean|
|IOM-6229||Business query "Not refunded returns" incomplete|
|IOM-6227||Aggregated invoicing: InvoicingDO has empty street|
|IOM-6225||OMT field outstanding invoice amounts shows wrong value|
|IOM-5901||openInvoiceAmount of customers is never updated properly|
|IOM-5900||SetReturnQuantitiesPTBean logs error messages for cancellations|
|IOM-6194||Return reason combobox too small|
|IOM-6119||Mail Displayed Twice for Split Order|
|IOM-6117||Order Response Displays Wrong Purchase Price|
|IOM-6077||Display of long customer numbers breaks OMT layout|
|IOM-5998||"Cancelled" and "Later" quantities are exchanged with icons in Order Receipt tab|
|IOM-6111||LazyInitializationException when calling returnReportRequest of webservice ReverseService|
|IOM-6059||Rounding issue in Net Based Price Calculation ICM 18.104.22.168/4 und OMS 2.1.1|
|IOM-6076||Not able to create dispatches / cancellations in OMT (multiple supplier order)|
|IOM-6066||ScheduleDO stuck due to race condition in JobHandler|
|IOM-6005||Return reasons are not displayed properly in OMT|
|IOM-5957||update_properties.sh ignores lines, not ending with EOL|
|IOM-5956||(re)deploy.sh ignores lines, not ending with EOL|
|IOM-5918||Error creating delivery confirmation in OMT for orders with many positions|
|IOM-5914||ClearCache Messages not working in clustered environment|
|IOM-5904||Configured email sender name is not used for customer emails|
|IOM-5903||OrderMessageLog archive csv does not show the archived data|
|IOM-5835||ShopCustomerMailLogicBean inconsistent behaviour (Payment method)|
|IOM-5818||validateCancelOrder fails in ReverseService.cancelOrder|
|IOM-5427||Item details page: description looks bad if there is no content provider available|
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.