Shopify POS & Web Shopping Cart Interface
Last Updated 4/9/2024
Overview
Yellow Dog Inventory has a 2 way integration using Shopify’s RESTful API. Yellow Dog Inventory pulls sales data from Shopify and pushes on hand counts as well as new and changed item data to Shopify.
Sync Approach
The main components of the integration are the ability to:
Create new items (complete details, variants, pictures, etc)
Update any item changes
Update on-hand counts
Process Orders to update sales and reduce on-hands
Manage inventory for your web or brick and mortar store
This interface contains one element: a Yellow Dog sync application which pulls sales and pushes in new/changed items via the Shopify API.
Sync Frequency
This sync can be scheduled to run at almost any interval, although by default, will be scheduled to run at the top of every business hour.
Configuration
Locations
The Yellow Dog sync supports the location ability with Shopify to have multiple point of sale locations under one admin login.
Example: An instance of Yellow Dog with 5 stores can have one sync communication for 5 locations all under the same Shopify admin.
However, If you have 5 admin accounts, you will need 5 syncs.
Accounting Integration
Yellow Dog can provide an optional accounting integration with Shopify. We can retrieve all the sales, shipping, tax, and tender activity per day, map it to your specific GL codes, and then present an output file in the format your accounting solution requires.
Options
This integration supports multiple configurations. Please consult with your Yellow Dog Implementation Guide to determine the appropriate option for you business need(s).
Options:
Pull Sales Only
Push On Hands Only + Pull Sales
Push Items and NOT On Hands + Pull Sales
Push items AND On Hands + Pull Sales
Other configuration options:
This integration allows for additional configuration options that can be enabled to better support specific configuration needs. Additional configuration options available include:
Option to enable/disable pushing images (if exclusively managed in Shopify)
Option to assign sales based on fulfillment location rather than order location.
Option to not push tags (if exclusively managed in Shopify)
Option to not push product types (if exclusively managed in Shopify)
Option to allow $0 Retail Items
Option to only pull in Fulfilled Sales from Shopify
Note:
Prior to the start of your implementation, let the Yellow Dog team know if items already exist in Shopify, as this will impact and potentially change our implementation approach.
Shopify with 3PL Configuration Options
The Yellow Dog SKU always has to match the Shopify SKU.
If existing Shopify Client with a 3PL adding Yellow Dog Inventory, the client needs to unify SKUs between both legacy systems prior to providing YD data.
We take one of the following three approaches during installation:
1. Brand New Shopify & Yellow Dog installations
Yellow Dog Inventory will be the primary source of data pushing brand new items into Shopify
SKUs will use a 12 digit, numeric only generation. We recommend no alphas or special characters.
2. Existing Shopify client adding Yellow Dog
Client needs to provide data to YD with the matching Shopify SKU so we can match already created items in Shopify. The Shopify SKU will become the Yellow Dog SKU for all existing items and we can update on hands for matching items. If client is desiring a 2-way integration with a full item push, all items will need to be deleted from Shopify and a fresh push will need to be performed with Yellow Dog being the primary source of data.
3. Existing Shopify client adding Yellow Dog that doesn’t want to match SKUs (Not Recommended)
Yellow Dog will NOT push items into Shopify (and any 3PL integration when applicable) in this situation. Yellow Dog will only configure a 1-way sales pull and customer will need to map Shopify Items to YD Items in Yellow Dog’s POS Item Map. No updates to items or on hands will be pushed to Shopify.
Requirements
Client
The client is responsible for setting up Shopify’s back office as follows:
Create a new account.
Configure
The client will also need to:
Create an app for Yellow Dog in their Shopify account and
Enable the appropriate access scopes for the app
Provide the API Admin Access Token associated with the app to Yellow Dog so that our sync application can connect
Detailed instructions will be provided when the integration process is started, but will require assistance from a user who is an Administrator in Shopify with access to Apps.
The following API Permissions will need to be configured based on the integration needs.
| ||||
If existing items are being matched to Yellow Dog the client will need to make sure all SKUs match between the system.
Yellow Dog
Yellow Dog’s Implementation Guide will need to work with the Client to determine if the Store is new or existing and then follow the steps outlined below.
If starting from scratch:
Log in.
Click Dev Shops tab.
Click "Create a new Dev Shop" in upper right-hand corner.
Fill in information.
Spaces will be replaced by dashes in the URL (http://tiny-turtle-crystal-acres.myshopify.com).
Your Yellow Dog Implementation Guide will review all configuration options with you to ensure needs are met.
Data Exchange
SyncYdiWithShopify.exe is the scheduled application that syncs data between YDI and Shopify.
Sales Data
The following transaction data is pulled into Yellow Dog Inventory once the order has been fulfilled in Shopify:
Shopify's created_at date
Shopify's order_number
Shopify's id (transaction line number)
Item Description
SKU
Item Retail
Item Discount
Discount Description
Quantity
Taxes - We are able to support multiple taxes per line item
Tenders - We are able to support multiple tenders; the total of tender values per transaction will equal the total amount paid by the customer, including shipping, taxes, and discounts
Shipping charges - Pulled in as line items
Note: Our Shopify sync processes Future Orders by generating Requests for items in Yellow Dog, based on matching SKUs.
Item Data
There are different configurations available to Push Items and Push Item On Hands as mentioned above. Your Yellow Dog Implementation Guide will review these options with you.
SyncYdiWithShopify can be used to push the following item details in accordance with their corresponding Yellow Dog fields:
Yellow Dog Field | Shopify Field |
---|---|
Matrix Description, Web Properities Short Description or Item Description | Title |
Item or Matrix Web Properties Extended Description | Description |
Item/Matrix Web Properties Product Type | Product Type (Optional) |
Shopify Collections 1-7 | Collections 1-7 |
Item/Matrix Web Properties Tags and Dimensions (Optional) | Tags (Optional) |
Weight | Shipping Weight |
Vendor | Vendor Description |
Dimensions 1-3 | Variants |
Item Retail | Price |
SKU | SKU |
UPC, else SKU | Barcode |
Item/Matrix Web Properties Taxable | Charge Taxes |
Current On Hand (when push on hands enabled) | Quantity |
Sum of current on hand for all stores (if configured) | Total on Hand |
Pictures | Images (Optional) |
Shopify’s Inventory Policy in Shopify is controlled whether Push on Hands is enabled. When Push On Hands is enabled, new and triggered items will be set to "Shopify Tracks This Product's Inventory", when Push on Hands is not enabled, new items will be set to "Don't Track Inventory", items that were already set to track will not be affected
Importing Code Data
The following Shopify codes are pulled into Yellow Dog in order to populate our interface drop downs, which can then be set per Store, Level, or Item:
Collections (Yellow Dog Supports up to 7 Collections)
Shopify Product Status (Default is “Not Set”)
The following additional Shopify codes can be pulled in for existing Items in Shopify once matched the item’s SKU in Yellow Dog
Web properties (Short Description, Extended Description, Product Type, Tags & Taxable)
Shipping weight
Deleting Item Data
The following will DELETE the item from Shopify and will no longer be able to push to the POS.
If in the future you choose to resell this item, a NEW item must be created.
Item must be inactive or removed in Yellow Dog OR Unavailable to the Yellow Dog Web Store
Send to Web must be disabled in the item's web properties tab.
The item must be deleted manually from Shopify manually (steps 1-3 above will ensure that YD does NOT attempt to push the item again which will generate an error preventing new item and updates to items to push)
Workflows - Where Performed
Workflow | Yellow Dog Inventory | Shopify |
---|---|---|
Create Retail POS Items | Done Only in Yellow Dog | |
Discount Setup | Done Only in Shopify | |
Tax Setup | Done Only in Shopify | |
Tax Assignment | YD can flag an item as Taxable | |
Collection Setup | Done Only in Shopify | |
Collection Assignment | YDI can assign up to 7 Collections to the Item or Level (All Items in a Level will Inherit) | |
Product Type Assignment | Done Only in Shopify | |
Additional Information
Exchange It
Yellow Dog supports the Exchange It app in Shopify for exchanges.
The orginial item must be returned as part of the exchange the payment refunded in Shopify in order to see the expected results in Yellow Dog reporting.
Once the Exchange It app has been added to Shopify, a user can select it from the More Actions dropdown in the order they wish to exchange.
Steps to complete:
Select the product and return location (if it has not been set to a default)
Check the “Refund The Customer” checkbox
Select the product(s) for the exchange to create Exchange Order. (Note because you have refunded the customer for the product(s) in the orginial order you will need to charge for the new items)
Fill in customer info as required
Select “Place the Exchange Order” button at the bottom of the screen
Verify exchange
Limitations
Multiple Shopify instances against a single Yellow Dog Database is not currently supported. (12/20/2023)
Exchange Extension will pull $0 retail for the new item pulls because this is not provided in the transaction. (12/20/2023)
Shopify has a limit of 100 variants per product. Pushing any more will result in errors. (12/20/2023)
Yellow Dog does not control an item’s location availability. An item must have its inventory availability enabled in the Location in Shopify before Yellow Dog can push the item’s on hand to that location. (8/2/2023)
Yellow Dog Supports up to 7 Collections per item via our Shopify Collection 1-7 interfaces.
If an 8th collection is assigned to the item in Shopify, our sync will overwrite that the next time the item is triggered to push and remove any collection assignment from the item that is not part of the assigned Shopify Collection Interfaces in YD. (7/20/2023)
Return reasons are limited to 255 characters (12/20/2023)
Shopify has a limitation and only supports up to 20 megapixel for images (12/20/2023)
Web Properties Short Description only supports 255 characters. If Web Properties Short Description exceeds this amount, Yellow Dog will only send the first 255. (12/20/2023)
Yellow Dog Sync versions below 2021.08.09.372 between will not updated Product Status. (12/20/2023)
Pushing Metafields (Bins) is no longer supported against Shopify API v2023-01 (12/20/2023)
Yellow Dog does not integrate with Shopify Lite (12/20/2023)
Our sync does not control or affect Smart Collections. We cannot set them but we also do not overwrite them. (7/20/2023)
Only Refunds that have been marked as returned (restocked) and refunded will be available in Yellow Dog reporting (12/20/2023)
Other Notes
When matching items between Shopify and YDI, you will need to remove the images from Shopify before syncing. If you do not, the sync will create duplicate images and you won't know which one to delete.
You will need to decide between using Smart Collections or Custom Collection
When an item is in a matrix set to propagate, all edits to Product Types and Tags must be made in the Matrix’s web properties tab.
Shipping charges are handled by creating an item in Yellow Dog with a SKU of “Shipping” for reporting purposes