Skip to main content

What’s new at Endless

Changelog

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

fix

Available-To-Make Uses The Same Availability Fulfillment Does

Available-to-make on a bundle understated its component every time the component itself was composable and had no physical stock on hand. The rollup was reading each component’s plain “available” number — which leaves out anything that has to be built from its own components — so a bundle whose components had to be made returned zero, and an alias (which gets its whole availability from one component) reported the same.

Available-to-make now measures each component the same way fulfillment does when it decides whether the parent can be allocated. The number on the page and the number a real allocation would use no longer disagree, so a bundle whose components can be built and an alias whose source component can be built both report the units that can actually go out. Nested composables refresh in the right order in a single sweep, so the rollup converges the first time instead of catching up on the next hourly pass.

feature

Fulfillment Containers

Fulfillment orders now have Containers — a real record of how you packed the boxes, pallets, or master cartons that leave your building, one line at a time. Open a fulfillment, add a container, drop items into it, print its label with the shipping container barcode, and mark it closed when the packout is done. Create as many as the shipment needs, and edit or delete a container after the fact if you catch a mistake — you’re no longer stuck with whatever the first save recorded.

Container barcodes (SSCCs) are minted by Endless from your GS1 prefix at save time instead of being generated in the browser, so they’re valid, unique across your company, and stable across reloads. The container’s type — carton, inner pack, master carton, pallet, or generic — is derived from what’s inside it when you close it, and the person who created it is recorded on the record. A container whose barcode isn’t valid GS1 is still saved with a warning rather than rejected, so a scan-in-progress packout doesn’t get blocked at the wrong moment.

feature

ShipBob Is Now A Connected Fulfillment Integration

ShipBob joins the set of connected fulfillment integrations alongside ShipHero, MasonHub, Veracore, and ShipStation. Connect from Integrations with a personal access token or OAuth; the integration comes up with the writable channel already set, and its fulfillment centers appear in the warehouse mapping picker so you can point Endless buildings at them.

Once mapped, DTC, B2B, and dropship orders push through with retailer program data and third-party billing already in place, and per-order channel routing follows your sales-channel mapping. Fulfillment-level gift messages take precedence over the order-level value on the way out. Shipments come back through ShipBob’s webhook by default, with a scheduled poll as a fallback, and the resulting cartons — with tracking, dimensions, and the line breakdown per carton — land on the shipment page. Sending an ASN opens a work-receiving order in ShipBob and a follow-up cancel on your side cancels it there too. Pulling inventory paces itself against ShipBob’s rate limit so a large sync doesn’t crowd out other work.

feature

Shipment Financials: Costs Distributed To Items, Saved In Place

The Financial tab on shipment detail is rebuilt. Shipping costs assigned to a shipment are now distributed explicitly to line items and saved on those items, and single-shipment saves go through synchronously — the page reflects what’s saved right after you save, instead of catching up on a background pass. Per-category duty assignment is atomic: a category is either fully assigned or not, so the totals no longer disagree with the item breakdown mid-save.

Underneath, the parallel system that recomputed cost allocations at read time is gone, so what you see on the item is what’s stored on it. The tab picks up a cleaner assignment panel and cost-items card, and a bulk-edit path for adjusting costs across many items at once.

feature

You Can Now Archive A Supplier

Archiving a supplier no longer breaks anything that references them. An archived supplier still shows up wherever they’re linked — purchase orders, order fulfillments, products, and supplier contacts all keep the supplier’s name and details instead of going supplier-less. Their own detail page still marks them as archived.

You can still edit an archived supplier’s record, and a PO whose supplier is archived still falls back to the supplier’s email when there’s no other contact on file. Adding a new line item to a PO with an archived supplier no longer tries to create a fresh product-to-supplier link behind the scenes — the line item is just added.

feature

Assign A Fulfillment Rule To Many Fulfillment Orders At Once

The Fulfillment Orders list has a new Apply Rule action. Select the fulfillment orders you want, pick one rule, and apply it to all of them in one go. The batch runs in the background — the app stays usable while it works instead of blocking for the twelve-or-so seconds each fulfillment order used to take.

Progress shows in the list toolbar while the batch runs. Fulfilled and canceled fulfillment orders are filtered out before it starts; anything that couldn’t be processed once the batch is running — wrong company, archived, or already past the point of accepting a rule — is listed with the reason when it ends. Up to 200 fulfillment orders can go through in one batch.

feature

Purchase Orders Get A Description Field

Purchase Orders have a new optional Description field, so you can label a PO with something you’ll recognize at a glance — “Q3 fall reorder — hoodies” — instead of relying on the PO number alone. Up to 255 characters.

The PO list keyword search matches on Description as well as PO number and item SKU, and the standard and complete PO exports pick up a Description column.

feature

Archive Suppliers

Suppliers can now be archived, the same way warehouses already can. Archiving hides a supplier from the default supplier list and pickers while preserving every historical link — purchase orders, product relationships, receipts — untouched. It is fully reversible.

Archive lives on the supplier detail header. If the supplier still has open POs or linked products, the confirmation shows those as advisory warnings but leaves the button enabled — the pattern is warn, don’t block. Archived suppliers get a top banner with a one-click Unarchive. The suppliers list picks up an Archived filter (Include archived / Archived only), and the default view hides archived rows.

improvement

Bulk Fulfillment: Another Speed Pass

Fulfilling many orders at once is faster. The job that runs each order’s allocation and fulfillment used to repeat the same database work for every order it processed; that cost added up during large bulk fulfillments and kept database locks held longer than necessary. That redundant work is gone across inventory allocation, fulfillment materialization, and the fulfill command’s order validation. Nothing changes about what fulfillment does — just how much it does per order.

improvement

Create Purchase Order: A Cleaner Supplier Step

The Create Purchase Order drawer used to open with the entire supplier list expanded, pushing the Products and Notes steps below the fold. Now:

  • The supplier list starts collapsed to the first five, with a Show more / Show less toggle — the same control the shipments list uses. It resets to five when you start a new search.
  • Picking a supplier collapses the Supplier step and opens Products automatically, so the flow reads top-down (Supplier → Products → Notes) and the later steps stay in view without scrolling.
  • Products uses the same standard Show more toggle instead of the old full-width “Load more products” button, so the drawer looks consistent step to step.