odiseoteam / sylius-brevo-plugin
Brevo integration for Sylius: contacts, newsletter, ecommerce sync and tracking
Package info
github.com/odiseoteam/sylius-brevo-plugin
Type:sylius-plugin
pkg:composer/odiseoteam/sylius-brevo-plugin
Requires
- php: ^8.2
- giggsey/libphonenumber-for-php: ^8.13 || ^9.0
- sylius/sylius: ^2.0
- symfony/http-client: ^6.4 || ^7.4
- symfony/intl: ^6.4 || ^7.4
Requires (Dev)
- behat/behat: ^3.16
- dbrekelmans/bdi: ^1.4
- deptrac/deptrac: ^3.0
- dmore/behat-chrome-extension: ^1.4
- dmore/chrome-mink-driver: ^2.9
- friends-of-behat/mink: ^1.11
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-debug-extension: ^2.1
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.1
- friends-of-behat/symfony-extension: ^2.6
- friends-of-behat/variadic-extension: ^1.6
- nyholm/psr7: ^1.8
- phpstan/phpstan: ^2.1
- phpstan/phpstan-doctrine: ^2.0
- phpstan/phpstan-webmozart-assert: ^2.0
- phpunit/phpunit: ^10.5
- robertfausk/behat-panther-extension: ^2.0
- shipmonk/composer-dependency-analyser: ^1.8
- sylius-labs/coding-standard: ^4.4
- sylius-labs/suite-tags-extension: ~0.2
- sylius/sylius-rector: ^3.0
- sylius/test-application: ^2.0.0@alpha
- symfony/browser-kit: ^6.4 || ^7.4
- symfony/debug-bundle: ^6.4 || ^7.4
- symfony/dotenv: ^6.4 || ^7.4
- symfony/runtime: ^6.4 || ^7.4
- symfony/web-profiler-bundle: ^6.4 || ^7.4
- symfony/webpack-encore-bundle: ^2.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-13 10:30:39 UTC
README
Introduction
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.
What makes this plugin different?
- ✅ 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
Getting Started
Install it in 4 steps ⚡
- ✅ 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
Quick Example
composer require odiseoteam/sylius-brevo-plugin bin/console doctrine:migrations:migrate
Then 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:sync
Important
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.
Modules
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
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
Documentation
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
Compatibility
| 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.
Professional Support
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
License
MIT.



