Welcome to the Intershop Order Management 2.2!
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 and more), allocates them to multiple fulfillment solutions (fulfillment centers, drop-ship distributors, physical stores and more), 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|
|API||Application Programming Interface|
|FTP||File Transfer Protocol|
|Gluster-FS||A scale-out network-attached storage file system|
|ICM||Abbreviation for Intershop Commerce Management|
|IOM||Abbreviation for Intershop Order Management|
|OMS||Abbreviation for Order Management System, the technical name of the IOM|
|OMT||Abbreviation for Order Management Tool , the graphical management tool of the IOM|
|REST||Representational State Transfer|
|SOAP||Simple Object Access Protocol|
|URL||Uniform Resource Locator|
|Watchdog||A tool of IOM to monitor and manage the availability of IOM application servers|
High availability can be defined as follows. The system is designed for highest requirements in terms of performance and reliability. Several platform capabilities allow easy scaling without downtimes.
From version 2.2 Intershop Order Management is ready for High Availability.
The major approach is that high availability can be provided by using symmetric high availability nodes. The configuration of all high availability nodes is identical so every server node is able to replace any other. It follows the whole system will be able to answer requests, as long at least one active and working node exists. A selected backend server is active at a time that will handle business processes exclusively. Additionally a server monitoring tool, IOM Watchdog, is used to manage the availability of application servers and also switches to another backend server to be active in case of errors. Also see Guide - Intershop Order Management - Technical Overview for more detailed information.
The following diagram shows an example of high availability nodes. Gluster FS is used to replicate data between FTP-servers. High availability database and server monitoring is not shown in this picture.
To support this architectural approach the IOM was improved and extended. The following list gives a short overview.
Applications servers that are acting as frontend servers were proved to support session failover. Additionally load balancing and sticky sessions are tested using one approach on Apache HTTP Server.
The new management of cluster jobs implemented by Quartz Clustering with JDBC-JobStore ensures single machine job handling. See Guide - IOM Job Scheduling for more information.
This new tool was implemented to manage the availability of application server nodes. Using IOM server health checks which was added to each application server Watchdog can be configured to start/ stop/ restart applications servers if required. Additionally Watchdog switches to another backend server to be active in case of errors. Also see Guide - IOM Watchdog 2.2 - 2.11.
The Ftp-servers are enabled to synchronize between each other. One tested approach is GlusterFS, but any other solutions can be used too.
IOM supports access to PostgreSQL HA clusters but has always connect to the master database.
A PostgreSQL HA cluster usually consists of one master server and one or more hot-standby servers. The master-server is the only one, which is allowed to change data. An additional witness-server is needed by the fail-over process when the total number of servers (master + standbys) is odd. The database connection address of IOM consists of a hostlist which supports a number of one or more database host addresses which ensures a connection to the database as long as at least one of these addresses are pointing to a working PostgreSQL HA clusters. Please see Guide - Intershop Order Management - Technical Overview for more detailed information.
The URL of the OMT application, the user interface, was cut down from /bakery.omt/app/ to /omt/app/ only and has no visual relation to the technical deployment artifact any longer.
The URL /bakery.omt/app/ does not work any longer and has no redirect to the new URL.
Icons for the main menu were replaced to more fit the represented content.
The page header of OMT was improved. Therefore the quick search was moved to it to be able to quickly search for orders, customers and items any time. Additionally icons to reach the user profile of the current user and to logout was introduced.
Customer shipping addresses has been extended by the attribute night shipping. It indicates, if night shipping and delivery for a customer address is permitted. Thus, a call center agent can configure whether night shipping is enabled for a selected customer shipping address.
The new version of SOAP web service CustomerService/v1.1 and ExportCustomer/v1.1 supporting the new attribute nightShipping. Also see Reference - IOM SOAP Web Services
Export Customer (based on CustomerService-v1.0.xsd) is no longer available.
On the invoice detail page the information about settled state is now shown on top too.
Additionally a comment can be added to the invoice.
On the invoice detail page it is possible to grant manually a credit note to a customer. For B2B shops the amounts now can be entered as net value. For B2C shops gross values still is required.
The delivery note number from the supplier can now passed though the accounting interface of IOM to connected accounting systems. Following it is possible to match several deliveries from a supplier to aggregated invoices from a supplier.
Also see Reference - IOM ImpEx Interfaces. The new attribute is named DeliveryNoteNo.
Aggregated invoices allows to generate one invoice for all orders/ dispatches within a certain time frame for a customer. Aggregated invoices now can be configured at the customer details page. Set here if an aggregated invoice should be generated and it's time frame.
For more information see Concept - IOM Aggregated Invoices.
It is now possible to set the default quantity of the items that are possible to return within the dialog of OMT for the return confirmation. The default value can be the maximum returnable quantity or zero (0). For configuration use the cluster property is.oms.default.max.return.quantity. If not set zero (0) will be used.
With the enhancement of the OrderService v1.2 also improvements of the user interface were made. Therefore all amounts are now showing discounted values for an all-over consistently view. Discounts and promotions are shown separated.
The affected pages are:
Also email templates and PDF document templates were updated.
To have a more clear view about the several types of booked order values improvements were made on the invoice list.
Therefore the column paid was removed from the customer invoice list and the order invoice view. Further on the invoice details view the label paid was renamed to captured, the status for paid/ charged/ captured was removed. The status for booked remains.
With the new management of cluster jobs as mentioned in section HA of this document, the configuration of cluster jobs was moved to etc/ of the application server. Using the files quartz-cluster.properties and quartz-jobs-cluster.xml cluster jobs can now be configured without any build of deployment artifacts before. Please see Guide - IOM Job Scheduling for more information.
Using the cluster property
is.oms.validation.pattern.email it is now possible to customize the email validation using the given pattern. See section Cluster Properties of Guide - Setup Intershop Order Management 2.2.
Using the cluster property
it is now possible to customize the password validation rule using the given pattern.
is.oms.validation.pattern.password.hint the displayed note, where you can explain the rules for OMT users, can be customized. Both values can be set independently from each other.
The OrderService to submit new orders was enhanced to:
Therefore the OrderService was updated with following information:
Also see Reference - IOM SOAP Web Services
Customer delivery addresses has been extended by the attribute night shipping. It indicates, if night shipping and delivery for a customer address is permitted. Also see Support of Night Shipping Information at Delivery Addresses and Reference - IOM SOAP Web Services
Export Customer (based on CustomerService-v1.0.xsd) is no longer available.
The distribution package that contains the binary distribution of Intershop Order Management 2.2 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-10950||Deprecated obsolete OrderPosShippingClassDO|
|IOM-9405||Deprecated SOAP-CustomerService 1.0|
|IOM-8193||Deprecated 'ListPrice', 'PurchasePrice', 'SalesPrice', 'salesPriceOld', 'provisionType', 'provisionPercentage', 'isBestseller' of product export|
|IOM-8192||Deprecated 'ListPrice', 'PurchasePrice', 'SalesPrice', 'salesPriceOld', 'provisionType', 'provisionPercentage' of product import|
|IOM-7363||Deprecated OrderService 1.1|
|IOM-6705||Missing TypedObject at PaymentNotificationDO while saving payment notification|
|IOM-6674||Sporadic very slow product import|
|IOM-6642||Credit note limit is wrong when position is spread over invoices|
|IOM-6626||Manual Credit Note Fails After Return|
|IOM-6625||Login fails after a deleted user was created new with the same login name.|
|IOM-6567||Hibernate-exception while editing an erroneous dispatch|
|IOM-6533||Order Responses with Wrong Quantities Cause Failure of subsequent Responses|
|IOM-6516||VelocityTransformer doesn't support UTF-8 encoded includes|
|IOM-6514||ApprovalResponseDOs marked as invalid|
|IOM-6513||Non-atomic open amount (XML) export causes duplicate export|
|IOM-6492||Length check missing in OrderMapperInBean (HouseNumber, StreetName)|
|IOM-6448||Conflicting Order Responses Create a Deadlock|
|IOM-6403||Credit note invalid for position which is waiting for aggregated invoice|
|IOM-6402||Precondition check for invoice number generation doesn't work|
|IOM-6382||Order invoice list shows negated status in field 'settled'|
|IOM-6361||Can't create proper order responses for partially dispatched positions|
|IOM-6354||TransmissionTypeDefDOEnumInterface unchecked cast to TransmissionTypeDefDO|
|IOM-6353||ATP error when using multiple ShopArticleNo for a same SupplierArticle|
|IOM-6352||TransmissionTypeDefDO[EnumInterface] uses MessageTypeDefDO instead of EnumInterface|
|IOM-6347||Manual approval rejection not working while payment approvals are pending|
|IOM-6346||NullPointerExceptions in ValidateResponsePTBean.identifyPosStateCode4Continuous|
|IOM-6344||OMT Item search ID type selection is misleading|
|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-6249||Exception in OMT order position view ("Rounding necessary")|
|IOM-6230||Edit order response dialog broken|
|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-6199||update_properties does not reflect syntax errors in exit code|
|IOM-6194||Return reason combobox too small|
|IOM-6119||Mail Displayed Twice for Split Order|
|IOM-6117||Order Response Displays Wrong Purchase Price|
|IOM-6111||LazyInitializationException when calling returnReportRequest of webservice ReverseService|
|IOM-6077||Display of long customer numbers breaks OMT layout|
|IOM-6076||Not able to create dispatches / cancellations in OMT (multiple supplier order)|
|IOM-6066||ScheduleDO stuck due to race condition in JobHandler|
|IOM-6059||Rounding issue in Net Based Price Calculation ICM 188.8.131.52/4 und OMS 2.1.1|
|IOM-6047||OMT Homepage - Item & Customer search does not work|
|IOM-6005||Return reasons are not displayed properly in OMT|
|IOM-6000||FTPFileTransferBean causes infinite loop|
|IOM-5998||"Cancelled" and "Later" quantities are exchanged with icons in Order Receipt tab|
|IOM-5976||ArticleCollectionForAggregationUpdateDO possibly has duplicates|
|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-5904||Configured email sender name is not used for customer emails|
|IOM-5903||OrderMessageLog archive csv does not show the archived data|
|IOM-5901||openInvoiceAmount of customers is never updated properly|
|IOM-5835||ShopCustomerMailLogicBean inconsistent behaviour (Payment method)|
|IOM-5818||validateCancelOrder fails in ReverseService.cancelOrder|
|IOM-5814||Article export file format does not match to documentation|
|IOM-5802||javax.persistence.OptimisticLockException: Row was updated or deleted by another transaction|
|IOM-5798||NullPointerException in OrderDocumentsMapperBean|
|IOM-5753||WARN: ''quartz-jobs.xml'' does not exist.|
|IOM-5631||Same id for different states in DocumentStatesDefDO (STATE_INVALID.id == STATE_CLOSED.id)|
|IOM-5621||Order cancellations have a refund value of 0.00|
|IOM-5563||JMS Queues in clustered environments: failover|
|IOM-5504||Possible SQL Injection in Reservation REST API/ArticlePersistenceBean|
|IOM-5427||Item details page: description looks bad if there is no content provider available|
|IOM-5395||Stacktrace in the browser after cancelling a cancellation|
|IOM-5361||Potential NPEs for *PropertyDOs|
|IOM-5319||CustomerService resets open amounts|
|IOM-5258||New customers are "hardcoded" B2C customers|
|IOM-5251||Manual payment notification date is not set properly|
|IOM-4454||Using browser "Back" button after viewing a search result leads to a technical error|
|IOM-2634||Duplicate check in ValidateOrderCompletePTBean will add same ValidationException twice for missing existing delivery address for physical item|
|IOM-7774||Added Moldova to CountryDefDO|
|IOM-7702||Health check caches responses|
|IOM-7567||Interface for GDPR compliant customer data collection|
|IOM-7861||Comment while creating a manual credit note is not saved|
|IOM-7821||Atp- Reservation-Request is not filtering by Shop2Supplier restrictions|
|IOM-7799||User is able to cancel order without permission|
|IOM-8289||HTTPS is not working for OMT|
|IOM-7669||Deleting a user in OMT must be done twice before it succeeds|
|IOM-7665||Velocity transformer throws exceptions in case of NULL values|
|IOM-7643||API-break because of non-deprecated deletion of getCountry() of userMailLO.getCustomerAddressLO()|
|IOM-7640||Exception is thrown if manual credit note is created for shipping costs only|
|IOM-7628||communication mapper v1_0: Wrong handling of the “#@#” separator between street name and house number.|
|IOM-7391||Invoice download only possible with permissions for OMS Internal Supplier|
|IOM-7386||The article lookup in parent shops is not recursive in the stock blocking process|
|IOM-7344||Error page in OMT + Exception in calculation for invalid return messages|
|IOM-7286||Search for Orders in Customer Search delivers error|
|IOM-7360||Rounding issue while creating correction positions in CreateInvoicing2ReturnPTBean|
|IOM-7359||Several issues with canceled ReturnDOs in CreateInvoicing2ReturnPTBean|
|IOM-7346||Customer link at search order table if permission "showCustomerData" not set for all shops|
|IOM-7321||Schedules remain locked, if backend server is stopped|
|IOM-7310||A product update performed through the OMT may fail with a rollback exception|
|IOM-7308||The database table Shop2FinanceControllerDO miss a unique index on (shopRef,financeControllerRef))|
|IOM-7136||Customer link at Order Details if no customer view permission|
|IOM-7134||ShopDO.getShop2FinanceController() isn't recursive|
|IOM-6211||race condition in OrderPersistenceBean may cause ConstraintViolationException|
|IOM-7274||Error page in OMT + Exception in calculation for invalid return messages|
|IOM-7250||Customer search by phone with wildcard doesn't work|
|IOM-7235||Invoice calculation broken for order level discounts|
|IOM-7214||NullpointerException when creating return labels from ICM|
|IOM-7211||Document Service is not working|
|IOM-7177||Enabled automation of database migration|
|IOM-7166||Enabled all partners in PartnerReferrerDO to be receiver of a transmission|
|IOM-7179||Manual credit notes are not considered correctly when creating credit notes for returns|
|IOM-7165||ShopCustomerMailLogicBean.createShopUserMailInvoicingLO inconsistent behaviour (Payment method)|
|IOM-7154||Debtor/Invoice transmissions don't reset MessageLogContext and cause MessageLogException|
|IOM-7151||Retry mechanism for all transmission types broken in latest patch|
|IOM-7140||Search for order in "Waiting for approval" doesn't work|
|IOM-7128||Customer search breaks for a 3 level shop hierarchy|
|IOM-7125||Shop-Supplier check is wrong when looking for article availability in parent shop(s)|
|IOM-7124||Export files are deleted from the filesystem when the JVM/application server is shut down|
|IOM-7122||OrderAuthorizationExpireControllerBean creates captures / invoices for orders with incomplete Payment|
|IOM-7120||Race condition causes Exception in ClosePaymentNotificationQueue when creating two notifications for the same order at the same time|
|IOM-7099||OrderRecallController / OrderRecallPC functionality is not working|
|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-7070||Disabling invoice creation via the active-flag is ignored|
|IOM-7061||discountedItem* prices for undiscounted items not mapped in OrderService 1.2|
|IOM-7007||All positions of an order are displayed as check failed allthough only some are|
|IOM-6844||Order search filter breaks when a shop hierarchy contains more than 2 levels|
Please see Overview - IOM 2.2 - 2.2.1 Migration for migration guidelines.
|IOM-7169||Eased configuration of web-server settings|
|IOM-7168||Enabled order routing after manual order approval|
|IOM-7167||Business Events are now basic part of each process and must not configured any longer|
|IOM-6881||Faulty EMail validation in OrderController|
|IOM-6852||Customer specific data are offered by OOTB in Invoice Templates|
|IOM-6834||NullPointerException when working with multiple tabs on order details page in OMT|
|IOM-6802||Missleading filter description in OMT order search|
|IOM-6799||Invoice calculation after a manual credit note doesn't consider the entered values|
|IOM-6796||Delivered custom password expression doesn't match the default one|
|IOM-6795||Role assignment is successful without selecting an organisation|
|IOM-6790||OMT searches with customer attributes is not consistent between the Order and the Customer search results|
|IOM-6779||Wrong unique constraint on ExecutionBeanValueDO|
|IOM-6771||Sort articles according to order position in e-mails|
|IOM-6753||modificationDate of ArticleSupplier(Shop)DO is not updated by OMT|
|IOM-6730||Non-deterministic carrier name display in OMT|
|IOM-6725||Order/customer search table only shows 'row number'-column for new users after first login|
|IOM-6724||OMT displays links to customer detail page without permission "show customer data"|
|IOM-6721||Cascading delete on Shop2Supplier2ApprovalTypeDefDO may cause orders to get stuck|
|IOM-6671||Expanded Payment methods do not show up as filter in the order search|
|IOM-6583||WebService CustomerService/v1.1 throws 'Unable to throw real Exception' if id was set|
|IOM-6549||Bootstrap dateRangePicker does not close using Close Icon|
|IOM-6528||Response & Response Position Properties are not processed / stored into the database|
|IOM-6527||Return & Return Position Properties are not processed / stored into the database|
|IOM-6523||Dispatch & Dispatch Position Properties are not processed / stored into the database|
|IOM-6289||Double error message "not authorized" while confirming not permitted order cancellation|
|IOM-5898||JobHandler suppresses Stacktraces|
|IOM-5644||ScheduleDO is automatically activated after job run when it was deactivated during job run|
|IOM-5512||Help tool tips are not respected in tab order of user creation dialog|
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.