Import templates (CSV & Excel)

Import articles, categories, stock and more from CSV or Excel files with a reusable import template.

Import templates let you read CSV and Excel files into X-Sitter. A template stores the import type, optionally the client, the file format and the mapping "column of the file → field in X-Sitter". Once saved, you can import any number of files with the same layout in a few clicks.

The most common use is the article import: create or update articles with attributes, categories, main image, product family and owner. The same tool also imports categories, manufacturers, bills of materials, storage places, stock and tracking numbers.

Screenshot: Overview "Import templates (CSV & Excel)" with several templates, the cloud icon to import a file and the "New template" button
Screenshot: Overview "Import templates (CSV & Excel)" with several templates, the cloud icon to import a file and the "New template" button

Before you start

  • Your user needs the permissions for the import, the template list and creating templates – ask your administrator.
  • For an article import, set up first:
    • Attribute groups and attribute fields. The template shows your fields sorted by attribute group, plus the standard fields your company does not have yet ("Wird beim ersten Import für die Firma angelegt" – created for your company with the first import).
    • Dropdown attributes with their values. Texts in the file are matched to the dropdown values (exact name first, then the first partial match, otherwise the raw value is stored).
    • Clients, if you import for a client.
    • The languages of your company (Catalogue › Attributes › Languages, Katalog › Attribute › Sprachen), if you import names and descriptions in several languages.
    • Categories with an external ID, if you use the field External category ID. Categories in the fields Category 1–6 (Kategorie 1–6) are created automatically.
  • File format: CSV (.csv, .txt, .tsv) or Excel (.xls, .xlsx).

Step by step

Create a template

  1. Open Catalogue › Import › Templates (Katalog › Import › Vorlagen) and click New template (Neue Vorlage). Or go directly to Catalogue › Import › Create template (Vorlage erstellen).
  2. 1 · Template (Vorlage): enter the Template Name (Name der Vorlage), choose the Import type (Import-Typ) and the Client (Mandant). The client dropdown is shown to the logistician only: it lists your own company under Logistician (Logistiker) and your active clients under Clients (Mandanten) – see The client of a template. The types are grouped into Items & catalog (Artikel & Katalog), Storage (Lager) and Orders & shipping (Aufträge & Versand); a short text under the dropdown explains what the selected type does.
  3. 2 · Sample file & format (Beispiel-Datei & Format): drag a sample file into the field Drag a CSV or Excel file here or click (CSV- oder Excel-Datei hierher ziehen oder klicken). It is only used for the preview and the mapping – it is neither imported nor stored. For CSV, X-Sitter detects the Separator (Trennzeichen) automatically; you can adjust it, the Text delimiter (Textbegrenzer) and First line contains column names (Erste Zeile enthält Spaltennamen).
  4. Check the preview. Mapped columns are highlighted in blue and show the name of their field. The preview stays at the top while you scroll through the mapping.
  5. 3 · Map columns (Spalten zuordnen): the fields are grouped in sections you can expand – Master data (Stammdaten), Images (Bilder), Texts & categories · [language] (Texte & Kategorien · [Sprache], default language first) and Attributes · [group] (Attribute · [Gruppe]). Each section shows a counter "x / y". For every field, choose the column of your file; an example value from the file is shown next to it.
  6. 4 · Import settings (Einstellungen des Imports) – only for some import types, see below.
  7. Click Save template (Vorlage speichern) in the bar at the bottom. If something is missing, Bitte noch ergänzen lists it (name, import type, separator, required fields). Otherwise you see The CSV import template has been successfully saved.
Screenshot: Step "1 · Template" with name, import type dropdown (groups visible) and client dropdown
Screenshot: Step "1 · Template" with name, import type dropdown (groups visible) and client dropdown
Screenshot: The opened client dropdown with "— no client —", the group "Logistician" with the own company and the group "Clients" with the active clients
Screenshot: The opened client dropdown with "— no client —", the group "Logistician" with the own company and the group "Clients" with the active clients
Screenshot: Step "2 · Sample file & format" with a loaded file, detected separator and preview table with blue mapped columns
Screenshot: Step "2 · Sample file & format" with a loaded file, detected separator and preview table with blue mapped columns
Screenshot: Step "3 · Map columns" with the expanded section "Stammdaten", example values and the buttons "Auto-assign", "Search field …", "Only mapped" and "Clear mapping"
Screenshot: Step "3 · Map columns" with the expanded section "Stammdaten", example values and the buttons "Auto-assign", "Search field …", "Only mapped" and "Clear mapping"

