Product Specification

The Bexio connector is a two-way connector between Magento 2 and Bexio application. Its aims for seamless integration between both apps and keeping their customers, products and order details synced. This connector is used for keeping the order, product and customer updates and details synced between Bexio and Magento. The customers and orders created in the Magento 2 get synced to Bexio through APIs and vice-versa.

Installation Steps (if purchased via adobe marketplace, please install via composer)

To install the Bexio Extension for Magento 2, follow the steps below. 

1) Download the extension. 

2) Access your web server directories and unzip and upload the content of the zip file to app/code/Pits/Bexio directory. 

3) Run the following commands from the SSH terminal of the server to complete the installation. 

    1. Enable the module - php bin/magento module:enable Pits_Bexio 

    2. Update the database schema - php bin/magento setup:upgrade 

    3. Generate and pre-compile classes - php bin/magento setup:di:compile 

    4. Deploy static files - php bin/magento setup:static-content:deploy 

    5. Clear the cache – php bin/magento cache:flush 

Features

  • Order syncing from Magento to Bexio and vice versa. 
  • Products syncing from Magento to Bexio and vice versa including inventory. 
  • Contact/customer syncing from Magento to Bexio and vice versa. 
  • Invoice creation in Bexio when invoice created in Magento. 
  • Shipping creation in Bexio when shipment is created in Magento 

Admin Panel Configuration

Navigate to Admin > Stores- >Configuration > Pits Extension > Bexio 

 Figure 1 – Bexio Settings – Configuration 

Figure 1 displays the admin configurations of the extension, these settings are categorized into four groups, each containing specific fields. The General Settings encompass the following fields 

  • Module Enable – Enable / Disable module. 
  • Api Key – create api key from bexio app. 
  • Select Users – Select the appropriate users in Bexio. 

 Figure 2 – Bexio Settings – General Settings 

The Customer Settings encompass the following fields. 

  • Create API URL – This is the end point for customer API in Bexio, already populated by default. This can be changed if any changes in API end point. 
  • Contact type – Select type either Company or Private. 
  • Enable Bexio to Magento Sync – This setting will decide whether to Sync customer data from Bexio to Magento or not. 

 Figure 3 – Bexio Settings – Customer Settings 

The Product Settings encompass the following fields 

  • Create API URL – This is the end point for product API in Bexio, already populated by default. This can be changed if any changes in API end point. 
  • Enable Bexio to Magento sync – This setting will decide whether to Sync product data from Bexio to Magento or not. 
  • Select Tax for Bexio Products – Select tax rate for bexio products while syncing from Magento to Bexio.
  • Default Tax Class for Product – Select the tax class for magento products which will take when syncing from Bexio to Magento. 

 Figure 4 – Bexio Settings – Product Settings 

The Order encompass the following fields 

  • Create API URL This is the end point for order API in Bexio, already populated by default. This can be changed if any changes in API end point. 
  • Header – Header message shown in bexio order template. 
  • Footer – Footer message shown in bexio order template. 
  • Template – The template which is used for order. 
  • Select Tax- Choose tax which merchant want to set for an order. 
  • Enable Bexio to Magento sync – This setting will decide whether to Sync order from Bexio to Magento or not. 
  • Shipping Method – Choose the shipping method to use for orders to sync from Bexio to Magento and it will be checking order shipping product in Bexio and based on that, will set shipping method in Magento. Please see constraints section to know more on this. 
  • Payment Type: Payment method to set when syncing from Magento to Bexio. 
  • Bexio Email Subject: Email subject of Bexio invoice email. 
  • Bexio Email Content: Bexio invoice email content. 
  • Attach Pdf: Option to attach PDF in Bexio invoice mail. 
  • Currency: Use the selected currency to sync order 

 Figure 5 – Bexio Settings – Order Settings. 

Workflow

1) Customer Sync 

Whenever a customer is created in Magento shop frontend, the customer details will get synced to Bexio 

 Fig 6– Customer creation in magento 

 Fig 7 – Bexio customer 

Customer address field will get updated in Bexio only while editing address in Magento. 

2) Bexio to Magento Customer Sync 

The Bexio contact will get synced on Magento store as customers on running the cron job. To add contacts login to Bexio dashboard and click on contacts in navigation. 

 Fig 8 - Bexio customer create 

 Fig 8.1 Bexio customer create 

 Fig 9 – Bexio customer Sync 

Note: When deleting customers from Magento the Bexio customer will also get deleted by webhook. 

3) Product sync 

Add a product in Magento backend, and the product will be created in Bexio app with basic information required for Bexio product. 

 Fig 10 – Product create 

 Fig 11 – Bexio Product 

4) Product Deletion 

