Magento 2 B2B Quote Guide: Description, Workflow, Import & Export

- E-Commerce, Magento 2, Our extensions

magento 2 b2b quote guide

Today, we discuss one of the Magento 2 B2B aspects – negotiable quotes. If you are going to migrate from one B2B e-commerce website to another, you may face a problem when Magento 2 quotes cannot be moved with the help of the default Magento 2 tools.  If you don’t plan the migration but need the Magento 2 B2B quote data to be passed to a third-party service for further processing, there is also a problem. You have to do everything manually, wasting a significant amount of time. But what if there is a more user-friendly way of importing and exporting Magento 2 negotiable quotes

In the following article, we shed light on the most intuitive and user-friendly way to import and export Magento B2B quote data. But let’s first define negotiable quotes in Magento 2 and say a few words about the Magento 2 B2B quote workflow. After that, you will learn the exquisiteness of quote import and export, including a full list of attributes necessary to transfer B2B negotiable quotes to Magento 2.

What Are Magento B2B Quotes?

A Magento 2 B2B quote is a tool designed to manage the negotiation process for an order that gives potential buyers an idea of the best possible offer they could get. Both buyers and sellers can use negotiable quotes to manage the negotiation process for an order by adding items, updating quantities, requesting and applying discounts, and so on. These interactions continue until both sides reach an agreement.

In Magento 2, quotes can be initiated by an authorized company buyer or a sales representative. No matter who creates a quote, the negotiation process begins when the quote is submitted for review.

Next, it appears on the main Quotes screen. The corresponding grid lists each quote received. At the same time, it maintains a history of communication between the two sides. As a store administrator, you can rely on common workplace controls to filter the list, change the column layout, or switch between views.

magento 2 b2b quotes screen

As a sales representative, you can create quotes on behalf of a buying company straight in the admin. It is possible to save them as drafts or submit them directly to a buyer. In the latter case, you initiate the negotiation process.

As for the storefront workflow, a buyer can submit a Magento B2B quote as a request to negotiate the price. It is only necessary to add products to a shopping cart and convert it into a quote request. At the same time, a buyer can save the quote as a draft instead of submitting it to the seller.

From the perspective of your business clients, this feature lets customers set up negotiable prices in the shopping cart. Next, the corresponding information is saved in the My Quotes list at a customer’s account and a notification is sent to a sales representative of a company.

Admin Quotes grid also displays all Quotes information so that you can always control it. As a Magento 2 administrator, you can check the corresponding data and process negotiable order prices by sending emails to customers as well as sending feedback to quote submitters and sales representatives. Note that you are not able to amend quotes until a customer does the next action.

In their turn, customers check feedback information and respond to admin negotiable prices until the agreement is reached or denied. In the same manner, as an admin, a customer cannot send new comments until an admin does the next action.

When a new price is accepted by both sides, a customer can proceed to the checkout. After that moment, no discount is available for a negotiated order. The number of items cannot be edited as well.

If a negotiated price is denied by an administrator or customer, the negotiation process breaks down. After a customer chooses Close Quotes or an admin declines them, neither side can send any feedback.

How to Enable the B2B Quotes Functionality in Magento 2

You need to follow these prerequisites to enable the Magento 2 negotiable quote functionality:

  • Create a website on the Adobe Commerce platform;
  • Install the B2B for Adobe Commerce extension;
  • Enable Magento 2 B2B company accounts;
  • Turn on the Magento B2B quote feature.

In addition to that, you also need to grant access to quote functions to the selected administrators. The corresponding functionality is available under System -> Permissions -> User Roles. Navigate to Sales -> Operations -> Quotes in the Role Resources tree to choose the role.

Magento 2 B2B Quote Workflow

Below, you will learn how to enable and manage negotiable quotes in Magento 2. But first things first, let’s enable the corresponding functionality.

Step 1: Enable Magento 2 B2B Quotes

Let’s assume that you have fulfilled the first 3 conditions out of the four mentioned above. Now, you only need to enable the Magento 2 B2B quote feature.

To enable B2B negotiable quotes in Magento 2, go to Stores -> Configuration -> General > B2B Features. Set the B2B Quote setting to Yes to allow customers to submit negotiable prices. 

enable the magento 2 b2b quote functionality



Step 2: Create a Magento B2B Negotiable Quote

