One store. Two customers. The first visit asks Private or Business. Private shoppers keep Magento’s normal account and catalog. Business shoppers register on the native Create Account form, upload a trade certificate, and only then see Magento tier prices. Invoice email and Recipient of Performance go to accounting, not the login inbox.
Private continues. Business proves it.
The welcome modal remembers the choice in the browser, so it does not ask again. Logged-in customers never see it. Extra fields sit on Magento Create Account and Edit Account. There are no theme template overrides.
The base price always shows. Tiers wait for a file.
The extension does not invent discounts. Magento Tier Prices must already exist on the product for the business group. A document on file is the check. There is no Pending or Approved button.
Upload at registration, from My Account, or in Magento Admin. Drag and drop, within the type and size limits you set. The Documents tab can preview, replace, or delete.
Accounting gets the invoice. The buyer keeps the login.
When Invoice email is set, Magento invoice emails go there instead of the login email. Recipient of Performance is printed on invoices and PDFs, for who the service is for.
Shop as a consumer. Standard Magento registration and the regular catalog price. No extra fields. No documents.
Mapped to your Private customer group.
No wholesale tiers shown.
Invoice goes to the login email.
Business
Register as trade. Extra fields on the native form. Upload a certificate at signup, later from My Account, or have Admin add the file.
Mapped to your Business customer group.
Tiers stay hidden until a file exists.
Dedicated invoice email and Recipient of Performance.
What the shopper sees
No documentsTrade tiers stay hidden. Unverified business accounts see only the regular catalog price. An orange header hint points them to Account Edit.
At least one fileQuantity and group tiers show on the product page. Remove every file and they lock again.
AlwaysThe regular price stays visible. Retail and unverified trade can still buy at the base price. The product is not hidden. Only the wholesale break is.
Set this up first. Catalog → product Tier Prices for the Business group. Without those tiers, the gate has nothing to reveal.
Documents and staff
Upload anywhereRegistration, My Account, or Magento Admin. Drag and drop, with your type and size limits.
Documents tabPreview, upload, replace, or delete on the customer record.
Notify staffOptional email on each storefront or Admin upload: name, ID, email, and company.
Storage you controlAllowed extensions, max size, and media path from Stores → Configuration.
Where the paperwork goes
Invoice emailWhen set, Magento invoice emails go to this address instead of the login email.
Recipient of PerformancePrinted and PDF invoices show who the service is for. Common on EU and B2B paperwork.
Account InformationBoth fields sit on the customer tab for the mapped business groups.
One catalog, two paths
Wholesale catalogsHide trade breaks until a certificate is on file.
Distributors and manufacturersOnboard trade accounts on Magento’s own forms.
Industrial and trade-onlyDocument-backed pricing without a third-party B2B suite.
Retail and B2B togetherSame website. Two paths. One catalog.
From the modal to the first trade order
1Enable Emmo_CustomerRegistration and run setup:upgrade. Unzip the package as app/code/Emmo/CustomerRegistration.
2Stores → Configuration → Emmo Extensions → Customer Registration. Map the Private and Business groups.
3Add Magento Tier Prices on products for the Business group.
4Set file types, max size, storage path, the modal, and the notification email.
5Test a Private signup, a Business signup without a file, then with a file. Check price, the customer grid, and the invoice.
Customer Registration
Private group Mapped
Business group Mapped
Tier prices Set on products
No ERP or CRM connector. No separate approval workflow. If the theme already has similar registration fields, turn the storefront fields off in config so they are not duplicated. Magento Open Source and Adobe Commerce. PHP 8.1–8.5. Native customer groups. No third-party B2B module. No theme overrides. User guide covers the modal, documents, the tier-price gate, and the invoice fields. Support: [email protected]