Skip to content

Sending orders to Abacus

Orders in Shopware are sent to Abacus for processing. There are three different scenarios for sending orders to Abacus:

  1. Guest orders
  2. Orders from new customers
  3. Orders from existing customers

Configuring Order Export Rules

The Abacus plugin uses Shopware's Flow Builder to give you full control over when orders are exported to Abacus. This is particularly important for managing different payment methods, as some payments (like credit cards) may be cancelled before completion, while others (like invoices) are immediately confirmed.

Why Configure Export Rules?

When a customer places an order in Shopware, the order object is created immediately, even if payment hasn't been completed yet. For example:

  • Credit card payments: The customer can still cancel during the payment process
  • Invoice payments: The order is confirmed immediately when placed

Since Abacus has limitations on modifying orders once they're in the order inbox, it's crucial to export orders at the right time to avoid having to deal with cancelled orders in Abacus.

The plugin comes with a custom Flow Builder action:

  • Export order to Abacus - Sends the order data to Abacus

By default, the plugin is configured with the following flows:

Flow 1: Order Placed

This flow handles orders that should be exported immediately:

Order placed flow example

Rule: Payment method is Invoice

  • When an order is placed with invoice payment, it is immediately exported to Abacus
  • This is safe because invoice orders are confirmed when placed

Flow 2: Payment Enters Status Paid

This flow handles orders that should only be exported after successful payment:

Payment status paid flow example

Rule: Payment method is Credit Card (or other online payment methods)

  • The order is only exported to Abacus after the payment status changes to "paid"
  • This prevents cancelled or failed payments from being sent to Abacus

Customizing Export Rules

Matching rule: Shopware order export rule

You can modify these flows to match your business requirements:

  1. Access Flow Builder:

    • Navigate to SettingsFlow Builder in your Shopware admin panel
  2. Edit Existing Flows:

    • Order placed: Modify when orders are exported immediately after placement
    • Payment enters status paid: Modify when orders are exported after payment confirmation
  3. Create Custom Rules:

    • Click on the rule condition in the flow
    • Define custom conditions based on:
      • Payment method
      • Payment status
      • Order amount
      • Customer group
      • Any other Shopware order data
  4. Add Export Action:

    • In the flow, add the action "Export order to Abacus"
    • Position it in the correct sequence within your flow

Example Configurations

Configuration 1: Export all orders immediately

If you want to export all orders immediately regardless of payment method:

  • Flow: Order placed
  • Rule: No condition (always true)
  • Action: Export order to Abacus

Configuration 2: Export only after payment confirmation

If you want to wait for payment confirmation for all payment methods:

  • Flow: Payment enters status paid
  • Rule: No condition (always true)
  • Action: Export order to Abacus

Different payment methods handled differently:

  • Flow 1 - Order placed:

    • Rule: Payment method is Invoice OR Payment method is Cash on Delivery
    • Action: Export order to Abacus
  • Flow 2 - Payment enters status paid:

    • Rule: Payment method is Credit Card OR Payment method is PayPal OR Payment method is Paid in advance
    • Action: Export order to Abacus

Important Notes

  • Orders are only exported once to Abacus. The plugin tracks which orders have been exported to prevent duplicates.
  • Changes to flows take effect immediately for new orders. Existing orders are not affected.
  • Test your configuration with different payment methods to ensure orders are exported at the expected time.

Guest orders

Guest orders are created in Shopware when a customer checks out without creating an account. Guest order exampleGuest order example confirmation which then is sent to Abacus and can directly be processed there. Guest order in Abacus

Order of a new customer

When a new customer is created in Shopware and the customer makes an order, the order is sent to Abacus and can be processed there. So, first the sign-up of a new customer: Sign-up of a new customer and then the order of the new customer: Order of a new customer which then is sent to Abacus and can directly be processed there. Order of a new customer in Abacus Because it is a new customer, the address can't be found and the address must be processed manually in Abacus. Order of a new customer in Abacus addressOrder of a new customer in Abacus addressOrder of a new customer in Abacus address If the address already exists or Abacus detects a similar address, the address can be selected to prevent duplicates. Order of a new customer in Abacus address Once successfully processed, the order gets a green checkmark and can be converted into an order. Order of a new customer in Abacus address

Order of a new customer in Abacus address The order can be found in the "Closed" orders in Abacus. Order of a new customer in Abacus address And the order is created in the abacus order tool (111). Order of a new customer in Abacus address

Sync back to Shopware

During the order processing in Abacus, the shopper is created for the new customer in Abacus. This shopper is then synced back to Shopware (after 15 minutes). Before the sync, the new customer looks like this in Shopware: New customer pre shopper sync And once the sync is done, the existing customer is updated with the shopper data: New customer post shopper sync Note that the shopper data is stored in the custom fields of the customer entity.

💡 How we identify the correct Shopware customer

First, we try to find the correct Shopware customer using the shopper ID. However, newly registered Shopware customers don't have a Shopper ID yet.
In Shopware, unlike in Abacus, the email address of a customer account is unique. Based on the configuration set in the Shopware plugin, we use the value of the "Account" field or the "Email" field of the Shopper API body to identify the correct Shopware customer.

Order of an existing customer

When an existing customer (customer with shopper logged-in in shopware) makes an order, the order is sent to Abacus and can directly be processed there. Because existing customers have already a shopper in Abacus and a shopper ID, the order can be processed without any manual address processing if the address has not changed.

Address change

If there is a change in the address, the wizzard in Abacus will guide you through the process of updating the address or selecting an existing address.

Please note that there are three type of addresses in Abacus:

  • Customer address
  • Billing address
  • Shipping address and each of these addresses can have a contact person.

When the address has changed, Abacus will show you which address has changed and you can decide to update the existing address or select an existing address and ignore the new address sent from Shopware.

Sync back to Shopware

Once an address change is manually processed, the order can be converted into an Abacus order and the shopper is updated with the new address information. After 15 minutes, the updated shopper is synced back to Shopware (see customer sync ), and the customer is updated with the new address information. The next orders can be processed without manual address processing if the address has not changed again.