As we’ve already mentioned, a buyer can request a quote from the shopping cart.

create a magento 2 b2b quote from shopping cart

It is only necessary to hit the Request a Quote button in the Summary section, add a comment, type a quote name, and request a quote or save it as a draft.

After that, the request appears in a customer’s My Quotes list.

magento 2 b2b negotiable quotes in a customer account

A sales representative assigned to the company account gets an email notification right after the quote is created.

As for the admin side, the request appears in the Quotes grid. Its status is New like in the case of the first quote in the image below.

magento 2 b2b quotes grid

A buyer can modify their request for a quote until a seller opens it.

A sales representative, in turn, can create a quote on behalf of a specific company buyer under the Quotes screen by clicking Create New Quote. A new screen displays where it is necessary to select a customer.

choose a customer to create a magento 2 b2b quote

Next, a new quote is created in the Draft status. A sales representative must update the quote by adding products and changing other information like discounts and notes to the buyer.

edit magento 2 b2b quote

After that, it is possible to save the quote as a draft or send it to the buyer to start the negotiation. In the draft state, only a seller can view the quote. Once the quote is sent, the buyer can see it, as well. The quote gets a new status – Submitted. Afetr that, a seller cannot modify the quote until the buyer sends it back.

Step 3: Review & Negotiate The Magento Quote Conditions

Let’s explore two scenarios:

  • When a views a buyer’s request;
  • When a buyer views a quote from a seller.

A seller views a request and sends a response 

  1. If a seller views a request for a quote created by a buyer, the status of the quote changes to Pending, and the buyer is prohibited from making any changes.
  2. The seller responds by offering a discount for the products in the quote, adds a comment, and sends the quote to the buyer.
  3. The buyer gets an email notification that the seller has responded.

A buyer views a quote from a seller and sends a response 

  1. If a seller creates a quote in the admin, a buyer gets an email notification with a link to the quote. Alternatively, they can open the quote from the My Quotes page.
  2. The buyer can now leave notes to the seller, discuss the quote level, and remove items.
  3. If the buyer makes any changes to the quote, it must be returned to the seller.
  4. The process continues until an agreement is reached or the quote is declined.

Step 4: Proceed to The Checkout 

If the buyer accepts the proposed price, they can proceed to the checkout page. Not that any additional discounts to the negotiated quote are impossible at this step.

How to Prepare a Magento 2 B2B Quote

After creating the draft quote in the Magento 2 admin and adding product items to it, you may need to apply discounts and communicate with the buyer during the negotiation. Let’s see how it works.

First of all, you can apply line item discounts to products in the quote as follows:

  1. Choose Discount Item from the Select action menu.
  2. Select the Discount Type in the Discount Line item form: Percentage, Amount, or Proposed Price.
  3. Next, specify the value of the discount type.
  4. If necessary, you can lock the line item discount value so that the product price is not further reduced by discounts applied at the quote level.
  5. Confirm the change. After that, you will them in the product grid of the Magento quote.

apply a line item discount to a magento 2 b2b quoteNext, it is possible to apply a quote-level discount to your Magento 2 negotiable quote:

  1. Proceed to the Quote Totals section.
  2. Choose the discount type in the Negotiated Price section: Percentage Discount, Amount Discount, or Proposed Price.
    Note that the third type disables line item discounts.
  3. Enter the value to apply.
  4. The product grid updates to display the discount.

apply a discount to a magento 2 b2b quote

If you wish to add more information for the buyer, proceed to the Negotiation section’s Comments tab. You can add a note and attach files there.

add a magento 2 b2b quote comment

Now, you can send the quote to the buyer. Its status automatically changes to Submitted and the buyer receives an email notification.

How to Decline a Request for a Quote in Magento 2

Our Magento 2 B2B quote guide won’t be complete without the information on how to decline a request for a quote. Follow these steps to decline a Magento quote:

  1. Choose a quote request that you want to decline.
  2. Set the Actions control to Declined.
  3. Specify the reason the quote was declined.
  4. Click Confirm.

decline magento 2 b2b quote

Note that you can decline only quote requests with the Open status.

How to Import B2B Negotiable Quotes in Magento 2

magento 2 b2b quote import

