---
Title: Product XML
Language: en-US
Canonical URL to this Markdown version of this page: [https://docs.kvik.shop/xml2db-api/product-xml.md](https://docs.kvik.shop/xml2db-api/product-xml.md)
Canonical URL to HTML version of this page (for humans): [https://docs.kvik.shop/xml2db-api/product-xml](https://docs.kvik.shop/xml2db-api/product-xml)
---

# Product XML

Breadcrumb: [XML2DB API](https://docs.kvik.shop/xml2db-api.md) > [Product XML](https://docs.kvik.shop/xml2db-api/product-xml.md)



## Example

```xml
<?xml version="1.0" encoding="UTF-8"?>
<product name="Fuel filter VALEO 587903" codename="valeo587903">
  <url>https://demo.kvik.shop/palivovy-filtr-valeo-587903</url>
  <note>Internal note for the product.</note>
  <unit>kg</unit>
  <piecesCount>1</piecesCount>
  <warranty>24 months</warranty>

  <productPrices>
    <productPrice type="retail">
      <price amountWithVat="242.0" amountWithoutVat="200" currencyCode="EUR" vatRateName="standard" vatRate="21.0" vatAmount="42.0" />
    </productPrice>
  </productPrices>

  <productGroups>
    <productGroup type="product_type" name="Palivový filtr" codename="9">
      <multilingual languageCode="cs">Palivový filtr</multilingual>
      <multilingual languageCode="en">Fuel filter</multilingual>
      <multilingual languageCode="de">Kraftstofffilter</multilingual>
    </productGroup>
    <productGroup type="custom" name="My Custom Group" codename="mycustomgroup"/>
    <productGroup type="custom" name="My Custom Group 2" codename="mycustomgroup2"/>
    <productGroup type="smart" name="Starter battery" codename="starterbattery"/>
    <productGroup type="brand" name="VALEO" codename="valeo"/>
    <productGroup type="author" name="Bruce Wayne" codename="brucewayne"/>
  </productGroups>
  
  <productCodes>
    <productCode type="manufacturer" code="587903" codeSimplified="587903" abbreviation="MPN"/>
    <productCode type="ean" code="3276425879034" codeSimplified="3276425879034" abbreviation="EAN"/>
    <productCode type="upc" code="651860623436" codeSimplified="651860623436" abbreviation="UPC"/>
    <productCode type="custom" code="587903" codeSimplified="587903" abbreviation="SKU"/>
    <productCode type="custom" code="VALEO-587903" codeSimplified="VALEO587903" abbreviation="SKU"/>
    <productCode type="custom" code="VAL X.123" codeSimplified="VALX123" abbreviation="SKU"/>
    <productCode type="custom" code="VAL 587903" codeSimplified="VAL587903" abbreviation="SKU"/>
    <productCode type="isbn" code="978-5-0325-3423-5" codeSimplified="9785032534235" abbreviation="ISBN"/>
    <productCode type="ismn" code="978-4-0844-9901-1" codeSimplified="9784084499011" abbreviation="ISMN"/>
  </productCodes>

  <images>
    <image>
      <url>https://docs.demo.kvik.shop/20241/845520148924803#v5</url>
    </image>
  </images>

  <supplies>
    <supply supplierName="Dodavatel Tři" supplierCodename="dodavatel3" supplierKey="F21019" orderingNumber="F21019" disabled="false">
      <money priceWithoutVat="152.28" purchasePrice="152.28" currencyCode="CZK"/>
      <stock status="atTheSupplier" availableCount="10"/>
    </supply>
    <supply supplierName="Dodavatel Čtyři" supplierCodename="dodavatel4" supplierKey="F21019" orderingNumber="F21019" disabled="false">
      <money priceWithoutVat="152.28" purchasePrice="152.28" currencyCode="CZK"/>
      <stock status="atTheSupplier" availableCount="10"/>
    </supply>
    <supply supplierName="Dodavatel Jedna" supplierCodename="dodavatel1" supplierKey="101-21019" orderingNumber="21019" disabled="false">
      <money priceWithoutVat="165.174" purchasePrice="165.174" currencyCode="CZK"/>
      <stock status="atTheSupplier" availableCount="26"/>
    </supply>
  </supplies>

</product>
```


## Product basic attributes

- `<url>` - Canonical URL of the product on the e-shop.
- `<note>` - Internal note for the product written by an e-shope administrator. 
- `<unit>` - Abbrevation of the product unit: `ks`, `m`, `cm`, `mm`, `kg`, `g`, `l`, `ml`.
- `<piecesCount>` - Integer value representing how many pieces the product has.
- `<warranty>` - It can be used for warranty.


## Product prices

```xml
<productPrice type="retail">
  <price amountWithVat="242.0" amountWithoutVat="200" currencyCode="EUR" vatRateName="standard" vatRate="21.0" vatAmount="42.0" />
</productPrice>
```

- There can be more product prices for one product. Type of the product type is defined by the type attribute in `<productType>` element.
- All products have one product price with type retail `<productPrice type="retail">`.
- There can be more `<price>` elements within a `<productPrice>` element. In this case, there will be a different `currencyCode` attribute value in each of the `<price>`.

## Product groups

```xml
<productGroup type="brand" name="VALEO" codename="valeo"/>
``` 

- Each product can be assigned to an unlimited amount of groups. 
- Each group has its type.
- Product can be assigned to more groups of the same type. Like to more `custom` groups, more `smart` groups.
- Usually, there is none or one group of types `product_type`, `brand` and `author`. 
- None of the product group types is mandatory.  

Types:

- `custom` - Custom group to which is the product assigned by an admin user.
- `brand` - Brand of the product.
- `author` – Author of the product. It is used mainly for books.
- `product_type` - Generic type of the product. 
- `smart` - Product group to which is the product assigned automatically by the e-shop system. 

More types can be added in the future.

### Multilingual

Product groups may or may not have multilingual names. 
For this purpose, there are optional descendant `<multilingual>` elements.

```xml
<productGroup type="product_type" name="Palivový filtr" codename="9">
  <multilingual languageCode="cs">Palivový filtr</multilingual>
  <multilingual languageCode="en">Fuel filter</multilingual>
  <multilingual languageCode="de">Kraftstofffilter</multilingual>
</productGroup>
``` 

- Attribute `languageCode` is always present. Value of the attribute is [ISO 639-1][iso6391] language code.
- Value of the element `multilingual` is a name in that language.

## Product codes

```xml
<productCode type="custom" code="VAL 587903" codeSimplified="VAL 587903" abbreviation="SKU"/>
```

Types:

- `custom` - abbreviation=SKU; A custom product number assigned by an e-shop administrator or imported from a supplier. Formerly `catalogNo` and `catalogNoAlternative`.
- `manuacturer` - abbreviation=MPN; [Manufacturer Part Number][npm]
- `ean` – abbreviation=EAN; [International Article Number][ean].
- `upc` – abbreviation=UPC; [Universal Product Code][upc].
- `isbn` - abbreviation=ISBN; [International Standard Book Number][isbn]
- `ismn` - abbreviation=ISMN; [International Standard Music Number][ismn]
- `oem` - abbreviation=OEM; [Original equipment manufacturer number][oem]

More types can be added in the future.

Simplified code `codeSimplified` is uppercased `code` stripped to alphanumeric characters only.

## Product images

- First image is the main image of the product.

## Product supplies

A related supply (stock availability, purchase price) to a particular product.

```xml
<supply supplierName="Super Car Supplier" supplierCodename="superCarSupplier" supplierKey="LMI-25497 02" orderingNumber="LMI-25497 02" disabled="false">
  <money priceWithoutVat="9.63" purchasePrice="9.63" currencyCode="EUR"/>
  <stock status="available" availableCount="26"/>
</supply>
```

- `supplierName` – Name of the supplier as is defined in the shop.
- `supplierCodename` – Shop's internal code name of the supplier.
- `supplierKey` – Unique item ID from the supplier's database or pricelist.
- `orderingNumber` – Item ordering code defined by the supplier. It is in many cases the same as `supplierKey`. It depends on the structure of the supplier's database or pricelist.
- All of those above may be empty in the case the supply is not related to any supplier.
- `disabled` - When this is `true`, it means, the shop is restricted from using the supply for any price/stock calculations.


**Descendant element `<money>`**

- `purchasePrice` – Item purchased price from supplier.
- `priceWithoutVat` – This can be selling price of supplier, most of the time this is the same with purchased price.
- `currencyCode` – 3-letter currency code in compliance with [ISO 4217][iso4217].

**Descendant element `<stock>`**
- `status` - Represenation of the availability status by a code name. See possible values below.
- `availableCount` - A numeric or an empty value with the count of available pieces. Empty means unlimited amount.

**Possible stock statuses**

- Available for order:
  - `availableInTheStore`
  - `available`
  - `availableInExternalStock`
  - `onTheWay`
  - `toOrder`
  - `preOrder`
  - `atTheSupplier`
- Unavailable for order:
  - `onRequest`
  - `temporarilyUnavailable`
  - `notAvailable`
  - `soldOut`
  - `sellEnded`
  - `canNotBeOrdered`



[iso6391]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
[iso4217]: https://en.wikipedia.org/wiki/ISO_4217
[iso3166]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
[ean]: https://en.wikipedia.org/wiki/International_Article_Number
[upc]: https://en.wikipedia.org/wiki/Universal_Product_Code
[npm]: https://en.wikipedia.org/wiki/Part_number
[isbn]: https://en.wikipedia.org/wiki/International_Standard_Book_Number
[ismn]: https://en.wikipedia.org/wiki/International_Standard_Music_Number
[oem]: https://en.wikipedia.org/wiki/Original_equipment_manufacturer