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:

  1. Create new items (complete details, variants, pictures, etc)

  2. Update any item changes

  3. Update on-hand counts

  4. Process Orders to update sales and reduce on-hands

  5. 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.

 3. Existing Shopify client adding Yellow Dog that doesn’t want to match SKUs (Not Recommended)

Yellow Dog will push items into Shopify (and any 3PL integration when applicable) creating brand new items with no historical data

Potentially results in duplicates and will need manual cleanup in Shopify (and 3PL) from client.

Requirements

Client

The client is responsible for setting up Shopify’s back office as follows:

  1. Go to http://www.shopify.com/?ref=yellow-dog-software.

  2. Create a new account.

  3. Configure

The client will also need to:

  1. Create an app for Yellow Dog in their Shopify account and

    1. Enable the appropriate access scopes for the app

    2. 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.

Admin API Permission in Shopify
Pull Sales Only
Push On Hands Only & Pull Sales
Push Items and NOT on hands + Pull Sales
Push Items AND On Hands + Pull Sales
Orders, Transactions and Fulfillments
Read
Read
Read
Read
Inventory
No Access
Read and Write
No Access
Read and Write
Products, variants, and collections
No Access
Read
Read and Write
Read and Write

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:

  1. Go to https://app.shopify.com/services/partners.

  2. Log in.

  3. Click Dev Shops tab.

  4. Click "Create a new Dev Shop" in upper right-hand corner.

  5. Fill in information.

    1. 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. 

The following actions in Yellow Dog will delete the item (and it’s history) from Shopify:

  • Item has been marked as Removed

  • Item has been made unavailable to the Web Store

  • Item set up has marked Send to Web as False

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 FieldShopify Field
Matrix Description, Web Properities Short Description or Item DescriptionTitle
Item or Matrix Web Properties Extended DescriptionDescription
Item/Matrix Web Properties Product TypeProduct Type (Optional)
Shopify Collections 1-7Collections 1-7
Item/Matrix Web Properties Tags and Dimensions (Optional)Tags (Optional)
WeightShipping Weight
VendorVendor Description
Dimensions 1-3Variants
Item RetailPrice
SKUSKU
UPC, else SKUBarcode
Item/Matrix Web Properties TaxableCharge Taxes
Current On Hand (when push on hands enabled)Quantity
Sum of current on hand for all stores (if configured)Total on Hand
PicturesImages (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

Workflows - Where Performed

WorkflowYellow Dog InventoryShopify
Create Retail POS ItemsDone Only in Yellow Dog
Discount SetupDone Only in Shopify
Tax SetupDone Only in Shopify
Tax Assignment YD can flag an item as Taxable
Collection SetupDone 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:

  1. Select the product and return location (if it has not been set to a default)

  2. Check the “Refund The Customer” checkbox

  3. 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)

  4. Fill in customer info as required

  5. Select “Place the Exchange Order” button at the bottom of the screen

  6. Verify exchange

Limitations

  1. Multiple Shopify instances against a single Yellow Dog Database is not currently supported. (12/20/2023)

  2. Exchange Extension will pull $0 retail for the new item pulls because this is not provided in the transaction. (12/20/2023)

  3. Shopify has a limit of 100 variants per product. Pushing any more will result in errors. (12/20/2023)

  4. 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)

  5. 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)

  6. Return reasons are limited to 255 characters (12/20/2023)

  7. Shopify has a limitation and only supports up to 20 megapixel for images (12/20/2023)

  8. 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)

  9. Yellow Dog Sync versions below 2021.08.09.372 between will not updated Product Status. (12/20/2023)

  10. Pushing Metafields (Bins) is no longer supported against Shopify API v2023-01 (12/20/2023)

  11. Yellow Dog does not integrate with Shopify Lite (12/20/2023)

  12. Our sync does not control or affect Smart Collections. We cannot set them but we also do not overwrite them. (7/20/2023)

  13. Only Refunds that have been marked as returned (restocked) and refunded will be available in Yellow Dog reporting (12/20/2023)

Other Notes

  1. 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. 

  2. You will need to decide between using Smart Collections or Custom Collection

  3. 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.

  4. Shipping charges are handled by creating an item in Yellow Dog with a SKU of “Shipping” for reporting purposes

Back - Main Home

Back - Help Site Home

Back - eCommerce Home