These release notes for the B2B extension capture additions and fixes that Adobe has added during a release cycle, including:
New features
Fixes and improvements
See Product availability for information about versions of the B2B Commerce extension supported for available Adobe Commerce releases.
August 7, 2023
The B2B v1.4.1 release includes quality improvements and bug fixes.
Purchase orders can no longer be placed by a user associated with the company after the company has been blocked. Previously, a user associated with the company could place purchase orders when the company was blocked.
Product backordered status is now displayed correctly on the storefront. Previously, products that were available for shipment were incorrectly identified as backordered.
If the company registration form includes a customer file type attribute, the file uploaded during the registration process is now included in the account information for the Company Administrator after the company is created. Previously, the attachment was missing.
The swatch selector for a configurable product is now displayed as expected in the requisition list item configuration page. Previously, the swatch selector was displayed as a dropdown field in the requisition list item configuration page.
When using the Company GraphQL query to return company details, results are now returned successfully without error.
June 13, 2023
This release includes new capabilities and enhancements for B2B negotiable quotes and multiple bug fixes.
Added compatibility with Adobe Commerce 2.4.7-beta1.
Seller initiated quotes—Sellers can now initiate a quote for a buyer directly from the Quote and Customer grids in the Admin. This capability streamlines the quote process and reduces complexity for customers. If a customer has not initiated an order, a seller can quickly create a quote on behalf of the customer and start the negotiation process. Previously, quotes could only be created from the storefront by the buyer, or by a seller logged in as the customer.
Line item discounts and negotiation— Within a quote, B2B buyers and sellers can now negotiate at the line item level, applying discounts and exchanging notes until an agreement is reached. Note creation and updates are included in the line item and quote history to track communication. Previously, buyers and sellers could only exchange notes and apply discounts at the quote level.
Adobe Commerce now displays correct details during payment when the Purchase Orders option is enabled and a virtual quote that was created with the PayPal payment option has been selected. Previously, totals were displayed as zero under these conditions.
Validation errors no longer occur when you try to save a company with a credit limit that exceeds 999. Previously, for company credit limits greater than 999, Adobe commerce inserted a comma separator, which caused a validation error that prevented updates from being saved.
The selected shipping address now remains unchanged when you place an order with a negotiable quote. Previously, when you placed an order, the selected shipping address was changed to the default shipping address.
In the Store Configuration settings for B2B Features, the Enable Shared Catalog direct products price assigning field is now disabled automatically. On the storefront, it is hidden when the Enable Company setting or Enable Shared Catalog setting is set to No.
When creating a company account from the storefront, Commerce now validates the email address before processing the company registration. If the email address is invalid, the operation fails and no account updates are processed. Previously, a customer account was created even if the request to create a company account failed because of an invalid email address.
Product SKUs that include double quotation marks in the Shared Catalog and pricing structure no longer cause errors in the Admin.
Updated the Varnish configuration for the Commerce application to prevent Guest users from seeing data from other customer groups.
If you install or upgrade B2B 1.4.0 on Adobe Commerce version 2.4.6-p1, the following error occurs:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires magento/extension-b2b 1.4.0 -> satisfiable by magento/extension-b2b[1.4.0].
- magento/extension-b2b 1.4.0 requires magento/security-package-b2b 1.0.4-beta1 -> found magento/security-package-b2b[1.0.4-beta1] but it does not match your minimum-stability.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
Successfully install or upgrade to B2B version 1.4.0 on Adobe Commerce 2.4.6-p1 by adding manual dependencies for the B2B security package with a stability tag.
From the Adobe Commerce installation directory, update composer.json
with the required dependencies:
composer require magento/module-re-captcha-company=1.0.3-beta1@beta magento/security-package-b2b=1.0.4-beta1@beta
Command Output:
Running composer update magento/module-re-captcha-company magento/security-package-b2b
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 0 updates, 0 removals
- Locking magento/module-re-captcha-company (1.0.3-beta1)
- Locking magento/security-package-b2b (1.0.4-beta1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Downloading magento/module-re-captcha-company (1.0.3-beta1)
- Installing magento/module-re-captcha-company (1.0.3-beta1): Extracting archive
- Installing magento/security-package-b2b (1.0.4-beta1)
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package sebastian/phpcpd is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
132 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
Update composer.json
to add B2B version 1.4.0.
composer require magento/extension-b2b=1.4.0
Command output
./composer.json has been updated
Running composer update magento/extension-b2b
Loading composer repositories with package information
Updating dependencies
...
Generating autoload files
132 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
Complete the installation or upgrade process.
March 14, 2023
Released B2B version 1.3.5-p2 to support compatibility with Adobe Commerce 2.4.6-p2.
Released B2B version 1.3.5-p1 to support compatibility with Adobe Commerce 2.4.6-p1.
After you upgrade Commerce from 2.4.6 to the latest release, make sure to update to the supported B2B 1.3.5 patch release. Or, upgrade the B2B extension from version 1.3.5 to version 1.4.0 or later to get the latest features.
Added support for Adobe Commerce 2.4.6.
Adobe Commerce now displays correct details during payment when the Purchase Orders option is enabled and a virtual quote that was created with the PayPal payment option has been selected. Previously, totals were displayed as zero under these conditions.
The list of customer groups for the Allow Browsing Category setting no longer contains customer groups that are related to shared catalogs.
The Tax/VAT Number customer attribute now works as expected with company admin accounts on both the Admin and storefront. Custom Tax/VAT attributes are no longer required to create a company account. Previously, when a merchant created a company account with a custom Tax/VAT attribute, Adobe Commerce threw a validation error on both the storefront and Admin.
Disabling the shared catalog feature on a specific scope now works correctly. Previously, Adobe Commerce set an invalid scope when a merchant saved shared catalog configuration.
Admin users can now save customer custom attribute values for company users. Previously, customer custom attributes for company users could not be saved.
Performance issues are resolved with the validation of company permissions provided through GraphQL when many company permissions are already assigned.
Adobe Commerce no longer throws an error on the cart page when Quick Order is used to add a product in a quantity that exceeds available inventory.
The performance of
SELECT
company permissions operations has improved.
Category queries now return product prices according to store configuration settings when there are no category permissions explicitly set on the category being queried.
The Place Order button now works as expected when completing a purchase with an approved quote request. Issues with the negotiable quote
negotiableQuoteCheckoutSessionPlugin
plugin have been resolved.
August 9, 2022
Added support for Adobe Commerce 2.4.5.
Adobe Commerce no longer sends email notifications each time an existing Company is updated by an API call. Emails are now sent only when a company is created.
Adobe Commerce now correctly calculates a grand total of a negotiable quote when the Enable Cross Border Trade tax calculation setting is enabled.
Configurable products are now moved to the last position in the product listing after stock is updated when the Move out of stock to the bottom setting is enabled. A new custom database query is implemented to ensure that the Elasticsearch index sort order now honors the Admin-enabled sort order. Previously, configurable products and their child products were not moved to the bottom of the list when this setting was enabled.
Purchase Order email now honors the email sending setting of each website in a multi-site deployment. A check for the Disable Email Communications setting is added to the custom logic for email queues. Previously, Adobe Commerce did not honor the email sending setting for the secondary website.
The title of the SKU field of the Quick Order page is changed for clarity.
Adobe Commerce now displays a more informative error message when a shopper enters an invalid SKU in the Enter SKU or Product Name field.
The Account Created in field for a company administrator now retains its value as expected after you save the company.
The
customer
query no longer returns empty results when it retrieves requisition lists that are filtered by uid
.
Added a plugin before the
collectQuoteTotals
call to ensure that store credits are applied only once.
Customers are now redirected to the login page when their account is deleted by an administrator from the Admin. Previously, Adobe Commerce threw an error. The plugin (
SessionPlugin
) code block is now inside the try…catch
block. Previously, this code was not wrapped inside the generic exception-handling block.
On the Quick Order page in mobile mode, pressing Enter after entering a valid product name or SKU now takes the shopper to the next field as expected.
Company name is now visible as expected in the billing and shipping address sections of the checkout workflow.
Store credit is now unavailable when the Zero Subtotal Checkout payment method is disabled. Previously, the Store Credit checkbox was not functional during order placement from the Admin. The application did not place the order with the store credit and displayed this error:
The requested Payment Method is not available
.
August 9, 2022
Added support for Adobe Commerce 2.4.4.
The time required to upgrade from Adobe Commerce 2.3.x to Adobe Commerce 2.4.x in deployments with more than 100,000 company roles has been substantially reduced.
The POST
V1/order/:orderId/invoice
request now supports the creation of partial invoices when the Payment on Account payment method is enabled. Previously, Adobe Commerce threw this error: An invoice for partial quantities cannot be issued for this order. To continue, change the specified quantity to the full quantity
. GitHub-32428
PayPal Payflow Pro now works as expected with B2B negotiable quote when the customer’s cart contains other products. Adobe Commerce now successfully processes the order and sends an email to the customer as expected. Previously, Adobe Commerce threw a fatal error and sent a confirmation email to the customer that contained zero values.
Pagination is now correctly displayed on catalog search result page after excluding some products in shared catalog.
Customer custom attributes are now saved as expected when creating or saving a company user in the Admin.
The Submit button on the Create New Company form is now disabled after one click to prevent multiple form submissions. Previously, you could submit this form multiple times by clicking this button repeatedly, which generated an error.
Adobe Commerce no longer displays the reorder link on the storefront when a shopper logs into a store for which reorders have been disabled.
Quick Order search by SKU is now case-insensitive when shared catalog is enabled.
You can now update a file for a customer attribute when creating a company. Previously, when you tried to create a company with an attachment of type
File
, Adobe Commerce did not create the company and logged this error in the exception log: Something went wrong while saving file
.
You can now create a company with a customer account that has a custom attribute with a (
File
) or (Image
) type. Previously, if the account had one of these customizable options, the Company edit page loader did not resolve, which prevented the editing of company details.
The
products
query now returns an accurate total_count
field when shared catalog is enabled.
You can now update a file for a customer attribute when creating a company. Previously, when you tried to create a company with an attachment of type
File
, Adobe Commerce did not create the company and logged this error in the exception log: Something went wrong while saving file
.
The Company Configuration and Create Company pages now work as expected after you disable an online shipping method. Verification has been added to prevent the attempted processing of disabled Shipping modules. Previously, Adobe Commerce displayed this error:
Type Error occurred when creating object: Magento\CompanyShipping\Model\Source\ShippingMethod, Too few arguments to function Magento\CompanyShipping\Model\Source\ShippingMethod::__construct(), 1 passed in /var/www/html/elmtup/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 121 and exactly 2 expected
.
The Category page now displays consistent product data while permissions are being generated during partial indexing. A new partial indexer for directory permissions has been added to this process. Previously, the data displayed while the indexer ran was incorrect.
The
categoryList
query now returns the correct number of products when catalog permissions are used and products are assigned to a shared catalog.
The
categoryList
query now respects category permissions and returns only permitted categories. Previously, it returned all assigned and unassigned categories.
The
rest/V1/company/{id}
request now returns is_purchase_order_enabled
attribute values as expected.
Custom customer attributes are now displayed as expected in the Company Admin tab.
The My Wish List block on the My Account page is now displayed as expected for Company Admins and Company Users.
Quick Order errors are no longer displayed in the shopping cart. Previously, Adobe Commerce displayed this error in the shopping cart when the SKU was not found in the catalog:
The SKU was not found in the catalog
.
Shared catalog save operations have been optimized to execute faster. Previously, saving a shared catalog with many customer groups could take several minutes.
Adobe Commerce now deletes all subcategory permissions from the
sharedcatalog_category_permissions
table when the parent category is deleted. Previously, only the parent category data was removed.
August 29, 2022
Added support for Adobe Commerce 2.4.3.
Adobe Commerce now successfully sends update emails about expired negotiable quotes. Previously, when a negotiable quote expired, Adobe Commerce did not send update emails.
Adobe Commerce now successfully sends update emails about soon to expire and expired negotiable quotes when a
cron
job is missing.
The Create New Company Account page country dropdown field no longer lists empty option values. Previously, the first two option values and the country code
AN
were empty.
Clicking the Return button for an order that was created by a company user now redirects an administrative user to the Create Return page as expected. Previously, the administrator was redirected to the Order History page.
Adobe Commerce no longer fails with an out-of-memory error when executing the
app/code/Magento/PurchaseOrder/Setup/Patch/Data/InitPermissions.php::apply
method during bin/magento setup:upgrade
. Previously, Adobe Commerce did not use batch size for collection when initializing permissions, but instead loaded a collection of all company roles.
Company users can now edit and update customer custom attribute values. Previously, these attributes did not bind properly with the create and edit user form. A company user could enter different attribute values, but Adobe Commerce did not save these values correctly.
The resource tree for company role permissions can now be translated as expected. Previously, the permissions tree was not translated even though valid translation files were present.
Adobe Commerce now saves custom customer attribute values for B2B users as expected. Previously, creating a company account that contained custom customer attributes triggered a template error, and Adobe Commerce did not successfully load the form. Adding an argument to the layout of
company_create_account
resolved this issue.
Company user filters such as Show All Users, Show Active Users, and Show Inactive Users now work as expected. Previously, filtering actions on the company user page caused a JavaScript error.
Administrators with restricted accounts that include only website-level privileges can now create a company that uses a different currency than the website.
Adobe Commerce now sends company emails from the correct
from
email address and scope. Previously, Adobe Commerce did not consider website scope when sending company credit assignment or update email.
Creating an order using Quick Order from a CSV file now works as expected with nonexistent SKUs.
Using Quick Order to search on multiple SKUs now works as expected. Previously, results included duplicate entries.
The Added Product list display now treats SKUs entered in lowercase and uppercase the same when you use SKUs to select multiple products during Quick Order.
Using Quick Order now adds products in the quantity specified by the shopper. Previously, Adobe Commerce added one product only even when shopper-specified quantities exceed one.
The Quick Order autocomplete feature now works with partial SKUs.
Adobe Commerce now displays products that have been configured as Not visible individually on the Quick Order page’s auto-suggest list and search results.
Shoppers can now use the Quick Order form to add multiple products by SKUs that include upper-case characters. Previously, only the first product was added.
Shoppers are now redirected to the negotiable quote page after pasting the link to a negotiable quote in the URL field and successfully logging in. Previously, shoppers were redirected to the My Account page.
Reordering now works as expected for orders that contain a product with a Date Customizable Option for a customer account that was created during checkout. Previously, Adobe Commerce did not process the reorder and displayed this error:
The product has required options. Enter the options and try again
.
The shipping address for a negotiable quote is no longer editable during checkout when the Purchase Order module is disabled. This behavior resulted from a previous fix in which
isQuoteAddressLocked
was removed from the negotiable quote checkout renderer.
Merchants can now add products to a negotiable quote from the Admin.
Adobe Commerce now displays an informative error message as expected when you place a purchase order using PayPal Express Checkout when the Name Prefix attribute is set to
required
. Previously, Adobe Commerce did not place the order or display an error message.
The UI component for the billing address in the Purchase Order module now uses quote address correctly when Google Tag Manager is enabled. Previously, a JavaScript error occurred on the payment page.
Merchants can now use the POST
rest/all/V1/requisition_lists
endpoint to create a requisition list for a customer. Previously, Adobe Commerce threw this 400 error when you tried to create a requisition list: Could not save Requisition List
.
The Add to Requisition List button now appears for a shopping cart’s in-stock products when the cart also contains out-of-stock products. Previously, if a cart contained two products, one of which was out-of-stock, the Add to Requisition List button did not appear for either products.
You can now use the REST API to add a product to a requisition list.
Requisition list Latest Activity Date values now adhere to locale format.
Adobe Commerce no longer throws a fatal error when you edit a bundle product from a requisition list.
Adobe Commerce now displays the correct product price when you add a product with a customizable option
(File)
to a wish list from a requisition list. The link to the uploaded file is also visible as expected. Previously, Adobe Commerce displayed incorrect product prices and did not display the link to the file.
Products with a customizable option
(File)
can now be added to a shopping cart from a requisition list.
An administrator with a role limited to a specific website can now create, view, and edit a shared catalog. Previously, Adobe Commerce threw a fatal error when an administrator with a limited role tried to create a shared catalog.
Layered navigation results now include an accurate count of products with filtered attributes, and shoppers can now apply multiple filters. Previously, only one filter could be applied, and Adobe Commerce displayed an inaccurate product count in layered navigation.
Adobe Commerce now correctly displays product counts in layered navigation filters in search results. Previously, a plugin for the Search Results page did not use ElasticSearch but issued a new query to the database.
Adobe Commerce no longer deletes tier prices when a merchant deletes all products from a default shared catalog.
Filters are now filtered by the current category and displayed correctly on all pages when shared catalogs are enabled. Previously, filters were wrongly calculated for the current page only and were not filtered by the current category.
The GraphQL
products
query no longer returns a product’s price range and category for products that are not assigned to a shared catalog when shared catalog is enabled. Previously, the query returned the product’s aggregations, even though the product itself was not returned in the items
array.
February 9, 2021
Added support for Adobe Commerce 2.4.2.
Online payment methods are now supported for purchase orders.
Adding a configurable product to the shopping cart directly from a requisition list when this product was used in a prior order no longer returns a system error.
Adobe Commerce now displays the Requires My Approval tab correctly for purchase orders when a split database configuration is deployed.
Adobe Commerce now displays details about bundle products and gift card when you view purchase orders.
Shoppers are now redirected as expected after logging into their account while browsing in a store where Website Restriction is enabled and Restriction Mode is set to
Private Sales: Login Only
. Previously, shoppers were redirected to the store home page.
Order history now loads as expected in a company administrator’s account dashboard page in deployments with a B2B company hierarchy that contains many customers (greater than 13000). Previously, order history loaded slowly or not at all, and Adobe Commerce displayed a 503 error.
Adobe Commerce no longer displays multiple identical warning messages when you add an unconfigured product with customizable options to a Requisition List from a Category page.
New and duplicated products are now visible as expected on the category page when B2B shared catalogs are enabled.
Adobe Commerce now maintains the correct
store_id
that is associated with a company administrator when the customer group for a company is updated. Previously, the store_id
changed to the default store when the group was updated.
Adobe Commerce now saves a grouped product to a requisition list as a list of simple products in the same way as it adds a grouped product to a shopping cart. Previously, due to how Adobe Commerce saved grouped products, the link for a grouped product from the requisition list always redirected to simple products and not to the grouped product.
You can now filter orders by the Company Name field when exporting order information in CSV format. Previously, Adobe Commerce logged an error in
var/export/{file-id}
.
Adobe Commerce now displays the Create Requisition List popup as expected when you select the Create New Requisition List tab on the storefront.
Requisition lists now include all grouped products and quantities that have been added to the list. Previously, when a merchant navigated to a requisition list after adding products to it from a product detail page, Adobe Commerce displayed this error:
1 product(s) require your attention - Options were updated. Please review available configurations
.
The correct store view is now associated with the relevant website when you create a company in a multi-site deployment. Previously, you could not create a company, and Adobe Commerce displayed this error:
The store view is not in the associated website
.
Ordering products by SKU using Quick Order no longer results in duplicate product quantities in the CSV file.
The Add to Cart button is no longer blocked when the Enter Multiple SKUs section of the Quick Order page contains an empty value. Instead, Adobe Commerce now displays a message prompting you to enter valid SKUs.
Adobe Commerce now displays this message on the product page when you submit a product review from a requisition list:
You submitted your review for moderation
. The review also appears on the Pending Reviews page (Admin Marketing > Pending Reviews). Previously, although Adobe Commerce added the review to the list of pending reviews, it threw a 404 error on the product page.
The performance of the
sharedCatalogUpdateCategoryPermissions
consumer has been improved. After creating a shared catalog, the catalog permission indexer now uses only the customer group ID from the shared catalog, not all customer groups.
Custom customer address attribute fields that are associated with a shopper’s non-default address are now saved as expected in the storefront checkout workflow.
Orders for products that belong to a store’s default shared catalog can now be placed for shoppers through the Admin REST API (
rest/V1/carts/{<CART_ID>/items
) as expected. Adobe Commerce now checks if the product was assigned to a public catalog before shared catalog permissions validation in \Magento\SharedCatalog\Plugin\Quote\Api\ValidateAddProductToCartPlugin::beforeSave
. Previously, Adobe Commerce did not add the product to the shopper’s cart and threw this error: No such shared catalog entity
.
Adobe Commerce now sends new company user registration emails from the Adobe Commerce store’s address. Previously, this email was sent from the company administrator’s address.
Adobe Commerce now checks custom attributes for duplication of reserved company attribute names before permitting a merchant to save a new attribute.
The
credit_history
query now returns the specified company’s credit history for both the originally allocated amount and the purchased amount. Previously, this query returned an error.
The Company and Job Title fields on the Edit Account Information page are no longer editable.
B2B buyers can use online payment methods to bypass the usual purchase order flow. This scenario can occur if the buyer can reduce their entire checkout total to a 0 — for example, by a promo code or gift card — and then remove the code or gift card. Even under those conditions, Adobe Commerce still places the order for the correct amount based on the prices of the items in their assigned catalog. Workaround: Disable gift cards and coupon codes when online payment methods are enabled for purchase order approval.
Buyers are redirected to the shopping cart when trying to place an order from a purchase order using PayPal Express Checkout when In-Context Mode is disabled.
Adobe Commerce sometimes displays a 404 error when a buyer creates a purchase order and then navigates to the checkout page. This error occurs when a buyer has previously created a different purchase order with an online payment method before navigating to the checkout page without completing the previous purchase. The buyer can still place the purchase order. Work around: None.
Discounts for a specific payment method persist during checkout for a purchase order even when the buyer changes their payment method during final checkout. As a result, customers can receive a discount that they are not entitled to. This issue occurs because a cart rule for the original payment method is still applied despite the change in payment method. Work around: None. See the Adobe Commerce 2.4.2 B2B known issue: discount remains for online Purchase Orders after payment method is changed Knowledge Base article.
The deleteRequisitionListOutput
query returns details about the deleted requisition list instead of the remaining requisition lists.
October 15, 2020
This release includes improvements to order approvals, shipping methods, shopping cart, and logging of Admin actions.
Added support for Adobe Commerce 2.4.1.
B2B order approvals have been enhanced to improve usability and to allow for bulk actions on purchase orders.
B2B merchants can now control shipping methods that are offered to each Company.
Merchants can now allow users to clear the contents of their shopping cart in a single action and can configure this ability independently on each website
B2B buyers can now add individual items or the entire contents of their shopping cart directly to a requisition list.
B2B merchants can create orders from the Admin on behalf of customers using Payment on Account as the payment method.
Merchants can now directly view all quotes associated with a user from the customer’s detail page.
Merchants can now filter the Customers Now Online grid by Company.
Admins can now filter customers in the Admin by Sales Rep.
To reduce creation of fraudulent or spam accounts, merchants can now enable Google reCAPTCHA on the New Company Request form on the storefront.
Admin actions taken in the Company modules are now logged in the Admin Actions Log. Actions are logged from all relevant company modules:
Company
, NegotiableQuote
, CompanyCredit
, SharedCatalog
.
Adobe Commerce no longer displays the Delete customer button on the Customers page when the logged-in administrator does not have rights to delete customers in deployments where B2B is installed.
Customer group is no longer changed automatically for a customer who is assigned to a Company when you edit the customer on the Customer grid.
When a merchant creates a shared catalog, permissions are now automatically set to
Allow
for the Display Product Prices and Add to Cart features in categories when the customer group is assigned this access in catalog permission settings. Previously, these settings were automatically set to Deny
even when catalog permissions were set to Allow
.
Shared catalog category permissions are no longer overwritten when a product is edited from the product edit page.
Adobe Commerce now sends an email notification confirming that a customer has permission to exceed the designated credit limit when a merchant enables the Allow To Exceed Credit Limit setting. Previously, the notification email sent by Adobe Commerce indicated that the customer did not have permission to exceed the limit.
The HTML container that surrounds product price on requisition lists is now rendered correctly for the children of bundled products.
Merchants can now designate the language in which company user email is sent when creating a company in multi-language deployments. Previously, the drop-down menu the enables merchants to select the appropriate store view and language was not displayed.
Custom customer address attributes fields are now displayed as expected in the storefront checkout workflow.
The B2B Features configuration tab now opens correctly. Guests can now use QuickOrder to add products to their cart and then successfully remove items. Previously, when a shopper used QuickOrder to add multiple products to their cart, and then removed a product, the product was not removed.
A company can now be updated using the REST API PUT
/V1/company/:companyId
request without specifying the region_id
when state is configured as not required. Previously, even though region_id
was not required, Adobe Commerce threw an error if it was not specified.
When you create or update a B2B Company using the REST API (
http://magento.local/rest/V1/company/2
, where 2
represents the company ID), the response now includes the settings for applicable_payment_method
or available_payment_methods
as expected.
Adobe Commerce no longer displays a 404 page when a merchant uses the Enter button instead of clicking the Save button when creating a requisition list on the storefront.
Category permissions no longer change when a new product is assigned to a public shared catalog. Previously, category permissions were duplicated.
The REST API endpoint PUT
rest/default/V1/company/{id}
, which is used to update Company email, is no longer case-sensitive.
Disabling reward modules no longer affects B2B features on customer accounts. Previously, when reward modules were disabled, the following B2B-related tabs were not displayed: Company Profile, Company Users, and Roles and Permissions.
Adobe Commerce now uses the correct sender name on email notifications when changes are made to company accounts. Previously, Adobe Commerce used the general contact sender name defined in the default scope for all emails.
You can now successfully implement multishipping for orders that contain both physical and virtual products.
Merchants can now create company users from the Company Users section in My Account and Company Structure pages when Access Restriction is enabled and Restriction Mode is set to
Sales: Login Only
. Previously, Adobe Commerce threw this error when a merchant tried to create a user: Can not register new customer due to restrictions are enabled
.
Adobe Commerce no longer resets a customer’s customer group to the default when a customer saves their account information.
Adobe Commerce no longer throws a fatal error when an administrator assigns a customer who has an active shopping cart to a customer group.
Adobe Commerce now provides an
addToCart
DataLayer event for Quick Order and Requisition lists pages.
Notification emails that are sent to sales representatives assigned to a company now include the assigned corporate logo. Previously, the notification email included the default LUMA logo, not the uploaded corporate logo.
A requisition list now includes all grouped products and quantities that have been added to the list. Previously, when a merchant navigated to a requisition list after adding products to it from a product detail page, Adobe Commerce displayed this error:
1 product(s) require your attention - Options were updated. Please review available configurations
.
The
products
query now returns an accurate total_count
field when shared catalog is enabled.
The Company Configuration and Create Company pages now work as expected after you disable an online shipping method. Verification has been added to prevent the attempted processing of disabled Shipping modules. Previously, Adobe Commerce displayed this error:
Type Error occurred when creating object: Magento\CompanyShipping\Model\Source\ShippingMethod, Too few arguments to function Magento\CompanyShipping\Model\Source\ShippingMethod::__construct(), 1 passed in /var/www/html/elmtup/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 121 and exactly 2 expected
.
Integration test memory consumption has been reduced, which improves test performance and reduces the time required for test completion.
July 28, 2020
Added support for Adobe Commerce 2.4.0.
Storefront Order Search, with added thanks for contribution by Marek Mularczyk from Divante and community members.
Purchase Orders are enhanced and rewritten. They are now included by default in Adobe Commerce.
Purchase Order Approval Rules have been implemented. These rules allow users to control the Purchase Order workflow by creating purchasing rules for orders.
Login as Customer is now included by default in Adobe Commerce. This feature allows site employees to assist customers by logging in as the customer to see what they see.
Attribute aggregations are now working correctly for Layered Navigation with Elasticsearch
Searching orders by special characters is now working properly.
Clicking the Clear All Button now expands all the filters, rather than collapsing them.
Product SKU/Name is now included in the Order History search filter summary.
Sorting Indicator is now displayed properly in the My Purchase Orders Grid.
Now, you can click the Approve, Cancel, Reject, and Purchase Order buttons only once. Previously, you could click the button multiple times.
The Purchase Order Approve, Reject, Cancel, and Validate buttons now render correctly on mobile devices.
Previously, approving a Purchase Order with a discount that has expired placed the order at the full amount and did not update the Purchase Order total. Now, the Purchase Order total is updated to show the correct total.
An issue was introduced in 2.3.4 where custom extension attributes would not be copied from the Customer Address to the Quote Address. This issue has been fixed.
With B2B installed, a SQL error would appear when assigning categories to shared catalogs. This issue has been fixed.
Due to an incorrect variable type value, admins could not add configurable products to an order. The option dropdowns would not populate. This feature now works properly.
Previously, when editing Category Permissions for the Not Logged In group, an error would occur when saving the changes. This issue has been fixed.
A fix is added to allow store administrators to add products to an order that are not in the shared catalog. Previously, an error message would appear when adding an item not in the catalog.
Previously, after running the command
php bin/magento indexer:set-dimensions-mode catalog_product_price website
and then trying to create a shared catalog, an error would occur. This issue has been fixed.
When adding a company and assigning the company administrator to a non-default website, the wrong site ID was sent, causing an error. This issue has been fixed.
Previously, after a customer was moved to another customer group, adding a product to an order using Quick Order would fail with an error. This issue has been fixed.
Previously, when attempting to check out using the WebAPI with a B2B quote, an incorrect value was sent to the API, causing an error to occur. This issue has been fixed.
Previously, when setting a company to “Active” via the API, an error would occur. This issue has now been fixed.
Due to an unneeded
form
tag, the order page automatically refreshed when you pressed Enter after changing a proposed shipping charge. This issue has been fixed.
Previously, when setting a product display limit on a catalog page and that limit was less than the number of total products, an error occurred. That feature now works as expected.
Previously, when changing the admin of a company, the original admin address would be copied to the new admin, giving them two addresses. Now, only the correct address is added.
Previously, using the API to save a quote item when backorder is set to “Allowed and Notify Customer” would fail. This API call now works as expected.
The Fixed Product Tax is now displayed on the Quotes detail page.
Previously, clicking an attachment in the Comments tab of the My Quotes page would fail to download the file. This behavior now works as expected.
setup:upgrade
runs, this error occurs on the PurchaseOrder
module: Module Magento_PurchaseOrder: Unable to apply data patch Magento\PurchaseOrder\Setup\Patch\Data\InitPurchaseOrderSalesSequence for moduleMagento_PurchaseOrder
. Workaround: Install the B2B-716 Add NonTransactionableInterface
interface to the InitPurchaseOrderSalesSequence
data patch hotfix, which is now available from the My Account > Downloads section of magento.com
.B2B-709 Purchase Order Discount patch
hotfix for this issue, which is now available from the My Account > Downloads section of magento.com
.