Magento 2 B2B Features: How to Import & Export Companies, Requisition Lists, Shared Catalogs & Negotiable Quotes in Magento 2

- E-Commerce, Magento 2, Our extensions

Today, we are going to introduce you to Magento B2B focussing on its import and export aspects. Adobe Commerce and its previous iterations, Magento 2 Commerce and Cloud, are equipped with a Magento B2B extension, which introduces companies, shared catalogs, and other features to Magento 2. If you run a B2B store, you are probably aware of that. If not, we will describe the Magento 2 B2B features below.

While the Magento 2 B2B extension is available by default, it is impossible to transfer the corresponding entities if you use the platform’s default instruments. When it comes to migration or import and export processes, Magento 2 offers quite limited options regarding the data you can get in and out. However, Firebear Studio provides the Improved Import and Export extension that lets you import and export every Magento 2 B2B entity, integrating your Magento 2 store with CRMs, ERPs, and other systems.

So, the plan for today looks as follows. Firstly, we are going to introduce you to Magento B2B: you will learn the core Magento 2 B2B entities and their unique peculiarities. Next, we tell a few words about the Improved Import & Export extension and its B2B add-on. The latter introduces the ability to transfer B2B data between Magento 2 and external systems. Next, you will find out how to work with the following Magento 2 B2B entities: companies, quotes, requisition lists, and shared catalogs. We describe how to import Magento 2 B2B company roles, shared catalogs, requisition lists, quotes/negotiable quotes, etc. There is also a chapter that sheds light on how to export Magento 2 B2B entities. However, it is relatively small because the B2B import processes are complex and require more in-depth preparations than the corresponding export processes.

Table of contents

Magento 2 B2B Features: Companies, Quotes, Requisition Lists & Shared Catalogs

If your business relies on the B2B model, you have probably heard of the Magento 2 B2B extension. This is an official Magento 2 module that brings additional functionality to Adobe Commerce (and its Magento 2 Commerce and Cloud editions in the past). It introduces such Magento B2B features as companies, requisition lists, shared catalogs, etc. Below, we explain each B2B entity in short. For an explicit description please read the dedicated blog post on Magento 2 B2B.

Magento 2 B2B Companies

The Magento B2B extension introduces an additional customer entity – Companies. The Companies can be found under Customers > Companies.

The companies act as you would expect. They are like customer groups, however with a personal admin, company email, and credit balance. Customers can belong to a single company and to a single customer group.

Magento 2 B2B Company Roles

The platform lets you create a customer account for a company manager. The latter can grant other customer accounts for managing the company. These permissions to manage company accounts – create new requisition lists, and change particular company details – are granted via company roles.

The company roles can be created and managed from the company administrator account at your store’s front. To manage company roles, the company administrator needs to proceed to the company section on their account’s dashboard.

Magento 2 B2B Shared Catalogs

Shared catalogs, are product catalogs you share for a particular company. Consider this Magento 2 B2B feature a unique product catalog available for each store view but with a company instead of a store view. You can provide your B2B customers with additional products or discounted prices with Magento 2 shared catalogs.

The shared catalogs can be found under Catalog > Shared Catalogs.

Here you can add new shared catalogs and assign them to a particular company.

Magento 2 B2B Quotes & Negotiable Quotes

Quotes are the carts with products placed by customers. Negotiable quotes are a Magento 2 B2B feature that allows customers to ask for a reduced price for the order right from the shopping cart page.

The quotes can be found under Sales > Quotes.

The negotiable quotes contain all the data regarding the customer’s requests for lower prices and also contain the products a customer has added to the cart. You can manage such requests by applying discounts and approving them.

Magento 2 B2B Requisition Lists

Requisition lists are the lists of products combined by customers that can be conveniently added to the cart. This can be some office supplies or weekly grocery lists. These are the lists of any products customers are purchasing constantly.

The requisition lists are composed by a customer and can only be viewed under the customer’s account.

The requisition lists are easy to compose and use. If you are building your store for B2B make sure to notify your customers of this feature.

