# How Product XML Import works

From pasting a supplier XML link to a Shopify store that stays in sync: how the app reads the feed, imports products with variants and images and keeps prices and stock current.

Canonical: https://productxmlimport.com/how-it-works
Last updated: 2026-09-08

## Steps

1. **Install the app from the Shopify App Store** Open the listing, click Install and approve the permissions. The app only asks for product, inventory and publication access; it never touches orders or customers.
2. **Paste the XML feed URL** In Settings, add a feed and paste the HTTP or HTTPS link your supplier gave you. Set the price multiplier and compare-at multiplier if you want a margin, and choose whether products are taxable.
3. **Let the app detect the feed layout** The app downloads the feed with a streaming reader, fingerprints its structure and picks the matching profile. Titles, descriptions, SKUs, barcodes, prices, quantities, images, brands, categories and variant options are recognised automatically. Feeds it has not seen before are configured by our team.
4. **Run the first import and watch the progress** The import runs in the background in batches. The progress bar shows parsing, saving and Shopify creation stages. Products are created with variants, images and inventory at your store's location; re-runs update existing products instead of duplicating them.
5. **Turn on price and stock sync** Enable automatic price and stock updates for the feed. Depending on your plan the app re-reads the feed one, three or eight times a day, updates changed prices and quantities, imports new products and sets products that left the feed to zero stock.

## Safeguards

1. **Empty feed protection** If a run finds zero products, nothing is changed in your store.
2. **Drop protection** If a run finds fewer than 70 percent of the products of the previous successful run, it stops and the previous data stays live.
3. **No silent deletes** Products missing from the feed keep their page and history; only their stock goes to zero until they return.
4. **Duplicate protection** Each run matches products by SKU and updates the existing Shopify product rather than creating a new one.

## What happens behind the scenes

Every scheduled run follows the same sequence: fetch the feed, detect or reuse the profile, parse products in a streaming pass, compare the result with the previous successful run, and only then queue Shopify updates. Prices and quantities are sent in bulk through Shopify's GraphQL API, which keeps runs fast and within Shopify's rate limits.

The app keeps a log of every run with the number of products parsed, created, updated and missing, so support can tell you exactly what a run did.

## FAQ

### How long does the first import take?

A few minutes for a few thousand products. Very large feeds with tens of thousands of variants can take longer because Shopify limits how fast products can be created; the progress bar shows where the run is.

### What does the app need from my feed?

One element per product with at least a title, a SKU and a price. Quantity, images, barcode, brand, category, description and variant options are used when present. See the XML feed requirements in the documentation for details.

### Can I preview before anything is imported?

Yes. After the feed is parsed the app shows the product count and a sample so you can check the mapping before creating products.

### Does it work with feeds behind a password?

Feeds that accept the credentials in the URL work. Feeds that require a login form, FTP or an API key header are not supported.

### Can I stop the sync temporarily?

Yes. Switch off price or stock updates per feed at any time, or pause the whole feed. Nothing is deleted when you pause.
