Skip to main content

What’s new at Endless

Changelog

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

feature

Shopify: Choose Where the Note From Customer Lands

Shopify imports now let you pick where the Note from Customer on a Shopify order lands: Instructions (default), Gift message, Both, or Neither. Set it per-integration under Shopify → Orders in the integration settings.

Before this, the note always went to the order’s Instructions. Stores that treat the customer note as a gift message never received it; stores using it for PO / handling instructions were fine. The new setting fixes both directions: pick Gift message and the note lands there instead, pick Both and it’s written to both fields.

Each mode only writes the fields it names, so switching modes never overwrites data in the other field. The audit line on the order timeline (Note from Shopify: …) is preserved in every mode.

feature

Orders: Change Where An Order Came From

Sometimes an order ends up stuck on the wrong integration — the store’s old connection was replaced, or the integration got reconnected under a fresh record and the order is still pointing at the archived one. It can now be moved.

Open a V2 order and choose Assign source integration (or Change source integration) from the action menu — the command palette has it too. Pick another live integration for the same store from the picker, confirm, and the order is repointed. The new integration takes ownership and, if it supports it, refreshes the order data on its next pass.

A few guardrails so nothing surprising happens: the order has to be claimed locally (not currently owned by another integration), it needs an external order id, and it can’t have active fulfillments. If any of those aren’t in place, the dialog spells out what to fix. Reassignments have to stay within the same integration type. Admin, operator, and order-receiver roles have the permission by default.

Alongside this, skipped Shopify order updates and unsupported order resets now show the actual reason on the order timeline — “authority not held”, “no warehouse”, “reset unsupported” — instead of a generic error.

improvement

Extensiv: Choose What The Lot And Receipt Advice Numbers Carry

Each Extensiv integration now decides, separately, what Endless sends as the line-item lot number and as the receipt advice number. Choose the real lot recorded on the shipment line, the shipment reference, the shipment number, or nothing at all, from the integration’s settings.

The two overlapping switches this replaces keep working until you edit the integration, at which point you pick a source for each. Receiving a shipment that carries the same SKU on more than one line no longer posts the quantity twice.

fix

Shopify Fulfillments: Archived Ones No Longer Block New Ones

Creating a new fulfillment on a Shopify order no longer fails when the order has an archived fulfillment sitting behind it. The next per-order fulfillment index now looks across archived rows too, matching the database uniqueness rule, so the new fulfillment picks an unused index instead of colliding.

improvement

Orders: EDI Documents Live On An EDI Tab

For EDI orders, the EDI document list, create, and deliver flows now have their own “EDI” tab on the order page, alongside Sales Order, Fulfillments, and Timeline. Same documents and actions as before, just easier to find. The tab appears only when the order is actually an EDI order — other orders don’t get it. The old hidden /edi URL, which nothing linked to, is gone.

improvement

Inventory Sync Runs On A New Schedule

Inventory syncs on a different cadence now, with no change to what is sent or received.

Counts pulled from warehouse systems — Extensiv, GoBolt, InfoPlus, MasonHub, ShipHero and Veracore — refresh every three hours rather than every fifteen minutes, and Business Central hourly. Shopify pulls speed up from once a day to every three hours. Pushes to Sellbrite and Rithum move to twice a day, and Faire to every three hours. Shopify’s push stays at every fifteen minutes, and Amazon and Endless EDI stay daily.

A manual refresh still pulls counts on demand whenever you need them sooner than the schedule.

fix

Order Reset: Now Recreates Fulfillments Even If One Was Already Cancelled

Resetting a Shopify order previously left the order with no fulfillments when it already had a cancelled one. Reset only unhooked active fulfillments from the identity index, so the cancelled fulfillment’s Shopify FulfillmentOrder link stayed live — the replay then resolved the FO back to that dead fulfillment and no-oped instead of rebuilding a fresh one.

Reset now clears the identity link on every non-archived fulfillment, cancelled or not, and the replay rebuilds reliably.

feature

Orders: Reset From The App

Resetting an order — handing authority back to the source integration and rebuilding the order from what the integration currently says — is now available from the order page. The underlying reset flow shipped earlier; this puts a control on it so you can trigger it without a console.

feature

Veracore: Ship Orders And Pull Shipments Back

Veracore is now connected on the shipment path in both directions. Orders sent to Veracore for fulfillment can be shipped from Veracore and Endless picks up the shipment, and the Ship Order flow records the Veracore shipping-order id as the external reference so later polls line up. Extra carrier mappings were added alongside so more of Veracore’s carrier codes resolve to the built-in list without a manual mapping.

improvement

Order And Fulfillment Instructions

Customer instructions are now called instructions everywhere. The order detail reads and writes through the new field, and fulfillment instructions behave the same way gift messages now do — a fulfillment’s instructions override the order’s if set, otherwise the order’s instructions apply. Packing notes sent to ShipHero and Packiyo use whichever value resolves.

The older note name is kept as a compatibility alias for anyone reading or writing through it, so nothing breaks — but new integrations should reach for instructions.