You can easily import and export all these Magento 2 B2B entities with the help of the Improved Import & Export extension and its B2B Add-on. Let’s say a few words about this powerful tandem and then proceed to Magento 2 B2B Import and export tutorials for each entity.

Improved Import & Export: Magento 2 B2B Features

Improved Import and Export by Firebear Studio is a Magento 2 extension that helps store owners reduce management time with scheduled import and export jobs. The extension allows you to import and export every data you possibly use in your Magento 2 store. With its B2B Add-on, the module introduces data transfer capabilities for Magento 2 B2B features. When the Improved Import Extension and its add-on are installed, you can freely import and export Magento 2 B2B extension data, such as companies, shared catalogs, requisition lists, quotes, etc.

Let’s take a look at the extension’s core features:

  • All Entities. Import and export all product types, product attributes, categories, orders, advanced pricing, CMS blocks and pages, cart price rules, etc. As for the Magento B2B, the corresponding entities can be included in your import and export routine via the B2B Add-on.
  • Attribute Mapping. This feature lets you modify any external data to the requirements of Magento 2. You can always be sure the imported values are properly mapped to the required Magento 2 attribute names. If your B2B data originates from an external system and contains third-party attributes and values, you can easily import it to Magento 2.
  • Multiple File Types. The extension supports not only CSV but also XML, Excel XLSX, OpenOffice ODS, and JSON file types. Thus, there is no need to convert these file types to CSV to import updates to Magento 2.
  • XSLT Templates. For XML files, our module introduces XSLT templates. You can import XML files with any structure.
  • Multiple File Sources. Support for direct file upload, FTP/SFTP, REST API, SOAP API, Dropbox, and a couple of other options adds outstanding flexibility to your Magento 2 B2B imports and exports.
  • Google Sheets. Our extension connects to Google Sheets. It means that your Magento B2B data can be imported directly from a Google Sheets spreadsheet.
  • Flexible Data Adjustment. Our module introduces lots of features that let you modify data right during the import process. For instance, you can leverage price adjustments for imported products, create missing attribute values on the fly, or delete existing product relations.
  • Custom Development. 100% open code with no limitations and a customization module with the endpoints for building integrations let you create a Magento 2 importer that perfectly suits your B2B needs.

How to Install B2B Add-On for Improved Import and Export

NOTE: Before installing B2B Add-On make sure you have installed the Improved Import and Export extension.

Follow these steps to install the B2B Add-On for Improved Import and Export:

  1. Navigate to your store root folder in the SSH console of your server:

  2. Install B2B Add-On by running the command:

  3. Enable B2B Add-On by running:

  4. Deploy content and flush store cache, log out from the backend, and log in again. Run:


    and:

Congratulations, you have installed the B2B Add-On for the Improved Import and Export extension. Now, we can introduce you to the world of Magento 2 B2B import and export processes.

Magento 2 B2B Features: Import 

Below, we explain the general import procedure associated with the Improved Import & Export extension. You can use this algorithm to import any entity to Magento 2. With the B2B Add-on, it also works for the B2B features of Magento 2. You can freely transfer the corresponding entities to your e-commerce website. Also, don’t forget to check sample Magento 2 B2B attributes and values in our B2B Master Import Table. This information will help you prepare your B2B data for importing to Magento 2. But let’s return to the import process.

Magento 2 B2B Import Algorithm

The Magento 2 B2B import process follows the same pattern as a common import procedure introduced in the Improved Import and Export extension. To import a particular Magento B2B entity, navigate to System > Improved Import/Export > Import Jobs:

At the import job grid click the ‘Add New Job’ button to create a new import job. The new job will meet you with the General Settings section:

Here you decide on the import job name and schedule. Make sure to use a name that you can later identify with the job. As for the frequency, you can decide if you want to run the job manually or set it to run automatically on schedule.

When you are done with the General settings proceed to the Import Settings section:

