Set up Magento B2B

With the Magento Commerce Cloud Pro subscription for v2.2 and later, you can install and setup Magento Business to Business (B2B) Commerce features. B2B supports merchants whose customers are other companies. This section provides specific information for installing and setting up B2B in Magento Commerce Cloud.

For additional information on using and extending B2B, see the following guides:

We provide these features as a module you can install and setup in Magento Commerce Cloud. Installation of B2B in a Pro project require additional steps to add the module and update your Git branch.

Prerequisites for adding B2B

Prior to adding the B2B module, you should have the following:

  • Upgraded to a Magento Commerce Cloud 2.2.X on your environments
  • A Git branch to add the new B2B module
  • Have your Magento Authentication keys (public and private) available

We provide B2B as a module for Magento. For new Pro projects, we highly recommend having Magento Commerce Cloud fully deployed to Integration, Staging, and Production environments. For more information, see First time deployment. Adding a module as part of your initial deployment could cause issues.

Create a branch to work in

We recommend working in a branch to add the B2B module and features to your implementation. If you have a branch, continue to Add B2B in the cloud.

  1. Log in to your local development system, or switch to, the Magento file system owner.
  2. Change to a directory to which the Magento file system owner has write access.
  3. Enter the following command in a terminal to log in to your project:

    magento-cloud login
    
  4. List your projects. With the project ID, you can complete additional commands.

    magento-cloud project:list
    
  5. If necessary, clone the project to your local. You should have cloned when setting up your local development workspace.

    magento-cloud project:get <project ID>
    
  6. Change to a project directory. For example, cd /var/www/html/magento2
  7. List environments in the project. Every environment includes an active Git branch of your code, database, environment variables, configurations, and services.

    magento-cloud environment:list
    
    magento-cloud environment:list—displays environment hierarchies whereas the git branch command does not.
  8. Fetch origin branches to get the latest code:

    git fetch origin
    
  9. Check out, or switch to, a specific branch and environment. Git commands only checkout the Git branch. The Magento Cloud command also switches to the active environment.

    magento-cloud environment:checkout <environment ID>
    

    To create a new environment, use magento-cloud environment:branch <environment name> <parent environment ID>

  10. Pull any updated code to your local for the environment ID (which is the Git branch):

    git pull origin <environment ID>
    
  11. Create a snapshot of the environment as a backup:

    magento-cloud snapshot:create -e <environment ID>
    

Add B2B in the cloud

You need to add the module to composer.json. All extensions and modules must be added to this file. These instructions are specific to Magento Commerce Cloud. For more information, you can also review the installation instructions in the B2B guide.

  1. Open a terminal application.
  2. Change to your local development environment root directory.
  3. Use a text editor to edit composer.json.
  4. In the require section, add the following:

     "magento/extension-b2b": "*"
    
  5. Save the file.
  6. Update composer to pull all B2B files into your branch.

     composer update
    

    You may be prompted to enter your Magento Authentication keys (public and private). If copying and pasting your keys, make sure no additional spaces are included. Spaces could cause the following error:

     InvalidArgumentException - Could not find package magento/extension-b2b at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability.
    
  7. Add the new B2B files to Git:

     git add setup dev pub lib && git commit -a -m "b2b"
    
  8. Enable all missing modules,including B2B, for updating.

     ./vendor/bin/ece-tools module:refresh
    
  9. Complete the upgrade with B2B using the following command:

     php bin/magento setup:upgrade
    

If you have a config.php file as part of your deployment, you should also add the B2B module in the modules section of the file.

  1. Change to the app/etc directory.
  2. Edit the config.php with a text editor.
  3. In the modules list, add the B2B module.
  4. Save the file and update Git.

     git add -f app/etc/config.php
     git commit -a -m “Add config.php.”
    

Configure and use B2B

For additional information on using and configuring B2B, review the Magento B2B User Guide. To extend functionality, see the Magento B2B Developer Guide.