Skip to main content

Hi Everyone - I hahve a shopify store, where my vendor uploads inventory and product information daily to their FTP site.  They also include order tracking information as well. Is it possible to import the contents of those files into the shopify store?  We are currently using InventorySource and they are expensive for the services they offer.  Any suggestions on how this can be accomplished?

@MJNN yes in theory it is possible but this is pretty advanced and will require some coding. I can explain the theory here and if you want/need more information comment back and I’ll see if I can write up the step by step here.

 

The trigger step is a new file in a folder on your FTP server. This however can be tricky as I’ve only found Brick FTP to be consistent in triggering a new file-in-folder via an FTP server. So if your vendor can upload it to a brick FTP site then that would solve the first issue.

 

The next step would be to split the file into rows, I assume we’re talking about a CSV file. I have an answer to a different question here which has the same code block I would recommend you use that block of code for splitting up this CSV into rows, you will need to upload the CSV to somewhere (I recommend Google Drive) so you can get a publicly accessible URL for the CSV file.

 

After you have it split into rows you will need to use this code block 

To run the rest of the zap steps for each row (presumably each item/SKU/product)

 

(those code steps could be combined into one, but this is just theoretical for now)

 

In order to get the product ID you would need a Shopify “Find Product by Title” step (or a Find Product Variant by Title” step if you are dealing with product variants). This is assuming that your vendor does not include your shopify product IDs in the inventory CSV. You’ll need to use the product name from the CSV to find the product ID in Shopify.

 

Finally, you’ll have a Shopify step “Update Inventory Quantity” that will take the ID of the product found in the previous step, combined with the inventory number from the CSV, and update that. 

 

Like I said it’s pretty advanced, but it’s doable.