This plugin connects each Sylius channel to a Brevo account and keeps both in sync: customers, newsletter, catalog, orders and shop events, so marketing works in Brevo with the store's real data.
- ✅ Per channel - Dedicated or shared Brevo accounts and settings per channel
- ✅ Reliable background sync - Symfony Messenger prevents Brevo failures from affecting requests or checkout
- ✅ Contact sync - Customers, guests, addresses and order stats kept up to date
- ✅ Newsletter - Double opt-in, cacheable subscription form and headless API support
- ✅ Ecommerce sync - Taxons, variants and orders, synced on change with currency conversion
- ✅ Tracking and events - Consent-based visitor tracking and events for marketing automations
- ✅ Built to extend - Customizable providers, decorators and Twig hooks
- ✅ Broad compatibility - Sylius 2.0–2.3, Symfony 6.4/7.4, PHP 8.2–8.4, MySQL and PostgreSQL
Screenshots
- ✅ Require the plugin (the Flex recipe registers it)
- ✅ Run the migrations
- ✅ Add a Brevo configuration to your channel, with its API key
- ✅ Turn on the modules you need
👉 Follow the installation guide
composer require odiseoteam/sylius-brevo-plugin
bin/console doctrine:migrations:migrateThen go to Brevo > Configuration in the admin, add the channel's API key, turn on its modules and send what the store already has:
bin/console odiseo:brevo:syncImportant
By default Brevo calls run right after each response, in the same PHP process. In production, set
ODISEO_BREVO_MESSENGER_TRANSPORT_DSN to an async transport and run bin/console messenger:consume odiseo_brevo.
Each feature is a module, turned on per channel:
| Module | What reaches Brevo |
|---|---|
| Contacts | Customers and guests as contacts, with names, phone, address, group and order stats |
| Newsletter | Subscribers in the channel's list, from the shop form, the account, the admin or the API |
| Catalog | Taxons as categories and product variants as products, with price, stock and image |
| Orders | Completed orders, with their status, products and totals |
| Tracking | The Brevo tracker, page views, identified visitors and the shop events |
Learn more about each module →
Brevo Pro is the paid add-on that builds on this plugin. It concentrates the features where a bug costs sales, with screens for the marketing team:
- ✉️ Transactional emails - Sylius emails designed in the Brevo editor, per language, with previews, test sends and Twig as fallback
- 📬 Sent emails - Every email with its delivery status, blocked addresses and one-click unblocking
- 🛒 Cart and payment recovery - Signed links that bring back a guest's cart, and payment links for unpaid orders, with UTM
- 📦 More events - Order awaiting payment, shipped, cancelled and refunded, and product reviews
- 🔁 Webhooks - Unsubscriptions made in Brevo back in Sylius
- 🗂️ Past orders - The order history imported into Brevo Ecommerce
- ⚙️ Admin settings - Contact attributes and events per channel, without YAML
One price, perpetual license, every Pro module included.
👉 Compare Free and Pro · Get Brevo Pro
The full documentation lives at docs.brevo.odiseo.io:
- 📦 Installation - With the Flex recipe, or step by step
- 🏁 Your first channel - API key, modules and the initial sync
- 👥 Contacts and Newsletter - Attributes, lists, the shop form and double opt-in
- 🛍️ Catalog and Orders - What Brevo Ecommerce gets, and when
- 📈 Tracking and Events - The tracker, consent and every event with its properties
- ⚙️ Configuration reference - Every key under
odiseo_sylius_brevo - 🧩 Extending - Providers, decorators and hooks
- 💻 Console commands -
debug,syncand each module's sync - 🚑 Troubleshooting - Nothing reaching Brevo, missing attributes, wrong currency
- 🤝 Contributing - Running the test application and the suites
| Plugin | Sylius | PHP | Symfony | Database |
|---|---|---|---|---|
^1.0 |
2.0 · 2.1 · 2.2 · 2.3 | 8.2 · 8.3 · 8.4 (Sylius 2.3 needs 8.3) | 6.4 · 7.4 | MySQL · PostgreSQL |
Only the latest minor is supported. Security fixes land on master.
This plugin is maintained by Odiseo. Need help with it, or with any Sylius project?
- 🎬 Live demo - A live walkthrough of the free plugin and Brevo Pro
- 🛠️ Sylius development - Help with this plugin or any Sylius project
- 🏪 Multi-vendor marketplace - Turn your Sylius store into a marketplace
- 🔌 More Sylius plugins - Browse all our Sylius plugins
MIT.