Although Magento doesn’t let you import quotes, you can always rely on third-party modules that extend the default functionality of our favorite e-commerce platform. Meet the Improved Import & Export Magento 2 extension with B2B Add-On – your number one time saver when it comes to all possible data transfers, including the Magento 2 B2B quote import. If you don’t want to spend time recreating them on your new website manually, give our module a try. But let’s look at the negotiable quote attributes used to import this Magento 2 B2B entity.

Download Magento 2 Negotiable Quote CSV

Follow this link to explore a sample CSV table with Magento 2 B2B quotes:

Sample Magento 2 Negotiable Quote Table

Note that it is a Google Sheets spreadsheet, so you can download it as a CSV file or explore Magento quotes right in your browser. The spreadsheet contains comments on each B2B quote attribute.

magento 2 b2b quote sample table

Learn Magento 2 B2B Quote Attributes

In the following table, you can find all attributes used in the Magento 2 negotiable quote import. You will learn what each column title means and which values are required.

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 is 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.

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

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.

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 a path refering to the root Magento 2 catalog – Magento 2 installation folder. pub/images/

Consider These Magento 2 Quote Import Notices

When importing negotiable quotes to Magento 2, 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.

Import Negotiable Quotes to Magento 2

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. Follow these steps to import Magento 2 B2B negotiable quotes:

  1. Go to System -> Improved Import / Export -> Import Jobs and click the Add New Job button.
    magento 2 b2b quote import: add new job

  2. Configure General Settings, where you can automate the Magento 2 B2B quote import.
    magento 2 b2b quote import: general settings
  3. Proceed to the Import Settings section and select Negotiable Quotes in the Entity dropdown.
    magento 2 b2b quote import: import settings
  4. Choose Add/Update to add new Magento 2 B2B quotes and update the existing ones.
    magento 2 b2b quote import: import behavior
  5.  Now, select a file type and data source along with a couple more parameters.
    magento 2 b2b quote import: import source
  6. Save the job, and run the Magento 2 B2B quote import.

magento 2 b2b quote import: import runYou can find more nuances associated with the import process here: Improved Import & Export Extension Manual. Also, contact us to get help with the Magento 2 quotes import.

Get Improved Import & Export Magento 2 Extension

Get Improved Import & Export Magento 2 B2B Add-On

How to Export B2B Negotiable Quotes From Magento 2

As for the Magento 2 B2B negotiable quotes export, the process is absolutely the same. You can configure it under  System -> Improved Import / Export -> Export Jobs.

At the same time, you can export Magento 2 B2B quotes with the help of the default tool on the Quotes grid. Just click the export button and select a few parameters.

magento 2 b2b quote export

Why do we recommend using Improved Import & Export instead of the default export of Magento B2B quotes? Below, you can see a few advantages over the built-in exporter:

  • Automated export processes. Our module lets you create a schedule of automated exports or choose system events that trigger the data transfer. Thus, you no longer need to export negotiable quotes manually.
  • Support for multiple file formats. With Improved Import & Export, you can export negotiable quotes from magento 2 using a diverse selection of file formats. You are no longer bound to CSV. Just pick a file standard that the accepting party requires.
  • Support for multiple file sources. Deliver Magento 2 B2B quotes to your partners’ digital doorsteps. You can transfer data to a Google Sheet spreadsheet, Google Drive, Dropbox, a remote server, etc. Even direct API transfers are supported!
  • Powerful mapping capabilities. Use the extension’s mapping features to modify the default Magento 2 attributes associated with quotes according to the parameters of the accepting party. For instance, if a third party requires the CustomerEmail column instead of customer_email, specify the new title in the export profile, and the extension will modify the corresponding attribute in your export output.

Note that this and multiple other features are also available for the Magento 2 import of B2B quotes.

Final Words

Magento 2 B2B quotes are a great business instrument exclusively available to Adobe Commerce users. It is flexible, powerful, and easy to use. Both store administrators and company buyers can create quotes and initiate the negotiation process. However, the system doesn’t let you import Magento 2 quotes to your e-commerce website. Luckily, you can easily transfer the corresponding data to any third party with the help of the Improved Import & Export extension and its B2B Add-on. Follow the link below and contact our support if you have any questions regarding the Magento 2 import and export of B2B negotiable quotes:

Get Improved Import & Export Magento 2 Extension

Get Improved Import & Export Magento 2 B2B Add-On