Here you decide which Magento 2 B2B entity you want to import:

  • Companies
  • Quotes and Negotiable Quotes
  • Shared Catalogs
  • Requisition Lists

Whenever the entity is selected, proceed to the next section – Import Behavior:

Here you select how you want to import the selected B2B entity to Magento 2:

  • Add/Update
  • Replace existing
  • Delete existing

After the behavior is selected, proceed to the Import Source section:

Here you need to select:

  • A file type of your B2B update: CSV, XML, Json, XLSX, ODS;
  • The source you will be importing your Magento 2 B2B data from.

Also, you may need to use mapping to import third-party B2B data to Magento 2. Below, we explain how to prepare your data files for the import process so that no mapping is required. Alternatively, you can use the following information to configure mapping right in your import job.

Please, read the extension manual for full instructions on the import process and its features.

Now let’s proceed to the B2B entities and their attributes. Below, you will learn how to compose the corresponding import tables for Magento 2 B2B features.

How to Import Magento 2 B2B Companies

You can import B2B companies to Magento 2 with the help of an import table with the company attributes. FireBear team composed the Magento 2 B2B Companies sample table in the Google Sheets. You can use this table as a starting point for importing your companies.

Below you can find the table with all Magento 2 B2B company attributes, their description, and sample values.

Attribute Name Reference Values Value Example
company_name Required attribute

Name 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 county

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 region_id column.

Kyiv Oblast
region_id The region of the company address 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 with 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 with 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 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

2female

2
credit_limit 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 enabled

0 – 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 if 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

These are all the attributes available for the companies in the Magento 2 B2B extension. Some attributes are required, and others are not.

What else you should know about companies import:

  • To create a company you can use only the required attributes in your table.
  • When creating companies via the import process. The company super-user customer account can be created automatically using email, firstname, and lastname attributes you specify for the company.

Assigning sales representative by email

By default Magento 2 allows you to assign a sales representative to the company only by the admin account ID, which can be found under System>Permissions>All Users in the ID column. This is done using the sales_representative_id column of the import file. However, if you want to assign a sales representative by the account email you need to use another attribute.

The firebear team added a new column sales_representative_email. In this column, you can put an email associated with the admin account and assign a sales representative using the email.

NOTE: if for the same company, both sales_representative_id and sales_representative_email attributes/columns have values, only the value of the sales_representative_id will be considered.
Sales_representative_id has priority over sales_representative_email.

Assigning customer groups by name

By default Magento 2 allows you to assign a company to the customer group only by the customer group ID, which can be found under Customer>Customer groups in the ID column. This is done using the customer_group_id column of the import file. However, if you want to assign a company to the group using the NAME of the customer group you need to use another attribute.

The Firebear team added a new column customer_group_code. In this column, you can put the name of the customer group the company should belong to. This way you can use a customer group name.

NOTE: if for the same company, both customer_group_id and customer_group_code attributes/columns have values, only the value of the customer_group_id will be considered.
Customer_group_id has priority over customer_group_code.

After composing a table with B2B company data, you can import B2B companies to Magento 2, using the standard import procedure of the Improved Import & Export extension described above.

How to Import Magento 2 B2B Company Roles

To import company roles one should use the import table with the company attributes. FireBear team composed the Magento 2 B2B Company roles sample table in the Google Sheets. You can use this table as a starting point for importing your customer company roles.

Below you can find the table with all B2B company role attributes, their description, and sample values.

Attribute Name Reference Values Value Example
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

After composing a table with B2B company role data, you can import B2B company roles to Magento 2, using the standard import procedure of the Improved Import & Export extension described above.

How to Import Magento 2 B2B Shared Catalogs

So, importing shared catalogs to Magento 2 is similar to other Magento 2 B2B transfers. But first of all, you need to compose an import table with the shared catalog attributes. FireBear team composed the Magento 2 B2B Shared Catalog sample table in the Google Sheets. You can use this table as a starting point for importing your Shared Catalogs.

Below, we describe Magento 2 attributes associated with B2B shared catalogs.

