Two ecosystems,
One big event.
November 5, 2026. Lyon
Save your seat >>
No reviews yet

Registration Approval

Product Registration Approval Image

Open a B2B catalogue to real customers only: new accounts stay pending until an administrator approves or rejects them, with e-mails to the customer.

Sylius version
2.2
Downloads
< 1K

Requires Sylius 2.3+ only.

The problem

A B2B catalogue is often reserved to known business customers. With self-service registration, anyone who signs up gets the same access as an approved customer.

Features

  • Pending by default: an account created by self-service registration (page, after checkout, shop API) is pending on every channel; the restriction applies on the channels you list. Accounts created in the admin, by fixtures or by console, and existing customers, stay approved.
  • No access until approved: with Channel Access, a pending or rejected customer counts as not signed in; on a closed channel the catalogue answers 403 with a waiting page.
  • Decision in the admin: Customers > Registrations, approve or reject with an optional internal reason, CSRF-protected, never replayed.
  • E-mails to the customer on approval or rejection, in the channel's default locale; the internal reason is not sent.
  • No account enumeration: registering with an existing address gets exactly the same answer as a new registration, on the page and on the shop API.

Screenshots

registrations to approve in the admin

waiting page in the shop

Installation

  1. Install and configure tmonier/sylius-channel-access-plugin first.
  2. composer require tmonier/sylius-registration-approval-plugin
  3. Register Tmonier\SyliusRegistrationApprovalPlugin\TmonierSyliusRegistrationApprovalPlugin in config/bundles.php, after the access plugin.
  4. Add ApprovalTrait to your customer entity and declare it.
  5. Import the configuration and routes, then run the migration (see the README).

Full documentation: README on GitHub.

Compatibility

Sylius 2.3+ only, PHP 8.3+; requires Channel Access ^0.1 or ^0.2; MySQL, MariaDB and PostgreSQL. Version 0.x: read the CHANGELOG before each upgrade.

Languages

English, French, German, Spanish, Italian, Dutch, Polish (interface and e-mails).

Reviews

No reviews yet

No reviews yet. Be the first to review this product!

Loading
  • Free updates
  • Community support

Have already account? Sign in
See how it works
Compatibility & requirements
  • Compatible with Sylius 2.2 and higher

No reviews yet
17 plugins
Since 12.10.2026

Free, open source (MIT) Sylius 2 plugins for European merchants: compliance (Factur-X, EU withdrawal, GPSR), B2B (quick order, volume pricing, quotes) and back-office productivity. Tested, PHPStan max, 7 languages.

Read more
Sylius Addons Marketplace

Discover plugins, themes, and resources from trusted vendors, helping you get the most out of your work.

© 2026 Sylius. All rights reserved.

Powered by Stripe