Magento 2 SAP Business One Integration: How to Synchronize Shared Catalogs Between The Two Systems
The following article goes on with our exploration of the Magento 2 SAP Business One integration. This time, we focus on shared catalogs – a B2B entity of Magento 2. Below, you will discover how to transfer shared catalogs from Magento 2 to SAP Business One. Before going any further, let’s see how the entity is represented in both system integrations.
Get SAP Business One Integration Add-on for Magento 2
Table of contents
- 1 Magento 2 Shared Catalogs
- 2 Shared Catalogs in SAP Business One
- 3 How to Synchronize Shared Catalogs Between Magento 2 and SAP Business One
- 4 Magento 2 Integration with Other Systems
The first thing we’d like to draw your attention to is that shared catalogs are exclusively available in Magento 2 Commerce. It is a B2B entity that is not represented in Open Source by default. So, what do we consider under the Magento 2 shared catalogs?
This entity represents an alternative list of products available on your storefront with custom pricing for different companies. Thus, there is a master product catalog and its variations.
You need to turn on the Shared Catalog feature in the configuration to enable the corresponding functionality. It hides the original master catalog from the storefront. However, it remains visible in the Admin. As for the frontend, only the default public shared catalog is displayed there. In addition, you can create custom catalogs shown only to members of specific company accounts.
You can find the Shared Catalogs grid under Catalog-> Shared Catalogs. It contains records that are currently in existence. You can add, edit, or delete shared catalogs on this page.
Magento 2 introduces two ways to create a shared catalog. Firstly, it is possible to create a new shared catalog from the corresponding backend page. Secondly, you can duplicate an existing shared catalog and apply changes to it.
Note that in the first case, a newly created shared catalog contains no products. At the same time, it is not assigned to a company. However, Magento 2 automatically creates a customer group of the same name to simplify how you set a company to the shared custom catalog.
If you create a public catalog, Magento 2 automatically assigns it to guests and customers who are not associated with a company.
Now, let’s focus on setting up the pricing and structure of a shared catalog in Magento 2. It is a two-step process illustrated by a progress bar at the top of the page. Firstly, you select products. Secondly, you configure pricing options. You can switch between the two screens anytime without losing any work.
Last but not least, we need to say a few words about the catalog scope associated with shared catalogs of Magento 2. From the perspective of the standard category tree, the topmost container is referred to as Default Category. As for shared catalogs, they modify the existing category tree with an additional outer box – Root Catalog, which encompasses all other category structures available in the system.
SAP Business One lets you create numerous price lists (consider them as shared catalogs) that are updated automatically every time a base price list is edited.
The system lets you generate price lists based on customer groups. We’ve just described that Magento 2 Commerce treats shared catalogs similarly, creating a corresponding customer group.
Also, note that in SAP Business One, each B2B partner is assigned to at least one shared catalog. You can see this information in the business partner master record.
Although SAP Business One offers ten price lists, you can add more if necessary.
A price list has the following look:
SAP Business One offers the Product Catalogs view, providing a central location for managing product catalogs. Here, the system lets you create new product catalogs as well as edit the existing records.
Now, when you know that price lists and customer groups of SAP Business One represent shared catalogs of Magento 2, let’s see how to synchronize the entity between the two systems. Note that neither Magento 2 nor SAP Business One enables you to do that by default. Due to the limitations of the two systems, it is necessary to edit data files heavily before importing them. Therefore, pay attention to third-party integrators that dramatically simplify daily duties related to the Magento 2 SAP Business One integration. For instance, you may leverage the SAP Business One Integration Add-on for Magento 2.
The add-on’s role in the integration is significant: it lets you apply all the necessary configurations to the integration, automating various routine processes associated with it. The tool makes the data synchronization possible, enabling the Magento 2 SAP Business One integration.
The tool streamlines the SAP API to establish a path between the two systems. The transfer of shared catalogs and other entities is reduced to the following few steps:
- Purchase and install the SAP Business One Integration Add-on for Magento 2.
- Configure the tool on your Magento 2 store (ask our specialists to do that).
- Transfer customer groups to synch shared catalogs – custom product listings per customer group with special prices.
- Configure other integration parameters (our specialists are under your disposal too).
Let’s explore how to move customer groups to illustrate the simplicity of synchronizing shared catalogs between Magento 2 and SAP Business One.
Create a new export job and type its title. Configure the frequency of transfers: choose a predefined interval or apply a custom one. Specify the language of your transfer in the Locale field.
Now, proceed to the Export Behavior tab. Here, you can select SAP Products (or SAP Customers) to enable the transfer of shared catalogs. Note that the extension transfer customer groups along with customers.
The Export Settings section lets you specify the entity that you are going to synchronize. Choose Products or Customers in the Entity field.
The Improved Import & Export also offers a mapping section to prevent conflicts related to the Magento 2 attributes that are not supported in SAP Business One. With the add-on, you can specify Magento 2-related designations and select replacements suitable for SAP Business One in a user-friendly manner.
Under the Export Source tab, provide the information necessary to connect your Magento 2 store to SAP Business One. For instance, your integration may require the following parameters:
The form above delivers the following information to the API endpoint:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="LoginService">
Below, you can see an example of an API endpoint URL:
As a result of the manipulations described above, you get the following response with a SessionID parameter as a core of the Magento 2 SAP Business One integration:
In addition to shared catalogs, you can also move the following entities between Magento 2 and SAP Business One:
- Products. The add-on allows you to synchronize the full product catalog between the two systems, including all product types, categories, attributes.
- Orders. You can move this entity along with statuses, credit notes, invoices.
- Customers. Sync customers with all the data related to the entity between Magento 2 and SAP Business One.
- B2B Entities. Various entities available in Magento 2 Commerce are also supported. In addition to shared catalogs, the add-on enables you to move negotiable quotes, discounts with special prices, requisition lists, custom product listings, and B2B company accounts with full structure.
Magento 2 Integration with Other Systems
Although the SAP Business One Integration Add-on is suitable for only one integration, Improved Import & Export can be used for numerous connections. It acts as a basis for many more add-ons, including MS Dynamics Integration Add-on, WooCommerce Migration Add-on, Banggood Dropshipping Add-on, etc. However, you can utilize it as a standalone tool, leveraging the following features.
Automated Data Transfers
You can streamline the Improved Import & Export module to automate data transfers. The module offers two separate approaches based on schedules and triggers. In the first case, you leverage cron to launch data transfers according to the chosen period. Alternatively, creating a custom schedule is possible. The configuration of this feature looks as follows:
As for triggers, the Improved Import & Export extension provides the ability to create a system of rules to follow. If the specified conditions are met, the module launches a data transfer.
Now, we’d like to focus on the mapping opportunities the Improved Import & Export extension offers. Since the spectrum of data you need to match to enable a successful transfer is quite broad, our module delivers a vast set of tools that dramatically simplify data transfers eliminating issues associated with different data storing standards. It enables you to apply the necessary changes automatically or manually right in the Magento 2 backend with the aid of the following mapping features:
- Presets are the most intuitive and fastest way to eliminate conflicts. You only need to choose one suitable for your integration. Next, the Improved Import & Export will match Magento 2 attributes to the ones used in the connected system;
- Manual Matching is a reliable alternative way to achieve the same goal. You can choose Magento 2 attributes and specify the corresponding designations from the interconnected network. The same approach can be applied to attribute values;
- Attribute Values Editing is another feature that simplifies your work with imported data. The Improved Import & Export Magento 2 plugin lets you apply editing rules to multiple records in bulk. Thus, you can effortlessly combine or merge attribute values as well as create and add suffixes and prefixes to them;
- Filters help you narrow down the selection of data you move from Magento 2 to connected systems. You can make them on the basis of attributes and attribute values;
- Category Mapping is a feature that enables you to match product categories or create new ones right when you import data to Magento 2;
- With Attributes On The Fly, you can recreate attributes and values that are not available in the provided data scope.
Extended Connectivity Options
Improved Import & Export extends the existing connectivity options standard for Magento 2. While the system works with CSV and XML files only, our extension also adds support for several more file and archive types. Thus, it lets you work with ODS, JSON, and Excel files and knows how to unpack them automatically.
Additional data sources are also among the critical perks of our extension. First of all, you can move data files using a local or remote server. At the same time, a bunch of alternative sources is under your disposal. Thus, you can transfer information between Magento 2 and other systems via cloud storage options or direct file URL downloads. If your partners store data in Google Sheet, feel free to import the information right from the popular service:
However, such complex connections as the Magento 2 SAP Business One integration require more potent instruments. Therefore, the data synchronization between the two platforms is based on the API. The Improved Import & Export module lets you implement this approach with no additional tools or services. Thus, you can establish API-based integrations with any platforms in a few clicks.
Please, contact our support for further details about the synchronization of shared catalogs between Magento 2 and SAP Business One. Since we always improve our tools, the data transfer algorithm described above may be slightly different but more user-friendly. Also, you can dig up more information about our import/export solutions here:
Get Improved Import & Export Magento 2 Extension
Get SAP Business One Integration Add-on for Magento 2