We are using EPiServer CMS 10.10.4 and Commerce 10.8 and have been running into an issue when a user logs into their account with a cart created when logged out. If the user is new or did not have a previous cart with their logged in account and log in with an anonymous cart, everything seems to be merged correctly. However, if the user had a cart in their logged in account and then logged in with an anonymous cart, the first line item in the anonymous cart is being added with one less quantity.
An example would be if the user added a quantity of 1 of product A to an anonymous cart and logged into their account which had an existing account, the line item would have a quantity of 0 added to it, effectively removing the item from the cart. If the user had a quantity of 2 of product A in an anonymous cart and logged in to their account, a quantity of 1 of product A would be added to their existing cart.
The more interesting and confusing thing is that when a user has say a quantity of 10 or 11 of a product in an anonymous cart and then logs in to their account with an existing cart, the line item is not added at all, as if it completely ignored the first digit and just looked at the second digit of 0 or 1 and either removed it because there was 0 quantity or decreased the quantity of what it saw as 1 to 0, removing it as well.
Again, this only happens when the user already had a logged in cart that had an item in it or at some point had a product in it but then was emptied.
Below is what we have in the web.config and as you can see we are using the ProfileModule which should be what is being used to migrate the carts. I don't see anywhere else in our project that there is any custom implementation for migrating. This project has been upgraded from 7.5 to 9 and then to 10.
That does not sound right. Are you using the new serializable cart mode, or the more "legacy" old one?
We are still using the legacy cart mode.
Sorry, went to edit a word in my original post and it removed the code block with the web.config setting
<add name="BusinessFoundationInitializeModule" preCondition="managedHandler" type="Mediachase.Commerce.Core.Modules.BusinessFoundationInitializeModule, Mediachase.Commerce" />
<add name="InitializationModule" type="EPiServer.Framework.Initialization.InitializationModule, EPiServer.Framework" preCondition="managedHandler" />
<add name="UrlRewriteModule" type="EPiServer.Web.RoutingUrlRewriteModule, EPiServer" preCondition="managedHandler" />
<add name="ShellRoutingModule" type="EPiServer.Shell.Web.Routing.ShellRoutingModule, EPiServer.Shell" />
<remove name="WebDAVModule" />
<add name="ProfileModule" type="EPiServer.Business.Commerce.HttpModules.ProfileModule, EPiServer.Business.Commerce" />
We need more information to be able to resolve this. It sounds like you might be "victim" of the OrderForm-Shipment-LineItem relation. I would suggest you to contact developer support service and provide us an environment to reproduce the issue - then we can verify and give an answer to you.