Cart
Add product variations to cart
Where to find it: Storefront product pages
When you'd use this: When your customers want to purchase a specific variation of a product (such as size, color, or style combinations).
What happens behind the scenes:
When a customer adds a product variation to their cart, the system looks up the product details from the search index. The index includes new variations when you add them to existing variants.
When checking stock availability during add to cart, the system validates stock based on the exact product and quantity the customer is requesting. This includes checking the specific unit of measure (such as "each," "dozen," or "case") from the customer's selection rather than using default product settings.
The system first tries to read real-time stock levels from your warehouse data. If that check fails for any reason, the system falls back to using cached stock information from the product index. When using real-time warehouse data, the system also updates the product index with current stock status to keep the cache fresh.
When checking whether a second or subsequent item can be added to cart, the system accounts for items already in the cart to ensure accurate stock availability for the new item being added.
When multiple requests attempt to create a cart at the same time for a customer who doesn't have one yet, the system handles this automatically. If a duplicate cart would be created, the system detects the conflict and retrieves the existing cart instead, ensuring each customer has only one active cart.
For guest checkout (B2C storefronts), the system tracks each guest's cart using a unique browser identifier that remains consistent throughout the shopping session — from adding items to cart through checkout and order placement. This ensures guests can maintain their cart and complete their purchase without logging in.
On multilingual storefronts, the system automatically handles product links in the cart to match your storefront version. The cart includes a link to each product's detail page. For older storefronts, the link includes the language code (such as "/en/"). For newer storefronts that manage language routing themselves, the system removes the language code to prevent duplicate language segments in the URL.
Troubleshooting:
-
Customer sees "product not found" error when adding a newly created variation to cart — The search index needs to catch up with the new variation. Run a product reindex from the admin. Once the reindex completes, customers will be able to add the variation to their cart.
-
Customer sees "out of stock" error (cart-400-014-product-out-of-stock) when trying to add a product that should be available — The cached stock information in the product index may be outdated. The system checks warehouse stock levels directly when customers add items to cart, which resolves most cases. If the error persists, run a product reindex from the admin to refresh all stock data in the index.
-
Customer cannot add a second product to cart after successfully adding a first product — The system validates stock for each add-to-cart request by checking availability for the new item being added, accounting for quantities already allocated to items in the cart. If you see this issue, verify that sufficient stock exists for both items in the assigned warehouse.
-
Guest customers cannot add items to cart on B2C storefronts — Verify that the warehouse is properly configured for the B2C customer in the admin. Guest checkout requires a valid warehouse assignment to check stock availability during add to cart.
-
Product links in the cart lead to 404 errors on multilingual storefronts — The product URL may contain duplicate language codes (such as "/en-US/en/products/..."). This can happen if your storefront and the cart service both add language codes to the URL. The system automatically adjusts product links based on your storefront version. If you see this error, verify that multilanguage settings are configured correctly in the admin and that your storefront is sending the correct version information with cart requests.
Set minimum order values
Where to find it: Admin → Minimum Orders → Setting (global setting), or Admin → Customers → Edit Customer → Customer Level Custom Fields (customer-specific setting)
When you'd use this: When you need to require customers to meet a minimum order amount before they can check out. You can set this globally for all customers or customize it for individual customers.
What happens behind the scenes:
The system compares the cart subtotal to the minimum order value each time the cart updates. If the subtotal is below the minimum, the checkout button becomes disabled and a message displays above it informing the customer of the minimum order requirement.
The message text can include a placeholder (%s) that the system automatically replaces with the formatted minimum order amount.
Customer-specific minimum order values take precedence over the global setting when configured.
Troubleshooting:
-
Checkout button is disabled even though the cart total appears to meet the minimum — The system uses the subtotal (before taxes and shipping) to compare against the minimum order value. Check that the subtotal specifically meets the threshold. If the issue persists, verify that the correct minimum order value is configured for that customer or globally.
-
Minimum order message is not displaying — If no custom message is configured, the system displays a default message: "Make sure you have ordered your minimum order value." To customize this message, configure it in the minimum order settings in the admin.
Edit orders created from standing orders
Where to find it: Order management or integration tools that allow editing existing sales orders
When you'd use this: When customers need to modify orders that were automatically created from standing order templates.
What happens behind the scenes:
When an order is created from a standing order template, the system may include line items with zero quantity as placeholders. When you edit these orders, the system automatically excludes zero-quantity lines from validation, allowing you to save changes to the other line items without errors.
The system filters out zero-quantity lines when loading the order for editing, so only items with quantities greater than zero are subject to stock and quantity validation.
Troubleshooting:
- Order edit fails with error "Total requested quantity should be greater than zero" (cart-400-017) — This error indicates a zero-quantity line item is being validated. The system automatically excludes zero-quantity lines from standing orders during editing. If you see this error, verify that the line items you're modifying have quantities greater than zero. Lines with zero quantity from the standing order template are excluded automatically and should not trigger this error.
Customize date formats in order details
Where to find it: Admin → Grid configuration for order details pages
When you'd use this: When you need to display order dates (order date, delivery date, ship date) in a specific format that matches your business requirements or regional conventions.
What happens behind the scenes:
When displaying dates in order details, the system uses the date format you configure in the grid settings. You can specify custom date formats using standard date formatting patterns (such as "DD/MM/YYYY" for day-month-year with slashes, or "D MMM YYYY" for formats like "22 Feb 2026").
If you don't configure a custom format, the system uses your global date format setting. The legacy date type settings (0 for DD-MM-YYYY and 1 for MM-DD-YYYY) continue to work as before.
The date formatting applies to:
- Order date
- Requested delivery date
- Promised delivery date
- Expected ship date
- Actual ship date
Troubleshooting:
-
Dates are showing in the wrong format — Check the format configuration in your grid settings for the order details page. If no custom format is set, the system will use your global date format setting from the admin.
-
Dates are not displaying at all — Verify that the date fields contain valid dates. The system validates dates before formatting them and will display nothing if the date value is invalid or missing.