Skip to content

Concepts

This page explains how the plugin works and why it works that way. For step-by-step instructions, see the how-to guides.

The edit window

The edit window is the time during which a customer may change their own order. It opens when the order is placed and closes at the first of these moments:

  • the window length has passed
  • someone moves the order to another status, such as In progress (if End the window when the order status changes is on)
  • an invoice is issued for the order (if Stop editing once an invoice exists is on)
  • the order is cancelled
  • editing is switched off, or the plugin is deactivated

A window always has an end. The plugin is built around that limit: customers get a fixed time to correct mistakes, and after that the order belongs to your warehouse.

When a window closes for several reasons at once, the customer is told the most useful one. Facts come before the clock: "This order has already been invoiced" is more helpful than "your time ran out".

The deadline is the order time plus the window length. If you shorten the window length, windows that are already past the new length close. If you lengthen it, open windows keep the deadline the customer was already shown. The only way to give one order more time is a window extension from the administration: the window gets its full length again on top of the current deadline. A closed window is never reopened, because the order may already be with your ERP.

Customers can change the same order as often as they like while the window is open. Confirming a change does not end the window.

The hold and the release

The hold keeps a new order away from your warehouse and ERP while the customer can still change it. The plugin moves the order to its own status, On hold (German: „Zurückgehalten“).

A separate status is used rather than Open or In progress, because order imports usually select by status: a connector that takes Open orders, or Open and In progress orders, does not see a third status.

The release returns the order to Open when the window ends, so your normal processing picks it up. Every hold must be followed by a release: an order that stays on hold is never shipped. That is why there are several independent ways an order is released:

  • the background task, every 5 minutes, for every window that has ended, including windows that current settings no longer allow
  • the same task for any order that is on hold without an open window
  • Release now on the order, or setting the status by hand
  • deactivating the plugin, which releases every held order at once
  • uninstalling the plugin, which puts any order still on hold back to Open

Because the release runs every 5 minutes, an order returns to Open up to about 5 minutes after its deadline. The customer can no longer change it once the deadline has passed.

A side effect of the hold: Shopware normally creates a new order directly in Open, which does not count as a status change. With the hold, the order leaves Open at checkout and enters it again at the release. Flows on those two triggers therefore run for every order. See Connect your ERP and the "On hold" status.

Staging, reviewing and confirming

Nothing a customer does on Change your order touches the order until they confirm it.

  • Staging: each change is recorded as pending. The customer sees how many changes are pending and what they cost. Stock, documents and the order itself are unchanged.
  • Review: the What changes screen shows each change with its old and new value, the changes that follow from it (such as a discount that depends on the total, shipping, VAT or rounding), the new total and the difference. The amounts are calculated by Shopware itself, including promotions and tax.
  • Confirm: the changes are applied to the order in one step. Totals change, stock moves and the change is recorded on the Changes tab.
  • Discard: the customer drops all pending changes. The order stays as it was, and the window stays open.

If the window closes before the customer confirms, the pending changes are dropped. If something changed in the meantime, for example a size sold out, the change is refused at confirmation and nothing is applied.

Discounts are recalculated the way your cart calculates them. A customer who lowers an order below a promotion's threshold loses that discount, and one who raises it above a threshold gains it. The review shows both.

Safety rules

Safety rules decide whether a single change is allowed. When one refuses a change, the customer reads why, and the refusal is recorded on the Changes tab.

RuleRefuses
InvoiceAny change once an invoice, cancellation invoice or credit note exists, in any of its forms including ZUGFeRD. A delivery note does not count.
StatusAny change once the order has moved beyond On hold or Open.
StockA quantity or variant beyond what you can deliver. Products marked "Clearance sale" are limited by stock; all products keep your maximum quantity per order. The minimum quantity and purchase steps of a product also apply.
ShippingA change that the shipping method can no longer deliver, when shipping is recalculated or the customer chose a new method.
TaxA new address that falls under different tax, unless you chose Recalculate for the new address.
Lower totalA change that lowers the total of a paid order, unless you allow it.
PaymentA change while a payment is being processed, and a higher total than an already arranged payment covers.

Personalised items (from the Custom Products extension) cannot be changed while Lock personalised items is on. They can still be removed if removing items is allowed.

Money

The plugin never moves money itself. What happens to a changed total depends on the payment:

  • Unpaid orders, such as invoice, prepayment or direct debit that has not been collected: the order total and the amount of its payment are corrected. The customer pays the new amount. No payment provider is involved.
  • Arranged but not collected: if a payment provider has reserved the money, a lower total is allowed and only the corrected amount is collected. A higher total than the reserved amount is refused, and the customer is asked to order the extra items separately.
  • Paid orders (payment status Paid, Paid (partially) or Refunded (partially)): a higher total is allowed. A lower total is refused unless Allow changes that lower the total is on. If it is on, the plugin records Refund due with the amount and sends a notice. You refund the amount yourself.

The plugin does not refund automatically, does not issue store credit and does not create correction invoices.

Customers, guests and entry points

Customers reach Change your order from:

  • the order confirmation page, right after checkout
  • their account's order list, from the banner or the Change order entry in the order's menu
  • the link in the window mail

Guest customers use your shop's own guest order page. They confirm their mail address and billing postcode there, the way your shop already works for guests. The plugin has no login of its own.

Changing an address requires a logged-in customer who owns the order. Guests who confirmed their details on the guest order page count as logged in.

If your shop lets customers cancel orders, they can still cancel a held order. Change your order points to the order list for that.

What the plugin does not do

  • Customers cannot add new products to an order.
  • No automatic refunds, no store credit, no correction invoices.
  • No returns or exchanges. These start after delivery and are handled separately; the closed-window page says so.
  • The order is not edited in the administration by this plugin. Your own admin editing works as usual.

Glossary

TermMeaning
Edit windowThe time during which a customer may change their order
Hold / On holdThe status that keeps the order away from processing during the window
ReleaseReturning a held order to Open
Window extensionMore time given to one open window from the administration
StageRecord a change as pending, without applying it
ConfirmApply all pending changes to the order
DiscardDrop all pending changes; the window stays open
Eligibility rulesRule Builder rules that decide which orders get a window
Safety rulesThe checks that refuse unsafe changes
Money deltaThe difference between the old and the new order total
Change logThe record on the Changes tab, including refused changes

Your Vision. Signed, Sealed, Delivered.