Helpers for the mapping:

  • Auto-assign (Automatisch zuordnen) maps columns whose heading matches a field (e.g. "SKU" → Item Number (SKU)). For a new template this happens automatically when you load the file.
  • Search field … (Feld suchen …), Only mapped (Nur zugeordnete) and Clear mapping (Zuordnung leeren).
  • If one column is mapped to several fields, the field shows "Spalte auch zugeordnet zu: …" (column also mapped to …).

Import a file

  1. In the template overview, click Import File (Datei importieren, cloud icon) next to the template.
  2. Drag the file into the dialog or select it – or choose from your data pool (wähle aus Deinem Datenpool). The data pool lists your CSV and Excel files, newest first. You can upload files to it beforehand under Catalogue › Import › Files (Dateien).
  3. When the import is done, X-Sitter reports how many records were processed. For Book in items (Artikel einbuchen), the message also shows the pallet labels created and printed. The column verarbeitete Elemente (processed items) in the overview shows the number of the last run.
Screenshot: Import dialog with drag-and-drop area and the "choose from your data pool" list
Screenshot: Import dialog with drag-and-drop area and the "choose from your data pool" list

Edit, duplicate or delete a template

  • Click the name or Edit (Bearbeiten) to change a template.
  • Duplicate (Duplizieren) creates a copy "[name] (Kopie)" and opens it right away so you can rename it.
  • Delete (Löschen) asks Should the template really be deleted? and then confirms The template has been deleted.

Load a new file into an existing template

When you load a new sample file into a saved template, the mappings follow their column by column name. If the new file has a different column order or extra columns, the mappings move along; empty fields with an exactly matching column name are filled in. Fields whose column no longer exists are listed under "Ohne passende Spalte, bitte zuordnen: …" (no matching column, please map). This only works with a header row – without column names, the column numbers stay.

One template works for both formats: the same template can read a CSV or an Excel file. Separator and text delimiter only apply to CSV.

Import types

Import type What it does
Article (Artikel) Creates or updates articles: master data, categories, images, texts and attributes
Product Supplier Information (Artikel Lieferanten Daten) Writes attributes into existing articles, creates no new articles
Articles - Category Linking (Artikel - Kategorie Verlinkung) Links existing articles with up to ten categories (by name)
Bill of Materials (Stücklisten) Creates bills of materials with their articles and quantities – see Bills of materials
Item Mapping (Warehouse) (Artikel Mapping (Lager)) Replaces the mapping retailer SKU → warehouse SKU – see Article mapping
Portal Mapping (Portal-Mapping) Sets the ID and the item number of articles in one marketplace or connected system – the same values as the portal mapping in the article, see Settings for "Portal Mapping"
Manufacturer (Hersteller) Creates or updates manufacturers – see Brands
Categories (Kategorien) Creates the category tree; parents via the external ID
Creating Storage Bins (Lager Plätze anlegen) Creates or changes storage places, matched by place name – see Storage places
Book in items (Artikel einbuchen) Books stock onto storage places, optionally with history and pallet labels
Tracking Numbers (Tracking Nummern) Writes tracking numbers and carriers into existing orders. Without a carrier column, the carrier is detected from the tracking number.
Order statistics (Bestell-Statistik) Imports order statistics

For Creating Storage Bins and Book in items, the section Bin name from parts (Platzname aus Teilen) lets you build the place name from up to eight columns. The parts are joined with "-"; parts from the second one on are padded with leading zeros to the number of digits you choose.

The client of a template

