NEW FEATURE HIGHLIGHTS
Auto-Update No-Variance Count Lines
Warehouses can now eliminate the manual review step for count lines that complete with no variance. A new Auto-Update No-Variance Count Lines toggle on the Count Job Type settings, when enabled, automatically updates inventory the moment a count line completes with the counted quantity exactly matching the system quantity, transitioning that line directly to Inventory Updated. Lines with any discrepancy remain in Count Completed for supervisor review, so manual attention is reserved only for genuine exceptions. The toggle defaults to off for all existing and new Count Job Types and applies independently per Job Type, supporting both Location Count and SKU Count flows. (49855)
Please check this knowledge base article to find more details about how to configure & utilize this new feature.
WHAT'S NEW & IMPROVED
Added the ability to populate the product UPC field on Purchase Order List printouts by exposing the UPC column in the underlying ReportViewPurchaseOrderList data source, allowing customers to add a scannable barcode to their PO List designs without requiring custom development. (51000)
Corrected the Replenishment Job Type Exclude condition for custom textbox fields so that locations with null or empty values are no longer incorrectly excluded; the condition now fires only when the location's field value is an explicit positive match for the configured exclude value. (50902)
Aligned the Inventory Excel import header naming with the backend processor by accepting both Damage Reason and Damage Reason Name as valid column headers, removing the need for users to manually rename columns before each import. (50886)
Added a new Allow Batch Size = 0 option in the Create New Job modal on the Count Plan screen, for generating a single unbatched job covering all count plan locations. (51152)
Enhanced count plan line difference visibility by suppressing the difference value for lines that have not yet been counted — the field now returns null for lines in Pending, Ready to Count, Count Started, and Cancelled statuses, ensuring only meaningful variance data is surfaced in Count Location Details, Count SKU Details, and their export views for count plan lines in Count Completed, Inventory Updated and Recount Created statuses. (51167)
Redesigned the mobile Cycle Count completion feedback layer with five distinct End Message states and three toast message variants, giving operators clear contextual confirmation of whether the count, the inventory update, or both succeeded — including dedicated handling for adjustment reason cancellation. The End Message Bottom Sheet now displays the count job name and location identifier at the top for easier confirmation. (51041)
Replaced the Count Plan cancel confirmation flow with a richer outcome experience: a clear pre-cancel confirmation modal, distinct success and failure toasts, and a partial-success info modal that lists the specific count plan codes that could not be cancelled because they contain Inventory Updated lines, with one-click copy to clipboard for follow-up on those plans. (51227)
Improved the mobile SKU Count flow so that counting multiple products on the same License Plate no longer resets prior product counts: the Complete LP Count action now scopes its completion to the specific product just counted, leaving other products on the LP untouched. Location Count behavior is unchanged. (50964)
Refined the Count Plan auto-status transition logic so that plans with a mix of Inventory Updated and Cancelled lines now correctly advance to Inventory Updated instead of remaining stuck in Count Started. The rule applies whenever every actionable line has reached a terminal state and at least one line was inventory-updated, with Recount Created lines treated as passive markers excluded from the evaluation. The Count Plan screen Update Inventory action also now corrects plans stuck in Count Started when all lines are already terminal. (51125)
Added the product barcode as a read-only display field on the product card of the Pick and Sort and Pick to Location mobile picking screens, allowing pickers to visually verify the correct item against a physical label or tote without leaving the screen. (50925)
Added the product barcode as a read-only display field on the product card of the desktop Packing screen, enabling packers to cross-check the barcode against the shipment box without leaving the packing flow. (50926)
Added the product barcode as a read-only display field on the product card of the mobile Directed Putaway Product and Transfer Product screens, giving putaway and transfer operators visual confirmation of the correct item during the task. (50929)
Enforced a hard 1,000-order maximum on Shipment Plan creation and edit at the service layer, rejecting create or update requests that would push a plan above the limit before any data is persisted; the rejection returns a structured error identifying the current count, the incoming count, and the allowed maximum. (51118)
Extended the 1,000-order Shipment Plan limit to the Loading screen, so the loading endpoint validates current count plus incoming count across all loading scenarios — individual order, LP-based, and bulk — and rejects the request before any orders are written when the result would exceed 1,000. (51117)
Preserved the Assign to User Wave Rule configuration through the AI Job Optimization process by adding the assignedUserId to the outbound payload sent to the AI service and to the inbound response contract, so AI-optimized job codes are persisted with the correct assignee and all tasks under each job inherit that assignee from their parent. (50908)
Preserved the Assign to Role Wave Rule configuration through the AI Job Optimization process by adding the waveRuleId to the outbound payload and the inbound response contract, so AI-optimized job codes remain linked to the originating Wave Rule and role-based job visibility on picking screens continues to operate correctly. (50903)
Replaced the Workflow Builder's tag dropdowns with searchable, paginated lookups for both the Condition and Action sections, eliminating the previous behavior of loading the entire tag list at once and aligning the workflow builder with the paginated tag dropdowns used elsewhere in the platform; existing workflows with configured tag conditions and actions continue to resolve to the same tag identifiers without any change in behavior. (51211)
Added backend validation to the Job Type create and edit endpoints to reject incompatible Mobile Screen Type combinations — Single Item Order with Pick and Sort, Identical Item Order with Pick and Sort, and Single SKU Cluster Pick with Pick to Location — preventing job types from being saved with configurations that produce invalid picking behavior. (51108)
Added the Use Pre-produced Labels in Multi Box Packing parameter to the Client Excel Import and Update templates, enabling warehouse admins to configure this packing setting for many clients in bulk instead of editing each client manually on the Client screen. (51003)
Updated the Retailer Packing screen to send the retailer-configured caseRetailerLabelPrintQuantity and lpRetailerLabelPrintQuantity values to the print service when triggering UCC labels, removing the previous hardcoded quantity of 1 and eliminating the manual reprint step for retailers that require multiple copies of the same label. (50789)
Introduced pagination, search, and sticky-selection to the Shipment Order tag popover and the Manage Tags admin modal, displaying ten tags per page with a count indicator and keeping previously selected tags pinned at the top sorted by creation date — replacing the previous flow that loaded every tag at once. (49700)
Added the Billing Company Name (billingAddressCompanyName) field to the Shipment Order Excel Import, Update, and Export flows, allowing warehouse admins to bulk-manage complete billing address information directly through the Excel templates without having to follow up manually in the UI. (43099)
Added a new From Quantity Order Based calculation option for Per LP/Shipment Package billing fees, allowing 3PL operators to apply tiered pricing based on the number of LPs or Shipment Packages within each individual shipment order rather than the period-wide aggregate. (51161, 51194)
Logiwa Analytics is being sunsetted. The Analytics menu item has been removed from the Reports menu. Please use the new Operational Analytics module (currently in BETA) for your reporting and analytics needs going forward. (51212)
A new Receiving Performance Analysis dashboard has been added under Labor Analytics, accessible to authorized users via the Analytics header's menu item. (50967)
Added an environment selection step to the Stamps integration setup, prompting users to choose Test or Production before being redirected to Stamps OAuth; the chosen environment determines the redirect URL independently of which Logiwa environment the user is on. (50809)
Added the ability to update ShipStation API Key and API Secret directly from the Carrier and Store Edit Connection sidebars, removing the previous requirement to delete and recreate the integration in order to rotate credentials; a new Valid Credentials column on both list screens shows Yes/No badges so broken connections are immediately visible, and the credential fields automatically become editable when Valid Credentials = No so the user can restore the connection. (47136)
Added a default Label Create Date filter to the Carrier Shipment Details Report, pre-filling the date range with the last 30 days on screen load to reduce load times on high-volume accounts; users can clear or modify the default range at any time. (50528)
Extended the external carrier API timeout from 60 seconds to 120 seconds for label generation requests sent to ShipStation, EasyPost, and Stamps when a single order contains more than 20 packages, preventing timeout failures during the packing of high-volume multi-package shipments. (49284)
Improved the TechShip void process for multi-package shipments using master tracking numbers (e.g. FedEx, UPS): when TechShip returns "Failed to enqueue processing. Batch is deleted." for child tracking numbers — which it does after the first void call has already cancelled the entire batch on TechShip's side — Logiwa now treats this response as a successful void confirmation and marks all associated labels as voided, eliminating the previous mismatch where labels remained un-voided on the Logiwa side despite being voided on TechShip. (51072)
Added UniUni as a supported carrier in Logiwa’s internal carrier registry. Customers whose EasyPost account includes a UniUni carrier can now see and select UniUni in the EasyPost Carrier Setup flow, and use it for rate shopping and label generation through the existing EasyPost integration without requiring custom configuration. (51198)
Updated the AI Job Optimization cluster-pick logic to prioritize the smallest mobile cart that can fit each order, and to merge underfilled jobs of the same cart type when the merge does not increase total picking cost — improving cart utilization while preserving overall picking efficiency. (LOGAI-6)
Introduced workload-balanced user assignment to AI-driven Wave Optimization: the outbound wave payload now sends each job's IO-assigned user, and AI redistributes jobs across that same set of users to equalize total picking effort as much as possible while respecting that picking jobs cannot be split. (LOGAI-163)
Extended the AI Job Optimization pick path sort sequence for warehouses without a 2D map from zone/aisle/column to zone/aisle/column/level/position/SKU, so pickers encounter same-SKU items consecutively within a column instead of alternating between products. (LOGAI-186)
Introduced a column configuration button on the Count Plan screen, enabling users to customize their view by revealing or hiding specific grid columns. (50867)
PERFORMANCE IMPROVEMENTS
Improved the query performance of the Carrier Shipment Details Report for accounts with large shipment volumes, reducing load times when retrieving carrier label and shipment data. (50522)
Optimized the mobile replenishment summary and job list endpoints to significantly improve response times and prevent application crashes during high-load periods. (50053)
WHAT'S FIXED
Fixed an issue in the Work Order module where editing a Work Order to change its assigned warehouse from Warehouse A to Warehouse B did not propagate the new warehouse to subsequently created jobs; jobs are now correctly assigned to the warehouse currently set on the Work Order. (43983)
Resolved an issue where the Count Plan cancel operation returned a success response but did not transition the Count Plan status to Cancelled, leaving plans stuck in Count Started even though the associated jobs were removed from Job Management. The plan-level status rollup now completes correctly for both the internal bulk cancel endpoint and the Open API cancel endpoint. (50993)
Resolved an issue where the cycle count receiving date correction was silently skipped for inventory rows that had a PO number, leaving those rows without a receiving date even when the Keep Receiving Date on Inventory client parameter required the count date to be backfilled. The correction is now applied uniformly to all rows missing a receiving date, regardless of PO number presence. (51126)
Fixed an issue where the PO search on the VAS Operation screen returned no results when the PO code contained spaces or special characters; the search now correctly handles these characters in the PO code input, restoring search across all PO code formats. (51191)
Added a backend guard that prevents the Retain Allocation During Missing client parameter from being switched off while any Shipment Order or Warehouse Task for that client has an Open Pick Short or Pack Short status, eliminating the previous deadlock where orders were blocked from packing but the resolution workflow was no longer active; the parameter can still be disabled freely once all open short statuses are resolved. (51168)
Fixed an issue where Identical SKU batch packing jobs failed at completion with Entered Product is not Correct when the job contained items of the same SKU with different lot numbers, expiry dates, or production dates; lot, expiry, and production date attributes have been removed from the product identity check so all orders in a mixed-attribute batch now complete packing successfully. (51158)
Added a 30-second distributed lock keyed on Shipment Order at the order packing endpoint, rejecting any duplicate pack request received for the same order while a recent request is still within the lock window; this prevents the previous behavior where multiple concurrent submissions for a single order could all be processed in parallel. (51157)
Blocked Job Type setting changes while pending tasks linked to that Job Type still exist; the update endpoint now rejects saves with a clear validation error when any associated task is in a non-finalized state, ensuring in-flight warehouse operations are not disrupted by mid-execution configuration changes. Settings become editable again once all related tasks reach Completed or Cancelled status. (51147)
Removed AI Job Optimization job types from the Job Type dropdown on the Wave Rule configuration screen by filtering out entries flagged as AI-based, preventing warehouse managers from accidentally selecting system-only job types when configuring picking waves. (43988)
Fixed an issue on the Edit Shipment Order screen where clearing the Tax Type and Tax ID fields did not persist; the cleared values are now correctly saved and the fields remain empty when the order is reopened. (35864)
Fixed an issue where VAS types appeared as duplicate entries in billing dropdowns on the VAS Operations and Billing Form Fee Detail screens, which could lead to incorrect VAS charge selection. (22978)
Fixed an issue where editing the recipient list for Daily Inventory or Safety Stock notifications could trigger an immediate, out-of-schedule email; the system now respects the configured Scheduled Time after recipient updates. (49073)
Fixed an issue that allowed a user's email address to be updated to one already assigned to another user. The User Update flow now validates email uniqueness and returns a clear validation error when a duplicate is submitted. (50068)
Fixed an issue where VAS Operations bulk imports failed with an internal server error when a VAS Type name or Reference Order Number contained a forward slash (e.g., "Outbound Bill of Lading (LTL/FTL)"). Imports now process these values correctly. (51123)
Fixed a billing query timeout that occurred when calculating Shipment-level fees with Per Product or Per LP charges combined with the SO Order Tag condition, restoring billing report and calculation generation for tag-based pricing. (51210)
Fixed an issue in carrier setup creation where starting a new connection with credentials matching an abandoned, incomplete setup caused the system to silently resume that record, overwriting the warehouse selected in the new flow and locking the warehouse field; carrier setups are now keyed on credentials and warehouse together, so each credential-warehouse combination produces an independent setup record. (50419)
Fixed an issue in the Customs Declaration list sent to carrier integrations where pack-type quantities were transmitted as unit instead of the equivalent base unit count, causing inaccurate commercial invoices on international shipments. (50891)
Fixed the to_address mapping in the Stamps.com integration where the recipient name was duplicated into both the name and company_name fields when no company name was present on the shipment order, causing the recipient name to appear twice on the shipping label. (50901)
Fixed an issue where rate shopping and label generation failed for shipment orders containing multiple lines with the same SKU; the mapping logic now correctly handles non-unique SKU entries across multiple order lines. (51138)
Fixed an issue on the VAS Operations screen that prevented users from successfully searching for Purchase Orders containing spaces or special characters in their codes. (51191)
OPEN API UPDATES
Fixed an issue where the Product Create and Product Update Open API endpoints returned a 201 success status even when field values exceeded the 500-character database limit, causing silent data truncation; the API now returns a validation error for oversized field values. (35986)
Fixed an issue in the Shipment Order Bulk Document Import endpoint (/v3.1/ShipmentOrder/document/bulk) where documents submitted with Document Type 1 (Shipment Label) were being categorized under Other Documents instead of being linked as the order's primary label; the bulk endpoint now matches the behavior of the single-document import and routes Document Type 1 entries to the Shipment Label section. (50852)
Extended the new Retain Allocation During Missing guard to the Open API client update endpoint (PUT /v3.2/Client/update/{identifier}), returning the same structured 400-level rejection when API callers attempt to disable the parameter while open Pick Short or Pack Short statuses exist. (51168)
Enforced the 1,000-order cap on the Shipment Plan create and update Open API endpoints (POST /v3.2/ShipmentPlan/create, PUT /v3.2/ShipmentPlan/update), so requests exceeding the limit are rejected with a structured error before any data is persisted, matching the behavior of the screen-layer endpoints. (51118)
Added the Custom Carrier endpoint request and response schemas — Get Rate, Create Label, Void Label, and End-of-Day Report — to the Open API documentation, with schemas now automatically generated from the source models so the documentation stays in sync with the implementation. (50966)
Updated the GET /v3.1/WarehouseCountPlan/detail and GET /v3.2/WarehouseCountPlan/detail endpoints to return null for the difference field on count plan lines in non-completed statuses.(51167)
