Skip to content

Connect your ERP and the "On hold" status

This guide explains when your ERP, warehouse software or order export sees a new order once the plugin is active, and what to check so that nothing is processed while the customer can still change it.

What changes for new orders

Without the plugin, a new order is created in the status Open. With the plugin and Let customers edit their orders switched on, every new order that gets an edit window goes through these steps:

  1. The order is placed and moves from Open to On hold (German: „Zurückgehalten“) straight away.
  2. The customer can change the order for the length of the window.
  3. When the window ends, the plugin moves the order back to Open. From then on it goes through your normal processing.

The window ends on its deadline, but the release runs in a background task every 5 minutes. An order can therefore stay On hold for up to about 5 minutes after its deadline before it returns to Open.

When your ERP sees the order

An ERP connector or export that picks up orders in the status Open sees a new order only after its window has closed. The earliest time is:

order time + window length + up to 5 minutes until the release + the connector's own polling interval

With the default window of 30 minutes and a connector that polls every 10 minutes, an order can take up to about 45 minutes to arrive in the ERP. This is intended: the ERP only gets the order in its final form.

If that is too long for your warehouse, shorten Window length (minutes) in the plugin settings. Shortening it also ends windows that are already open and older than the new length.

Step 1: Check what your connector imports

Check in your connector's or ERP's settings which orders it picks up.

  • It imports orders in "Open" only. Nothing to do. Held orders stay invisible to it until they are released.
  • It imports every new order, or selects by payment status or date. It will also pick up orders that are still On hold and could still change. Restrict the import to the order status Open. If your connector cannot do that, see the note below this list.
  • It moves the order to "In progress" or another status when it imports it. With End the window when the order status changes on (the default), that move ends the window at once, and the customer can no longer change the order. That is the intended safety net, but the customer loses the rest of their time.

If your connector cannot filter by status, switch Let customers edit their orders off for the sales channel it serves. The setting can be different per sales channel: choose the sales channel at the top of the configuration page.

Step 2: Check Flows that react to "Open"

Shopware creates a new order directly in Open. Normally that does not count as entering the status, so a Flow with the trigger "order enters Open" does not start when an order is placed.

With the plugin, every order that gets a window leaves Open at checkout (when it goes on hold) and enters Open again when it is released. As a result:

  • a Flow on order enters Open (state_enter.order.state.open) now runs for every such order, at the moment the window ends
  • a Flow on order leaves Open (state_leave.order.state.open) now runs for every such order, right at checkout

The configuration page names these Flows. At the top of the Edit window card, a warning reads: "With editing on, every order now enters or leaves Open, so every order will trigger: …", followed by the Flow names.

For each Flow in that list:

  1. Open Settings > Flow Builder and open the Flow.
  2. Decide whether it should run for every order. A Flow that exports the order or sends it to a fulfilment service now does that for every order, after the window. If that duplicates what your connector already does, the order reaches your ERP twice.
  3. Either add a condition that limits the Flow to the orders you mean, move it to another trigger, or deactivate it.

The warning stays as long as an active Flow uses one of the two triggers. If the Flow is meant to run for every order, you can ignore the warning.

Step 3: Check the order list in the administration

Orders in their window show the status On hold in the order list and on the order detail page. Staff who process orders by hand should leave these orders alone until they are Open again. If someone moves an order on (for example to In progress), the window ends immediately, and anything the customer had not yet confirmed is dropped.

Setting a held order back to Open by hand does not end its window, because Open still counts as "not yet in processing". The order is then visible to your ERP while the customer can still change it. Leave held orders on hold unless the window is over.

The order detail page shows Editable until and the closing time next to the order number, so staff can see why the order is waiting.

What happens when you switch the plugin off

  • Switching off "Let customers edit their orders": no new order is held. Orders that are still on hold are released by the next run of the background task.
  • Deactivating the plugin: every order still on hold is released immediately, and every open window is closed.
  • Uninstalling the plugin: any order still on hold is put back to Open. Mail templates and Flows stay in your shop. The On hold status also stays, so the status history of past orders stays intact, but no order can enter it any more.

Your Vision. Signed, Sealed, Delivered.