Skip to main content

What’s new at Endless

Changelog

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

improvement

ShipStation: Manual Shipment Fetch Is Logged On The Order

When you manually trigger Get External Shipment on a ShipStation fulfillment and ShipStation reports that the shipment hasn’t shipped yet, that result now lands as an activity log entry on the order — so it’s clear from the timeline that the fetch ran and what came back. The nightly background check keeps suppressing the same log entry to avoid noise; only the user-triggered case posts.

improvement

EDI: Easier To Reach From Where You Work

EDI now shows up across the app instead of only on the EndlessEDI integration tile. The Orders, Channels, and Integrations empty states each include a Connect over EDI option, the Dashboard carries a small EDI card, and the sidebar footer has an EDI button. Each opens a Talk to us about EDI modal with a booking link, the EDI guide, and an email fallback.

The Integrations page also picks up a richer EDI-ready tray, opened from its empty state. The tray shows your account’s ISA ID, the qualifier, and the supported communication channels, and includes a drafted retailer-outreach email you can preview and copy when you’re starting EDI with a new partner.

feature

Orderbot: Create Sales Orders By Forwarding An Email

Orderbot is a new way to capture sales orders that come in over email. Every company has a forwarding address ending in @orders.endlesscommerce.com — visible at Settings → Orderbot, on the Sales Orders ⋯ menu, and as a secondary action on the empty Sales Orders state. Forward an order email to that address and Endless turns it into a draft sales order. The primary Add order button is unchanged.

improvement

Orders V2 Beta: A Week Of Improvements

Orders V2 — the new order and fulfillment system that most accounts are now running on while it works its way to general availability — picked up a wide round of improvements this week. None of these are large on their own; together they’re the shape of the system getting closer to GA.

Order data. Notes are now real fields on orders and fulfillments instead of being tucked into ad‑hoc data, and Shopify customer notes sync straight into the order note. B2B information lives in its own stable place on both the order and the fulfillment — so reports and integrations can read it without poking around — and the third‑party billing card is gone, with its fields rolled into B2B Info. The order timeline now reads from the system log and labels every event as System, Human, or coming from a connected integration.

Editing in‑flight orders. Item edits used to be blocked outside of draft. They’re now allowed in any non‑cancelled state, and lines that aren’t tied to an active fulfillment can be edited even when the order is in progress or already fulfilled — so a correction on a live order doesn’t require walking it backwards. Items that came in marked Not in catalog can be re‑matched by SKU, linked to an existing product, or turned into a new catalog product on the spot. Pending orders with an unrecognized SKU no longer get blocked from acceptance.

Fulfillment. The Refresh Order button works on V2. Fulfillment profiles can be assigned even on in‑progress fulfillments, and the Create button shows up when none exist. The Mark Fulfilled action stays visible (enabled only when the fulfillment can actually be marked or is running through a profile). The fulfillment integration button now points at the right system. The availability panel reads from an order‑scoped source so it loads on large orders. Cancelled orders no longer show an empty Items to Fulfill section. The metadata tab is cleaner, with external ID editable inline. Endless Window fulfillment profiles got a coverage follow‑up. Sales order details auto‑expand the sections that have content.

Shopify on V2. Several Shopify edge cases stopped surprising people: fulfillment state no longer slides backwards, cancellations propagate to Endless, digital order lines and fulfilled counts line up correctly, and near‑simultaneous webhooks can no longer duplicate a shipment. Cleanup tasks are bundled in for orders the bugs already touched.

We’ll start logging V2 changes individually once the beta closes; while it’s still in flux this often, grouping reads better than enumerating.

improvement

Push Product Data: From The Products List, And Now To Shopify Too

The Push Product Data action is reachable from the products list as a Bulk Actions → Push Product Data, alongside the existing entry on a product’s detail menu, and can now target Shopify as well as ShipHero. The dialog has an integration selector with a per-integration settings recap — Shopify shows the attribute mappings, ShipHero shows kit type and the rest — and pre-fills the toggle settings from each integration’s configured defaults. Settings categories with nothing visible are hidden, so the dialog stays focused on what matters for the chosen channel.

feature

ShipHero: Push Product Data From Endless

Product details can now be pushed from Endless into ShipHero. Run the new Push Products action and Endless looks each SKU up in ShipHero, then creates or updates the product with name, SKU, barcode, dimensions, country of manufacture, tariff code, customs description, value, and customs value. Bundles reconcile their kit components in the same pass. Inventory is never touched by the push — only the product record.

The ShipHero settings tile also got a small tidy: the kit-type choice (Virtual or Pre-Built) is now explicit, the wholesale and 3PL copy reads more clearly, and a few settings that were never wired to anything have been hidden.

improvement

ShipStation: Pick Stores By Name Instead Of Typing Store IDs

The ShipStation sales-channel mapper no longer asks operators to paste in a raw store ID. On a ShipStation integration’s Data tab, Add Mapping is now Manage Mappings, which opens a modal that fetches your stores live from ShipStation and shows each as Store ID, Store Name, and the sales channel it’s mapped to. Existing mappings appear at the top, read-only; unmapped stores appear below with a sales-channel picker. Re-fetching the list never duplicates a store you’ve already mapped.

The store name is saved alongside the mapping, so reports and detail pages can show the human-readable name. The free-text edit pencil has been retired for ShipStation rows — to change a mapping, delete it and re-map through the modal, so the store ID and name can’t drift apart.

This is what last week’s channel-listing work was for. Any other integration that exposes a list-channels capability gets the same shape automatically.

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

ShipHero: Fulfillment Instructions Reach The Packing Note

Instructions written on a fulfillment now travel to ShipHero. What an operator types into a fulfillment’s instructions arrives as the packing note on the ShipHero order, so the person packing the box sees it.

A fulfillment with no instructions of its own falls back to the order’s note, which is what ShipHero received before. Nothing needs setting up, and it applies to every order sent to ShipHero from here on.

improvement

Shopify: Auto-Import Missing Products When Orders Come In

Two changes to how Shopify orders connect to products in your catalog.

The “Import products” action on a Shopify integration always works now. Before, the action was silently blocked on integrations whose product-import setting was off, so the only way to pull in products was to turn that setting on first. Whether to import is your call from the UI; nothing else gates it.

The same setting still exists, but it now controls a narrower behavior: whether Endless should automatically import a missing product when a Shopify order comes in referencing one. The default is off, so order ingest no longer creates products on its own unless you opt in. Integrations that already had this setting on stay opted in.

Regardless of that setting, an order item that arrived without a matching product is now linked to one as soon as the product shows up — created later, imported manually, or updated with the SKU the order is referencing — so an order that landed before its product did doesn’t stay orphaned. V2 orders behave the same way as V1.