Product XML Import

XML feed requirements

What a supplier XML feed must contain for Product XML Import: a reachable HTTPS URL, one element per product, a SKU, a title and a price, plus the optional fields that improve the import.

Reviewed by Koray Sarı

Docs

Required

Requirement Details
URL http:// or https://, publicly reachable, may include a token in the query string. No FTP, no login forms.
Well-formed XML The feed must parse. One unclosed tag anywhere makes the whole file unreadable.
One element per product For example <product>, <item> or <entry>, repeated for every product.
Unique code per product SKU, article number or ID. Used to match products on every run.
Title Product name.
Price A number. Decimal comma or point both work; currency symbols are stripped.
Field Used for
Description Product body (HTML allowed, CDATA recommended)
Quantity or availability Inventory; without it products import with the default stock you choose
Images Product and variant media
Barcode (EAN, GTIN) Variant barcode
Brand Vendor
Category Product type and tags
Old or list price Compare-at price
Weight Shipping weight
Variant option (size, colour) Variants; see below

Variants

Two shapes are supported. Either variants are nested inside the product:

<product>
  <code>TS-2043</code>
  <name>Cotton T-shirt</name>
  <variants>
    <variant><sku>TS-2043-S</sku><size>S</size><price>24.90</price><stock>12</stock></variant>
    <variant><sku>TS-2043-M</sku><size>M</size><price>24.90</price><stock>37</stock></variant>
  </variants>
</product>

or each variant is its own item sharing a parent code:

<item><sku>TS-2043-S</sku><parent>TS-2043</parent><size>S</size>…</item>
<item><sku>TS-2043-M</sku><parent>TS-2043</parent><size>M</size>…</item>

Size and update frequency

Feeds up to 512 MB are read with a streaming parser. There is no product count limit in the parser. If the supplier regenerates the feed at fixed times, tell support so sync runs are scheduled after the regeneration.

Frequently asked questions

Is a SKU really required?

Yes. The SKU (or a unique product code) is how the app matches products between runs. Products without one are skipped and listed in the run log.

What about images?

Image URLs must be absolute (starting with http:// or https://) and publicly reachable. Shopify downloads them; unreachable images are skipped without failing the product.

Does the feed need to be UTF-8?

UTF-8 is recommended. Feeds that declare another encoding in the XML prolog are converted; feeds that declare nothing and are not UTF-8 may show wrong characters.