Attribute Name Reference Values Value Example
name Name of the shared catalog. Also the name of the customer group associated with the shared catalog.

If you are importing a shared catalog with a particular name, and there is no customer group with such a name – the custom group will be created automatically.

Can contain any symbols Test Shared Catalog
description Description of the shared catalog. For internal identification purposes. Can contain any symbols This is a test shared catalog I’ve created
tax_class_id The ID of the Customer Tax Class applied to the Shared catalog. Can contain only numerals 2
type Type of the shared catalog. For ALL shared catalogs can only be a single type: custom.

A public catalog is a general product catalog available for the general public.

0 – custom catalog

1 – public catalog

0
company Email of the company associated with the Shared Catalog.

Please note that this is a COMPANY EMAIL, not the email address of the company’s administrator.

Valid email address with the domain name.

Multiple company emails can be entered separated by a comma.

Make sure you don’t put spaces after commas.

john@doe.com,jane@roe.com
category IDs of the categories included in the shared catalog.

Please note, that if you include a category in the Shared Catalog – all its products will be included in the catalog.

Can contain only numerals.

Multiple category IDs can be entered separated by a comma.

Make sure you don’t put spaces after commas.

1,2,3
sku SKUs of the products included in the shared catalog. If you don’t want to include whole categories – you can include only particular SKUs in the Shared Catalog. Can contain symbols allowed for SKUs.

Multiple SKUs can be entered separated by a comma.

Make sure you don’t put spaces after commas.

PRDCT1,PRDCT2

These are all the attributes available for the shared catalog in the Magento 2 B2B extension.

What you should know:

  • If we specify the company email for the catalog, after the catalog is created – the company’s customer group will be changed to that of the shared catalog. This is a native Magento 2 behavior as shared catalogs are assigned by customer group.
  • If the category you tie to the shared catalog does not contain any products it will be tied to the shared catalog anyways.

After composing a table with B2B shared catalog data, you can import B2B shared catalogs to Magento 2, using the standard import procedure of the Improved Import & Export extension described above.

Importing prices for the products in a shared catalog

Shared catalogs allow for setting up different prices for the products. These prices are assigned to products using native Magento 2 tier pricing functionality which is called ‘Advanced Pricing’.

The ‘Advanced Pricing’ is assigned per customer groups as well as Shared Catalogs. That’s why Magento 2 uses tier prices.

If you want to import a shared catalog with different prices assigned you will need to use two different import jobs. The first job is associated with Advanced Pricing, and the other one is associated with Shared Catalog.
To learn how to import Advanced Pricing to Magento 2 read our dedicated blog article.

How to Import Magento 2 B2B Requisition Lists

Requisition lists are also among Magento 2 B2B features. You can easily import them to your website after composing an import table with the requisition list attributes. See the Magento 2 B2B Requisition List sample table for an example of a properly adjusted requisition list import table. You can use this table as a starting point for importing B2B shared catalogs to Magento 2.

Below you can find the table with all B2B requisition list attributes described:

Attribute Name Reference Values Value Example
customer_id The ID of the customer the requisition list belongs to Make sure to specify the IDs only for the existing customers. Else you might get errors 26
name Name of the requisition list Can be any value John
description Description of the requisition list Can be any value Office monthly
item:sku SKUs of the items added to the requisition list Make sure to add only the items from the product catalog available for the customer ITM001
item:store_id The ID of the store view the product in the requisition list belongs to.

When adding products make sure that products are available for the proper store views.

Make sure to add only existing store view IDs 10
item:qty Qty of the items in the requisition list Only numerals are allowed 15
item:options If the product has options, make sure to specify them for the requisition lists Codes of the complex product variations. Such as variations of configurable products.

After composing a table with B2B requisition list data, you can import B2B requisition lists to Magento 2, using the standard import procedure of the Improved Import & Export extension described above.

How to Import Magento 2 B2B Quotes & Negotiable Quotes

