> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kibocommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# August 4, 2026 - 1.2630 Service Update

## Production Tenant Features

### Commerce

* **Fulfillment Location as Return Location:** When [creating a return](https://docs.kibocommerce.com/pages/initiate-a-return), the system now supports defaulting the return location to the shipment's fulfillment location. This behavior is configurable via a new site setting, "Use fulfillment location as return location," available under Return Settings.

### Inventory & Fulfillment

* **Inventory UI Upgrade (Supply/Demand UI):** The Inventory experience has been redesigned with an updated look and feel, along with new functionality.<br />Inventory management is now organized across dedicated pages — Inventory, Future Inventory, Shipments, and Settings — replacing the single, dense table view.<br />New capabilities amongst others include:
  * A **Supply & Demand view** for consolidated visibility into supply versus demand across multiple UPCs and locations
  * A streamlined way to view and manage individual inventory records
  * **New filter capabilities** by Product and Inventory attributes
  * A **calendar view** for future inventory
  <div style={{marginLeft: "0.60rem"}}>
    See the [Inventory documentation](https://docs.kibocommerce.com/concept-guides/inventory) for more details
  </div>

## Production Bug Fixes

| **Service** | **Resolution**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Commerce    | Fixed an issue where orders for products configured with infinite inventory were incorrectly cancelled or moved to Customer Care status instead of being created in a Ready state.                                                                                                                                                                                                                                                                                                                                                     |
| Commerce    | Fixed an issue where subscriptions with a declined payment during continuity order creation remained in Active status instead of transitioning to Errored.                                                                                                                                                                                                                                                                                                                                                                             |
| Commerce    | Fixed an issue where logging in via a One Time Code (OTP) failed to merge a shopper's guest cart with their authenticated account cart, causing the guest items to be lost.                                                                                                                                                                                                                                                                                                                                                            |
| Commerce    | Fixed an issue where updating a B2B user account would fail with a validation error if that user was also registered as a B2C shopper with the same email address.                                                                                                                                                                                                                                                                                                                                                                     |
| Catalog     | Fixed an issue where saving or updating product attributes with values at or near the character length limit could result in unexpected server errors (HTTP 500) instead of a clear validation message. Merchants now receive an informative error response (HTTP 400) when an attribute value exceeds the allowed length. Additionally, existing product variant attribute values that were already stored in the database and exceeded the character limit are now preserved correctly during updates, rather than causing failures. |

## Production Sandbox Features

### Catalog

* **Configurable Variant Property Limit per Product Type:** Merchants can now configure the maximum number of variant properties allowed on a product type beyond the previous hard limit of 30. A new tenant attribute, `catalog.productType.maximumVariantProperties`, controls this limit on a per-tenant basis, with a default of 30 and an absolute ceiling of 100. The Product Type admin page, Product Edit page, and Active Properties modal all function correctly when the configured limit exceeds 30, and the related API endpoints return all variant attribute values without truncation. Import and Export operations are also subject to the same limit enforcement.
* **"Block Discounts That Cancel Their Own Minimum" Setting in Discount Condition Settings:** A new toggle — "Block discounts that cancel their own minimum" — is now available under System → Discount Settings → Condition Settings. When enabled, this setting `(rejectSelfDefeatingDiscounts) `prevents a discount from applying if applying it causes the order to fall below the discount's own configured minimum. The toggle is off by default and includes a tooltip explaining its behavior. The setting is localized across all supported Admin UI locales (English, German, Spanish, French, Japanese, Korean). The existing "Include discounts for order min/max condition evaluation" toggle is unaffected.
* **Dynamic Price List Hierarchy Exposed as Product Property:** The Product Runtime service now captures the dynamic price list hierarchy produced by the `GetPriceListHierarchy` Arc action and exposes it as a product property `(system~DPLH)` on the price object. When the Arc action modifies the hierarchy relative to the default, the `system~DPLH` property is populated in `GetProduct` and `ValidateProduct` API responses, listing the price list codes from most-specific to least-specific. The property is hidden from shoppers and is omitted entirely when the hierarchy is unchanged or no Arc action is configured. This is an additive change to the API contract; existing integrations are not affected.

### Commerce

* **Payments - Support for Externally Tokenized Payment Instruments:** Processing payments using tokens issued by an external payment token provider is now supported, allowing card and other instrument data to remain securely outside the platform while payments are still authorized, captured, voided, and credited as usual. This gives businesses added flexibility in how they manage payment credentials, while preserving all existing payment behavior for those who continue using standard tokenization.

### Inventory

* **Send Negative Inventory in Export files:** Merchants whose inventory positions can fall below zero can now receive those accurate negative quantities in scheduled [inventory export files](https://docs.kibocommerce.com/pages/inventory-export-file). A new export setting, `sendNegativeInventory`, allows export configurations to pass through real negative available quantities rather than clamping them to zero. When this setting is disabled (the default), export behavior remains unchanged — negative quantities continue to appear as 0 in the file, preserving existing behavior for all other merchants.

## Sandbox Bug Fixes

| Service     | Resolution                                                                                                                                                                                                                                                                                                                                                                                                        |
| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Catalog     | Fixed an issue where updating a product that belongs to a Collection product type would fail with a mapping error. Merchants can now successfully update Collection-type products via the Product Admin API without encountering an error.                                                                                                                                                                        |
| Catalog     | Fixed an issue where Japanese Admin UI labels were systematically incorrect across the Order listing, Order detail, Shipments, Returns, and Payments screens. Merchants using the Admin UI in Japanese will now see accurate, contextually correct translations across these screens.                                                                                                                             |
| Commerce    | Fixed an issue where Buy Online, Pickup In Store (BOPIS) orders containing duplicate bundle components within a single bundle product failed during shipment creation, leaving the order stuck in Validated status with an error.                                                                                                                                                                                 |
| Commerce    | Fixed an issue where a Vendor SKU could be mapped to multiple retailer UPCs without warning or validation, potentially resulting in incorrect inventory mapping.                                                                                                                                                                                                                                                  |
| Commerce    | Fixed an issue where item custom data was missing from Order Routing suggestion logs when Configurable Shipment Release and "Reserve inventory when order status is Pending Shipment" were both enabled.                                                                                                                                                                                                          |
| Fulfillment | Fixed an issue where canceling an item from a BOPIS shipment that has associated transfer child shipments resulted in a generic "Error while canceling shipment item" error and an HTTP 500 response. Canceling a shipment item now succeeds correctly, even when the item being canceled does not exist in one or more of the associated child transfer shipments.                                               |
| Fulfillment | Fixed an issue where submitting an assembly order whose parent and child items were routed into separate shipments caused Commerce Runtime to retry the order acceptance indefinitely — generating multiple errors over multiple days for a single order. The Fulfillment API now returns a clear validation error for this constraint, causing the order to terminate cleanly rather than entering a retry loop. |
| Fulfillment | Fixed an issue where GET /commerce/shipments queries filtering by multiple order IDs were timing out and returning client disconnect errors in production. The internal query builder now lifts all order ID filters into a single top-level IN comparison rather than generating a branching \$or shape, resolving the excessive planning overhead that caused the timeouts under load.                          |
