Magento 2
<!–
–>
Migrating a Magento 2 B2B store or managing company data across multiple websites can quickly become a challenge, especially when the default Magento tools fall short. By default, Magento 2 doesn’t support importing or exporting B2B companies, nor does it allow syncing Magento 2 company structures between installations. That means you’re often left recreating each B2B company account manually — a tedious and error-prone process.
But what if there was a faster, more reliable way to import Magento 2 B2B companies, including their structure, roles, and credit settings?
In this guide, we’ll break down everything you need to know about working with Magento 2 company accounts. You’ll learn what a B2B company is in Magento, how its structure works, and how to import key elements — from company roles to company credit — using CSV files. Whether you’re migrating an existing store or managing company data at scale, this tutorial will show you how to simplify the process with powerful import tools..
Table of contents
- Understanding Magento 2 B2B Companies
- Magento 2 B2B Company Structure Explained
- Managing Magento 2 Company Credit
- Magento 2 Company Account Workflow
- Step-by-Step Magento 2 Company Import Guide
- Related Entities: Linking Companies with Requisition Lists, Shared Catalogs, and Negotiable Quotes
- Final Words: Simplify Magento 2 Company Import and B2B Management
- FAQ: Magento 2 B2B Company Import & Management
Understanding Magento 2 B2B Companies
In the B2B environment, the Magento 2 Company entity plays a central role in enabling advanced business-to-business transactions. Unlike individual customers in a standard Magento store, a Magento B2B company represents a complete business account, with its own structure, team members, roles, permissions, credit limits, and purchasing workflows.
A Magento 2 company acts as a container for multiple users who belong to the same organization. Each user can be assigned a specific role — such as a buyer, manager, or administrator — with granular access controls. This setup allows large B2B buyers to operate efficiently, mimicking real-world corporate hierarchies.
What makes the Magento 2 B2B company model so powerful is its ability to support features like shared catalogs, negotiable quotes, requisition lists, and purchase orders — all tied to a single company account. This goes far beyond traditional B2C capabilities and enables a scalable B2B commerce experience that aligns with how real businesses buy online.
Whether you’re setting up a B2B portal from scratch or migrating from another system, understanding the Magento 2 company structure is the first step to building a reliable foundation for your business clients.
Magento 2 B2B Company Structure Explained
One of the key features that sets Magento 2 B2B apart from traditional eCommerce platforms is its ability to mirror real-world organizational hierarchies through a flexible and scalable company structure system.
In Magento 2, each B2B company account starts with a single company administrator, who has full control over how the internal hierarchy is set up. From there, the admin can create an elaborate Magento 2 B2B company structure — adding departments, assigning roles, defining purchasing permissions, and mapping out teams in a way that reflects how the actual business operates.
The structure is visualized as a tree within the company dashboard. At the top sits the company administrator, beneath whom you can create multiple teams, divisions, and subdivisions. Each node in this B2B company hierarchy can include specific users with custom roles and purchasing rules.
Let’s consider a practical use case. Imagine a B2B customer like a wholesale electronics distributor. Their Magento 2 company account might include:
- A Purchasing Department that submits orders,
- A Finance Department that approves credit usage and payment terms,
- A Logistics Team that handles delivery details.
Thanks to Magento 2’s flexible company structure, you can assign permissions accordingly:
- Buyers in the Purchasing Department can place orders but require manager approval.
- Finance users can view order history and credit balances but cannot place orders.
- Logistics users can access shipping details without interacting with invoices.
To build this structure in Magento:
- Navigate to Company Structure in the left panel of the B2B account dashboard.
- Use Add Team to create departments and name them appropriately.
- Organize them into a hierarchy by selecting a parent team and adding sub-teams.
- Use drag-and-drop to restructure the tree as your business evolves.
- Assign users to specific teams by selecting a team and clicking Add User.
Each user can be given a role with distinct permissions — from buyers and approvers to account viewers — allowing for secure and efficient delegation of tasks within the B2B portal.
Managing Magento 2 Company Credit
Let’s say a few more words about the Magento 2 B2B company workflow — particularly how company credit works and why it’s a vital part of the B2B experience.
In Magento 2, the company credit feature allows store owners to offer flexible payment terms to their business customers. Instead of requiring immediate payment at checkout, companies can place orders on credit, paying later based on the terms set by the merchant. This is especially useful for wholesalers, distributors, or enterprise clients who manage recurring or high-volume orders.
Each Magento B2B company can have its own credit limit, balance, and purchase history. Admins can define:
- The total Magento 2 company credit limit
- The available balance remaining
- The payment due terms
- Whether credit is currently active or disabled
- Notifications for approaching limits
This setup empowers finance departments to manage risk while offering more convenient payment options for trusted clients. Let’s be more specific.
Magento 2 Company Account Workflow
To take full advantage of the Magento 2 B2B company functionality, you need to follow a specific workflow that governs how company accounts are created, approved, and managed.
✅ Step 1: Enable B2B Features
Start by ensuring that the Magento 2 B2B extension is installed and active on your Adobe Commerce storefront. Then, go to Stores → Configuration → General → B2B Features and set Enable Company to Yes. This setting allows business customers to request and manage company accounts directly from their Account Dashboard on the frontend.
🏢 Step 2: Company Account Registration
Once enabled, your business clients can register new Magento 2 company accounts. During registration, they are prompted to provide essential business details, including:
- Company name and legal address
- Contact information
- A designated company administrator
📩 Step 3: Admin Review and Approval
After the submission, a notification email is sent to the store administrator. If approved, Magento sends an invite to the company admin, who can then set their password and begin managing the company account.
🛠 Step 4: Company Profile & Structure Management
From the company profile page, the company admin can:
- Edit company details (name, address, contact info)
- Set up a custom Magento 2 B2B company structure using teams and subteams
- Add, update, or remove company users
- Create custom roles and assign permissions to each user
This flexibility allows companies to model their internal structure in Magento just as it exists in real life, including department hierarchies, multi-level approval workflows, and user access control.
🧑💼 Step 5: Admin-Side Company Management
Store admins also have full access to view and manage company accounts from the Magento backend. Key editable sections include:
- Account Information
- Legal Address
- Company Hierarchy
- Company Admin
- Company Credit
- Advanced Settings
This dual control ensures both merchants and customers can manage the Magento 2 company experience smoothly and securely.
While Magento offers a robust interface for managing B2B companies, manually building out a full Magento 2 B2B company structure — especially for large organizations or during store migration — can be time-consuming. To save hours of manual data entry, the smarter approach is to automate company account creation using structured import files.
In the next section, we’ll show you how to simplify this workflow with powerful import tools and step-by-step guidance.
Step-by-Step Magento 2 Company Import Guide
When working with Magento 2 B2B companies, manual creation of company profiles, credit limits, and user roles can quickly become overwhelming, especially if you’re onboarding multiple clients or migrating from another platform. Fortunately, you can automate the entire process using the Improved Import & Export extension and its B2B Add-On by Firebear Studio.
This section will walk you through how to import Magento 2 company accounts, including full company structures, credit data, and role-based permissions.
✅ What You Need:
- Improved Import & Export Extension for Magento 2
- B2B Add-On
- Magento 2 B2B Companies Sample CSV File (Google Sheets)
🔍 Magento 2 B2B Company Attributes: Key Fields to Know
When creating your import file, you’ll work with a comprehensive set of attributes that define each Magento 2 company. These fields control everything from basic contact details to credit limits, legal information, company structure, and admin users.
Here are examples of the most important attributes to include in your import file:
Attribute Name | Reference | Values | Value Example |
company_name | Required attributeName of the company | Can contain any symbols | My Company |
status | Required attribute
Indicates the status of the company |
0 – pending approval 1 – active 2 – rejected 3 – blocked |
1 |
company_email | Required attribute
Email of the company. Please note that this is a dedicated email of the company, not the company representative.This field also serves as a unique company identifier. |
Valid email address with the domain name | test@test.com |
sales_representative_id | The ID of the sales representative | It is an ID of the admin account. To get the ID, navigate to System>Permissions>All Users, and in the ID column, check the ID | 5 |
sales_representative_email | Custom attribute.Email of the sales representative’s account at the store.
Instead of using sales_representative_id. You can use this attribute to add a representative by account email. |
If sales_representative_id has any value, it has a higher priority over sales_representative_email. Any email address accepted | representative@test.com |
legal_name | Company Legal Name. Part of the account information. Companies can have both names and legal names. | Can contain any symbols | Company gmbh |
vat_tax_id | VAT of the company | Can only contain valid VAT numbers | EU999000999 |
reseller_id | ID of the company’s reseller | Can contain any symbols | 321 |
comment | A comment that can be left for the company. Visible only to the store administrator | Can contain any symbols | This company is the best |
street | Required attribute
The street value of the company’s legal address |
Can contain any symbols | First St. |
city | Required attribute
City value of the company’s legal address |
Can contain any symbols | New York |
country_id | Country value of the company’s legal address | The Magento 2 code of the country. See this table for applicable values | US |
region | Region of the company address | The region field is used for the Countries where you can’t select a region from the dropdown. Here you are suggested to type the region name manually.
For countries with selectable regions, use the region_id column. |
Kyiv Oblast |
region_id | The region of the company address | The region_id field is used for the countries where you CAN select a region from the dropdown. Here you are suggested to type the region code of the country.
For countries with NON-selectable regions, use the region column. Magento 2 region codes can be found here |
14 |
postcode | Required attribute
The postcode value of the company’s legal address |
Can contain only numerals | 12345 |
telephone | Required attribute
Telephone value of the company’s legal address |
Can contain only numerals | 123123123 |
customer_group_id | Required attribute
Customer group ID of the company. Mainly used to identify which shared catalog the company is associated. |
Can be found at the Customers>Customer Groups grid. Can contain only numerals | 12 |
customer_group_code | Customer group NAME of the company. Mainly used to identify which shared catalog the company is associated. | Instead of using customer_group_id, you can use this attribute to assign a group by name. If customer_group_id has any value, it has a higher priority over customer_group_code. | Default |
reject_reason | The reason the company has been rejected for approval | Can contain any symbols | I don’t like their colors |
website_id | The ID of the store view, the company belongs to | Can contain only numerals | 2 |
Email address of the company’s admin – a customer account that can run the company from the store’s frontend | Valid email address with the domain name | test@test.com | |
prefix | Prefix of the company’s admin name | Can contain any symbols | Mr. |
job_title | Required attribute
Job title of the company’s admin |
Can contain any symbols | CEO |
firstname | First name of the company’s admin | Can contain any symbols | John |
middlename | The middle name of the company’s admin | Can contain any symbols | Jr. |
lastname | Last name of the company’s admin | Can contain any symbols | Doe |
suffix | Suffix of the company’s admin name | Can contain any symbols | esq. |
gender | Gender of the company’s admin | empty – no gender specified 1 – male 2– female |
2 |
credit_limit | The credit limit of the company’s credit | Can contain only numerals | 10000 |
balance | The outstanding balance of the company | Only numerals are allowed | 5000 |
currency_code | Credit currency of the company | Only currency codes are allowed | USD |
exceed_limit | Allow To Exceed Credit Limit setting | 1 – a company can exceed the credit limit 0 – a company cannot exceed the credit limit |
1 |
credit_comment | Comment on changing the credit and credit balance | Can contain any symbols | Confirmed with John Doe |
is_quote_enabled | Allow Quotes setting of the company. Allows companies to ask for negotiable quotes on the shopping cart page. | 1 – quote enabled0 – quote disabled | 1 |
applicable_payment_method | IDs of the applicable payment methods of the company’s account | Can contain only numerals | 12 |
use_config_settings | Defines whether the default store configuration should be applied to the applicable payment methods of the company | 1 – default store configuration 0 – custom payment methods |
1 |
available_payment_methods | Codes of the payment methods available for the company at the store | Can contain any symbols | amazon_payment |
Company Roles Attributes | |||
role_name | The name of the customer’s role in the company | Can contain any symbols | Manager |
company_email | Email address of the company the role belongs to | Must be an email address with a proper domain name | email@address.com |
user_emails | Email addresses of the store customers that should be added as company employees | Must be email addresses with proper domain names. Multiple email addresses are separated by a comma with no spaces. | john@doe.com |
permissions | Permissions of the company role to access particular elements of the company account at the store | We advise exporting roles first to get an idea of all available values for permissions | Magento_NegotiableQuote::view_quotes,Magento_Sales::all |
⚠️ Key Considerations for Magento 2 Company Import
Before running your Magento 2 B2B company import, keep the following important points in mind to ensure a smooth and accurate data transfer.
✔️ Use Required Attributes Only
To create a basic Magento 2 company account, you only need to include the required attributes in your import file. Optional fields like credit, structure, and roles can be added later if needed.
👤 Automatically Create and Assign a Company Admin
The main company admin account is created automatically during import if you include the following fields:
- firstname
- lastname
This admin becomes the primary user responsible for managing the company from the storefront.
🧑💼 Assigning a Sales Representative
To assign a sales representative to a company, you can use either:
- sales_representative_id – the numeric ID of the admin (found under System → Permissions → All Users)
- sales_representative_email – the admin’s email address
🔔 Important: If both fields are present, Magento 2 prioritizes sales_representative_id over sales_representative_email.
🧾 Assigning Companies to Customer Groups
Each company must be associated with a customer group to control pricing and shared catalog visibility. You can do this in two ways:
- Use customer_group_id to assign the company by numeric ID (found under Customers → Customer Groups)
- Use customer_group_code to assign it by group name
💡 Note: If both customer_group_id and customer_group_code are filled in, Magento will use customer_group_id.
🚀 Running the Magento 2 B2B Company Import
Once your import file is ready, follow these steps to launch the import using the Improved Import & Export extension:
- Go to: System → Improved Import / Export → Import Jobs and click Add New Job.
- General Settings: Configure your job name and enable scheduling if you want to automate recurring imports.
- Import Settings: In the Entity dropdown, select Company.
- Import Behavior: Choose the behavior Add/Update to create new companies or update existing ones.
- Import Source: Select your file type (CSV, XLSX, Google Sheets, etc.) and specify the data source (e.g., local file, FTP, URL).
- Save and Run the Job: Click Save and execute the import. You’ll receive a status report showing successfully processed records and any errors.
For detailed instructions and advanced configuration tips, refer to the Improved Import & Export Extension Manual
The Magento 2 B2B company model is not isolated — it integrates deeply with other key Magento B2B features, creating a powerful ecosystem that supports enterprise-level workflows. Once you’ve imported your company accounts, you can expand functionality by linking them with requisition lists, shared catalogs, and negotiable quotes — each designed to streamline the B2B purchasing process.
🛒 Requisition Lists
Requisition lists allow company users to save and manage frequently ordered items, simplifying reordering and procurement workflows. Each Magento 2 company requisition list is user-specific but tied to the larger company structure. Learn how to import and export requisition lists in our detailed guide:
🔗 Magento 2 Requisition Lists Import & Export
💼 Shared Catalogs
Shared catalogs let you assign custom product catalogs and pricing to different customer groups — including B2B companies. By linking Magento 2 B2B companies to customer groups during import, you automatically control catalog visibility. Discover how to manage this process here:
🔗 Magento 2 Shared Catalogs Import & Export
🤝 Negotiable Quotes
For larger deals or bulk orders, negotiable quotes let B2B buyers request special pricing directly from the shopping cart. Company users with appropriate permissions can initiate and manage quotes, while store admins respond with customized offers. Learn how to streamline quote data management here:
🔗 Magento 2 B2B Negotiable Quotes Import & Export
By linking these entities with your Magento 2 B2B company data, you create a cohesive, flexible B2B experience that caters to the needs of complex business clients. Ready to take the next step? Explore each import process to build a complete B2B commerce architecture inside Magento.
Final Words: Simplify Magento 2 Company Import and B2B Management
Setting up and managing Magento 2 B2B companies doesn’t have to be a struggle. With the right approach, it can become one of your store’s strongest assets. Whether you’re onboarding new clients, syncing company data across multiple environments, or configuring complex credit terms and permissions, a streamlined import strategy makes all the difference.
In this guide, we walked through how the Magento 2 company model works, how to import company data at scale, and how to connect it with other vital B2B features like shared catalogs, negotiable quotes, and requisition lists. From configuring admin roles to assigning credit limits, you now have the blueprint to build a fully functional B2B system — without hours of manual input.
To make it all happen faster and cleaner, we recommend using the Improved Import & Export extension with the B2B Add-On. It’s designed to simplify Magento 2 company import processes, reduce errors, and give you full control over your data.
Need expert help or want to see how this could work for your store?
📞 Contact the Firebear team — we’re happy to assist with setup, customization, or advanced use cases.
📥 Ready to try it yourself? Download the Improved Import & Export Extension with its B2B Add-on and take control of your Magento 2 B2B data.
Let your backend work as smart as your business.
Migrating from another platform to Magento 2? Discover how to safely transfer your data using advanced import tools.
👉 Learn more in our Magento migration tutorials
FAQ: Magento 2 B2B Company Import & Management
What is a Magento 2 B2B company account?
A Magento 2 B2B company account represents a business customer rather than an individual. It allows for multiple users under one company, each with roles, permissions, and purchasing capabilities tailored to their business structure.
How does the Magento 2 B2B company structure work?
The Magento 2 B2B company structure is organized as a hierarchical tree of teams and subteams. Each company user can be assigned specific roles and permissions, enabling multi-level purchasing workflows and approval chains.
Can I import Magento 2 B2B companies in bulk?
Yes, you can bulk import B2B companies using the Improved Import & Export extension with the B2B Add-On. It supports CSV, XML, XLSX, and Google Sheets formats for structured and automated company data import.
What attributes are required to import a B2B company into Magento 2?
At minimum, you need company_name, company_email, status, street, city, country_id, postcode, telephone, and admin user data like email, firstname, and lastname.
Can I assign company credit during the Magento 2 company import?
Yes. You can import credit-related fields such as credit_limit, balance, currency_code, and exceed_limit directly through your import file.
How do I assign a company to a customer group in Magento 2?
You can assign a B2B company to a customer group by either customer_group_id or customer_group_code. If both are provided, Magento uses the ID by default.
Is it possible to import Magento 2 company roles and permissions?
Yes, the Firebear B2B Add-On allows importing company roles along with associated users and permission settings, making it easier to manage access control across large organizations.
Can I export existing Magento 2 B2B companies and reimport them?
Yes. With the Improved Import & Export extension, you can export current B2B companies, modify the data as needed, and reimport it to update or replicate company accounts.
How are requisition lists and shared catalogs connected to B2B companies?
Requisition lists are tied to individual company users, while shared catalogs are linked via customer groups assigned to companies. Both features enhance the B2B purchasing experience.
What’s the best way to get help with Magento 2 B2B company import?
For professional assistance with Magento 2 company import or configuring your B2B structure, contact the Firebear team: https://firebearstudio.com/contacts
Please enable JavaScript to view the comments powered by Disqus.