With this interface you can connect Xentral with Shopify to import orders from there into Xentral and manage your items sold in the shop in Xentral. The connection is made via an API interface (Shopimporter). Creation and sending of delivery notes and invoices is handled via Xentral, as well as returns management. Updated order statuses, tracking numbers of shipped deliveries and stock numbers of product are automatically reported back to the shop by Xentral via process launcher.
Note
We do not currently support the new features of Shopify Online Shop 2.0. Among other things, the improved meta fields cannot be addressed at this time. Currently we cannot guarantee an exact time frame for implementation, but we will inform you via newsletter as soon as these features are supported.
-
Pick up orders
-
Change order status on shipment incl. reporting of tracking number to Shopify
-
Synchronization of current stock numbers in case of stock changes
-
Feedback of cancellations to Shopify
-
Export products from Xentral to Shopify and import from Shopify to Xentral, including variant and matrix products
-
Export product properties and free fields to Shopify
-
Reporting of current stock numbers
Note
No product tags can be submitted when exporting products from Xentral to Shopify.
There is currently no way to transfer partial orders to Shopify with the respective tracking number for each execution. Only one entire order can be marked as completed and the tracking number reported back to Shopify. However, you can send your shipping confirmations via Xentral so that a separate mail is sent for each partial order.
You can find information on how to connect Shopify with Xentral and configure your shop interface in the following articles:
Information about this tab can be found here.
The payment methods used in the shop orders are automatically imported to Xentral. If a payment method is not known, it will be created in the interface under Details > Payment methods and can then be linked to a stored payment method in Xentral.
For more information on payment method mapping, see the Online Shops article. The type name for Shopify Payments is shopify_payments.
You can find information about this tab here.
Free fields for Shopify are processed and end up in the meta fields in different namespaces:
"global": if the free fields belong to a normal item.
"variant": when the free fields belong to a variant.
The mapping of the free fields determines the name of the meta field where the value is stored. You can find more information about this in the Meta fields section.
Subshop mapping in the interface is not currently available for Shopify, but must be done through two separate store importers and two private Shopify apps.
Information about this tab can be found here.
You can learn more about using Smarty in this help center article: Smarty at Shopimporter.
It causes errors when you import the following products from Shopify to Xentral.
-
Products in draft mode
-
Products without SKU
To learn how to import products from Shopify to Xentral, click here.
A special feature of Shopify is that if you export a product that has variants in Shopify that are not created or linked correctly in Xentral, those products will be deleted in Shopify.
For more information on how to export products from Xentral to Shopify, click here.
Learn how to synchronize stock numbers here.
Importing orders from online shops is described in this article.
Currently, by default, Shopify only imports orders with the status "paid", which do not have the status "shipped". Often orders are paid in the same process, for example with PayPal. To avoid double billing you should define uniformly per payment method whether the payment processing is already done in Shopify or in Xentral. The settings are to be made in the payment method mapping.
You can also import sales order with the status "pending payment" by selecting the check box also pick up Pending Payment.
The option "Apply options in Shopify to item description on import" allows you to apply property options, e.g. personalization on import, to the item description of the order.
In some cases not all orders can be imported from Shopify to Xentral. This problem can occur e.g. in case of network problems. To make sure that all orders have been imported, starting with Xentral version 22.3 there is the possibility to compare the orders available in Shopify with those in Xentral. For the comparison the orders of the last 7 days are used.
To start the comparison, proceed as follows:
-
Open the Shopify API Advanced module
-
Click on Compare Sales Orders in the Action column on the right side
-
Click Compare in the dialog box
After the comparison is complete, you will be told how many orders were checked. If not all orders could be imported, the Shopify order IDs of the missing orders will be listed. These must then be imported manually.
If a large amount of orders (>250) are to be checked, the process may take a while. By clicking on the Refresh button the current progress can be viewed. Since the process runs in the background, the dialog box can also be closed and work with Xentral can be continued during this time. If the dialog box is then opened again, the current progress is displayed.
If you have enabled the "Report cancellations" option in the settings, then cancellations of orders from Shopify will be reported to Shopify. Cancellation reporting only sets order status to "Canceled" in Shopify, as credit payout can go through Xentral. The payment status remains at "Paid." Refund will not run automatically through Shopify.
The cancellation email from Shopify will not be triggered. Partial cancellations or subsequent discounts are not honored.
This is what the canceled order will look like:

Shipping costs are automatically imported with the order import to Xentral.
In Xentral orders with shipping costs are supplemented with a postage item and its price. You can define the product to be used as postage item from the product master in the interface in the settings tab. Postage free orders will also be imported with the postage item, but this item will then get a price of 0,00 EUR, so the order is postage free for the customer.
Xentral transfers the product category information to Shopify. There, the category is created as a product type (All Products > Edit Product).

This gives you the possibility to build and structure your categories in Shopify in a flexible way. The assignment to the category is then done via the correct assignment of the product type (Categories → Edit category).

To properly map the products coming from Shopify to the Xentral products, you need to create the ProductID, VariantID and SKU as external number (Master data > Articles > Foreign numbers) in the product master of Xentral. The SKU from Shopify is always needed for variants as well as parent products and normal products. Additionally, this mapping is important for product export and import from Xentral to Shopify.
For products without variants, the shopifyproductid must be maintained with the product. This will appear when you call the product and copy the highlighted area from the URL into the browser.
Additionally, you should also maintain the SKU (item number) of the product in the external number mapping in Xentral.
Shopify URL

