7.3.4. Implementation examples
Below are examples of ERP connector implementation in a project where there is communication with many different ERP systems.
Order Export
We export orders to 20 providers. Some of them are using FTP/SFTP to exchange files, some of them are using SOAP or REST or even they want to send the orders via EMAIL.
Also, each provider has a specific set of rules (for example orders should be sent in bundle (one file with multiple orders) or only during the work days.
An additional section, “Order Export Configuration” was added to Provider.
INCREMENT FOR EXPORTED ORDERS: The administrator can specify the increment number, to know how many orders were sent to a specific provider.
IS VERIFICATION NEEDED: The administrator can enable/disable additional validation - In this case, Magento sends a request to an external server to check if the file was uploaded correctly and has content.
VERIFICATION CRON SCHEDULERS: The configuration, when validation request should be sent
USED PAYMENT METHOD: In the project, we have different order export configuration, depending on which payment method was selected by the customer in checkout.
BRAND: As in the previous field, there is an option to select a different configuration depending on which brand is assigned to the product
EXPORT STRATEGY: Depending on your provider, orders can be sent as separate requests (or files) or in bundles
CRON SCHEDULERS FOR ORDER EXPORT: Configuration of when and how orders should be sent to an external system
SENDER ADDRESS: The additional address that is added to the exported order
COMMENT (PROVIDER’S MESSAGE FOR ADMIN): In this field, the administrator can store some information about order export
ADDITIONAL CONFIGURATION: If the provider requires some extra data (for example client_id, specific shipping amount), this section can be used. We can add multiple fields and use them in the order of export file content.
Stock Import
We prepared a logic to import stock data from multiple providers. Some of them send stock information via files on the FTP/SFTP servers, some of them send data in CSV/XML/XLSX files via e-mail.
CONVERT MINIMUM ORDER QTY: During stock import, product quantity is divided by the attribute value set in every product
SAVE IMPORT HISTORY: Allows to save information about imports in the database
DISABLE PRODUCTS THAT NOT EXIST IN FEED: If the product doesn’t exist in the stock import file, it will be disabled
UPDATE ONLY PRODUCTS THAT EXIST IN FEED: Only products that exist in the stock import file will be updated
IF CALCULATED QUANTITY IS > 0, SET STATUS “ENABLED”: If the calculated quantity is bigger than 0, the product status should be set to “Enabled”
SET STOCK STATUS BASED ON VERIFY STOCK QTY: In some cases, stock status should be set to “Out of stock” even if the calculated quantity is > OUT OF STOCK QTY
ADDITIONAL CONFIGURATION: This section allows to set additional data is needed for some providers
CONDITIONS: It allows to set rules, that will be used during the stock import process
CRON SCHEDULERS: Configuration of when and how orders should be sent to an external system
COMMENT (PROVIDER’S MESSAGE FOR ADMIN): In this field, the administrator can store some information about order export
Order Tracking Import
Tracking information is provided by external systems. Magento imports this data, adds it to orders and sends notifications to customers.
IS TRACKING ENABLED: Option to enable/disable tracking import for a specific provider
SAVE IMPORT HISTORY: Allows to save information about imports in the database
CARRIER: Providers use different carriers (for example Post, DHL, UPS) and in this field, the administrator can specify which carrier should be used for the provider
VALIDATE TRACKING NUMBER: In some cases, Magento validates the tracking number
MINIMUM (INVALID) ITEMS COUNT FOR GIVEN PERIOD: Custom validation was implemented, we have information when in a specific time less than X tracking numbers were imported.
MINIMUM DAYS FOR CHECK SINCE DATE CHECK: In this field, the administrator can specify the time, used in the previous field
CRON SCHEDULERS: Configuration of when and how orders should be sent to an external system