Skip to main content

What’s new at Endless

Changelog

The latest features, improvements, and fixes across Endless Commerce.

feature

Supply Shipments: Pick A Destination Location Inside A Warehouse

Supply shipments can now be routed to a specific location inside the destination warehouse, on both create and edit, from the shipment dialog and the Route & Destination card. The location picker filters to the selected warehouse, and receiving drops the inventory into that location on arrival. Leave it blank and the shipment keeps behaving the way it always has, routing to the warehouse’s default location. Custom destinations that aren’t a warehouse still work the same.

improvement

Purchase Orders: Status Drives Lifecycle, Milestones Track Progress

Purchase-order status is now the single source of truth for where a PO sits in its lifecycle — draft, issued, in production, in transit, delivered, closed, canceled. The active milestone is derived from that status rather than something you move separately: boundary statuses (Draft, Closed, Canceled) simply have no active milestone.

Milestone progress is now its own layer. You can update a milestone’s progress percentage, timeline status, dates, and notes without also moving the PO to a different lifecycle status — the two used to fight each other, and now they don’t. Auto-populating milestone dates now happens in a single update from the PO detail page.

On the PO detail page: the duplicate status-change path that lived in the status dropdown has been removed, and the milestone controls line up cleanly.

feature

Suppliers: Optional Handle

Suppliers now carry an optional handle — a URL-friendly identifier, unique per company where set. You can set it when creating a supplier (the create dialog suggests a kebab-cased handle from the name and lets you override it) and edit it later from the supplier detail page’s Actions menu. Two suppliers in different companies can still share the same handle, and the field is validated to lowercase letters, numbers, and hyphens up to 50 characters. The suppliers list has a Handle column (hidden by default, toggleable from column settings), and the supplier detail page shows the handle inline in the header. Uniqueness is enforced by a partial unique index (company_id, handle where handle is present).

improvement

Carriers: Kingsgate Logistics Added

Kingsgate Logistics LTL Freight is now selectable as a carrier alongside the rest of the built-in carrier list. Pick it from the carrier picker anywhere a carrier is set — no SCAC or tracking URL is prefilled, so those stay editable per shipment.

improvement

Product Costs: Lead Time Is Optional

Lead time is no longer required on a product cost. Saving a supplier cost or a purchase order cost tier without entering a lead time works — the value is stored empty rather than as a stand-in zero. If you do enter one, it still has to be a positive whole number.

improvement

Purchase Orders And Shipments: Full-Precision Unit Costs

Unit cost fields on purchase order lines and shipment product costs now show and save their full supported precision — up to four decimal places — instead of being silently capped at two. The edit box starts at two decimals and expands only when a value actually has more precision, so 10.12 still reads as 10.12 and 10.123 reads as 10.123. The read-only Unit Cost column picks one precision per column — the most precise item in the column, up to four — so every row stays aligned without hiding any item’s precision. Extended cost and total columns still show at two decimals.

feature

Fulfillments: Assign A Supplier (Dropship)

A fulfillment can now carry an assigned supplier. The fulfillment detail page has a new Supplier card to assign, change, or remove the supplier; fulfillments with a supplier present show a Dropship badge, and the fulfillment orders list gains supplier and Dropship columns and filters. The underlying record stays neutral — it’s an association to a supplier — so the same data can later be reported on by supplier without a redesign; the Dropship treatment lives in the UI.

feature

Packiyo Available As A Fulfillment Integration

Packiyo is now a connected fulfillment integration. Set up the connection from the integrations settings — the new Packiyo tile takes a per-brand bearer token and a tenant URL — and once it’s saved, Endless pushes allocated fulfillments to Packiyo as orders and records shipment and tracking back automatically: by webhook in normal operation, with a scheduled backstop that picks up anything the webhook missed.

This is the first phase of the Packiyo integration; it covers authentication, ship-order push, and shipment sync.

improvement

Purchase Orders: Expected Complete Date In Details, Filterable By Range

The purchase order details card now shows and edits Expected Complete Date — the date you expect the PO to be fully complete — wired to the existing field that the CSV importer already populates. The purchase orders list and the export also gain the matching date-range filter for Expected Complete Date, so reports can be sliced by it the same way as the other PO date fields.

This consolidates around the existing Expected Complete Date instead of the briefly-shipped Ready Date field; per product direction, Ready Date is no longer surfaced in the UI.

feature

Suppliers: Import Them From A CSV

Suppliers can now be imported into Endless from a CSV, using the same import flow as products and orders. The entry point lives on the Suppliers page — including its empty state — so the first set of suppliers can be brought in without entering each one by hand.