Sync inventory, pull sales information, and sync products to and from Shopify.
- Familiarity with the Processing a Sale process (necessary)
- Familiarity with Products and Product Management (necessary)
Table of Content
- Shopify Integration Setup
- Orders and Sales
- Operations Log
- Common Troubleshooting Issues
Shopify Integration Setup
First, you must connect DEAR to your Shopify store.
IMPORTANT! It is possible to link several Shopify stores to a single DEAR account, with each linked store having its own independent catalogue, logs and settings. However, only two (2) free external integrations are available under DEAR's standard subscription plan. If you plan to integrate more than two (2) Shopify stores or you have already integrated a couple of external platforms other than Shopify with DEAR, you will first need to purchase licenses for the additional external integrations under the My Subscription page.
To connect Shopify to DEAR:
- Navigate to Integration -> Shopify.
- Click + to connect a new store.
- Enter your Shopify portal name and click Connect to Shopify.
- You will be redirected to the Shopify login screen. Enter your details and continue.
- You will be asked to confirm sharing data between Shopify and DEAR. Click Agree to continue.
- You will be directed back to DEAR to complete the setup.
- Repeat these steps to connect as many Shopify stores as you require.
Note: You will not be able to perform any operations on your Shopify store unless you authorise the connection between the store and DEAR.
In the Setup tab, several integration settings can be customised.
This option specifies when a Shopify Order will be captured: when it is created, when it is fulfilled or when it is paid in Shopify. This setting is also taken into account when downloads of historical orders from Shopify are triggered.
DEAR - Shopify Integration allows two options for order consolidation:
No Consolidation indicates that sales will be captured from Shopify as they occur. Daily Consolidation will consolidate all orders from that day into a single order. When Daily Consolidation is chosen, an additional setting becomes available: Consolidation Time. This is your local time when all pending orders aggregated during the day will be processed.
Regardless of the consolidation mode, credit notes and refunds will sync into DEAR automatically once the Shipping and Invoice tabs are authorised.
See the Pending Orders Processing section below for more details.
For the pending order processing to be successful, an existing customer must be selected.
When the Consolidation Type is Daily Consolidation, this customer is used to create a new sale task which will combine all daily sales. A customer can be created in DEAR just for this purpose.
Use Company as a Customer
This parameter only has an effect when the No Consolidation option is selected.
In Shopify, each sale order has an optional field Company, which can be filled in by a customer. If you would like DEAR to create a customer using the company name (as opposed to the Customer name attached to the sale order in Shopify), this option should be selected.
Pick, Pack and Ship Processing Mode
When pending orders are processed by DEAR, new sale tasks are created. This setting tells DEAR if it should try to Auto Pick, Auto Pack and Auto Ship these tasks. If there is not enough stock on hand to pick the full quantity of products in an order, then Pick will remain in the Draft state, and Pack and Ship won’t be completed.
DEAR does not pick up shipment information from Shopify if auto-ship is selected and will not create fulfilment in Shopify in this scenario (if Auto Ship is enabled).
You can control the Invoice Status for Sale tasks created as a result of pending order processing. By default, an invoice will not be authorised and will be in the Draft state, adjustable and waiting for authorisation. However, if this setting is changed to AUTHORISED, the invoice will be automatically authorised, and pending sync will be created for it to sync with an accounting application of your choice.
Update Stock Levels in Shopify
You may choose to disable an automatic stock level update in Shopify performed by DEAR at the time the available product quantity changes in DEAR. This may be useful if you are managing the stock level in Shopify manually and do not want DEAR to change it. Please ensure you have the correct stock quantities entered in DEAR before you turn on this option as these values will override the stock quantities in Shopify.
Allow users to purchase item, even if it is no longer in stock
This setting is applied on a per product variation basis. You will need to update/list the out of stock products from your DEAR catalogue in Shopify to apply this setting.
Create fulfilment in Shopify even if tracking number is not available
When this parameter is enabled, DEAR will create a fulfilment in Shopify even if a tracking number is not available. This option can be useful if you do not use a fulfilment service.
Allow DEAR to create Shopify products when DEAR product names are not unique
When this parameter is enabled, DEAR will create a new Shopify product for every not listed combination of product name + SKU which could not be found in Shopify.
Bring Discount Codes from Shopify
When a discount is applied to a sale in Shopify, DEAR can bring the discount code through as an Additional Charge on the sale order. This will create unique service products in DEAR for each unique discount code in Shopify that is applied to a sale. If this setting is disabled, an additional charge will be created with the description "Discount". Item discounts can also be applied by reducing product prices, using the below setting Add a discount as.
Add company to address
Enable to add a company name to the address line for the order.
Location for online sales
Shopify does not allow the use of multiple warehouses. Each Shopify store can have a dedicated Location within DEAR, which can be selected from the dropdown menu. Selecting a particular warehouse will limit the availability of stock in Shopify to that location. The default option, All Locations, will display consolidated stock quantities across all of your locations.
Gift Card Liability Account
DEAR will use this Liability account instead of a Revenue account for Gift Card sales. This account should have the ability to accept payments. If a sale is made which contains a gift card, this sale will remain in the Pending Orders area until a Gift Card Liability Account is specified. It is mandatory to choose a gift card liability account if using the Shopify Gift Certificate feature.
Optional revenue account
The revenue account to be used for all sales downloaded from Shopify. This will override settings at the Product/Customer level and any other Account mapping.
Sales Representative Name
This option allows the shop name to be used as a Sales Representative.
Add a discount as
Add a discount as an additional charge to the sale order or by reducing product prices. Shopify sends DEAR total discount value which includes discounts applied to individual items. This setting controls whether item discounts are applied as a product price reduction or as additional charges. Once the total value of item discounts has been applied as product price reductions, any remaining discount value is applied to the order as an additional charge.
Tax Rule Mapping
When a pending order is processed by DEAR, a sale task is created. Each order and invoice line are assigned a tax rule. The tax rules specified in these settings will be used to create these lines.
DEAR does not apply the tax rule to recalculate tax and is simply using the actual tax amount from the Shopify order. This means that if certain products are not Taxable or with varying tax in Shopify, all data and totals in DEAR will look identical to Shopify, but with DEAR tax rule name selected in this setting.
The "Tax-Free" tax rule mapping specified in this setting is used to create these lines for non-taxable products. This tax mapping could be used for accounting. However, If a DEAR tax rule is mapped to this Shopify rule, it will override any other taxes in cases where tax amounts are zero on the line.
In case of tax recalculation, the tax amount will be overwritten with the value calculated by DEAR Taxation rule.
IMPORTANT: Orders will be skipped on download if Taxation mapping is not finished!
NOTE: For US Shopify stores, the provided Sales Tax is used instead of Tax Rule mapping.
Payment Account Mapping
DEAR can capture payments made against orders in Shopify and is able to automatically add payments to a created sale invoice. To do this, Payment Account Mapping must be completed on this integration settings screen. You must choose an account which is able to receive payments from the chart of accounts.
This setting is not mandatory – if payment mapping is not completed, orders are still captured and downloaded from Shopify, but payments must be manually added to invoices in DEAR. Some customers prefer to keep invoices open and then reconcile them with payouts from Shopify.
Disconnect from Shopify store
When you disconnect from a Shopify store, DEAR removes all associations between DEAR objects and Shopify, including Log and Product Catalogue.
The DEAR Shopify Catalog page allows users to download products from Shopify, list a DEAR product in Shopify, break the link between a DEAR product and its Shopify listing, and update quantities in Shopify according to DEAR available stock.
Products can be loaded from Shopify to DEAR in the Catalogue tab by clicking Load Products. This operation may take some time.
Products in Shopify can be downloaded as simple Products or as Product Families with up to 3 options, similar to the current process in DEAR. When downloading products from Shopify, DEAR checks if the product in Shopify is a single product or if it has multiple variations. If Products and Product Families have already been created/linked with Shopify, DEAR updates the existing Products/Product Families instead of creating new ones.
In Shopify, the Product SKU is not a unique field whereas it is in DEAR. If there is a conflict, DEAR processes only the first product with a duplicate SKU and skips the others, displaying a warning message about skipped items at the end of the download process. The SKUs for skipped items can be manually entered in DEAR.
Except for the SKU, any changes in a product that has been downloaded previously from Shopify will also update the product's details in DEAR every time Load Downloads is clicked. The same is true when using the Bulk Listing feature to upload products from DEAR to Shopify.
If a product is not in the Catalog, but it is included in a sale, the product is automatically imported into DEAR.
If Update stock levels in Shopify is set to Yes in Setup, if a product is deleted from Shopify, any attempt to update the quantity in Shopify from DEAR will unlink the items, and the product will become unlisted in DEAR.
Data mapping for products between DEAR and Shopify is as follows:
Listing SKU if defined, otherwise first 50 characters from combination of (Product title + Option 1 Value + Option 2 Value+ Option 3 Value)
|Name||Product title + Option 1 Value + Option 2 Value + Option 3 Value|
|Description||HTML Product Description|
|Weight||Weight (Converted to KG)|
|Price Tier. Default is Price Tier 1||Price|
|Images||Small product image|
|Product Tags||First 256 characters of Product Tags|
|Option 1 Value||Option 1 Value|
|Option 2 Value||Option 2 Value|
|Option 3 Value||Option 3 Value|
There are two possible statuses for products in the Catalog: Not Listed and Listed.
NOTE: Updating products from the catalog will update the stock level in Shopify, regardless of the status of Update Stock Levels in Shopify setting.
To list a product on Shopify:
- Click on the product in the Catalogue tab.
- In the pop-up Window, click List on Shopify.
- Save your changes.
To change prices on Shopify:
- Click on the product in the Catalog tab.
- In the pop-up window, change the Price Tier of the product. To manually change the Price Tier cost, you will need to go to the Product in DEAR. See Pricing and Price Tiers for more information.
- Click Save or Update on Shopify.
To unlist a product on Shopify:
- Click on the product in the Catalog tab.
- Click Unlink.
- Save your changes.
To remove a product from Shopify:
- Click on the product in the Catalogue tab.
- Click Remove from Shopify.
- Click Save.
As well as listing products individually, products can be listed in bulk. If products are already listed, this action will update them.
To list products on Shopify in bulk:
- Go to the Bulk Listing tab.
- Select products to upload in bulk. You can select products by Category, Family, Product Tag, Price Tier, Listing Status and through manual search.
- Click Start to upload all selected products.
WARNING! Do not use the Bulk Listing feature if you are only going to update stock levels in Shopify. Since bulk listing updates other information from DEAR to Shopify aside from the product quantity, it may take longer than necessary. To update stock levels in Shopify, go to Integration > Shopify > Catalog and click Update quantities in Shopify.
Orders and Sales
Processing Pending Orders
When a Shopify store is connected to DEAR, automatic notifications are triggered whenever the following happens:
- Shopify Order is created
- Shopify Order is fulfilled
Shopify Order is paid
Shopify Order is cancelled
Shopify Order is deleted.
Depending on the Order Capture setting selected, DEAR will capture a Shopify Order and save it as a pending order when the Order is created, fulfilled or paid. Sometimes it takes up to 10 minutes for the order to be picked up by DEAR because Shopify may send notifications with some delay.
Whenever a sale is captured from Shopify, it is first placed into Pending Orders, and stock is allocated immediately. DEAR imports new orders immediately as individual sale orders (if No Consolidation is selected in the Integration Settings) or once a day as a consolidated sale order (if Daily Consolidation is selected).
If No Consolidation is selected, each Shopify sale is converted into an identical sale in DEAR, keeping the same customer and shipping information. If Daily Consolidation is selected, the single daily sale task will use the customer selected in the Integration Settings, and customer, billing and shipping information imported from Shopify will be ignored.
NOTE: Refunds are processed in both No Consolidation and Daily Consolidation modes.
When a Shopify order is cancelled or deleted, DEAR automatically finds and voids the corresponding sale task if created or removes an associated pending order if the order has not yet been processed.
When processing orders, the logic is identical to that of the DEAR UI. DropShipping, Kitting and other important scenarios are implemented in the same way as through the DEAR UI.
Pending Orders can be processed manually by clicking Process. They can then be viewed in the Log tab.
The Load Customers button can be found next to Load Products.
This function downloads all customers from Shopify to DEAR. If a customer already exists in DEAR, this function updates any details that have been changed in Shopify. As DEAR automatically creates customers when processing sale orders (if the No Consolidation option is selected), this function is generally only used for testing purposes.
This function creates a customer in DEAR with Contact, Billing and Business addresses captured from Shopify. Customers cannot be uploaded from DEAR to Shopify.
Downloading Orders and Payments
Orders are automatically downloaded if their status in Shopify is changed (for example, a customer pays for an order).
NOTE: Generally, you do not need to trigger manual order download. However, you can use the manual Load Order option if an order was not captured by DEAR or to load historical sales.
Any imported order is saved to the Pending Orders section. It is a temporary storage of all sales and payments in DEAR. If an order already has an entry in the Log (i.e. was imported previously), it will be skipped. This guarantees that no duplicate sales will be created by DEAR.
While saving orders, DEAR captures customer information, billing and shipping addresses. All line items are captured together with quantities, prices and totals. Total order discounts are applied as are additional charges to the whole order, without distribution by lines to reduce the chance of discrepancy.
Shipping and handling are also saved as additional charges in the Sale invoice under Shipping.
If a Payment Account has been specified in the Integration Settings, DEAR will always assign associated payments to the captured Shopify orders.
When a Shopify order is cancelled, DEAR automatically finds and voids the corresponding sale task if already created as a Sale Order or just removes the associated pending order if not yet processed.
The final step in the order download is to trigger an update of stock levels in other Shopify stores and other connected eCommerce channels.
Updating a Fulfilment in Shopify
When Shipment is authorised in DEAR and the carrier specified, DEAR will try to create order shipment information in Shopify. This will only work in the No Consolidation processing mode.
Each captured Shopify order once saved to Pending Orders creates a Log entry to track the link between the Sale in DEAR and in Shopify. This eliminates the possibility of creating duplicated orders when capturing the same order several times during manual order load.
Each Log entry has a link to the sale task in DEAR. Depending on the settings selected by the user in the Setup tab, this sales task could be draft or authorised, one or more of the Pick, Pack and Ship tabs could be authorised, and payment could have been applied to the invoice.
Log entries allow you to see which Sale task reflects a particular Shopify sale. You also have the option to delete a Log entry manually. This will allow reprocessing an order if required. Deleting a log entry will not void or delete its associated sale task.
Reloading Orders from Shopify
If for any reason you need to reload an order from Shopify, this can be managed from DEAR.
To reload an order from Shopify:
- Void the sale task. A record of this will be kept in DEAR for reconciliation purposes, but the transactional data will be deleted.
- Return to the Shopify integration Log tab and delete the Log entry. This will allow the order to be recaptured from Shopify.
- Navigate to the Pending Orders tab and click Load Orders, making sure to set the date before the order to reload was made.
Each time when the user or DEAR download sales, an appropriate record is added to the operation log. It also contains information about results of downloading, including the count of processed, skipped or cancelled orders.
Common Troubleshooting Issues
- When attempting to list a product on Shopify, it may fail. This may be due to any of the following reasons:
Your product family contains more than 100 products/variations. Shopify has a limit of 100 variations per product. The first 100 variations will be successfully listed, but any additional variations will fail. The only way to resolve this is to restructure the DEAR Product family to have less than 100 variations. You may need to remove listed variations from Shopify first.
Some of your products in a family have identical option values. Shopify requires that each variant in a product has a unique set of 3 option values.
There might be a problem with your connection to your Shopify store. Go to the Bulk Listing tab on the DEAR Shopify Integration page and check if there is an Update Shopify Connection at the top. If there is such a button, click on it and wait for the connection between DEAR and Shopify to be updated. Once the connection is working, that button should disappear.
- When attempting to update stock levels in Shopify, it may fail. This may be due to the following:
- Shopify allows execution of up to 60 API calls per minute. To update the stock level for a single product/variant in a single location, one call is needed. If you have several locations and/or hundreds of products in each location, stock level updates may take longer than usual, if not fail entirely, due to this limitation. DEAR is currently in discussions with Shopify on how to resolve this issue.