Quick Setup

  1. In the Synkro settings navigate to External inventory feeds.
  2. Click Create new feed.
  3. Enter the URL of your hosted CSV inventory file, choose the inventory location to update, and configure which columns contain your identifier (SKU/barcode) and inventory levels.
  4. Click Save.

Synkro will begin downloading your feed on the schedule you selected and applying the inventory levels it contains to the chosen location.

Overview

External inventory feeds let Synkro periodically download a CSV file from a URL and apply the inventory levels it contains to a location in your store. This is commonly used to keep Shopify inventory in sync with a supplier, warehouse, or third-party inventory system that publishes stock levels as a hosted CSV file.

Unlike the CSV batch inventory upload tool, which requires you to manually upload a file each time, an external inventory feed runs automatically on a recurring schedule.

External inventory feeds require a Synkro plan which includes the external inventory feed feature. If your current plan does not include it, the External inventory feeds settings page will present an upgrade option.

Creating a feed

In the Synkro settings, navigate to External inventory feeds and click Create new feed. Configure the following:

  • Name — an optional label to help you identify the feed, e.g. “Supplier warehouse feed”.
  • Feed URL — the URL where your CSV inventory file is hosted. The URL must be publicly accessible over http:// or https://, and must serve a file smaller than 5MB. Synkro validates the URL when you save the feed, and will show an error if the file cannot be downloaded.
  • File format — currently only CSV files are supported.
  • Location — the inventory location in your store which the feed’s inventory levels will be applied to.
  • Match products by — whether the identifier values in your feed are SKUs or barcodes. Product variants in your store are matched against the feed using this identifier.
  • Update frequency — how often Synkro downloads and processes the feed: every 15 minutes or every 30 minutes.
  • Identifier column — the column in your CSV file containing the SKU or barcode. Column numbers start at 0, so the first column is 0.
  • Inventory column — the column in your CSV file containing the inventory level. Column numbers start at 0.
  • Skip rows — the number of rows to skip at the top of the file. Use this to skip header rows, e.g. set it to 1 if the first row of your file contains column headings.

Feed file format

Your feed should be a comma-delimited CSV file. Only two columns are read: the identifier column and the inventory column. Any other columns are ignored, so your feed can contain additional data.

For example, with Skip rows set to 1, Identifier column set to 0, and Inventory column set to 2:

sku,product name,quantity
SHIRT-S,Small shirt,12
SHIRT-M,Medium shirt,3
SHIRT-L,Large shirt,0

How feeds are processed

Each time your feed is processed, Synkro downloads the file and works through it row by row:

  • Identifier values are matched against the product variants in your store using your selected Match products by identifier. Rows with identifiers that do not match any variant in your store are ignored.
  • For each matched variant, the on-hand inventory level at the feed’s location is set to the value in the inventory column.
  • A blank inventory value is treated as 0.
  • The feed’s location will be activated for matched variants if it is not already.

Only the variants included in your feed are modified — inventory for variants not present in the feed is left untouched. If the feed’s location has been deactivated in Shopify, the feed will not be processed until the location is active again.

If your store’s inventory is synced to other stores or locations with Synkro, inventory changes applied by the feed will flow through your location connections like any other inventory change.

Managing feeds

The External inventory feeds settings page lists your configured feeds. From there you can edit a feed’s configuration or delete it. Deleting a feed stops Synkro from downloading and processing it — your existing inventory levels are left as-is.

Troubleshooting

  • The feed URL could not be validated — Synkro performs a check against your feed URL when saving. Make sure the URL is publicly accessible (no login required), responds successfully, and serves a file smaller than 5MB.
  • Inventory is not updating — confirm that the identifier values in your feed exactly match the SKUs or barcodes of the variants in your store, and that the correct Identifier column and Inventory column are configured (remember that column numbers start at 0).
  • Rows with invalid inventory values — inventory values must be whole numbers. Rows with non-numeric inventory values are skipped.