Quotes and Negotiable Quotes come as a single import/export entity named ‘Quotes’ in the B2B add-on of the Improved Import and Export extension. Quotes and Negotiable quotes both use the same main table, however, for negotiable quotes, more attributes are involved.

When importing quotes and negotiable quotes to Magento 2, you select the same entity but provide different tables. 

The first table is for regular quotes, such as abandoned carts. Quotes are a set of products a customer has added to the cart. So when importing quotes you will only require a limited set of attributes. Check this Magento 2 B2B quotes sample table for further reference.

The second table is for negotiable quotes – the B2B Magento 2 feature. It also consists of a set of products, the carts, for which a customer has requested a negotiation on price. Such tables come with additional attributes that regulate such parameters as a discount type and amount. Check this Magento 2 B2B negotiable quote sample table for further reference.

Quote (abandoned cart) table

Attribute Name Reference Values Value Example
increment_id Increment ID of the quote. Is used for internal identification purposes. Can be any UNIQUE value. Make sure that the value are unique to be able to find the quotes later on.

This unique identifier can be typed in manually, or by any formula.

increment_id is used to later identify this particular quote you import.

10001
store_id The ID of the store view the quote is available for. Make sure to add only existing store view IDs 10
customer_email Email of the custom account the quote belongs to Make sure that the quote belongs to the existing customers. Else errors may occur. john@doe.com
item:sku SKUs of the items in the cart Make sure to add only the items from the product catalog available for the customer ITM001
item:qty Qty of the item added to the cart Only numerals are allowed.

Make sure you do not add qty that exceeds the product stock value.

100
item_option:code Code of the product option that is added to the cart Codes of the complex product variations. Such as variations of configurable products.
item_option:value Value of the product option that is added to the cart Values of the complex product variations. Such as variations of configurable products.

Quotes (abandoned carts) can only be imported for registered customers. It is a Magento 2 limitation that doesn’t have any particular ties of the quotes to guest customers. Please remember this when importing quotes.

Increment_ID is specified manually. If you are EXporting quotes, Magento 2 won’t have any unique identifiers. However, when you are IMporting quotes, you need to have increment_ids filled in. You can do it via simple formulae.

Negotiable quote table

Attribute Name Reference Values Value Example
increment_id Increment ID of the quote. Is used for internal identification purposes. Can be any UNIQUE value. Make sure that the value are unique to be able to find the quotes later on.

This unique identifier can be typed in manually, or by any formula.

increment_id is used to later identify this particular quote you import.

10001
store_id The ID of the store view the quote is available for. Make sure to add only existing store view IDs 10
customer_email Email of the custom account the quote belongs to Make sure that the quote belongs to the existing customers. Else errors may occur. john@doe.com
item:sku SKUs of the items in the cart Make sure to add only the items from the product catalog available for the customer ITM001
item:qty Qty of the item added to the cart Only numerals are allowed.

Make sure you do not add qty that exceeds the product stock value.

100
item_option:code Code of the product option that is added to the cart Codes of the complex product variations. Such as variations of configurable products.
item_option:value Value of the product option that is added to the cart Values of the complex product variations. Such as variations of configurable products.
negotiable:negotiated_price_type Negotiated Price type. This field is optional. The following values are allowed:

1 – Percentage Discount

2 – Amount Discount

3 – Proposed Price

If no value is specified, ‘Percentage Discount’ – 1 will be used as a default value.

2
negotiable:negotiated_price_value Negotiated Price value. This field is optional. Only numerals allowed 200
negotiable:quote_name Name of the negotiable quote the customer specifies when requesting a discount Can be any value John’s quote
negotiable_comment:creator_type Defines whose comment is it. The comments can be left by a store administrator and customers.

This field is optional.

Allowed values:

2 – Store Administrator

3 – Customer

Works in conjunction with the ‘negotiable_comment:creator_id‘ attribute. Where the ID of the commenter must be specified.

3
negotiable_comment:creator_id ID of either admin user or customer.

This field is optional.

Only numerals are allowed.

Works in conjunction with the ‘negotiable_comment:creator_type‘ attribute.