View in Xentral

For products with variants you have to distinguish between parent and child products. For parent products you have to maintain the shopifyproductid (green box).
For child products you have to maintain the shopifyvariantid (blue box) and SKU (item number).
Shopify URL

View in Xentral

The "Location" named in Shopify is identical to the warehouse in Xentral. The location is important to report the stock correctly.
To do this, you must first correctly define or create the warehouse in Shopify. Then you have to select which warehouse stock the location should run on. By clicking on the "Check Connection" button, the connection will be read into Xentral and a comparison of the stock in Xentral with the stock in Shopify will take place.
Unfortunately, it is currently not possible to use the same credentials for two stores.
Note
You must fill out the warehouse location, it is a mandatory field or a basic requirement for the comparison of the warehouse numbers. If you do not fill it in, the matching of the stock in Xentral with the one in Shopify will not work.

You can create products as gift cards in Shopify to represent amount reductions in orders through gift cards. These can be transferred to Xentral during order import.
If the gift card is not automatically picked on Shopify and imported to Xentral, the gift card must be sent manually. If it is automatically picked, it will no longer be imported to Xentral.
In Xentral, the product must not be a stock product. Non-stock products can be hidden on the delivery note if desired.
Alternatively you can also check the Pick up partially shipped orders box. This will pick up the orders but without the voucher. This leads to the fact that the payment amount does not correspond to the order amount in Xentral. Therefore you should use this constellation only in exceptional cases.

For gift cards no product needs to be created in Xentral. The customer either orders via a specific link and gets the discount at checkout or enters the gift card/discount code at checkout. There are different approaches to what amount arrives in Xentral via Shopify Payments. The live import of the order creates the debtor in Xentral and the product (in this case: gift card) is also transferred. We automatically pull the Shopify Payments report so we have that in Xentral as well. Our partner nxtgen Digital has built a solution that recognizes gift cards within Xentral and also settles them correctly.
The meta fields in Shopify are similar to the properties of an product from Xentral.
However, with some exceptions, meta fields are not visible without additional tools. From a technical perspective, meta fields consist of a key, a value, a type, and a scope.
-
Key: The key specifies the name of the meta field, in the example the blue metatitle_en.
-
Value: The value is the content of the meta field. In this example "Meta DE".
-
Type: The type specifies whether the content of the meta field is a text (string) or a number (integer). By default Xentral creates all meta fields as text.
-
Scope: The scope specifies how far the information of the meta field extends. For products with multiple variants, a meta field with scope global means that the value is the same for all variants of the product. A scope of the setting variant means that the meta field has its own value for all variants. In this example the gray global
In Xentral in the product master, the meta title can be filled in the texts and descriptions area, for example.

When the product is exported to Shopify, the meta title looks like this. In Shopify this interface can be displayed through additional apps.

Meta fields do not need to be created additionally in Shopify. If a value is transferred to a meta field that does not yet exist, the importer takes care of everything.
Example: The meta field "Color" is to be created/transferred for a product and the value to be transferred is "Pink". Then it is sufficient to store the data in the product.

The prerequisite is that the Transfer properties option is activated in the shop interface.

For variants, the transfer to meta fields works the same way. For the respective variant, you create a property and enter a value. The only difference is that properties created for variants are given the scope variant. This means that each variant in the meta field has its own value.
Some meta fields are predefined by Xentral. For these fields, master data is transferred from Xentral to meta fields in Shopify.
Field in Xentral |
Key / Field name |
Scope |
Zolltarifnummer |
harmonized_system_code |
global |
Metatitel DE |
metatitle_de |
global |
Metabeschreibung DE |
metadescription_de |
global |
Meta Keywords DE |
metakeywords_de |
global |
Artikelbezeichnung EN |
title |
ml_en |
Artikelbeschreibung EN |
description |
ml_en |
Metatitel EN |
meta_title |
ml_en |
Metabeschreibung EN |
meta_description |
ml_en |
Meta Keywords EN |
metakeywords |
ml_en |
The scope ml_en is created directly by Xentral. Shopify gives you the option to create any scope you want. In order to collect the data for the English translation centrally, Xentral creates its own scope for this purpose.
Alternatively meta fields can also be transferred to Shopify via free fields. In this case you have to set the free field mapping in the importer.

To translate meta fields as well as the contained values into other languages, you can create a property in Xentral for this purpose also for another language (e.g. French).

During the product export two new meta fields are created in Shopify.
The upper meta field contains the translation of the property value. The scope indicates from which language to which was translated. The key is "Pink", the translation is the value of the meta field. The lower meta field contains the translation of the property name. The scope again indicates from which language to which was translated. It is preceded by a k.

With free fields the translation is realized differently. Here the scope is either global, if a simple product is transferred, or variant, if several variants are transferred. The key changes according to the set language.

In general we recommend performing native product maintenance in Xentral, as image transfer from Xentral to Shopify works fine. However, it is also possible to transfer product images from Shopify to Xentral. It may happen that the transfer does not work for individual product images. If such a case occurs, you can delete the images, re-import them into Xentral and export them to Shopify once more from there.
Note
The Shopify importer always imports the delivery address as well as the billing address even if they are identical. Xentral does not check if it is the delivery address is the same as the billing address.