Skip to main content

What’s new at Endless

Changelog

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

improvement

Purchase Orders: Empty-State Import, Date Handling, And Editable PO Number

Four updates to creating and importing purchase orders.

Import from the empty state. The purchase orders empty state only offered Create PO, so a company with no purchase orders yet had no way to reach the CSV importer — the import trigger only appeared in the list toolbar, which stays hidden until at least one PO exists. The empty state now has an Import Purchase Orders action alongside Create PO, matching how Products and Suppliers already work.

Month-first dates now import. The importer already advertised MM/DD/YYYY — the default Excel and Google Sheets export — as an accepted format, but read every value day-first. A single such date on a purchase order upload failed the whole file; on demand and historical uploads the same values were silently recorded as the wrong day. All four date-bearing CSV imports now read month-first dates correctly. Day-first values like 25/08/2026 no longer parse, and demand or historical data imported before this fix may carry dates from the earlier misparse.

Ship Date is a purchase order import column. The Ship Date on an existing PO already round-tripped through the export, but the importer would silently drop it on re-upload; it also had no column on new POs, so backfilling historical purchase orders that had already shipped meant hand-editing every one after import. Ship Date is now part of the purchase order import on both create and update rows, and the import UI validates it against the same rules Endless uses everywhere else, rather than whatever the CSV service dashboard happened to be configured for.

The PO Number on a new order is editable. The PO Number at the top of the New Purchase Order drawer is a labelled input. The placeholder shows the number the server would assign next, and the helper text reads “Leave blank to auto-generate”. Type over the placeholder to set a specific number, and the format is validated against your company’s PO number template before save. Leave the field blank and the server assigns the next available number when the order is created, so two operators creating purchase orders side by side each get the next number in sequence. Before this change the PO number rendered as a plain heading — it read like a value already fixed to that order, and the number shown was generated on the client, never sent, and never became the PO’s number.

feature

Dropship On Fulfillment Orders: Supplier Costs And Email Delivery

Fulfillment orders now carry the dropship workflow end to end. When a fulfillment has a supplier, you can capture and edit unit costs, line totals, and shipping and other charges on the fulfillment itself. Assigning or updating a supplier can optionally refresh line costs from the supplier’s dropship cost tiers with a fallback to the product default; keeping the option off leaves costs untouched, and any line with no matching cost is cleared rather than left stale. Costs travel through to the fulfillment PDF and the public share view, including a supplier cost summary. The public share header no longer shows the sales order number.

A new Email Fulfillment Order action sends the share view directly from Endless. To and CC recipients are separate, each address gets its own revocable link, and the dialog suggests every supplier contact with an email, the building’s email address, and the current user, so the right recipients are one click away. Buildings now hold one primary email address, editable from a Contact Information card on the building’s General tab and reachable from the fulfillment email dialog. Delivery goes through SendGrid and retries asynchronously if it fails.

improvement

Suppliers: Archived Status, Legal Name, And Cost-Driven Relationships

Three updates to Suppliers.

Archived suppliers show as Archived. An archived supplier used to still show Active or Inactive on the list and detail page, because archiving only marked the record archived and left the underlying status alone. The badge now shows Archived when the supplier is archived, so the status column matches the detail page. Archiving from the detail page or quick view also keeps the page open, so the archived banner and the Archived badge update in place instead of the view closing.

Suppliers carry a Legal Name alongside their display name, so the name that appears on paperwork and accounting records does not have to be the same one shown in the app. Legal Name is available in the Add Supplier dialog, editable from the Company Details card on the supplier’s detail page, and shown as a sortable column on the Suppliers list. Optional throughout — empty renders as an em-dash — and searchable from the Suppliers list search box. The existing Supplier Name column and the Edit Name action have been renamed to Supplier Display Name and Edit Display Name, so it is clear which name a screen is reading.

Supplier–product relationships now come from product costs. Adding a product cost for a supplier creates the relationship on its own, and archived relationships are restored on the same signal. Purchase orders no longer create these relationships as a side effect, so a purchase order for a supplier that has never quoted a cost for a product does not link the two. Imports keep the supplier’s minimum order quantity intact: the supplier link is created before its costs, so the imported MOQ is not overwritten by the default. Purchase order line lookups read cost and MOQ from the supplier relationship directly.

improvement

Tariffs Tool On The Current Duty Regime

The public tariffs estimator at tariffs.endlesscommerce.com was still doing pre-February duty math against a 2026 HTS Rev 9 schedule, so anyone running a Rev 14 entry through it saw IEEPA duties that no longer apply and missed the Section 122 surcharge and the July 24 forced-labor tariffs entirely. Since customers use this to estimate what they’ll pay at the border, stale numbers were wrong numbers.

The bundled schedule, duty engine, and news feed are now on Rev 14 with the current post-July regime, and the Updates tab reflects the change.

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

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

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.