Table of Contents
- Interface features
- Connection in Shopify
- Connection in xentral
- Import orders to xentral
- Shipping costs mapping from Shopify
- Payment method mapping from Shopify
- Category transfer from xentral to Shopify
- Article mapping according to xentral
- Locations in Shopify
- Shopify coupon articles
- Tracking E-Mail in Shopify
- Metafields in Shopify
With this interface you can connect xentral with Shopify to import orders from there into xentral and manage your items sold in the store in xentral. The connection is done via an API interface (Shopimporter).The creation and sending of delivery bills and invoices is handled by xentral, as well as returns management. Updated order statuses, tracking numbers of shipped deliveries and stock figures of the articles are automatically reported back to the store by xentral via process starter.
- Pick up orders
- Change order status on shipment incl. reporting tracking number to Shopify
- Synchronize current stock numbers when inventory changes
- Feedback of cancellations to Shopify
- Export items from xentral to Shopify and import from Shopify to xentral, including variant and matrix items
- Export item properties and free fields to Shopify
- Reporting of current stock numbers
Note: No product tags can be submitted when exporting items from xentral to Shopify.
Connection in Shopify
To connect Shopify and xentral, you first need to find or create the API key on Shopify. To do this, first log in to your Shopify backend as an administrator.
Then click on Apps on the right. Then go to Manage private apps.
To create a new key, click Create new private app in the upper right corner. After you press Save, you will see the new API credentials.
Set permissions for xentral app
You may be asked to set a status to allow the interface to xentral certain functions.At least the following areas of read and write permissions must then be set:
- Store content like articles, blogs, comments, pages, and redirects
- Customer details and customer groups
- Orders, transactions and fulfillments
- Products, variants and collections
Important: Please note that the xentral app in Shopify needs to be granted additional rights if a higher level of functionality is desired. For example, listing items from xentral to Shopify requires read and write permissions in the 'Product information' section; creating credit notes requires full permissions in the 'Draft orders' section.
In case of doubt, it is advisable to grant all rights in question so that the interface can work without restrictions.
Connection in xentral
Under Administration → Settings → Online Shops → NEW a new store can be created and the Shopify module can be selected.
After you have selected Shopify, you can enter the necessary data for the connection of the two systems in the next step. You received the API key and password in the Shopify backend when you created the app for the interface.
- Shopify URL → Mostly in the form of https://your-domain.myshopify.com
- Shopify API-Key
- Shopify Password
Note: For Shopify URL, Shopify API key and Shopify password, the access data from Shopify must be entered. The Shopify token must not be entered. It is automatically entered there when you click on "Check connection".
Once the data has been entered, the connection between the two systems can be tested using the "Check Connection" button. To test the connection, there should be at least one order in Shopify that meets the criteria for pickup to xentral, as xentral may perform the connection test using a simulated order pickup request.
Import orders to xentral
Importing orders from online stores is described in this article.
Shopify currently only imports orders with the status "paid" that do not have the status "shipped". Often the orders are paid in the same process, for example with PayPal. To avoid double billing, it should be uniformly defined 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.
The option "Apply options to item description in Shopify on import" allows property options, e.g. personalization on import, to be transferred to the item description in the order.
If the option "Report cancellation" is enabled in the settings, then cancellations of orders from the store are reported to Shopify. Cancellation feedback only sets status "refunded" in Shopify, as the payment of the credit can go through xentral. The refund does not run automatically through Shopify.
The cancellation email from Shopify is not triggered. Partial cancellations or subsequent discounts are not honored.
This is what the cancelled order will look like:
Because the credit note is created via xentral, the order is marked as "refunding".
Shipping costs mapping from Shopify
The postage costs are automatically imported with the order import to xentral.
In xentral, orders with postage costs are supplemented with a postage item and its price. The article from the article master to be used as postage article can be defined in the interface under settings.postage-free orders are also imported with the postage article, but this article then receives a price of 0.00 EUR, so that the order is postage-free for the customer.
Payment method mapping from Shopify
The payment methods used in the store orders are automatically imported to xentral. If a payment method is not known, it is 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 article Online Shops: Settings.The type name for Shopify Payments is shopify_payments.
Category transfer from xentral to Shopify
xentral transfers the information of the article categories to Shopify. There, the category is created as a product type (All Products → Edit Product).
This gives you the possibility to flexibly build and structure your categories in Shopify. The assignment to the category is then done via the correct assignment of the product type (Categories → Edit category).
Article mapping according to xentral
In order to correctly map the articles (products) coming from Shopify to the xentral articles, the productID must be created in the article master of xentral as a foreign number (Master data → Articles → Foreign numbers), not the SKU! Additionally, this mapping is important for article export and import from xentral to Shopify.
For articles without a variant, the shopifyproductid must be maintained for the article. This appears when the article is called and the highlighted area is copied from the URL to the browser.
Additionally, the SKU (item number) of the item should also be maintained in the foreign number mapping in xentral.
View in xentral
For articles with variants, a distinction must be made between parent and child articles. For parent articles, the shopifyproductid (green box) must be maintained.
View in xentral
For child items, the shopifyvariantid (blue box) and SKU (item number) must be maintained.
Locations in Shopify
The "Location" named in Shopify is identical to the warehouse in xentral. The location is important to report the stock correctly.
To do this, the warehouse must first be correctly defined or created in Shopify. Then select which warehouse stock the location should run on. By clicking the button "Check connection" the connection to xentral is read in and a comparison of the warehouse stock in xentral with the warehouse stock in Shopify takes place.
Note: The warehouse location must be filled in, it is a mandatory field or a basic requirement for the comparison of the warehouse figures. If it is not filled in, the matching of the stock in xentral with the stock in Shopify will not work.
Shopify coupon articles
Items can be created as gift cards in Shopify to represent amount reductions in orders through gift cards. These can be transferred to xentral during the import of the order.
To do this, the gift card item must be set in Shopify so that it is not automatically picked. Otherwise, the orders will be marked as shipped in Shopify and will not be picked up by xentral.
In xentral, the item must not be a stock item. Non-stock items can be hidden on the delivery bill 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.
Tracking E-Mail in Shopify
Sending the tracking email is disabled by default via the Shopify interface. If you want the tracking emails to be sent directly from Shopify, you can enable this option in the interface: Send tracking emails via Shopify.
You only need to enable this if no tracking emails are sent via xentral (disable in project settings). This makes sense if you want to send tracking emails exclusively via Shopify. For other stores, the tracking email can be activated in the project and thus continue to be sent via xentral.
Metafields in Shopify
The meta fields in Shopify are comparable to the properties of an article from xentral.
However, with some exceptions, the 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 metafield, in the example the blue metatitle_en.
- Value → The value is the content of the metafield. In this example "Meta DE".
- Type → The type specifies whether the content of the metafield 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 metafield extends. For items with multiple variants, a metafield with scope global means that the value is the same for all variants of the item. A scope of setting variant means that the metafield has its own value for all variants. In this example the gray global
In xentral, the meta title, for example, can be filled in the "Texts and descriptions" area in the article master.
When the article is exported to Shopify, the Meta Title looks like this. In Shopify, this interface can be displayed through additional apps.
Metafields 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 an article and the value to be transferred is "Pink". Then it is sufficient to store the data in the article.
The prerequisite is that the "Transfer properties" option is activated in the store interface.
For variants, the transfer to metafields works the same way. A property is created for the respective variant and given a value. The only difference is that properties created for variants are given the scope variant. This means that each variant has its own value in the metafield.
Predefined meta fields
Some meta fields are predefined by xentral. For these fields, master data is transferred from xentral to meta fields in Shopify. Field in xentralKey / Field nameScopeTariff numberharmonized_system_codeglobalMetatitle DEmetatitle_deglobalMeta description DEmetadescription_deglobalMeta Keywords DEmetakeywords_deglobalArticle description. ENtitleml_enArticle Description ENdescriptionml_enMeta Title ENmeta_titleml_enMeta Description ENmeta_descriptionml_enMeta Keywords ENmetakeywordsml_en The scope ml_en here is created directly by xentral. Shopify offers the possibility to create any scope. To ensure that the data for the English translation is collected centrally, xentral creates its own scope for this purpose without further ado.
Transfer metafields via free fields
Alternatively, meta fields can also be transferred to Shopify via free fields. Then the free field mapping must be set in the interface in the importer.
Translate metafields to other languages
In order to translate meta fields as well as their contained values also into other languages, a property can be created in xentral for this purpose also for another language (e.g. French).
During the article export two new meta fields are created in Shopfiy.
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 metafield. 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 article is transferred, or variant, if several variants are transferred. The key changes according to the set language.