Welcome to Intershop Order Management 4
Intershop Order Management (IOM) is an application of the Intershop Commerce Platform that is designed to combine omni-channel commerce processes into one system. It automates and streamlines the life cycle of orders and payments. IOM processes orders from multiple touchpoints (web shop, mobile shop, call center, etc.), allocates them to multiple fulfillment solutions (fulfillment centers, drop-ship distributors, physical stores, etc.), and tracks all orders and payment transactions.
IOM offers a centralized platform for managing distributed inventory, order, invoice, and payment life cycles, and provides call center functionality, enabling real-time visibility of customers' purchasing behavior, stock levels, payments, etc. As part of the Intershop Commerce Platform, it utilizes the platform's transaction, PIM, and merchandising features.
IOM offers the possibility to tailor your business models as flexibly and freely 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.
Overview - IOM Interfaces and Overview - Intershop Order Management REST API
Overview - IOM Connector to connect Intershop Commerce Management with Intershop Order Management API
The transition period has started with IOM release 5.0.0, refer Public Release Note - Intershop Order Management 5.X, and will end on . See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images:
docker.tools.intershop.com/iom/intershophub/iom:4.7.0
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.7.0
Helm charts Release iom-2.3.0 · intershop/helm-charts
It is now possible to update, delete, or create RMA properties. The properties can be set/updated/deleted at the RMA line item level.
Also, a whole RMA can be replaced while keeping the old generated RMA number.
See Reference - IOM REST API - RMA 2.12 for more details.
IOM back office: Customer detail page: orders unsorted (96382)
Deadlocks are always possible when running a migration online (95660)
Back office: editing a product leads to duplicated shop product ID (95193)
Back office: resending e-mail fails in back office after changing e-mail address (95458)
DOSE supplier evaluations are created for suppliers not having the product yet (94949)
Blocked stock is not visible in the back office for hierarchical stock feature (94596)
Shop2SupplierDO."allowParentStock" must not be nullable (94641)
Too many blocked stocks can be reduced during cancellation if you use the function for hierarchical stock feature (94702)
Order stuck in state 'Optimization of suppliers' (93969)
DOSE-process does not consider all possible suppliers when using hierarchical stocks (93998)
Precautionary update of jdbc driver due to CVE-2024-1597 (94211)
Default DOSE process does not check for inactive Shop2SupplierDOs (94222)
Back office: missing localization for some countries (93367)
NPE with missing (null, not empty) RMA properties list (92623)
IOM did not use PostgreSQL client programs of the latest supported PostgreSQL version, which is version 15 (90185)
Back office: loading invoice details takes more than 60 sec and ends up with http 504 (91938)
Unable to create dispatch in the back office for very large orders (91955)
Insufficient column size for the import of listPrices (92186)
REST API Inventory: getAvailableQuantity returns wrong reserved quantity when the same product is available from different suppliers (90243)
ReverseService: cancelOrder cancels multiple items if SKU is not unique (90354)
Wrong blocked stock assignment with a deep shop hierarchy and incomplete import of N-files (90481)
Wrong reserved and blocked values when article fact data are defined at a higher shop level (90571)
Back office: cannot edit stock when the N-file was imported at a parent shop only (90701)
Wrong stock reduction order with reserved stocks (89934)
Wrong stock visibility with reserved stocks (89978)
Back office: sorting of e-mails by creation date does not show correct order (89105)
Missing countries in CountryDefDO (89237)
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Operate Intershop Order Management (GitHub)
Docker images:
docker.tools.intershop.com/iom/intershophub/iom:4.6.0
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.7.0
Helm charts Release iom-2.3.0 · intershop/helm-charts
The endpoints allow incremental retrieval of all order states that have been modified since the last call.
It is now possible for a shop to consume stocks imported at different levels. Refer to Concept - IOM Hierarchical Stocks Visibility.
The endpoint /clusterstatus IOM REST API - Health Service 1.0 is deprecated and will be removed in the next major version. This service is no longer required in the Kubernetes context.
Wrong invoiced quantity for split order positions (86901)
Order creation may fail due to locking failures of its articles (88270)
Concurrent processing of orders containing identical articles has been improved.
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images:
docker.tools.intershop.com/iom/intershophub/iom:4.5.0
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.7.0
Helm charts Release iom-2.3.0 · intershop/helm-charts
For automated housekeeping of the shared file system, a new job is available now (JobDefDO.CLEAN_SHARED_FS_JOB
). Additionally, the configuration of the schedules has been extended with a threshold value that defines how long files should be kept. By using the IOM 4.5.0 release, three core schedules will be created with the database migration for files of importarticle/done
, importarticle/archive
, and jobs/archive
.
For more information, refer to Cookbook - IOM Housekeeping the Shared File System and Reference - IOM Schedule Jobs.
To support resending e-mails on customer requests, e-mails can now be triggered in the e-mail section of the order.
A new e-mail address can also be set, for example, if there is a typo or if a different address is to be used. See IOM Help | Order Detail Page.
When opening the login page, the version information of the project is now displayed in addition to the IOM version. Furthermore, custom information can be added here. This helps projects and users to easily identify the version they are using. See IOM Help | Accessing the Order Management Tool and Cookbook - IOM Displaying Custom Information on the Back Office Login.
While creating a return request in the back office, it is now possible to add one or more contact persons to the return request. See IOM Help | Managing Returns (RMA).
Custom tabs shown on the order details page can now be configured with placeholders to display content from custom servlets or 3rd party systems. To better support calls, placeholders for selected data can now be added to the URL. For details, refer to Cookbook - IOM Back Office Custom Order Detail Tabs and IOM Help | Order Detail Page.
Using the REST API order service, it is now possible to filter order states by e-mail addresses. See Reference - IOM REST API - Order 2.3.
In relation to (85085) and (69932), a new document schema and mapper is available for the generation of invoice and credit note documents.
This ensures optimal support for shipping buckets.
For schema, see Reference - IOM Invoice and Credit Note Generation | XML Schema Components.
For how to configure, see Guide - IOM Shop Onboarding | Document Creation Configuration.
Multiple shipping addresses are not supported for invoice documents (85085)
NPE when retrieving null attributes in PromotionDO (83376)
PropertyOwner implementations are inconsistent/ error-prone (31310)
Random shipping address assigned to invoice documents (69932)
REST API order: customer type defaults to "PERSON" if no CustomerDO is present (84201)
REST API order: insufficient description of the customerType parameter (85449)
REST API order: validation of unique numbers is not thread safe for shipping bucket, charge, and order position numbers (84976)
REST API transmission: internal server error if sortable attribute for transmissions is wrong (83314)
REST API: HTTP 500 response when getting OPTIONS and unhandled CORS preflights (81146)
Shipping bucket is not listed in ObjectTypeDefDO (84180)
Rounding errors when computing totals from tax rate if not given on order creation (80799)
Order search by status takes long / throws HTTP error (86433)
Missing payment reference of the order in new document mapper (86941)
Related reference: Reference - IOM Invoice and Credit Note Generation
E-mail address cannot be changed in OMT (86844)
Editing a product in OMT can lead to the login screen(86845)
Wrong invoiced quantity for split order positions (86901)
Cannot edit a product supplier ID twice in OMT (87097)
Back office: resending successfully transmitted customer mail fails (85752)
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images:
docker.tools.intershop.com/iom/intershophub/iom:4.4.0
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.6.0
Helm charts Release iom-2.3.0 · intershop/helm-charts
Intershop Order Management 4.4 is based on WildFly 27.
Besides the support of Jakarta EE 10, WildFly 27 comes with a lot of additional component updates. For required migrations, refer to Guide - IOM 4.3 - 4.4 Migration.
One or more contact persons can be added to a return request now. Additionally, ContactPerson
has been refined in attributes lastName
, emailAddress
, and language
. For details, refer to Reference - IOM REST API - RMA 2.11.
In the back office, the contact persons on the related return request are displayed now, too.
A new database job that deletes old entries from JobRunHistoryDO
is available now. It is enabled by default. See Reference - Database Jobs.
A partial cancelation of an order in initial state prevents further processing (82046)
Back office: required prefilled country is missing in address editing if not configured for the shop (63522)
Back office: broken design in role management - edit permission assignment (81508)
Back office: customerNo/shop not populated in invoice details for deleted customers (77980)
Back office: editing product details page - shopArticleNo has a limitation of 30 characters (79794)
Back office: inconsistent alignment of payment notification data on the order details page (58374)
Back office: names of documents are interspersed with blanks (77077)
Back office: unable to save inventory level without pricing per unit selection on product detail page, but UI gives no hint (81539)
CheckReturnPCBean fails during processing of manually approved cancellations/returns (81449)
Choosing position items upon cancelation and return is not done in proportion to the canceled tax amount (75234)
Embedded Initiator/InitiatorDefDO persisted as ordinal value instead of id (82044)
Initial dump cannot be loaded (80870)
Invoice aggregation job is too slow (81093)
Log level ERROR is too high for authorization failures (79581)
Logical error in SalesPricePosCalculatorBean (81323)
Missing discounted value in SubTotal is not calculated correctly (81158)
Order level promotion must not lead to negative prices during order position item splitting (81809)
REST API order: creating an order with unknown SKU and syncr. SKU validation misses error message in HTTP 400 (79793)
REST API order: order states operation raises NullPointerException if reduce reason is not configured (80908)
REST API RMA: approval has undocumented constraint - comment is required when declining a return request (78323)
REST API RMA: no option to add contact persons (but to retrieve them) (81312)
REST API RMA: undocumented constraints in ContactPerson (lastName, emailAddress, language) (81347)
REST API RMA: YAML example values mixing type RETURN + pickupAddress (78213)
Unintended initial value in PromotionLO (80980)
Database migration may fail due to a constraint (84092)
The database migration process may fail due to a too restrictive constraint. This affects all IOM versions until now but failure is not very likely. This issue will be fixed out of the box in future versions.
You can apply the fix proactively while executing these two SQL statements prior to the migration as the IOM database user (can be done before starting the upgrade process):
ALTER TABLE admin.migration_log DROP CONSTRAINT migration_log_pk; ALTER TABLE admin.migration_log ADD CONSTRAINT migration_log_pk primary key (logtime, script);
Rounding errors when computing totals from tax rate if not given on order creation (80799)
Back office: customer features shows meta data in edit form, and saving is broken (85233)
Database migration may fail due to a constraint (84092)
calling PaymentNotificationPersistenceBean.getQuantityCaptured throws exception (84126)
Back office: error occurs while using SSO account (83059)
RMA export is not filtered by supplier (83449)
Order line tax amounts are calculated based on undiscounted values (SOAP only) (82737)
Attention: Refer to the manual deployment step of release 4.3.5 if not already done.
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images
docker.tools.intershop.com/iom/intershophub/iom:4.3.1
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.6.0
Helm charts Release iom-2.3.0 · intershop/helm-charts
The IOM back office now supports the login using an identity provider (Azure Active Directory or Keycloak). If configured, the login page displays a button that connects the user with the identity provider. For more information, refer to Concept - IOM Single Sign-on and Cookbook - IOM Global Business Configurations.
Additionally, there were several adjustments on the user profile and user detail pages related to the new authentication method single sign-on. Also, refer to the online help IOM Help | IOM 4.3.
The configuration of the export of SalesOrders and PurchaseOrders XML files for debtor management systems has been split to be more flexible. Refer to Guide - IOM 4.2 - 4.3 Migration.
For custom RMA approval rules, decision beans are now supported. Refer to Concept - IOM RMA Business Process and Cookbook - IOM RMA Business Process.
Migration Scripts for IOM versions < 3.0 should not be required anymore and have been moved to the archive folder.
Shop2Supplier2ApprovalTypeDefDO does not consider decision beans for return announcements (78651)
Deployment impossible due to unpersisted enum (79691)
Invalid SQL trigger functions (has_invoicing2orderdo_order_trf, has_invoicing2orderdo_invoice_trf) (79813)
Transmission search for invoice e-mails by invoice number fails (80091)
Reservation API does not work when the shop hierarchy is more than two levels (80101)
Order level discounts on the positions are different in the back office/PDF when using SOAP vs REST order creation (80529)
Rounding errors when computing totals from tax rate if not given on order creation (80799)
Back office: error occurs while using SSO account (83059)
RMA export is not filtered by supplier (83449)
Update WildFly to version 26.1.3.Final (83748)
As this release fixes a single defect affecting orders placed with the SOAP “OrderService”, you can skip it when your installation did not use the SOAP service beyond IOM version 3.5.0 when the bug was introduced.
Order line tax amounts are calculated based on undiscounted values (SOAP only) (82737)
Attention: The SQL script to correct wrong tax information is not part of the default database migration during the upgrade process, as it does not affect all installations and can be time consuming.
Only installations that used the SOAP “OrderService” should apply it.
Please execute the script during an application downtime, using a tool of your choice (e.g., psql, DBeaver):
The expected runtime is up to 10 minutes for large installations, as long as the database sizing and configuration is appropriate.
SET client_min_messages=warning; -- #82709 wrong recalculated taxes DO $$ DECLARE timemin timestamp = (SELECT COALESCE((select ((logtime at time zone (SELECT current_setting('TIMEZONE')))::timestamp without time zone) FROM admin.migration_log WHERE script ~ '3.5.0.0_006.sql' ORDER BY logtime ASC LIMIT 1), '1999-01-01 00:00:00.000'::timestamp)); step_identifier text = '#82709 wrong recalculated taxes'; workmem_tmp text = '200MB'; BEGIN IF NOT admin.dbmigrate_is_step_applied(step_identifier) THEN --raise work_mem for the current transaction perform set_config ('work_mem', workmem_tmp, true); --select OrderPosDO.ids and tax values which may be affected by the issue. create temp table tmp_opids as (select p.id, coalesce(p."shopPosGrossDiscounted" -p."shopPosNetDiscounted", 0) as postax , coalesce(p."recalculatedShopPosGrossDiscounted" - p."recalculatedShopPosNetDiscounted", 0) as recalc_postax from "OrderPosDO" p join "OrderDO" od on p."orderRef" = od.id WHERE od."creationDate" >= timemin AND ( p."shopPosGrossDiscounted" - p."shopPosNetDiscounted" <> 0 OR p."recalculatedShopPosGrossDiscounted" - p."recalculatedShopPosNetDiscounted" <> 0) ); create index tmp_opids_id on tmp_opids(id); analyze tmp_opids; -- orderPos with multiple taxes -- these data are not affected. (the soap api does not support multiple taxes per position.) DELETE FROM tmp_opids where id IN (select "orderPosRef" from oms."OrderPosTaxDO" pt where pt."orderPosRef" in (select id from tmp_opids) group by "orderPosRef" having count(*) > 1); analyze tmp_opids; --single taxes: just copy the values from "OrderPosDO" UPDATE "OrderPosTaxDO" SET "taxValue" = t.postax, "recalculatedTaxValue" = t.recalc_postax FROM tmp_opids t WHERE "OrderPosTaxDO"."orderPosRef" = t.id AND ("taxValue" <> t.postax OR "recalculatedTaxValue" <> t.recalc_postax); PERFORM admin.dbmigrate_register_step(step_identifier); END IF; END; $$;
InitiatorDefDO persisted with ID but retrieved via the ordinal number (82008)
Attention: Due to a bug in IOM versions >= 3.5.0.0 < 4.3.4 it is possible that some database entries have a wrong reference to the table InitiatorDefDO
. To prevent lengthy downtimes during the upgrade, the script necessary to fix this data has not been included in the automatic DBMigrate process. Instead, it has to be executed manually after the deployment of IOM >= 4.3.4.
There is no need to execute this script immediately after the deployment. It can be executed the next day or during a low-traffic period. Please execute the script using a tool of your choice (e.g., psql, DBeaver):
create or replace procedure admin.fix_initiator(tablename varchar, ts_column varchar, ts_lower timestamp without time zone, ts_upper timestamp without time zone) as $$ DECLARE step_identifier varchar; BEGIN step_identifier = '#82044: fix values in table ' || tablename; IF NOT admin.dbmigrate_is_step_applied(step_identifier) THEN raise notice 'fixing values on table %', tablename; execute 'update "' || tablename || '" set "initiatorDefRef" = case "initiatorDefRef" when 4 then 5 when 5 then 7 when 6 then 8 when 7 then 9 else "initiatorDefRef" end WHERE "' || ts_column || '" > ''' || ts_lower || ''' and "' || ts_column || '" < ''' || ts_upper || ''' and "initiatorDefRef" in (4, 5, 6, 7)'; PERFORM admin.dbmigrate_register_step(step_identifier); ELSE raise notice 'skipping table %, already registered migration step.', tablename; END IF; COMMIT; END; $$ language plpgsql; DO $$ DECLARE ts_column varchar; ts_lower timestamp; ts_upper timestamp; tbl varchar; idx_stmt varchar; tables_to_fix varchar[] := ARRAY['ApprovalResponseStateHistoryDO', 'DispatchStateHistoryDO', 'DispatchTransmissionStateHistoryDO', 'DocumentStateHistoryDO', 'DocumentTransmissionStateHistoryDO', 'EventControlStateHistoryDO', 'InvoicingStateHistoryDO', 'InvoicingTransmissionStateHistoryDO', 'OrderCancelStateHistoryDO', 'OrderChangeRequestStateHistoryDO', 'OrderNoteDO', 'OrderPosStateHistoryDO', 'OrderStateHistoryDO', 'OrderSupplierEvaluationStateHistoryDO', 'OrderTransmissionStateHistoryDO', 'PaymentNotificationStateHistoryDO', 'PaymentNotificationTransmissionStateHistoryDO', 'ProcessControlStateHistoryDO', 'ResponseStateHistoryDO', 'ResponseTransmissionStateHistoryDO', 'ReturnAnnouncementTransmissionStateHistoryDO', 'ReturnRequestStateHistoryDO', 'ReturnRequestTransmissionStateHistoryDO', 'ReturnStateHistoryDO', 'ReturnTransmissionStateHistoryDO', 'ShopCustomerMailTransmissionStateHistoryDO']; BEGIN ts_lower = (SELECT COALESCE((select ((logtime at time zone (SELECT current_setting('TIMEZONE')))::timestamp without time zone)::varchar FROM admin.migration_log WHERE script LIKE '%3.5.0.0_001.sql' ORDER BY logtime ASC LIMIT 1), '1999-01-01 00:00:00.000')); ts_upper = ((select ((logtime at time zone (SELECT current_setting('TIMEZONE')))::timestamp without time zone)::varchar FROM admin.migration_log WHERE script LIKE '%4.3.4_001_82044.sql' ORDER BY logtime ASC LIMIT 1)); raise notice 'selected timeframe: % to %', ts_lower, ts_upper; if ts_upper is null then raise exception 'did not find *4.3.4_001_82044.sql in migration log - did you already deploy IOM > 4.3.4 before running this script?'; end if; FOREACH tbl IN ARRAY tables_to_fix LOOP call admin.fix_initiator(tbl, 'timestamp', ts_lower, ts_upper); END LOOP; -- separate step for CustomerContactDO due to different column name tbl = 'CustomerContactDO'; call admin.fix_initiator(tbl, 'contactDate', ts_lower, ts_upper); END $$; drop procedure admin.fix_initiator(varchar, varchar, timestamp, timestamp);
Getting HTTP timeout when sending certain orders (81574)
Invoice aggregation job is too slow (81093)
Initial dump cannot be loaded (80870)
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images
docker.tools.intershop.com/iom/intershophub/iom:4.2.1
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.5.0
Helm charts https://github.com/intershop/helm-charts/releases/tag/iom-2.2.0
A new version of the transmission REST API is available, which introduces improved search and update options. Refer to Reference - IOM REST API - Transmissions 2.0 and Overview - Intershop Order Management REST API.
Based on this new version, the back office has been enhanced and supports the same options in the transmissions section, too.
To show existing change requests and their status, the list of order change requests of an order is now shown on the order details page. Also, refer to Concept - IOM Feature Toggles of OMT.
In order to better support monitoring of the application, the IOM now supports over 20.000 metrics of the WildFly application server in the Prometheus format. For more details, see iom/helm-charts/Metrics.rst.
The following infrastructure components were updated:
WildFly was updated to version 26.1.2.Final
IOM now uses Adoptium OpenJDK 17.0.4.1+1
OrderMapperOutBean_v1_1.java
now offers the static constant OrderMapperOut.LOGIC_ORDERMAPPEROUT_V1_1
to support the JNDI lookup more easily.
Due to the fact that approval preconditions (e.g., credit limit) may change over time, this has led to inconsistent behavior in the approval process in some rare cases.
With IOM 4.2 approval rules will not be executed for the second time again. IOM will only consider existing OrderApprovalReasonDOs
/ApprovalResponseDOs
and respect the selected approval/rejection accordingly.
Manual credit note requests fail due to too many order positions in the back office (76748)
Commodity group search is broken in the back office (76992)
Manual credit note on aggregated invoices: the credit note is mapped to all invoice's orders (77348)
Warning log full with: bakery.logic.job.file.FTPFileTransferBean finished successfully, but the success was not registered at JobStateDefDO (77413)
CloseInvoicingPCBean repeatedly failing but unable to analyze because it does not tell which row is affected (77835)
Race conditions + suppressed exceptions in invoice calculation (78002)
OrderMapperOut's JNDI binding only supports StoreOrder 1.0, but not 1.1 (78363)
ShopDO.getEventRegistryEntryList() is not thread-safe (78501)
Rejecting an order approval may lead to an order being approved anyways (78613)
Stock import cannot handle empty files despite ImportConfigurationDO.canDatapackBeEmpty being set to true (78734)
Missing unique constraint on Supplier2ReturnReasonDefDO (78957)
Deployment impossible due to unpersisted enum (79691)
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images
docker.tools.intershop.com/iom/intershophub/iom:4.1.5
docker.tools.intershop.com/iom/intershophub/iom-dbaccount:1.5.0
Helm charts Release iom-2.1.0 · intershop/helm-charts
IOM 4.1. supports the usage of Azure PostgreSQL Flexible Server. These changes require the usage of iom:4.1.0 and iom-dbaccount:1.5.0.
The following infrastructure components were updated:
WildFly was updated to version 26.1.0.Final
IOM now uses Adoptium OpenJDK 11.0.15+10
IOM Docker images are now based on Ubuntu 22.04
Exports to accounting/debtor management systems can now be enabled for specific use cases instead of using a “global” switch. See migration notes for details.
"Returns"-tab in the back office might break in case of invalid/unprocessed returns (71213)
Setting root certificate for db is failing (75373)
Potential vulnerability in the back office needs to update spring framework to version to 5.3.18 (75697)
In back office, sorting orders on customer details page by date does not work (75763)
Copyright on start page is outdated (75786)
In back office, it is not possible to edit and save product data within the channel tab (75982)
In back office, it is not possible to modify the shop or supplier articleNo within the channel tab (75995)
Empty positions tab after a supplier action (75998)
Wrong treatment of fields street, streetName and houseNumber leads to repetition of house number in e-mails (76319)
Cancellation comment is not visible in back office anywhere (76380)
Creation user not shown for credit note (76384)
Logic to reduce stock on order export ignores canceled items (76496)
Accepting orders via SOAP API fails with promotion rounding error (79366)
Accepting orders via SOAP API fails with promotion rounding error (79366)
Support (optional) minimum date to consider when aggregating invoices (77851)
Database error during the migration from older versions (commenting on trigger) (77545)
InvoiceAggregationIntervalDefDO is not prepared with migration scripts (77579)
The database function process_article_aggregation fails after migrated to iom/4.1.2 (77708)
CloseInvoicingPCBean repeatedly failing but unable to analyze because it does not tell which row is affected (77835)
Race conditions + suppressed exceptions in invoice calculation (78002)
Manual credit note on aggregated invoices: the credit note is mapped to all invoice's orders (77348)
Warning log full with: bakery.logic.job.file.FTPFileTransferBean finished successfully, but the success was not registered at JobStateDefDO (77413)
java.lang.ArithmeticException: Rounding necessary when trying to view invoice (77212)
LazyInitializationException when trying to transmit an order (77230)
REST ReservationService.createReservation raises 500 if configured OrderSupplierEvaluationRuleDefDO #6 (Delivery due date) for a shop (77231)
The transition period has ended and no more patches will be made available for this release. See Concept - Continuous Releases | IOM Transition Period.
Setup Operate Intershop Order Management (GitHub)
Docker images:
docker.intershop.de/intershophub/iom:4.0.0
docker.intershop.de/intershophub/iom-dbaccount:1.4.0
Helm charts 2.0 helm/iom (JFrog)
From now on IOM consists of a single Docker image only. The IOM application- and config images were merged into a single image. This change reduces operational efforts in the Intershop Commerce Platform since it becomes possible to trigger deployments by simply pushing an image. These changes require the usage of IOM Helm charts 2.0.0 and devenv-4-iom 2.0.0.
Beginning with IOM version 4, execution of database initialization steps is tracked internally in granularity of:
execution of stored procedures
execution of migration scripts
execution of configuration scripts
If one of these steps has already been executed, it will be automatically skipped unless changed according to the SQL code. This will result in a shorter upgrade time in many cases, especially when rolling out new project versions.
The following infrastructure components were updated:
WildFly was updated to version 26.0.1.Final
IOM now uses Adoptium OpenJDK 11.0.14+9
Project2docker, the successor of caas2docker (see migration notes), is now upgrading the base OS of project images whenever a new project image is built. This ensures, that project images always include the latest changes on OS level. Especially for security fixes, this is very important.
Project2docker now provides the configuration variable UBUNTU_MIRROR_X86
to define a mirror server for Ubuntu distribution and ports. Since default Ubuntu servers are sometimes overloaded and slow, the definition of a mirror makes the image building process faster and more reliable.
The usage of JRE instead of JDK by IOM Docker images decreases the image size by about 150MB. A decreased image size leads to decreased resource consumption when running IOM in Intershop Commerce Platform or locally in devenv-4-iom.
Using the custom-block in order position row breaks the left alignment of common-block (71959)
"<" and "!=" used for object comparison in SalesPriceCalculatorUtilBean (72348)
RMA uses wrong shop-name in back office #2 (72901)
HTTP-201 is incorrectly documented a the return code for update transmissions endpoint (73604)
E-mail functionality broken when using alphanumeric bucket identifiers (73792)
User management + transmissions API unusable (74244)
RMA, Dispatch and Response Transmissions broken (74245)
Product import fails because of ArticleDO with same supplierArticleNo (74484)
PromotionDO recalculated values are not updated on cancellations (75117)
It is possible to register a same tax and location with overlapping time limits in TaxDO (75186)
Dispatch validation with unknown items causes NPE (75204)
Order REST API deliveryDate mapping mismatch. (75213)
Random shipping address assigned to invoice documents - intermediate fix (75321)