Universal product import to Elbuz: upload catalogs from XML, CSV, and Excel—no programmers or manual input required
Received a price list for 50,000 products from a supplier in an incomprehensible format? Downloaded an XML export from a marketplace? Manage your inventory in Excel? Previously, all this meant weeks of manual copy-pasting or an expensive programmer. Now it's five minutes of setup and one button. Universal import of the Elbuz catalog reads any file - XML (YML), CSV or Excel - and automatically arranges products, categories, characteristics, photos and prices.
You upload the file "as is" - the system adapts to it, and not the other way around.
What is the main problem this solves?
Each supplier and marketplace has its own upload format. One sends <name>, another <model> The third one is an Excel spreadsheet with columns in Ukrainian. Regular importers require the file to be "correct"—and if it's not, you're left alone with thousands of rows.
Elbuz's universal import reverses the rule: It's not you who adapt the file to the system, but the system that adapts to your file. You show where everything is located once ("here's the name, here's the price, here's the barcode") and save it as a template. From then on, every price list update is just a click away.
What can universal import do?
This isn't just a "price list downloader." It's a full-fledged catalog building tool that solves real pain points:
- Reads three families of formats: XML and YML (downloads from marketplaces, suppliers, 1C), CSV (text tables with any delimiter) and Excel — XLS/XLSX.
- Loads not only the goods, but also the entire "packaging": Categories with a nesting tree, characteristics combined into groups, photographs, tags, prices, balances, manufacturers, barcodes, and article numbers.
- Builds a category tree automatically — by the same links as in the supplier file, preserving “parent → subcategory”.
- Groups characteristics into blocks (“Dimensions and weight”, “Basic information”) and indicates units of measurement (mm, kg, g) - the catalog looks neat right away.
- Updates already loaded products, rather than creating duplicates: it finds “its” product by article number or external code and updates it.
- Can transform values on the fly - for example, to transform
available="true"in quantity in stock. - Hints at the file structure: The "Analyze File" button reads your file and shows you what tags and columns it contains.
- Works with a file and a link (URL): You can upload a file from your computer or provide a link to the supplier's download—convenient for regular updates.
- Handles large volumes: Hundreds of thousands of positions are processed in batches on a fast engine, and heavy recalculation is performed once at the end - without freezing.
Why is this better than regular importers?
- Flexibility without a programmer. Most systems have a strict format: "upload strictly according to the template." Here, you configure the field mappings visually with your mouse—for any file.
- Ready-made presets. For typical cases (standard YML, basic CSV), the configuration is already done for you - just choose from the list and go.
- Two difficulty levels. Beginners work in a simple visual format. Experienced users can open the JSON tab and fine-tune the details.
- One template - multiple uses. Once you've set up your supplier, you can update your price list with one click, even daily.
- Honest work with updates. The system does not clutter the catalog with duplicates: re-uploading updates existing cards.
What you will get after setup
- A fully populated catalog: products, categories, specifications, photos, and prices are all in their proper places.
- Saving tens of hours of manual work on each price list update.
- The ability to connect new suppliers in minutes, not days.
- A neat, structured catalog, ready for uploading to marketplaces and your store.
- Peace of mind: updates no longer break data or create duplicates.
Who is it suitable for?
- Online stores, which receive price lists from dozens of suppliers in various formats.
- For dropshippers and marketplace sellers, who need to quickly upload and update thousands of positions.
- Wholesalers and distributors with large catalogs and regular updates of stock.
- For content managers, tired of manually copying from Excel.
- To everyone who has a file with products and the desire to download it quickly and painlessly.
How It Works: General Logic in One Minute
Before we move on to the steps, let's understand the main idea - everything will become obvious later.
- There is a file — your price list or download (XML, CSV or Excel).
- There is a "mapping" — a setting that tells the system: “field Name take from the tag
name, Price - fromprice" and so on. - The system goes through the file and for each product it takes values from this map, simultaneously creating categories, characteristics, and uploading photos.
- Ready-made catalog saved in Elbuz.
Main: file format (XML / CSV / Excel) is specified inside the setting, rather than guessing by extension. One template = one format + one map. Once you've set up a provider, you can use it as many times as you like.
Step 1: Open the Import Settings window
Go to the data import section and create (or open) a template Universal Import (XML/CSV/XLS) A settings window will open. It has three semantic zones:
- Top: Selecting a format, choosing a ready-made preset and setting up a source.
- Middle: two tabs - Field Matching (simple visual form) and JSON (extended) (for fine tuning).
- Bottom: upload block - file from computer or link (URL), buttons "Analyze file" and "Import".
Tip: At the very bottom of the window, there's an expanded help section with explanations of all the symbols. It's always at hand—refer to it whenever you're unsure.
Step 2: Choose a ready-made preset (quickest start)
If your file is standard, don't configure anything manually. In the drop-down list Preset There are already ready-made configurations:
| Preset | For what | What is loading? |
|---|---|---|
| YML standard | Classic YML/XML exports of marketplaces and suppliers | Name, price, manufacturer, article number, description, category tree, specifications, photo |
| CSV Basic | Text tables with the separator ";" | Name, article number, price, barcode, manufacturer, category, column specifications, photo, and tags separated by commas |
| Demo (XML, groups/units) | Advanced example with characteristic groups and units of measurement | All of the above + blocks of characteristics, units of measurement, external product code, balance |
Select a preset → the form fills out automatically → adjust a couple of fields to suit your file if necessary. Done.
Step 3: Specify the source format and settings
Select from the top file format. The source settings depend on it:
For XML/YML
- Product node — a tag that is repeated for each product. In YML, this is usually
offerThe system "goes" through all such nodes and takes one product from each.
For CSV
- Separator — symbol between columns: most often
;or,. - First line - headings — Enable this if the first line of the file contains column names ("Name," "Price," etc.). This allows you to reference columns by name in the settings, rather than by number.
For Excel (XLS/XLSX)
- Sheet — the number of the book sheet (numbering starts with 0: the first sheet is 0).
- First line - headings — the same as for CSV.
Step 4. Analyze the file – let the system prompt you
This is the most convenient technique for a beginner. Select the file at the bottom of the window and click "Analyze file" The system will read the beginning of the file and display its tags, attributes, and columns. From there, you don't have to guess anything—you simply select the suggested values in the form fields.
The analysis doesn't download or change anything—it only "inspects" the file. Run it as many times as you like.
Step 5. Configure product field mapping
On the tab Field Matching in the block Product fields You map a system field to a source in a file. On the left - field in the system, on the right - where to get it.
Available product fields that can be filled in:
- Name, Description
- Article, Manufacturer's Part Number (MPN), Barcode (EAN), Model
- Price, Old price, Quantity (remainder)
- Manufacturer
- Category (path) And Category ID
- Link (source), Guarantee
- And additional fields your catalog
How to write "source" - simple rules
For XML, the "Source" field uses shorthand notations that are easy to remember:
| Recording | What does it mean? | Example |
|---|---|---|
| tag name | Get the value of this tag inside the product (the most common case) | name, price |
$text | Take the text of the tag itself | from <price> 100</price> we get "100" |
@Name | Take the value of a tag attribute, not its text | @id at <offer id="51103"> will give "51103" |
| tag/tag | Path to nested tag separated by slashes | dimensions/width, it is also possible before the attribute: url/@href |
For CSV and Excel, the "Source" is specified column number (1, 2, 3…) or column title from the header, if the "First line - headers" option is enabled.
Step 6: Pull up categories
Categories are loaded differently depending on the format.
In XML/YML - a whole tree of categories
If the file has a separate category block (usually <categories> with tags <category> ), the system will build a full tree from it. Fill in the "Categories" block:
- Category node — category tag (for example
category). - ID — category identifier (for example
@id). - Parent ID - to build nesting (for example
@parentId). - Name - For example
$text. - Link in the product — a tag inside the product indicating the category (in YML this is
categoryId).
The connection is ongoing. by ID, as in the file — therefore, the entire “parent → subcategory” hierarchy and precise product linking are preserved.
In CSV/Excel - category in one field
Here the category is specified by a regular field Category (path) in the product field list. For example, the cell might contain the full path "Electronics / Cameras / Accessories."
Step 7. Configure the characteristics (attributes)
This is one of the most powerful features: load dozens of characteristics, sort them into groups and set units of measurement.
In XML/YML, a repeating node
Characteristics usually come as a list of identical tags within a product (for example, many <param> ). Specify in the "Characteristics" block:
- Repeating knot — characteristic tag (for example
param). - Name - where to get the name of the characteristic (often
@name). - Meaning - its meaning (often
$text). - Unit - unit of measurement (for example
@unit): mm, kg, g will be substituted automatically.
If the file supports groups of characteristics (for example, the "Dimensions and Weight" and "Basic Information" blocks), you can additionally specify the group name, its ID, and order—then the characteristics will be beautifully grouped on the product card.
Example from a real file:<param name="Длина" unit="мм" group="Габариты и вес"> 190</param> will turn into the characteristic “Length = 190 mm” in the “Dimensions and weight” group.In CSV/Excel - characteristics by columns
Here, each characteristic is a separate column. Simply list the required columns (for example, "Color," "Size," "Material")—the system will create characteristics from them, where the characteristic name = the column name and the value = the cell content.
Step 8. Photos and tags
Photos
- In XML/YML: Specify a repeating photo tag (e.g.
picture) — the system will load all product photos at once, in the order they appear. - In CSV/Excel: Please indicate the column with the photo and value separator (if there are several links in one cell, separated by commas).
Tags
- In XML/YML: repeating tag (can be by path, for example
Tags). - In CSV/Excel: column with tags and separator.
Step 9. Run the import
At the bottom of the window, select the data source and click the download button:
- File from computer - select the file and click "Import".
- By link (URL) — Insert the link to the supplier's export. This is convenient for regular updates: the link remains in the template, and each subsequent import takes the latest data.
The system will display the progress of the operation: file reading, how many products have been saved, and finally, "Import complete." For large catalogs, you'll see the "Final catalog processing" stage at the very end—this is a normal, accelerated recalculation of prices, sorting, and indexing, performed once for the entire collection.
Do not close the window until you see the "Import complete" message.
Subtle features for advanced users
Value transformations: map and default
Sometimes a value in a file needs to be "translated" into something the system understands. A classic example is presence: the file says available="true", and in the catalog you need the number (the balance in the warehouse).
To do this, you can set the following for any field:
- map — dictionary of substitutions (case-insensitive comparison): one value is replaced by another.
- default — the default value if the result is empty.
Example of setting up the "Quantity" field:
{ "from": "@available", "map":{ "true": "100", "false": "0" }, "default": "0" } Here true will turn into the remainder 100, false — to 0. This works for any field: statuses, yes/no, availability codes.
External product code is the key to correct updates
If the file contains a unique product identifier from the supplier (for example @id ), match it with the field external code Then, when reloading, the system will reliably find the "right" product and update it specifically, rather than creating a duplicate.
JSON Tab - Full Control
Everything you customize visually can be seen and edited as a single setting text in the tab. JSON (extended) This is convenient for copying a pre-existing setting, transferring it between templates, or specifying uncommon parameters not present in the form. After editing, click "Apply to Form."
Saving the setting as a template
Button Save Setting Stores your match map in a template. Once you've set up your supplier, simply upload a new file using the same button.
Recommendations for optimal setup
- Start with a preset. Even if it's not perfect, it's faster to fix a couple of fields than to set it up from scratch.
- Always click "Analyze file". This takes the guesswork out: you select actual tags and columns from your file.
- Be sure to set up a unique key (manufacturer's part number, barcode, or external code) is insurance against duplicates during updates.
- Test on a small file. Before uploading 100,000 positions, run 5-10 lines and make sure everything is in place.
- For regular suppliers, use URL import — updating your price list will be a matter of one click.
- Group characteristics, if the file allows it, the catalog will look professional.
Frequently asked questions
The file didn't download - what should I do?
Check that the correct format (XML/CSV/Excel) is selected and that the product node (for XML) or delimiter (for CSV) is specified correctly. Click "Analyze File"—if the system doesn't recognize the products, the product node or delimiter is most likely incorrect.
Duplicate products have been loaded
This means the unique key isn't configured. Match the manufacturer's part number, barcode, or external code—and reloading will update the cards, not create new ones.
The characteristics were not sorted into groups
Groups only work if they exist in the file itself. Make sure the characteristics in the export have a group specified, and match the group fields in the "Characteristics" block.
Large directory - will the system freeze?
No. Imports are processed in batches, and the most complex recounting is performed once at the end. Hundreds of thousands of items are standard operating procedure.
Help: What the settings mean and how to fill them out
The form maps your file's fields to the system's fields. For a standard YML file, everything is already configured by default—just upload the file. You only need to change the settings if your file differs from the standard. Below is a simple explanation of the special symbols.
$text — take the text (content) of the tag itself. For example, from
@Name — take the value of the tag attribute, not its text. For example, … @name entry will give "Color".
tag name Simply use the tag name (e.g., name, price) to get the value of that tag within the product. This is the most common case.
tag/tag — the path to the nested tag, separated by a slash. For example, dimensions/width will take
repeat A repeating node is a tag that appears multiple times within a product: characteristics (param), images (picture), tags. The system processes each repetition separately, so all characteristics and photos are loaded at once.
Product node — a tag that is repeated for each product in the file. In YML, this is usually "offer." The import "walks" through all such nodes and takes one product from each.
Specifications: “Name” is where to get the name of the characteristic (often @name), “Value” is its value (often $text), “Unit” is the unit of measurement (for example @unit).
External characteristic identifiers (optional, but recommended): attribute_uuid_ext — the external ID of the characteristic from the supplier, attribute_block_uuid_ext — the external ID of the group. These are used to find the characteristic and group even if the supplier has renamed them, and avoid creating duplicates. attribute_code — the service code of the characteristic (stored for reference). Matching: first by external ID, if none, by name.
Update existing characteristics (checkboxes under characteristics) — synchronization mode. By default, importing existing characteristics only changes product values and leaves the characteristic cards untouched. Enable the checkboxes to update the following from the file: characteristic name, group name, group assignment, and unit of measurement. Useful for synchronizing the reference book with the source; keep this option disabled if your names are cleaner than the supplier's.
Categories are linked by ID, as in the file: "ID" is the category identifier, "Parent ID" is used to build the tree, and "Product Link" is a tag within the product indicating the category (in YML, this is categoryId). This preserves the entire hierarchy and links products to categories.
For CSV/XLS, the “Source” field specifies the column number (1, 2, 3…) or the column name from the header if the “First row - headers” option is enabled.
split A value separator is a character used to list multiple values in a single cell/tag (for example, multiple photos or tags separated by commas).
map / default — value substitution and default value. map substitutes one value for another (case-insensitive comparison), default is substituted if the result is empty. Example for availability: {"from":"@available","map":{"true":"100","false":"0"},"default":"0"} — "true" will turn into the quantity 100, "false" — into 0.
Ready to get your catalog organized?
No more manual copying from Excel, no more weeks of waiting for a programmer, and no more duplicates after updating the price list. One file, five minutes of setup – and the entire catalog is in Elbuz.
Open the import section, select a suitable preset, and upload your first file right now. You'll be surprised how fast it is.
Elbuz's universal import feature allows you to fill your catalog while you're busy selling.
- What is the main problem this solves?
- What can universal import do?
- Why is this better than regular importers?
- What you will get after setup
- Who is it suitable for?
- How It Works: General Logic in One Minute
- Step 1: Open the Import Settings window
- Step 2: Choose a ready-made preset (quickest start)
- Step 3: Specify the source format and settings
- Step 4. Analyze the file – let the system prompt you
- Step 5. Configure product field mapping
- Step 6: Pull up categories
- Step 7. Configure the characteristics (attributes)
- Step 8. Photos and tags
- Step 9. Run the import
- Subtle features for advanced users
- Recommendations for optimal setup
- Frequently asked questions
- Help: What the settings mean and how to fill them out
- Ready to get your catalog organized?