Import type Effect of the client
Article Every row becomes an article of this client. The column Owner (client) is ignored.
Book in items Articles are searched for (or created for) this client. The owner column is ignored.
Product Supplier Information, Articles - Category Linking Only articles of this client are found
Item Mapping (Warehouse) Only articles of this client; only this client's mappings are replaced, those of other clients stay
Portal Mapping Only articles of this client are found. Without a client, the item number has to be unique at the logistician.
Tracking Numbers Tracking numbers are written into the orders of this client
Manufacturer, Categories, Bill of Materials, Creating Storage Bins, Order statistics No client can be chosen: "Dieser Import-Typ gehört immer dem Logistiker" (this type always belongs to the logistician)

The dropdown offers two groups: Logistician (Logistiker) with your own company and Clients (Mandanten) with your active clients.

  • — no client — (— kein Mandant —): the column Owner (client) decides; without that column, the articles belong to your own company.
  • Logistician: every row belongs to your own company – only your own articles (articles without an owner) are found or created. The owner column is ignored as well.
  • A client: as in the table above.

The dropdown is shown to the logistician only – a client who is logged in always imports for themselves. See also Article owner and client access.

Fields for the article import

Field Meaning Required
Item Number (SKU) (Artikelnummer (SKU)) Key of the article. It is also stored as attribute "SKU" automatically – no second mapping needed. Yes
Status 1, yes or Y = active. Without a column, the choice next to the field applies: active / inactive / do not set. No
Owner (client) (Eigentümer (Mandant)) Client's company ID, company number or name. Not available when the template has a client. No
External category ID (externe Kategorie Id) Assigns an existing category with this external ID No
Main image (Hauptbild) Image URL (png, gif, jpg); stored as preview image of the article No
Texts & categories · [language] (Texte & Kategorien · [Sprache]) Name, short and long description, Category 1–6 (Kategorie 1–6) and Product Family (Produkt Familie) per language of your company. Missing categories and product families are created; the article goes into the deepest category. No
Attributes · [group] (Attribute · [Gruppe]) Every attribute field of your company or the standard template. A decimal comma becomes a point; 0 or an empty cell is ignored. SKU, owner, name and descriptions are not listed here because they have their own fields. "No group" (Ohne Gruppe) means the field's group does not exist. No

Older templates show their mappings at the new fields when you open them (for example "SKU" as attribute → Item Number (SKU), names and descriptions without a language → the field of the default language). Save the template to store them there.

Settings for "Book items"

Setting Meaning Default
Storage (Lager) Target warehouse for rows without a warehouse name column Default warehouse
Replace or add to stock (Bestand ersetzen oder aufrechnen) Replace (Ersetzen) sets the stock of the place; Sum (Summieren) adds the quantity of the file (same batch and best-before date) Replace
Create non-existent items (Nicht vorhandene Artikel anlegen) Unknown item numbers are created as new articles Off
Create a history for a storage location (History für Lagerplatz erzeugen) Writes an entry into the stock history (always with Sum) Off
Create pallet labels (Palettenlabel anlegen) Every booked stock row gets its own pallet label with pallet number and a pallet history entry (reason = default goods-in reason of the warehouse, note "CSV-Import Bestand"). If the row already has a label, only quantity and batch are updated. Off
Print pallet labels (Palettenlabel drucken) After the import, the label PDFs are sent to your packing table – see Packing tables. Without Create pallet labels, only rows that already have a label are printed. Off

Labels are printed only after the whole import has been saved. If the import fails, no label is created or printed. See also Pallet overview.

Screenshot: Step "4 · Import settings" for the type "Book in items" with warehouse, replace/sum and the pallet label switches
Screenshot: Step "4 · Import settings" for the type "Book in items" with warehouse, replace/sum and the pallet label switches

Settings for "Portal Mapping"

The import type Portal Mapping (Portal-Mapping) writes the same values as the Portal Mapping card in the article's Mapping tab (see Article mapping) – for many articles at once. One row of the file is one article.

