Trader Information
Back to topOverview
Back to topB2B customers are not retail customers and the signup form should not pretend they are. A trade buyer arrives with a company name, a VAT or tax number, a delivery address that may differ from the billing address, a contact person, a phone number, and an expectation that someone on the merchant side will actually look at the registration before granting access to dealer pricing, wholesale catalogues or restricted product groups. The cost of getting this wrong is real: scraped price lists in the hands of competitors, retail buyers walking into a B2B-only checkout flow, fake registrations spamming the customer table, and welcome emails sent to people who have not yet been approved — handing them login access before review.
STM B2B Register is the dedicated B2B onboarding module that finally models this correctly. It adds a dedicated B2B registration page to every Magento Open Source / Adobe Commerce store, captures the full set of business-customer fields up-front, places every new account into a configurable pending customer group, blocks login until an admin reviews the registration, and triggers four separate transactional emails (registration confirmation, admin notification, approval, rejection) so customers and shop owners always know where the account stands. The standard Magento welcome email is automatically suppressed for B2B registrations — no login link is leaked before approval.
Why STM B2B Register stands out
Most B2B-registration extensions on the Marketplace stop at adding a few company fields to the standard signup form, leave the customer in the default group, and assume the merchant will manually move them later. STM B2B Register combines three capabilities that no other extension on the Marketplace bundles in one place:
- A real admin-approval gate, not a soft tag — new B2B accounts land in a configurable pending customer group, login is blocked by a backend plugin (not just a UI banner), and the standard Magento welcome email is suppressed so no login URL reaches the customer before approval; the customer sees a configurable "your account is under review" notice on the login page until an admin clicks B2B Approve.
- A complete admin workflow that lives where merchants already work — Approve and Reject buttons on the customer edit page, mass-action B2B Approve / B2B Reject in the standard customer grid, plus filterable, sortable B2B Status (Pending / Approved / Rejected / B2C, color-coded badge) and Company columns added directly to the Magento customer grid — no separate "B2B requests" submenu to monitor.
- Three coexisting registration modes — Hybrid (both standard and B2B forms with cross-links and configurable link texts), B2B Only (the standard registration URL is redirected to the B2B form), and B2C Only (module installed but the hybrid banner suppressed) — so the same module covers a pure-B2B wholesaler, a pure-B2C retailer running the module for the future, and a hybrid storefront where retail and trade live side by side.
Features
- Dedicated B2B registration page at
/b2bregister/account/createwith company name, VAT ID / tax number, customer number, salutation, contact person, full delivery address (street, postcode, city, country, region) and phone number — captured in one form so the admin reviewer has the complete picture from the first save. - Admin approval workflow — every new B2B account is created with status Pending and assigned to a configurable pending customer group; login is blocked by a backend plugin until the account is approved or rejected, with a configurable notice text per store view explaining the review status to the customer on the login page.
- Customer grid integration — filterable and sortable B2B Status column with a color-coded badge for Pending / Approved / Rejected / B2C, and a filterable, sortable, searchable Company column added to the standard Magento customer grid; no separate B2B submenu, the existing customer workflow keeps working.
- Mass actions B2B Approve and B2B Reject in the customer grid — review a batch of pending registrations from a trade-show or campaign-import in a single click, with the same business logic as the per-customer buttons (group reassignment, email dispatch, event dispatch).
- Per-customer Approve and Reject buttons on the customer edit page — for the standard one-by-one review case, with confirmation dialogs and a status badge that updates inline once the action completes.
- Automatic customer group assignment — pending customers land in the configured pending group, on approval they are moved to the configured approved group; if the approved group is left empty the customer waits for manual assignment so an admin can route them to a specific reseller, dealer or wholesale tier.
- Four transactional email templates — Registration Confirmation (sent to the customer right after signup), Admin Notification (sent to a configurable address or comma-separated list of addresses when a new B2B account is created), Approval Email (sent to the customer when the account is approved, with the login link), Rejection Email (sent to the customer when the account is rejected); every template is editable under Marketing → Email Templates with full placeholder support.
- Welcome-email suppression — Magento's standard welcome email (which contains a working login link) is automatically suppressed for B2B registrations via a plugin on the customer welcome-email pipeline; the customer only receives the B2B-specific confirmation, never a premature login URL.
- Three registration modes — Hybrid (both standard and B2B forms exist with configurable cross-link texts so each form points to the other), B2B Only (the standard registration URL is redirected to the B2B form so retail signup is impossible), B2C Only (module installed but hybrid banner suppressed; useful for shops that want the module ready for a future B2B launch).
- Field visibility control per store view — VAT ID / tax number, customer number and salutation can each be set to hidden, optional or required, independently per store view; markets where the tax number is mandatory by law can require it while other markets keep it optional.
- Optional Google reCAPTCHA v2 — the standard "I'm not a robot" checkbox is rendered on the registration form when enabled, with site key and secret key configured per store view; secret key is stored encrypted via the standard Magento encrypted backend.
- Configurable form design — primary and secondary color via a color-picker field in the admin (headings, buttons, borders for primary; button hover and accents for secondary); leave both empty to use the module defaults, set them to match your storefront brand.
- Terms & Conditions integration — pick any CMS page as the linked T&C page from a dropdown of existing CMS pages; the registration form renders the link with the CMS page title and opens the page in a new tab.
- Optional newsletter opt-in checkbox — when enabled, the form shows a newsletter checkbox that subscribes the customer via the standard Magento newsletter pipeline; the dedicated
stm_b2b_newsletter_subscribeevent is dispatched for downstream marketing-automation integrations. - Configurable notice texts per store view — login-blocked message for pending accounts, login-blocked message for rejected accounts, and the success message shown on the registration confirmation page; every text is translatable and scope-aware.
- Service contract
STM\B2bRegister\Api\B2bRegistrationInterfacewithapprove(),reject()andgetStatus()methods — programmatic approval and rejection from third-party admin panels, ERP integrations or scheduled jobs, with the same business logic as the UI actions. - Dispatched events for CRM and marketing-automation integrations —
stm_b2b_registration_beforeandstm_b2b_registration_afterfire around account creation (the after event includes the captured B2B data),stm_b2b_customer_approvedandstm_b2b_customer_rejectedfire on the corresponding admin action,stm_b2b_newsletter_subscribefires when newsletter opt-in is selected; the standard Magentocustomer_register_successevent is also dispatched for compatibility with existing observers. - Store-view aware configuration — every section setting can be overridden per website or per store view, so different markets can run different registration texts, different approved customer groups, different email templates and different field-required matrices without installing the module twice.
- Server-side validation for every field — email format, password length, required-field enforcement, and field-visibility-aware required logic (a field marked Hidden is never validated, a field marked Required is enforced even when empty); validation errors are returned with field-level messages rendered next to the input.
- Complete frontend templating — registration form, success page, hybrid cross-link banner and login notice block all ship as plain HTML / CSS templates with no JavaScript-framework dependency, so the same templates work under Hyvä Theme (no Knockout, no jQuery, no Alpine requirement) and Luma-based themes.
- Internationalisation — complete German translation (de_DE) ships with the module; every user-facing string (form labels, validation messages, email templates, admin badges, system configuration labels) is translatable via the standard Magento i18n CSV format. Additional languages can be added without code changes.
- Adobe EQP-compliant codebase — PHPCS Magento2 standard 0 errors / 0 warnings; PSR-4 autoloading under the
STM\B2bRegister\namespace,declare(strict_types=1)throughout, service contract viaB2bRegistrationInterface, declarative schema only, no core rewrites, no third-party CDN calls, no license-server callout at runtime; 97 PHPUnit tests covering controllers, models, plugins and the approval pipeline.
The registration workflow in six steps
- The customer opens the B2B registration page (linked from the standard registration form in Hybrid mode, or as the direct registration URL in B2B Only mode), fills in company details, VAT ID, contact person, delivery address and phone number, ticks the Terms & Conditions box, optionally opts in to the newsletter, optionally completes the reCAPTCHA, and submits.
- The module creates the customer account in the configured pending customer group, persists the B2B-specific attributes (company, VAT ID, customer number, salutation, B2B status = Pending) on the customer record, and dispatches
stm_b2b_registration_beforeandstm_b2b_registration_afterfor any CRM observers. - The customer receives the B2B Registration Confirmation email — explicitly worded as "your registration has been received and is under review", with no login link. Magento's standard welcome email is suppressed.
- If admin notification is enabled, the configured admin email address (or comma-separated list of addresses) receives the Admin Notification email with the new customer's company, contact person and a deep-link to the customer edit page.
- The admin opens the customer in the standard customer grid (filtering by B2B Status = Pending, or sorting by Company), reviews the registration, and clicks B2B Approve or B2B Reject — either on the customer edit page (single-customer review) or as a mass action on a selection in the grid (batch review after a trade show or campaign).
- On approval the customer is moved to the configured approved customer group (or left for manual assignment if no approved group is configured) and receives the B2B Account Approved email containing the login link; the login plugin no longer blocks the account. On rejection the customer receives the B2B Account Rejected email and login stays blocked permanently.
Built for shops that vet every business customer
- Pure B2B wholesalers — every account is a trade customer, the standard registration is redirected to the B2B form (B2B Only mode), wholesale pricing and dealer net-prices are protected by the approval gate, no retail buyer ever sees the price list.
- Hybrid storefronts running B2B and B2C side by side — Hybrid mode shows both forms with configurable cross-link texts on each form ("Are you a business customer? Register here" on the standard form, "Private customer? Register here" on the B2B form), retail customers self-register in seconds, business customers go through the approval workflow.
- Tiered-pricing stores with multiple reseller tiers — leave the approved customer group empty, manually assign each approved registration to the right wholesale tier (Bronze / Silver / Gold reseller, Distributor, Trade Partner) on the customer edit page; the admin notification deep-link makes that one click from the email.
- Manufacturers with a reseller portal alongside a public marketing site — public catalogue and marketing PDFs visible to guests, full data sheets and reseller pricing visible only after approval to the configured wholesale customer group; the rejection email gives unapproved registrants a clean "no" without exposing the protected content.
- Multi-country stores — every text, every email template, every customer group selection and every field-required setting can be overridden per store view, so the German market can require the VAT ID, the Swiss market can require an alternative customer number, and the UK market can keep both optional, all from the same installation.
- Stores that need a real audit trail — every approval and rejection dispatches an event with the customer ID and the admin user ID, so a downstream observer can write to a compliance log; the customer-grid B2B Status column shows the current state at a glance for any auditor.
- Stores hit by registration spam — Google reCAPTCHA v2 plus the configurable required-field matrix (require VAT ID, require company, require phone) cuts bot signups; the pending-group + login-block + suppressed welcome email combination ensures any spam that does get through has zero blast radius.
Section configuration at a glance
All section settings live under Stores → Configuration → STM → B2B Register and are scope-aware down to the store-view level. Six logical groups: General (module on / off, page title, pending and approved customer groups, pre-selected country, registration mode and the two hybrid link texts); Form (field visibility for VAT ID, customer number and salutation as hidden / optional / required, newsletter checkbox toggle, terms CMS page selector, configurable success message); Form Design (primary and secondary colour via colour-picker for headings, buttons, borders and accents); Email (registration-confirmation, approval and rejection toggles, email sender identity, admin-notification toggle and recipient address with comma-separated multi-recipient support); Notice Texts (pending-account login notice, rejected-account login notice, registration success message — all per store view); Google reCAPTCHA v2 (enable toggle, site key, encrypted secret key). Field-level depends tags hide settings that are irrelevant for the current configuration (hybrid link texts only show in Hybrid mode, reCAPTCHA keys only show when reCAPTCHA is enabled, the admin-email field only shows when admin notification is enabled), so the configuration screen never asks for a value that has no effect.
What's new in 1.0.0
Version 1.0.0 is the initial public release on the Adobe Commerce Marketplace, audited for Adobe EQP compliance. It consolidates the previously internal Storetown_B2bRegister module under the new STM_B2bRegister namespace and ships with the full B2B onboarding workflow:
- Dedicated B2B registration page at
/b2bregister/account/createwith the full company-data field set. - Admin approval workflow with login block, automatic group reassignment and welcome-email suppression.
- Customer grid B2B Status and Company columns plus B2B Approve / B2B Reject mass actions.
- Four transactional email templates (registration confirmation, admin notification, approval, rejection) editable under Marketing → Email Templates.
- Three registration modes (Hybrid, B2B Only, B2C Only) with configurable cross-link texts.
- Field-visibility matrix per store view for VAT ID, customer number and salutation.
- Optional Google reCAPTCHA v2 with encrypted secret-key storage.
- Configurable form design via colour-picker (primary and secondary colour).
- Service contract
B2bRegistrationInterfacewithapprove(),reject(),getStatus(). - Six dispatched events for CRM and marketing-automation integrations.
- EQP-clean codebase — PHPCS Magento2 standard 0 errors / 0 warnings, PSR-4 autoloading, declarative schema, no core rewrites, no third-party CDN, no license-server callout, 97 PHPUnit tests.
- English source language plus complete German translation.
- Hyvä Theme (native, no JavaScript-framework dependency) and Luma-based theme support out of the box.
Compatibility
- Magento Open Source / Adobe Commerce 2.4.x
- PHP 8.1, 8.2, 8.3 and 8.4
- Hyvä Theme — native support, frontend templates use plain HTML / CSS with no Knockout, jQuery or Alpine dependency.
- Luma-based themes — works out of the box with the standard Magento storefront.
- No core rewrites, no third-party CDN calls, no external service dependencies, no license-server callout at runtime.
What's in the box
- The full module source under app/code/STM/B2bRegister/.
- Installation Guide (PDF) — requirements, Composer and manual install paths, verification, troubleshooting, uninstall procedure.
- User Guide (PDF) — end-to-end walkthrough of every feature with annotated screenshots covering the B2B registration form, the customer grid integration, the per-customer Approve / Reject buttons, the mass actions, the email template customisation, the registration modes and the field-visibility matrix.
- Reference Manual (PDF) — technical reference for developers: admin routes, configuration paths, customer attributes, ACL resources, the
B2bRegistrationInterfaceservice contract, the dispatched events and the email-template variable map. - LICENSE.txt at the module root — the Storetown Media Software License (English adaptation, with reference to the canonical German version).
- i18n CSVs for English (en_US) and German (de_DE) with full coverage of every user-facing string.
Licensing
STM B2B Register is distributed as a commercial extension under the Storetown Media Software License (EULA). The licence grants a perpetual, non-exclusive, non-transferable right to install and use the software on one (1) production domain plus an unlimited number of staging, development and test environments associated with that production domain. Source-code modification for the licensee's own use within the licensed installation is permitted; redistribution, sublicensing and use on a second production domain are not.
Every licence purchase includes a 12-month maintenance period from the purchase date covering all software updates and technical support. After the maintenance period the perpetual right of use remains intact — the most recently received version may continue to be used without time limit; new updates and continued support require a renewal. A 30-day money-back guarantee applies to first-time purchases. The full licence terms are published at https://www.storetown-media.de/licence/.
Support and updates
Support is provided by Storetown Media through the Adobe Commerce Marketplace support link on this listing. Expected response time is within two business days. Documentation — installation guide, user guide and reference manual — ships with the extension as PDF and is kept in sync with each release. Questions or pre-sales enquiries: write to info@storetown-media.de or visit https://www.storetown-media.de.
Technical Specifications
Back to topSeller profile
Webdesign Kummert Abt. Storetown Media
Seller contact
Current Version
1.0.0
Adobe Commerce platform compatibility
Adobe Commerce (cloud): 2.4 (current)
Adobe Commerce (on-prem): 2.4 (current)
Magento Open Source: 2.4 (current)
Type
Stable Build
Updated
18 May, 2026
Categories
Extensions, Sales, Point of Sale (POS)
Supported Browsers
Chrome, Firefox, Opera, Safari, Edge, IE
Documentation
License Type
Policy
Quality Report
Back to topAll tests were conducted on the latest versions of Adobe Commerce that existed for the compatible release lines at the moment of the extension submission. Latest versions of all other software were used, as applicable.
Release Notes
Back to top1.0.0:
- Compatible with Adobe Commerce (cloud) : 2.4
- Compatible with Adobe Commerce (on-prem) : 2.4
- Compatible with Magento Open Source : 2.4
- Stability: Stable Build
-
Description:
Initial public release on the Adobe Commerce Marketplace.
Features:
- Dedicated B2B registration page at /b2bregister/account/create with company name, VAT ID / tax number, customer number, salutation, contact person, delivery address and phone number.
- Admin approval workflow: new accounts are placed in a configurable pending customer group and blocked from login until an admin approves or rejects them via the customer edit page or mass actions.
- Customer grid integration: filterable B2B Status and Company columns, plus B2B Approve and B2B Reject mass actions.
- Four editable transactional email templates (registration confirmation, admin notification, approval, rejection).
- Six configuration groups, scope-aware per store view: General, Form, Form Design, Email, Notice Texts and Google reCAPTCHA v2.
- Three registration modes: Hybrid (B2B + B2C), B2B Only, B2C Only.
- Field visibility control per store view for VAT ID, customer number and salutation.
- Service contract B2bRegistrationInterface with approve(), reject() and getStatus() methods.
- Dispatched events for CRM / marketing integrations: stm_b2b_registration_before, stm_b2b_registration_after, stm_b2b_customer_approved, stm_b2b_customer_rejected, stm_b2b_newsletter_subscribe.
- English source language with German translation included. Hyva Theme and Luma compatible.
Compatibility: Magento Open Source 2.4.x and Adobe Commerce 2.4.x, PHP 8.1 / 8.2 / 8.3. / 8.4
Support
Back to topThe best place to start if you need help with a specific extension is to contact the developer. All Adobe Commerce developers have both a contact email and a support email listed.
Contact Vendor