> For the complete documentation index, see [llms.txt](https://docs.jedidesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jedidesk.com/english/jedidesk-ai-setup/product-service-database-configuration-for-jedidesk-ai.md).

# Product/Service Database Configuration for JediDesk AI

Jedidesk uses price lists for bulk addition and updating of products. Below are detailed requirements for the file format, field completion, and recommendations for successful import.

### 1. Purpose of the Price List

A price list is a structured file containing product data, used for:

* initial import.
* regular updates of prices, stock levels, and content.

### **2. Technical Requirements**

* Allowed data encoding — UTF-8;
* The YML standard does not allow the use of non-printable characters with ASCII codes from 0 to 31 (except for characters with codes 9, 10, 13 — tab, line feed, carriage return);
* The URL of the product offer must be encoded according to the RFC-1738 standard;
* Example of a price list implementation.
* Characters ", &, ><, ' must be replaced with their corresponding codes (examples).

| <ul><li>"</li></ul> | \&amp;quot; |
| ------------------- | ----------- |
| <ul><li>&</li></ul> | \&amp;amp;  |
| <ul><li>></li></ul> | \&amp;gt;   |
| <ul><li><</li></ul> | \&amp;lt;   |
| <ul><li>'</li></ul> | \&amp;apos; |

\*The requirement applies only to writing text and does not apply to writing tags;

### **3. Description of tags and data elements in XML:**

<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><p><strong>yml_catalog</strong></p><p>*required element</p></td><td>The root element of the YML format. The date attribute indicates the date and time of XML (YML) generation or modification. The date must be in the format YYYY-MM-DD hh:mm.</td></tr><tr><td><p><strong>shop</strong></p><p>*required element</p></td><td>Information about the online store.</td></tr><tr><td><p><strong>name</strong></p><p>optional element</p></td><td>Store name. Not published on the website, used for internal identification.<br>Maximum number of characters — 255.</td></tr><tr><td><p><strong>company</strong></p><p>optional element</p></td><td>Store name. Not published on the website, used for internal identification.<br>Maximum number of characters — 255.</td></tr><tr><td><p><strong>url</strong></p><p>optional element</p></td><td>URL of the store's main page.<br>Maximum number of characters — 255.</td></tr><tr><td><p><strong>currencies</strong></p><p>*required element</p></td><td><p>List of exchange rates. Each currency is described by a separate <code>currency</code> element.<br>The value in the <code>currency id</code> attribute must be specified as a three-letter alphabetic currency code: UAH, USD, EUR (ISO 4217 standard).<br>Only for the hryvnia is <code>rate="1"</code>. The separator between the integer and fractional parts can be a dot or a comma.<br>Example:  </p><pre><code>&#x3C;currencies>
&#x3C;currency id="UAH" rate="1"/>
&#x3C;currency id="USD" rate="36.6"/>
&#x3C;currency id="EUR" rate="37.9"/>
&#x3C;/currencies>
</code></pre></td></tr><tr><td><p><strong>categories</strong></p><p>*required element</p></td><td><p></p><p>List of product categories. For each category, a unique identifier (<code>id</code>) is specified; numbering is optional.</p><ul><li>Category IDs must remain unchanged;</li><li>It is recommended that a single category in the price list does not contain products from two different site categories;</li><li>It is recommended to specify the category name according to the name on the website;</li><li><p>Maximum number of characters — 255.<br>Example: </p><pre><code>&#x3C;categories>
&#x3C;category id="1">Кутові дивани&#x3C;/category>
&#x3C;category id="2">Смарт-годинник&#x3C;/category>
&#x3C;category id="3">Дитячі ігрові комплекси&#x3C;/category>
&#x3C;/categories>
</code></pre></li></ul></td></tr><tr><td><p><strong>offers</strong></p><p>*required element</p></td><td>List of all product items. Opens after the <code>&#x3C;/categories></code> tag. Closes before the <code>&#x3C;/shop></code> tag.</td></tr><tr><td><p><strong>offer</strong></p><p>*required element</p></td><td><p></p><p>Information about a product item.</p><ul><li>Each product is described in a separate <code>offer</code> element;</li><li>Each item must have a unique <code>id</code>; numbering is optional. Allowed characters: Aa-Zz and 0-9; Cyrillic and spaces are not allowed;</li><li>Changing the <code>id</code> is prohibited if the product has already been added to your site;</li><li><p>The <code>available</code> attribute indicates product availability:</p><ul><li><code>true</code> — product is in stock,</li><li><code>false</code> — product is out of stock.</li></ul></li><li>Each product variant must be submitted with a separate unique <code>offer id</code> (color, size, volume, configuration, etc.).</li></ul></td></tr><tr><td><p><strong>stock_quantity</strong> або <strong>quantity_in_stock</strong></p><p>*required element</p></td><td>Product stock. An integer value. The product will be available as long as this parameter is greater than 0.<br>It must be specified for each <code>offer</code>; items without this tag will be marked as “out of stock.”</td></tr><tr><td><p><strong>url</strong> (в offer)</p><p>optional element</p></td><td>URL of the product page on the seller's website.<br>Maximum number of characters — 500.</td></tr><tr><td><p><strong>price</strong></p><p>*required element</p></td><td>Product price. An integer or decimal value. Use a dot or a comma as the separator between the integer and fractional parts.</td></tr><tr><td><p><strong>price_old</strong> або <strong>old_price</strong></p><p>optional element</p></td><td>Strikethrough price (old product price). An integer or decimal value. Used to display a discount on the product.<br>The value of <code>&#x3C;price_old></code> must be higher than the value of <code>&#x3C;price></code>.</td></tr><tr><td><p><strong>price_promo</strong> або <strong>promo_price</strong></p><p>optional element</p></td><td>Promo price, used to add the product to a promo page.<br>An integer or decimal value.</td></tr><tr><td><p><strong>currencyId</strong></p><p>optional element</p></td><td>Currency in which the product price is specified: UAH / USD / EUR.</td></tr><tr><td><p><strong>categoryId</strong></p><p>*required element</p></td><td>Identifier of the category to which the product belongs.</td></tr><tr><td><p><strong>picture</strong></p><p>optional element</p></td><td>URL of the product image. The link must have a security certificate (https), must not contain Cyrillic characters or spaces, and the maximum number of characters is 1999.<br>The first photo in the list will be the main image on the product page.<br>Minimum number of images — 1, maximum — 15. Maximum size of a single image (file) — 10 MB.</td></tr><tr><td><p><strong>vendor</strong></p><p>*required element</p></td><td>Product brand (trademark/manufacturer).</td></tr><tr><td><p><strong>article</strong></p><p>optional element</p></td><td>Product SKU.</td></tr><tr><td><p><strong>name</strong> або <strong>model</strong></p><p>*required element</p><p><strong>name_ua</strong> або <strong>model_ua</strong></p><p>optional element</p></td><td>Product item name.<br>The price list cannot contain two or more items with exactly the same name;<br>Maximum number of characters — 255.<br><code>name_ua</code> — item name in Ukrainian. If the Ukrainian name for the product is not specified in the price list, the marketplace will apply automatic translation.</td></tr><tr><td><p><strong>description</strong></p><p>*required element</p><p><strong>description_ua</strong></p><p>optional element</p></td><td>Text description of the product.<br>Maximum number of characters — 50,000;<br>The description can be formatted using HTML tags, which must be grouped in the CDATA section.<br><code>description_ua</code> — product description in Ukrainian. If the Ukrainian description is not provided in the price list, the website will apply automatic translation.</td></tr><tr><td><p><strong>state</strong></p><p>optional element</p></td><td>Product condition. Used for selling discounted, used, or refurbished products.<br><code>new</code> — new product;<br><code>stock</code> — discounted product;<br><code>used</code> — used product;<br><code>refurbished</code> — refurbished product.<br>By default (and if the <code>state</code> tag is not specified), products are assigned the status <code>new</code>.</td></tr><tr><td><p><strong>docket</strong></p><p>optional element</p><p><strong>docket_ua</strong></p><p>optional element</p></td><td>Short product description. Must be used to indicate the reason for a discounted product (if the product has the corresponding status). Text field, maximum number of characters — 255</td></tr><tr><td><p><strong>param</strong></p><p>optional element</p></td><td><p>Product specifications (parameters).<br>The parameter name is specified in the <code>name</code> attribute. Both the name and value must be filled in; empty tags are not allowed.<br>For multi-value text parameters, values are listed using the <code>&#x3C;br></code> separator and enclosed in CDATA.<br>Example: </p><pre><code>&#x3C;param name="Колір">Чорний&#x3C;/param>
&#x3C;param name="Додаткові характеристики">&#x3C;![CDATA[Прасувати за температури не більше ніж 110 °C &#x3C;br>
Не можна вибілювати засобами, які містять хлор &#x3C;br>
Прання за температури 30 °C.]]>&#x3C;/param>
</code></pre></td></tr><tr><td><p><strong>paramid</strong></p><p>optional element</p></td><td><p>D of the specification (parameter) on the website. Used for automatic linking of the parameter.<br>IDs of parameters and their values for a specific category can be downloaded in the seller’s dashboard, under “Product Management” → “Reference Guides.”<br>If the parameter type is: ComboBox, List Values, List, Checkbox, CheckBoxGroup, CheckBoxGroupValues — the <code>valueid</code> attribute must be specified.<br>Example: </p><pre><code>&#x3C;param name="Колір" paramid="136895" valueid="1150615">Коричневий&#x3C;/param>
</code></pre></td></tr><tr><td><p><strong>valueid</strong></p><p>optional element</p></td><td><p>ID of the specification (parameter) value on the website. Used for automatic linking of the value. </p><p>Maximum number of characters — 255.<br>Example: </p><pre><code>&#x3C;param name="Сезон" paramid="39560" valueid="2296922, 2645254, 63320">Осіння, Весняна, Літня&#x3C;/param>
</code></pre></td></tr><tr><td><p><strong>value lang</strong></p><p>optional element</p></td><td><p>Used to specify a text specification in two languages.<br><code>value lang="uk"</code> — Ukrainian;<br><code>value lang="ru"</code> — Russian.<br>Maximum number of characters — 255. Example: </p><pre><code>&#x3C;param name="Рекомендації по догляду">
&#x3C;value lang="uk">Не відбілювати&#x3C;/value>
&#x3C;value lang="ru">Не отбеливать&#x3C;/value>
&#x3C;/param>
</code></pre></td></tr></tbody></table>

### 4. Data Updates

* To update price/stock, it is sufficient to provide `id`, `price`, `quantity`.
* Description and photos are updated when re-importing with the same `id`.
* Partial updates are possible — only the changed fields need to be sent.

### **5. Common Errors**

* Price with a comma instead of a dot.
* Empty `id` field.
* Indirect photo URLs (link to a page, not the file).
* Incorrect category.