11
negotiable_comment:comment Comment for the negotiable quote. From either admin user or customer.

This field is optional.

Any value allowed.

Works with ‘negotiable_comment:creator_type‘ and ‘negotiable_comment:creator_id‘ attributes.

12
negotiable_comment:created_at The date the comment has been added to the negotiable quote.

This field is optional.

Only date and time values are allowed.

The format is YYYY-MM-DD HH:MM:SS

2018-11-01 17:16:16
negotiable_comment_attachment:file_name The name of the file attached to the negotiable quote comment. Can be any value.

Make sure to specify the full file name, including file type.

file_sample.png
negotiable_comment_attachment:file_path Path to the file attached to the negotiable quote comment Can be any value.

Make sure to specify path in reference with the root Magento 2 catalog – Magento 2 installation folder.

pub/images/

When importing negotiable quotes please note:

  • If a customer is not allowed to ask for negotiable quotes, an error will be displayed when trying to create a negotiable quote during import. In such cases make sure the customer is allowed to ask for negotiable quotes.
  • You can only import negotiable quotes for the registered customers.
  • For every comment for a negotiable quote, you need to use a separate row in the table. You only need to specify the increment_id of the quote. The extension will understand that all comments belong to the specified increment_id until a new row with another increment_id is processed – then the extension will switch to this very increment_id.
  • The increment_id is a custom attribute we have added for quote identification purposes. The quotes in Magento 2 do not have unique identifiers, so we had to identify them for proper updates.
  • The increment_id SHOULD BE specified manually if you want to import quotes. If you are EXporting quotes, Magento 2 won’t have any unique identifiers. However, when you are IMporting quotes, you need to have increment_ids filled in. You can do it via simple formulae.

After composing a table with B2B negotiable quote data, you can import B2B negotiable quotes to Magento 2, using the standard import procedure of the Improved Import & Export extension described above.

Magento 2 B2B Features: Export

With the Improved Import and Export extension, you can also export all Magento 2 B2B entities. However, this process is standard for each Magento 2 B2B feature. Proceed to System > Improved Import/Export > Export Jobs to export any B2B entity into the required file format (CSV, XML, Json, XLSX, ODS).

Here you need to click ‘Add New Job’ to create an export job. Configure the export parameters: name your job, select a Magento 2 B2B entity that should be exported, automate your data transfer, choose a file format and source, etc. The export jobs are similar to the import jobs, except that you can specify the filters for the exported entities and other matters of convenience. Please read the Improved Import and Export extension manual to master all the aspects of the Magento 2 export.

This guide to importing and exporting Magento 2 b2b entities is a part of the blog post series that covers how to import and export EVERY Magento 2 entity in detail. For the full list of guides please follow our Magento 2 import and export guide list and B2B Master Table.

Magento 2 B2B Import & Export FAQ

Let’s take a look at other nuances of importing and exporting B2B entities in Magento 2 with the help of the Improved Import & Export Magento 2 extension.

How to import/export companies and company roles in Magento 2?

You can use the Improved Import & Export extension to import and export B2B companies and company roles between Magento 2 and external systems. Follow the instructions provided in this article.

How to import/export shared catalogs in Magento 2?

You can use the Improved Import & Export extension to import and export B2B shared catalogs between Magento 2 and external systems. Follow the instructions provided in this article.

How to import/export requisition lists in Magento 2?

You can use the Improved Import & Export extension to import and export B2B requisition lists between Magento 2 and external systems. Follow the instructions provided in this article.

How to import/export quotes and negotiable quotes in Magento 2?

You can use the Improved Import & Export extension to import and export B2B quotes and negotiable quotes between Magento 2 and external systems. Follow the instructions provided in this article.

How to import and export B2B entities to Magento 2 automatically?

If you transfer to move B2B entities between Magento 2 and third parties or other Magento 2 websites regularly, you can use the Improved Import & Export extension since it utilizes a cron scheduler. The module lets you import and export B2B entities between Magento 2 and external destinations automatically, following a schedule of updates.

