Commerce B2B Release Notes

The release notes for the B2B extension captures additions and bug fixes that Magento has added during a release cycle. These release notes can include:

  • New features
  • Fixes and improvements

Magento B2B - Version 1.3.1

  • 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. GitHub-302

  • Magento now displays the Requires My Approval tab correctly for purchase orders when a split database configuration is deployed. GitHub-259

  • Magento now displays details about bundle products and gift card when you view purchase orders. GitHub-213

  • 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 My account page in deployments with a B2B company hierarchy that contains many customers (greater than 13000). Previously, order history loaded very slowly or not at all, and Magento displayed a 503 error.

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

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

  • Magento 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 Magento 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, Magento logged an error in var/export/{file-id}.

  • Magento 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, Magento displayed this error: 1 product(s) require your attention - Options were updated. Please review available configurations. GitHub-59

  • The correct store view is now associated with the relevant website when you create a new company in a multi-site deployment. Previously, you could not create a company, and Magento 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, Magento now displays a message prompting you to enter valid SKUs.

  • Magento 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 Magento 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//items) as expected. Magento 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, Magento did not add the product to the shopper’s cart and threw this error: No such shared catalog entity.

  • Magento now sends new company user registration emails from the Magento store’s address. Previously, this email was sent from the company administrator’s address.

  • Magento 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. GitHub-29990

  • The Company and Job Title fields on the Edit Account Information page are no longer editable. GitHub-312

B2B known issues

Issue: 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 subsequently remove the code or gift card. Even under those conditions, Magento 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.

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

Issue: Magento 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. Workaround: None.

Issue: 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 may receive a discount that they are not entitled to. This occurs because a cart rule for the original payment method is still applied despite the change in payment method. Workaround: None. See the Magento 2.4.2 B2B known issue: discount remains for online Purchase Orders after payment method is changed Knowledge Base article.

Issue: The deleteRequisitionListOutput query returns details about the deleted requisition list instead of the remaining requisition lists.

Magento B2B - Version 1.3.0

This release includes improvements to order approvals, shipping methods, shopping cart, and logging of Admin actions.

  • 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: CompanyNegotiableQuoteCompanyCreditSharedCatalog.

  • Magento 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 automatically changed for a customer who is assigned to a Company when you edit the customer on the Customer grid.

  • When a merchant creates a new 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 has been 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.

  • Magento 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 Magento 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 new 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 tab (Admin Stores > Configuration > General ) 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, Magento 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.

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

  • Magento now uses the correct sender name on email notifications when changes are made to company accounts. Previously, Magento 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 in deployments where Access Restriction is enabled and Restriction Mode is set to Sales: Login Only. Previously, Magento threw this error when a merchant tried to create a user: Can not register new customer due to restrictions are enabled.

  • Magento no longer resets a customer’s customer group to the default when a customer saves their account information.

  • Magento no longer throws a fatal error when an administrator assigns a customer who has an active shopping cart to a customer group.

  • Magento 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, Magento displayed this error: 1 product(s) require your attention - Options were updated. Please review available configurations.

Magento B2B - Version 1.2.0

  • Storefront Order Search added thanks to contribution by Marek Mularczyk from Divante and community members.
  • Purchase Orders have been 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 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
  • Search orders by special characters is now working properly.
  • Clicking on 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. This now works correctly.
  • A bug was introduced in 2.3.4 where custom extension attributes would not be copied from the Customer Address to the Quote Address. This bug has been fixed.
  • With B2B installed, a SQL error would appear when assigning categories to shared catalogs. This bug 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 bug has now been fixed.
  • A bug has been fixed that now allows admins 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 bug has been fixed.
  • When adding a new company and assigning the Company Administrator to a non-default website, the wrong site ID was sent, causing an error. This bug has now been fixed.
  • Previously, after a customer was moved to another customer group, adding a product to an order via Quick View would fail with an error. This bug has now been fixed.
  • Previously, when attempting to checkout using the WebAPI with a B2B quote, an incorrect value was sent to the API, causing an error to occur. This bug has been fixed.
  • Previously, when setting a company to “Active” via the API, an error would occur. This bug has now been fixed.
  • Due to an unneeded form tag, the page would refresh when you press Enter after changing a proposed shipping charge. This 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 on an attachment in the Comments tab of the My Quotes page would fail to download the file. This behavior now works as expected.

Known Issues

  • Magento throws an exception during upgrade to B2B 1.2.0 in a multi-website deployment. When 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.
  • If a discount code expires before a Purchase Order (PO) is approved, the PO continues to display the discounted amount, but once the PO is approved, the order is placed at the non-discounted total. Workaround: Install the B2B-709 Purchase Order Discount patch hotfix for this issue, which is now available from the My Account > Downloads section of magento.com.
  • If items in a purchase order are out-of-stock, or of insufficient quantity when the purchase order is converted into an actual order, an error will occur. If backorders are enabled, the order will be processed normally.