Field / setting Meaning Required
Portal – under 4 · Import settings (Einstellungen des Imports) The marketplace or connected system all rows of the file belong to. The list is the same as in the dialog New Portal Mapping of the article. Yes
Item Number (SKU) (Artikelnummer (SKU)) Finds the article. With a client, only that client's articles; without a client, the item number has to be unique at the logistician. Yes
External Id (Externe Id) ID of the article in the portal (for example the JTL kArtikel), at most 36 characters One of the two
External SKU (Externe SKU) Item number of the article in the portal, at most 32 characters One of the two
Screenshot: The fields "Item Number (SKU)", "External Id" and "External SKU" of the type "Portal Mapping" and step "4 · Import settings" with the portal dropdown and the note "All rows of the file belong to this portal."
Screenshot: The fields "Item Number (SKU)", "External Id" and "External SKU" of the type "Portal Mapping" and step "4 · Import settings" with the portal dropdown and the note "All rows of the file belong to this portal."
  • Empty cells keep the current value. An existing mapping of the article in this portal is updated only in the columns you filled in; nothing is deleted.
  • Unknown item numbers are skipped. If an item number exists for several owners and the template has no client, the import stops and names the row – choose the client in the template.
  • Item numbers made of digits with a decimal separator are searched in both spellings: a file with 122.68 (as a JTL export or a spreadsheet writes it) also finds the article 122,68 – the spelling X-Sitter and JTL use. Item numbers with letters (B6.2) are searched exactly as written.
  • A new portal mapping always belongs to the logistician, also for a client's article.

Good to know

  • An import is all or nothing: if one row fails, nothing is saved and the message names the row ("Zeile N: … Es wurde nichts gespeichert.").
  • The import runs directly in your browser – keep the page open until the message appears.
  • Article numbers are unique per company and owner. A different owner creates a separate article with the same SKU.
  • The template stores the first rows of the sample file so that columns and example values are visible again the next time you open it.
  • For order files, use the separate order import templates.
  • After an article import, you may want to add images or book stock (Putaway).
Message Cause Solution
Bitte noch ergänzen: … Name, import type, separator or a required field is missing Add the missing details
Der gewählte Mandant gehört nicht zu deiner Firma oder der Import-Typ kennt keinen Mandanten. The client does not belong to your company or the type has no client Choose another client or "— kein Mandant —"
Der Mandant dieser Vorlage gehört nicht mehr zu deiner Firma. … The client was moved to another logistician Open the template and choose the client again
Die Datei wurde nicht gefunden oder konnte nicht gelesen werden (CSV oder Excel). File missing, wrong extension or damaged Excel file Check the file; save it again as .xlsx if needed
Die Excel-Datei konnte nicht gelesen werden. The sample file could not be read As above
Für diese Vorlage ist kein Ziel-System hinterlegt Template without import type – or a Portal Mapping template without a portal Edit the template and choose a type or portal
The template does not map “Item Number (SKU)” and “External Id” or “External SKU” to a column. (Die Vorlage ordnet „Artikelnummer (SKU)“ und „Externe Id“ oder „Externe SKU“ keiner Spalte zu.) Portal Mapping without the item number or without a target column Map the columns
Line N: The item number “…” exists for several owners. Please choose the client in the template. (Zeile N: Die Artikelnummer „…“ gibt es bei mehreren Eigentümern. …) Portal Mapping without a client, the item number exists for several owners Choose the client in the template (one template or file per client)
Line N: External Id (at most 36 characters) or External SKU (at most 32 characters) of “…” is too long. A value does not fit into its column Check the file
Die Palettenlabel wurden nicht gedruckt: Deinem Benutzer ist kein Arbeitsplatz (Packtisch) zugeordnet. Your user has no packing table Assign a packing table (Packing tables)
N Palettenlabel konnten nicht erzeugt werden (PDF-Vorlage für Palettenlabel im Lager prüfen). The warehouse has no PDF template for pallet labels Set the template in the warehouse settings
N Bestandszeilen haben kein Palettenlabel und wurden nicht gedruckt. Print pallet labels without Create pallet labels Switch on Create pallet labels as well
An attribute value is missing after the import The value was 0 or empty Check the file and the mapping
Duplicate articles Different owner → separate article per owner Check the template's client or the owner column