How to import B2B entities with third-party attributes to Magento 2?

Magento 2 blocks the import of unsupported data that doesn’t follow its standards. As usual, problems are associated with third-party attributes and values, but you can easily avoid them with the Improved Import & Export extension. The module lets you create a mapping scheme where you match third-party attributes and their values to ones used within the system. External data is automatically adapted to the native standards of your e-commerce website every time the plugin runs a transfer. Note that you can also apply mapping to export processes to generate the output your partners require. No matter how different your imported B2B entities are. With our extension, you can easily transform them into ones available in your database.

How to import and export B2B entities to Magento 2 via API?

The Improved Import & Export module lets you create API connections to transfer any data, including B2B entities, between Magento 2 and external systems. There is a section in every import/export job where you can specify the parameters necessary to sync your store and an external destination. You can create a bi-directional API connection, exchanging customer data between the two systems.

How to import and export B2B entities to Magento 2 via ODS files?

Improved Import & Export lets you move B2B companies, quotes, requisition lists, and shared catalogs along with other entities stored in ODS files. You no longer need to convert them to CSV to fit the Magento 2 requirements. You can also export data using this file format.

How to import and export B2B entities to Magento 2 via XLSX files?

In addition to ODS, Improved Import & Export lets you move B2B companies, quotes, requisition lists, and shared catalogs along with other entities stored in XLSX files. You no longer need to convert them to CSV to fit the Magento 2 requirements. You can also export data using this file format.

How to import and export B2B entities to Magento 2 via JSON files?

If B2B entities are stored in a JSON file, you no longer need to convert the file to CSV to fit the Magento 2 requirements. With the Improved Import & Export Magento 2 extension, it is possible to import JSON files to your ecommerce website without any necessity to run the conversion. You can also export companies, quotes, requisition lists, and shared catalogs using this file format.

How to import B2B entities to Magento 2 via compressed files?

If your files with B2B companies, quotes, requisition lists, and shared catalogs are compressed, you can also transfer them to Magento 2 with the help of the Improved Import & Export extension. Remember that file archives should be saved as ZIP or TAR. The module works with compressed CSV, XML, ODS, JSON, and XLSX files.

How to import B2B entities to Magento 2 from Google Sheets?

If B2B entities are stored in Google Sheets, it is no longer a problem. There is no need to export companies, quotes, requisition lists, and shared catalogs from the service, convert the output to multiple CSV files, and then transfer them to Magento 2. The Improved Import & Export lets you move the corresponding information straight from Google Sheets, updating your database. Furthermore, it is possible to use the platform as your export destination.

How to import and export B2B entities to Magento 2 from Dropbox?

In addition to Google Sheets, the Improved Import & Export module lets you transfer companies, quotes, requisition lists, and shared catalogs to Magento 2 from Dropbox. You can store your B2B entities there in CSV, JSON, XML, ODS, or XLSX files or ZIP and TAR archives. You can also use this file storage as your export destination.

How to import and export B2B entities to Magento 2 from Google Drive?

In addition to Dropbox and Google Sheets, the Improved Import & Export module supports another file source. The extension lets you transfer companies, quotes, requisition lists, and shared catalogs to Magento 2 from Google Drive. You can store your B2B entities there in CSV, JSON, XML, ODS, or XLSX files or ZIP and TAR archives. You can also use this file storage as your export destination.

Final Words

Although you cannot import or export Magento 2 B2B data by default, the Improved Import & Export in combination with its B2B Add-on provides the missing functionality to the standard set of Magento 2 B2B features. With the help of the module, you can easily import and export companies, requisition lists, shared catalogs, negotiable quotes, and other aspects of the Magento 2 B2B data. Also, note that Improved import lets you automate your B2B data transfers with the help of schedules. You can import and export Magento 2 B2B entities from/to Google Sheets and other file sources using the diverse selection of file formats. Contact us for further information on the Magento B2B features our module offers or proceed to the extension page:

Improved Import & Export Magento 2 Extension