# B2B Registration & Company Verification for PrestaShop 8 & 9

> Overview DataFirefly B2B Registration adds a business step to the PrestaShop 8 and 9 account creation form. Customers choose their status (Individual, Company, Self-employed, Association, Public body). Business customers find…

- Page: <https://www.datafirefly.com/en/documentation/dfproregistration/>
- Language: en
- Last updated: 2026-10-02
- Other languages: [fr](https://www.datafirefly.com/documentation/dfproregistration/index.md), [es](https://www.datafirefly.com/es/documentation/dfproregistration/index.md), [de](https://www.datafirefly.com/de/documentation/dfproregistration/index.md), [it](https://www.datafirefly.com/it/documentation/dfproregistration/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfproregistration/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfproregistration/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfproregistration/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

DataFirefly B2B Registration adds a business step to the PrestaShop 8 and 9 account creation form. Customers choose their status (Individual, Company, Self-employed, Association, Public body). Business customers find their company by name or SIRET in the official French business directory, and the company name, SIRET, address, activity code and legal form are filled in. For other EU countries, the VAT number is checked live in VIES. You approve accounts automatically or after review, and each approved account joins the customer group of your choice.

## Installation

1. In **Modules > Module Manager**, click **Upload a module** and drop the `dfproregistration-1.2.0.zip` file.
2. The module creates its tables, the **Customers > Business accounts** tab, and hooks into the registration form, the customer account and the back office customer page.
3. Open the configuration and click **Test the connections**: your shop's server queries the business directory and VIES and shows the result.

To update, simply upload the new ZIP: accounts, settings and history are kept, and the upgrade scripts add what is missing.

No API key is needed. The directory (French government business directory API) and VIES (European Commission) are free. Answers are cached for 24 hours and searches per visitor are rate-limited to protect your server.

## Configuration

### Registration form

- **Statuses offered** and **status selected by default**: a business-only shop can remove "Individual", for instance.
- **Checkout**: also shows the business step in the checkout account creation form.
- **Phone**: hidden, optional or required.
- **Hide the native B2B fields**: avoids duplicating PrestaShop's company and SIRET fields, which the module fills in itself.
- **Accent colour** of the block, to match your theme.

### Checks

- **SIRET required** for French companies, and the **"I don't have a SIRET yet"** option with a reason (company being created, foreign company, other).
- **Check the SIRET in the directory** when the account is created, and **refuse closed establishments**.
- **One account per SIRET**.
- **Compute the French intra-community VAT number** from the SIREN.
- **Check VAT numbers in VIES** for other EU countries, and **VAT number required** outside France.

### Approval and groups

- **Approval mode**: automatic; automatic when the directory or VIES confirmed the company, manual otherwise; or always manual.
- **Business customer group**, granted on approval, and a **group per status** (Company, Self-employed, Association, Public body) for different prices. A status without its own group gets the common group.
- **Default group**: makes the business group the customer's main group, the one that drives their prices.
- **Company address**: creates the address from the details found, with the alias of your choice. It is preselected at checkout.
- **"My business" page** in the customer account, and **let existing customers declare their business**.

### Emails

- **Notify the shop** of every new business account, with extra recipients if needed.
- **Customer emails**: request pending, account approved, account refused.

## The customer journey

1. The customer chooses their status. For an individual, the form stays the PrestaShop one.
2. **Your business**: they choose their country, may enter a postcode to narrow results, then type their company name or SIRET. Results appear as they type, with the head office and closed establishments flagged; arrow keys and Enter select a result. A complete SIRET selects the company directly.
3. A card sums up the identity found. The status adjusts if the company is actually a sole trader, an association or a public body. Department, phone and address complement can be added if needed.
4. **Your contact details**: title, name, email and password, as usual.

For other EU countries, the customer enters their VAT number: it is checked in VIES as they type, and the name and address are filled in when the country publishes them. The **Enter my details manually** link is always available, including when a register does not answer.

## Managing business accounts

### The list

**Customers > Business accounts** shows the number of accounts, pending requests (one click filters the list), the share of verified accounts and new accounts of the last 30 days. The SIRET links to the directory record. The **Approve**, **Refuse** and **Check again** actions work on one row or a selection.

- **Approve**: grants the business group, or the status group, and sends the approval email.
- **Refuse**: removes the business groups, restores the default customer group and notifies the customer.
- **Check again**: queries the directory or VIES again and updates the verification, activity code and establishment state.

### The customer page

A **Business account** block sums up the company, its status and its verification, with the same actions and an **Edit the business details** button. For a customer without a business account, **Create a business account** opens a form prefilled from their first address. The checks are the same as on the storefront. If the company address was already used by orders, it is archived and replaced so past invoices keep their address.

## Existing customers

A customer who registered as an individual, or before the module was installed, sees **Become a business customer** in their account. They get the same company search; on saving, the approval mode, groups, company address and emails apply as for a registration. The **My business** page then shows their details and approval status.

## Emails

Four templates are provided in 8 languages in `modules/dfproregistration/mails/`: `dfpr_admin_new` (shop notification), `dfpr_pending`, `dfpr_approved` and `dfpr_refused`. They are sent in the customer's language. You can customise them in **International > Translations > Email translations** or override them in your theme.

## Themes

The module works with Classic, Hummingbird and their child themes. When you enable a theme, PrestaShop unhooks modules from some hooks: the module hooks itself back right after. The configuration page also checks its hooks each time it opens and lists any it restored.

## GDPR

A customer's business data is included in the data export of the official GDPR module and deleted with the account. Directory searches never store the IP address in clear.

## FAQ

### The search returns nothing

Click **Test the connections** in the configuration. If the directory does not answer, your host may block outgoing requests to `recherche-entreprises.api.gouv.fr`: ask them to allow it, as well as `ec.europa.eu` for VIES.

### The business step does not appear

Check that the module is enabled and that at least one business status is offered. With a heavily customised theme, the customer form must display the `displayCustomerAccountForm` hook, as Classic and Hummingbird do.

### An approved customer does not get trade prices

Check that a group is selected in **Approval and groups**, and that your specific prices or group discounts target that group. Enable **Default group** if your prices depend on the customer's main group.

### The block does not appear on the customer page for an employee

PrestaShop only runs a module's hooks if the employee's profile has the "View" permission on that module. Add it in **Advanced Parameters > Team > Permissions**.
