Summary
Toolio provides turn-key integration with your Shopify instance via Shopify Custom Apps. With the Shopify integration, Shopify can serve as a source of truth for your Sales, Inventory and Product information. The table below gives an overview of the type of information available for each of the data feeds, and your options where Shopify doesn’t have all the required information.
Shopify Feeds
Products, variants and collections
Provides variant level meta-data and pricing information. Shopify will likely not have the merchandise hierarchy information you need for planning. In this case, you can manually upload product attributes directly into Toolio.
Orders, transactions and fulfillments
Provides variant and location level sale information. If you are running all your commerce activity on Shopify, then Shopify will be your source of truth for sales information. If not, integrating the sales feed from your ERP will be a better option.
Inventory
Provides variant and location level daily inventory information. Toolio snapshots your inventory daily, so that you can leverage historical inventory data effectively.
How to Integrate Shopify and Toolio
2. Grant ‘Read Access’ in Admin API for the following scopes:
Inventory
Locations
Products
Orders
You can read more about API Scopes on Shopify here
3. Share Integration Details
Please share the following integration details with your Customer Success manager at Toolio:
Admin API access token
API Key
API Secret Key
Shopify Shop Name
FAQs
Sales numbers in Toolio are not matching my Shopify report
You might have some customizations in your Shopify report, causing the sales numbers in Toolio to be different than what you have in your Shopify report. The best way to diagnose this discrepancy is:
Focus on identifying the discrepancy on the smallest time aggregation possible; ideally 1 day.
Make sure that the same filters are applied on Toolio & Shopify
Make sure that you are comparing the right metrics
Let's go through the steps of how to achieve this.
See sales by SKU on a particular date
Toolio has an out of the box report under Sales > Sales by Location
, which by default filters to the last 7 days. Use the date range in this report to pick 1 day where the sales numbers are not matching. Below is what the filter would look like
In the Shopify report, also find the same date, and make sure that it's broken down by SKU. Shopify has an out of the box report for this called Sales by Product Variant SKU. Then by comparing SKU by SKU, starting from the top selling SKU, you should be able to identify which SKU is being included in the Toolio report vs. Shopify Report
Make sure that same filters are applied
If you identify a SKU that is in Toolio, but not in your Shopify report, e.g. Freebies, Gift Bags, Excluded Channels, make sure that the same SKUs are being excluded using Import Filters.
Make sure that you are using the same metrics
Please familiarize yourself with the Shopify Metrics & Toolio Metrics, and make sure that you're comparing apples to apples. For example, Shopify definition of Gross Sales is inclusive of discounts, whereas Gross Sales Retail in Toolio excludes discounts. Please see here for more on this topic. It is always easiest to compare Shopify's Ordered Quantity to Toolio's Gross Sales Units as a starting point.
Gross Sales Cost in Toolio is lower than expected
Please make sure that all products in your Shopify account are attributed with accurate costs at the variant level. Please see how to bulk update products on Shopify here.
If you cannot update your pricing information on Shopify, you can use Toolio's data enriching capability; however, managing the sales cost information directly in Shopify (or your ERP) would be the recommended option.
Gross Sales Retail in Toolio is lower than expected
Gross Sales Retail in Toolio is defined as topline sales after discounts and markdown but before returns. Please note that this definition differs from "Gross Sales" in Shopify, which is before discounts. Please make sure that discounts and markdowns have been deducted from your Shopify Gross Sales when comparing against the Gross Sales Retail value in Toolio. You can read more about the metrics in Toolio and how they are defined here.
Discounts in Toolio are higher than expected
If you are using a returns solution such as Loop Returns, please read more about how exchanges are handled in Toolio here.
How are Markdowns captured with Shopify?
Please see this article to understand how Markdowns are calculated automatically as a part of the Shopify Integration.
Product Images are Incorrect
Please make sure that your product images are attributed at the variant level in Shopify, and that the Variant Ids in Shopify are identical to the Variant Ids on your product feed.
Sales Location Discrepancies
Because sales location from Shopify is captured after fulfillment has begun, please note that sales which have not yet entered the fulfillment process will be tagged with a default fulfillment location. Please consult with your Customer Success Manager to change your default location.
How are Returns Calculated?
Shopify Orders feed contains the items that were refunded in each Order, and that is the information Toolio uses to calculate returns. Note that the returns values are attributed to the day that the refund was initiated, not the date of they original sale.
How do Shopify API fields map into Toolio fields?
Sales Feed
Toolio Field | Shopify Field |
sale_id | order.line_items.line_item_id |
timestamp | order.created_at |
variant_id | order.line_items.sku |
sales_units | order.line_items.quantity |
sales_cost | fetched from product feed |
sales_retail | (lineItem.price) * lineItem.quantity - totalDiscount |
markdown | Math.max(0,(NUMBER('{shopify_variant__compare_at_price}' || 0) * NUMBER('{sales_units}') - '{discount}' - '{sales_retail}')) |
discount | sum(order.line_items.discount_allocations.amount) |
returns_units | order.refunds.refund_line_items.quantity |
returns_cost | fetched from product feed |
returns_retail | order.refunds.refund_line_items.subtotal |
location | origin_location.name |
Related Articles