Shopware Flow Builder: Unlocking Reliable Order & Payment Automations

Mastering Shopware Flow Builder: The Key to Reliable Order & Payment Automations

The Shopware Flow Builder is a powerful tool for automating various processes within your online store, from order confirmations to customer follow-ups. However, setting up flows correctly, especially those dependent on order and payment statuses, can sometimes be tricky. This community insight delves into a common challenge faced by Shopware merchants: why a seemingly simple flow for generating documents and sending emails upon order completion might not be firing as expected.

The Problem: Flow Builder Not Triggering for New Orders

A user, Kidobub, reported an issue where their "super simple" Flow Builder setup failed to generate documents or send confirmation emails for new orders, regardless of whether they were paid via PayPal or bank transfer. The initial flow was designed to trigger on an "Order placed" event, followed by a condition checking if the order's payment status was "Paid" (Bezahlt).

Even after simplifying the flow and removing the "is paid" check for bank transfers, the issue persisted, leaving the user perplexed.

The Expert Diagnosis: Understanding Event Timing

Matthiasewald, another community member, quickly identified the core issue: the timing of the "Order placed" event versus the finalization of the payment status. He explained that an order is created before the payment is fully processed and confirmed. Therefore, a flow triggered by "Order placed" with an immediate condition for "Payment Status: Paid" will likely fail for most payment methods (like PayPal, credit card, or even bank transfer where payment is not instant).

The only scenario where such a flow might work reliably is for "Vorkasse" (prepayment) if the payment is confirmed synchronously with the order creation, which is rare. For most payment gateways, there's a slight delay or an asynchronous callback that updates the payment status.

The Solution: Triggering on Payment Status Change

The recommended approach is to trigger the Flow Builder based on the payment status event itself, rather than the initial order creation. This ensures that the flow only activates once the payment has reached a specific, desired state.

Matthias suggested:

  • Utilize an event like "Order Transaction Status Reached" (Bestellung Transaktion Status erreicht) or "Payment Status Changed".
  • Depending on the payment method, you might need multiple flows:
    • Flow 1 (for Paid Orders): Trigger on "Order Transaction Status Reached" > Condition: "Order Transaction Status is Paid" > Actions: Create documents, send confirmation email.
    • Flow 2 (for Open/Pending Payments, e.g., Bank Transfer): Trigger on "Order Transaction Status Reached" > Condition: "Order Transaction Status is Open" > Actions: Create specific documents (e.g., proforma invoice), send instructions email.

Kidobub then proposed refined flows based on this advice, considering how to differentiate between payment methods (e.g., adding a "Payment method is PayPal" condition) to avoid sending incorrect emails for temporarily "Open" PayPal transactions.

Key Takeaway for Shopware Flow Builder

When designing automations that depend on the final state of an order or its payment, always consider the exact timing of the events. Relying on "Order placed" for payment-dependent actions is a common pitfall. Instead, leverage events like "Order Transaction Status Reached" to ensure your flows execute precisely when the payment status is confirmed, leading to more robust and reliable e-commerce automation.

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools