Skip to content

Orders ​

With the Orders module on, completed orders (never carts) are sent to Brevo Ecommerce when their checkout, order, payment or shipping state changes, from the shop, the admin, the API or the CLI. Brevo links them to the contact by email and ext_id, creating it (unsubscribed) when missing, and fills the ecommerce dashboard and the contact's purchase history with them.

Saving the configuration with the module on activates Brevo Ecommerce, as with the catalog.

What is sent ​

FieldValue
idOrder number
statuscancelled, refunded, fulfilled, shipped, paid or pending, the first that applies
amountOrder total
productsVariant code (the Brevo product id), quantity and unit price after discounts
billingBilling address, phone in E.164 and payment method
couponsPromotion coupon
metaInfoCurrency, items, shipping, tax and discount totals, shipping method

Statuses ​

Brevo takes any status. Choose the ones counted as revenue in Brevo > Settings > E-commerce > Order statuses, or rename them:

yaml
odiseo_sylius_brevo:
    orders:
        statuses:
            fulfilled: completed

Extending ​

  • Decorate OrderStatusMapperInterface (odiseo_brevo.order.status_mapper) for other status rules.
  • Add fields with a service implementing OrderPayloadProviderInterface, tagged odiseo_brevo.order_payload_provider (metaInfo and billing are merged by key).
Pro

Importing the orders placed before installing comes with Brevo Pro, the paid add-on of this plugin. One price, perpetual license, every Pro module included. See Brevo Pro →

The free plugin sends orders as they change. Pro imports the past orders as historical batches, so the dashboard and every customer's history start complete.

Free plugin released under the MIT License. Brevo Pro under a commercial license.