Import products
After reading this, you'll be able to import your product catalog into Univents via an Excel template — including tags, location links, accounting accounts, availability, recipes and bundles — and know how a repeated import safely updates existing products instead of duplicating them.
You can bring your entire product catalog into Univents via an Excel file — using a guided wizard right inside the inventory, no support request needed. This is especially useful during initial setup when you want to create many items, recipes, and bundles at once. The same wizard also works for contacts and events — see the overview article Import events, products and contacts via Excel for the mechanics that apply to all three.
Starting the import
- Go to Inventory in the menu.
- Click Import in the top right corner.
- The wizard guides you through five steps: Template → Upload → Mapping → Review → Import.
Step 1: Download the template
Click Download template (.xlsx) to get the Excel template. It already has the right column headers, a few example rows, and a Notes sheet listing the allowed values for every column. You don't have to start from scratch — just fill your products into the existing rows.
Already have your own list with different columns? That works too — in the next step you'll map your columns to the target fields manually.
Step 2: Upload the file
Drag your Excel or CSV file into the drop zone or pick it via the file dialog. Supported formats are .xlsx, .xls, and .csv, up to 10 MB and up to 5,000 rows per import.
Step 3: Map columns
The wizard detects your column headers automatically and suggests a mapping. Only two fields are actually required:
| Column | Required | Note |
|---|---|---|
| Name | Yes | Product name as shown on the booking page and invoice |
| Price net | Yes | Net price as a number |
| Type | No | Artikel (item), Rezept (recipe), Bundle, Verleih (rental), Dienstleistung (service), Digitales Produkt (digital product) — defaults to item if left blank |
| Billing model | No | e.g. per piece, per guest, per hour |
| Category | No | Created automatically if it doesn't exist yet |
| Tax rate | No | Defaults to 19% if left blank |
Every other column (SKU, Supplier item number, description, allergens, stock, minimum stock, dimensions, Kitchen Monitor production fields, and more) is optional — the full list with allowed values is in the Notes sheet of your downloaded template. If you leave the stock field empty for a product, it's automatically created with unlimited stock.
Fill in the Minimum stock column and the product automatically shows up in the reorder view once its stock drops below it — handy for setting the reorder point across an entire catalog at once instead of opening every product's form individually. See Minimum stock & reorder for details.
Unit, packaging unit and alternative unit — which is which?
The unit columns look similar but control different things. Don't fill the same value into both — when in doubt, leave both blank.
| Column | What it controls | Example |
|---|---|---|
| Unit | Can be left blank — products in Univents are always tracked in Stück (pieces) | blank |
| Alternative unit | The unit shown on offer and invoice line items when it shouldn't say Stück there | Portion, Flasche (bottle), Liter |
| Packaging unit + packaging quantity | Logistics info for storage, production/packing/order lists, AND the unit an ingredient is shown in inside a recipe (see below). Never appears on invoices | Kiste (crate) + 6 (wine); for kitchen items the raw measure, e.g. g + 500 (pasta) |
Importing recipes and bundles together
The product template includes a second sheet, Rezeptur & Bundles (recipe & bundles). There, you link ingredients and bundle components to their parent product — no need to rebuild those relationships manually after the import.
| Column | Required | Example |
|---|---|---|
| Product | Yes | Beef Wellington |
| Component | Yes | Puff pastry |
| Quantity | Yes | 0.2 |
| Kind | Yes | Rezeptur (recipe) or Bundle |
You reference the product and component by name or SKU — both sides must already exist in Univents or be included in the same import. If your file contains rows on this sheet, the wizard shows a "Recipe & bundle links detected" note automatically during the Mapping step.
No unit column for ingredients: Univents never converts between units anywhere, so an ingredient's display unit always comes from its own product's packaging unit — never from a per-row value. Set it once on the ingredient product (see Creating & configuring products) and it's correct in every recipe that uses that ingredient.
Importing tags
The Tags column works the same way as for contacts and events: enter several tags comma-separated in one cell, e.g. Hauptgang, Fleisch. A tag that doesn't exist yet is created automatically on import. For an existing product, the tags from the file are added, never replaced — if a product already has three tags and your file only mentions one of them, the other two stay in place.
Linking locations
The Locations column links a product to one or more venues — comma-separated, e.g. Hauptküche, Eventscheune. The locations must already exist in Univents; an unknown name isn't created automatically, it's flagged as a note during review and that link is skipped.
By default, a location is linked as "available". If the product should be a required item at that location — meaning it gets automatically booked into every event held there — append (Required) to the name: Eventscheune (Required). Use this deliberately: an existing link is never upgraded to "required" on a repeated import, even if your file now says so — location links are only added, never changed.
Accounting, availability, automation and ticketing
A few more optional columns cover four areas of the product that used to be reachable only through the inventory form:
| Area | Columns | Example |
|---|---|---|
| Accounting | Debit account, Credit account, Cost center, Revenue account | 4200, 8400, Bar, 8100 |
| Availability | Season from, Season to, Available from (time), Available to (time), Available weekdays | 01.05.2026, 30.09.2026, 08:00, 18:00, Monday, Tuesday, Wednesday |
| Automation | Auto-create shifts, Event duration as shift duration, Auto-send quote, Auto-send order e-mail | each yes/no |
| Ticketing | Is a ticket, Ticket capacity | no, blank |
Leaving "Available weekdays" blank means every day — it's the absence of a restriction, not a restriction of its own. The exact allowed values for each column are, as always, in the template's Notes sheet.
Ticket capacity is only applied when the product is already marked Is a ticket — on a product that isn't (yet) a ticket, a capacity on file would otherwise have no effect, because no ticketing flow reads it.
Step 4 & 5: Review and import
Before anything is saved, the Review step shows you, row by row, whether it will be created, updated, or skipped. Rows with errors don't block the rest of the import — you can download the error list as an Excel file and fix the affected rows separately. Once you confirm the review, the actual Import runs with a progress indicator; at the end you get a report with the number of newly created, updated, and skipped products, plus the recipe/bundle links that were created.
Repeating an import safely
Uploading the same file again doesn't create duplicates: Univents recognizes existing products by their SKU (or, if no SKU is present, by name) and only fills in missing fields — existing values are never overwritten. That means you can refine a list iteratively and re-upload it multiple times without losing or duplicating existing products.
Important for corrected price lists: the import cannot change a value that is already filled in — not even the selling price. If your file has a different price than the product does, the review step now tells you row by row ("Different in your file: Price net …") and the existing value stays as it is. To correct it, edit the product directly in your inventory.
The same applies to the automation and ticketing columns (e.g. Is a ticket, Auto-create shifts): they're also never changed automatically on an existing product — if your file disagrees with the stored value, the review step flags it instead of silently ignoring it.
Frequently asked questions
My product comes out of the kitchen — type Rezept or the production column? Both, with different jobs: type Rezept turns the product into a recipe with an ingredient list (sheet Rezeptur & Bundles). Production ja/yes additionally unlocks the Kitchen Monitor fields (production lead time, shelf life, production category). A dish your kitchen produces itself gets type Rezept and production yes. An Artikel (item) with production yes stays a regular item — it just shows up in kitchen production as well.
My kitchen thinks in grams or milliliters — where do I enter that? On the ingredient product itself, under Packaging unit (the "Storage & packaging" section of the product form; not in the Rezeptur & Bundles sheet). Enter g there and the Kitchen Monitor, Function Sheet, and Production List show that ingredient in grams in every recipe that uses it. You still enter the quantity itself (e.g. 120) in the "Rezeptur & Bundles" sheet — only the unit next to it now comes from the ingredient product.
Separately from that: whatever should show on the offer and invoice instead of "Stück" (pieces) goes on the product under Alternative unit. Leave the "Unit" column blank — products always run on pieces internally in Univents.
Do I need to create the category in Univents beforehand? No. If a category doesn't exist yet, the import creates it automatically.
What happens if a row has an error? Only that row is skipped — the rest of the file imports normally. The review step shows you in advance which row is affected and why.
Can I update existing products through the import? Partly. The import recognizes existing products by SKU or name and fills in empty fields. It does not overwrite a value that is already set on the product — the selling price included. Before the import runs, the review step lists which entries differ and will therefore stay unchanged; you can edit those directly on the product.
What file format is expected? .xlsx, .xls, or .csv, up to 10 MB and up to 5,000 rows. Numbers with a comma decimal separator, as well as German and English values (e.g. "pro Stück" or "Per Piece"), are recognized automatically.
Related articles
- Import events, products and contacts via Excel — the wizard overview, including contacts and events
- Creating & configuring products — creating products manually and fine-tuning pricing
- Kitchen Monitor – production made easy — what happens to the production fields from the import in the Kitchen Monitor