When you delete the product from Magento backend the same product will also deleted from Bexio. 

5) Bexio to Magento Product Sync 

The Bexio products will sync to Magento store based on scheduled cron job. To add products in Bexio, log in to Bexio dashboard and go to the products. 

Note: The Bexio connector cron jobs will be executed only if Magento default cron is set up in the shop. 

Note: The Magento product tax class will be taken from Bexio configuration. 

 Fig 12 – Tax Config for syncing from Bexio to Magento 

 Fig 13 – Bexio product grid 

 Fig 13.1 Bexio product management page. 

 Fig 14 – Bexio product reverse sync 

After creating product in Bexio, based on the scheduled cronjob, product will be synced to Magento 

6) Order Creation 

Place an order from Magento store. 

 Fig 15 – Magento order 

 Fig 16 – Bexio order 

When placing order from Magento store it will be synced in Bexio app. 

If there any currency difference the admin will notify by a message in sales order view page in the backend 

 Fig 16.1 - Bexio Notification 

Note: The order cancellation will not support in Bexio 

1.1) Shipping Product 

While adding API key in Magento admin, default shipping product will be created in Bexio in-order to save the shipping amount in order 

 Fig 17 – Bexio shipping product. 

1.2) Tax Configuration 

Go to Magento admin -> Store-> Tax rule and Rates -> Add Tax zone and Tax rate. 

 Fig 18 – Magento tax configuration 

Note: The Tax rate in Magento should be configured same as in Bexio. Otherwise, there will be chance for variation in the order total. 

7) Invoice 

 Fig 19 – Invoice 

Go to sales order in Magento backend and submit invoice. At the same time, invoice will be created in Bexio for the same order 

 Fig 20 – Bexio invoice 

8) Shipment 

 Fig 21 – Shipment 

Go to Magento sales order in the backend and create shipment. At the same time, shipment will be created, and order status will be updated to “Done” in Bexio for the same order 

 Fig 22 – Bexio Shipment 

9) Bexio to Magento Order Sync 

Login to Bexio dashboard then click on Sales->orders and create an order. 

 Fig 23 - Bexio order create 

 Fig 23.1 – Bexio order create 

Select products you want to purchase and then click on the import product button 

 Fig 23.2– Bexio order create 

 Fig 23.3 Bexio Order Create 

This order will be synced to Magento based on the scheduled cronjob. 

Note: 

  • Once order syncing is done. The Bexio order edit will not update in Magento. 
  • If there is no shipping product in Bexio order, the Magento will take shipping method from Bexio configuration. 

Bulk Action

Customer Bulk Action 

In-order to sync all existing customer to Bexio we have custom command to do the same 

php bin/magento bexio:customer_sync 

Also, from admin customer grid also we provide mass action to sync customer to Bexio 

 Fig 24 

Product Bulk Action 

In-order to sync all existing Product to Bexio we have custom command to do the same. 

php bin/magento bexio:product_sync 

Also, from admin Product grid also we provide mass action to sync product to Bexio. 

 Fig 24 .1

Order Bulk Action 

In-order to sync all existing Order to Bexio we have custom command to do the same. 

php bin/magento bexio:order_sync 

Also, from admin Order grid also we provide mass action to sync order to Bexio. 

 

 Fig 24.2 

API Key Generation

Go to https://office.bexio.com/index.php/admin/apiTokens#/ and click on “Generate token”. 

 Fig 25 – Token generation 

Constraints, assumptions & dependencies

1) Customer Integration 

  • In Bexio, customer address will update only when editing customer address from Magento. 
  • When you change the customer’s country from address it will only reflect in Bexio if any matches the country in Bexio, otherwise default country “Switerland” will take. 

2) Order Integration 

  • Magento’s order increment id set as the title of order and invoice in Bexio. 
  • In Bexio, there is no shipping method. So, we create a default shipping product in Bexio and save the corresponding shipping amount to it. 
  • The tax rate should be same in both Magento and Bexio. 
  • When syncing from Bexio to Magento, cash payments are taken as COD and other payments are marked as Money Order. 

3) Product Integration 

  • Only relevant fields are synced in Bexio. 
  • Shipping products from Bexio are not synced in Magento. 
  • Only new products are synced from Bexio to Magento. If you edit Product data and make any changes in Bexio, it will not reflect in Magento. Admin will have to manually update in Magento. 

Technical Requirements / Compatible with:

  •  Magento Open Source 2.4.x 

Supported Languages

  •  English, German, French 

Change Log / Release Notes

 Version: 1.0.0: April 2024 

  • Initial version 

Support

 If you have questions, use our contact form at webshopextension.com or email at support@webshopextension.com