Syncing Sales Orders

All open Sales Orders will be synced from Shopify to Katana during initial connection. Later, when a new Sales Order is created in Shopify, this Sales Order will be automatically pulled to Katana. Read more about syncing here.

Only Sales Orders with "Unfulfilled" and "Partially fulfilled" statuses will be imported from Shopify. When a Sales Order is pulled from Shopify to Katana, a Shopify ID (hidden from the user) is added to the order in Katana for future identification. This way we make sure that we do not import the same order more than once. Even if you delete an order in Katana that was imported from Shopify, Katana will not import this order again in the future.

Sales Order data between Shopify and Katana is matched as follows:

ShopifyKatanaComments
Order numberSales order #-
Created dateCreated date-
-Delivery dateDelivery date not available in Shopify, thus Katana default value for the delivery date is used.
Customer nameCustomer name-
Line itemLine itemSales Order line items in Shopify will be added as Sales Order line items also in Katana. 
QuantityQuantityUnit of Measure for products that do not yet exist in Katana will be set to pieces (pcs).
PricePrice per unitIf taxes are included in Shopify price then: Katana Price per unit = Shopify (Price - discount amount)/(1+ tax rate).
If taxes are not included in Shopify price then: Katana Price per unit = Shopify (Price - discount amount).
Tax rateTax %-
Fulfillment statusDelivery status-


Creating and matching products

Products and product variants will be created in Katana if you have chosen to import your product portfolio during initial connection. Subsequently, products will be created automatically in Katana if products/variants on a Shopify Sales Order does not yet exist in Katana.

Note: "Custom items" on Shopify Sales Orders will be imported to Katana as products. Any custom items will not be matched between Katana and Shopify in the future.

Product and variants data between Shopify and Katana is matched as follows:

ShopifyKatanaComments
Product nameProduct name-
-CategoryWill be left blank in Katana.
VariantsVariantsBoth Shopify and Katana support variants, the product-variants structure will match between platforms.
-Unit of MeasureKatana will use "pcs" as a default value for Unit of Measure.
SKUVariant Code-
-Reorder PointWill be left blank in Katana.
Sales PriceSales PriceData will not be pulled from Shopify to Katana. Will be left blank in Katana.
-CostDuring the initial connection, you can define the cost price for imported products. The initial cost of products will define the Average Cost for those items in the "Inventory" list.
However, the "Cost" column for a product in the "Items" screen will display 0 until you define a Product Recipe and/or Production Operations for the product.

This is how we identify whether a product already exists in Katana:

1. Checking SKU code. SKU code in Shopify will be compared to Variant Code in Katana as the primary condition to make the match. SKU codes are case-sensitive. For example, if SKU in Shopify is "code-1" and Variant Code in Katana is "CODE-1", these are not considered equal and a new product variant for "code-1" is created in Katana.

2. Checking Shopify ID. If you do not use SKU codes for your products, then we use Shopify ID to match the product. When a product variant is pulled from Shopify to Katana for the first time, a Shopify ID (hidden from the user) is added to the product variant in Katana for future identification. If the same product variant is pulled in the future, Katana matches the ID.

Katana will recognize whether the new item is a new variant of an existing product or a completely new product.


Creating and matching customers

Customers will be created in Katana if you have chosen to import your customers during initial connection. Subsequently, customers will be created automatically in Katana if a customer on a Shopify Sales Order does not yet exist in Katana.

Customer data between Shopify and Katana is matched as follows:

ShopifyKatanaComments
Customer nameCustomer name-
E-mail addressE-mail address-
Phone numberPhone number-
-CommentsWill be left blank in Katana.


This is how we identify whether a customer already exists in Katana:

1. Checking Shopify ID. When a customer is pulled from Shopify to Katana for the first time, a Shopify ID (hidden from the user) is added to the customer in Katana for future identification. If the same customer is pulled in the future, Katana matches the ID. This means that if you edit any information for this customer in Shopify (e.g. change the name or e-mail address), Katana will still identify it as the same customer. In this case, other information will be overwritten in Katana.

2. Checking e-mail addresses. If there is no match with Shopify ID, e-mail addresses will be compared to make the match. If there is a single match with e-mail addresses but the customer name does not match, the customer is matched and customer name in Katana is overwritten with Shopify value. If there are multiple matches with e-mail addresses, then a new customer is created in Katana.

3. Checking customer names.

- If there is no match with Shopify ID and the e-mail for the customer does not exist in Shopify, customer name will be used to make the match. If a single customer name match exists in Katana, then the customer is matched. If there are multiple customer name matches or no matches, then a new customer is created in Katana.

- If there is no match with Shopify ID, the e-mail for the customer exists in Shopify but does not match with Katana, customer name will be used to make the match. If a single customer name match exists in Katana and this customer does not have an e-mail address in Katana, then the customer is matched and e-mail address added to this customer in Katana. If a single customer name match exists in Katana and this customer has a not matching e-mail address in Katana, then a new customer is created in Katana. If there are multiple customer name matches, then a new customer is created in Katana.