Hilfe - Produkte & Funktionen
German English
German English

Importing and Exporting Articles

The article import lets you create many articles at once or change existing articles in a single step – using a CSV file you edit in Excel, for example. The import writes either the base price or the prices of a pricing level. The export downloads your article master data as a CSV file, as a starting point for the next import or as a backup.

Where do I find the import?

In the bessa Manager under Article management → Articles, the Manage articles button on the action bar opens three functions:

Function

Effect

Download template

Downloads a CSV template with the import columns and one example row

Import file

Opens the import dialog, see Importing articles

Export file

Exports all articles as a CSV file, see Exporting articles

To change existing articles, it is best to start with an export. It contains all columns and the article ID of every article, so the import matches each line to the right article.

Structure of the CSV file

The first line holds the column names. They must be spelled exactly as in the template – also when the bessa Manager is set to English. The column order does not matter.

Column

Required column

Content

Artikel ID

No

Internal article ID. Leave empty for new articles, copy it from the export for existing ones

Produktnummer

Yes

EAN/GTIN or your own article number. Used for matching when no article ID is given

Externe ID

No

Identifier from a third-party system, such as a merchandise management system

Artikelname

Yes

Article name as shown on the Sales Point and on the receipt

Artikelpreis (brutto)

Yes

Gross price including tax, for example 12,95

Steuersatz (%)

Yes

Tax rate in percent, for example 20. It must exist under Tax types

Artikelgruppe

Yes

Name of the article group. A group that does not exist yet is created by the import

Freittext?

No

J if the article name can be entered freely on the Sales Point

Freipreis?

No

J if the price is entered on the Sales Point with every booking

Manuelle Menge?

No

J if a quantity with decimals is entered on the Sales Point, such as a weight

Lagerverwaltung?

No

J to enable inventory management for the article

OnlineBestellung?

No

J if the article can be ordered online

Bearbeitungszeit

No

Preparation time in seconds. Not in the template, but included in the export

The column Freittext? really is spelled that way – do not correct the spelling, or the import will not recognise the column.

The import skips any column whose name is not exactly right. For an optional column it does not stop – this also applies to the Artikel ID. Watch out especially for extra characters in front of the first column name, which easily slip in while editing the file.

Required columns must be present in the file, otherwise the import stops with "Fehlende Spalten" (missing columns). The Produktnummer field may be left empty in individual lines.

Yes/no values: J (yes) or N (no). The import also accepts Ja/Nein, 1/0 and true/false. An empty field counts as no.

Separator and character set: The export uses a semicolon (;) and UTF-8. The import detects semicolon, comma and tab on its own. How to open and save the file correctly in Excel is described in Export Article Master Data and Editing in Excel.

If an optional column is missing from the file, the import resets the matching value when updating – yes/no fields to no, the external ID to empty, the preparation time to 0. A file based on the template, for example, contains no preparation time. Always use an export as the basis for updates.

Importing articles

  1. Click Manage articles → Import file

  2. Click Select file and choose the CSV file

  3. Choose the Type of update

  4. Under Price level, choose where the prices are written – Base price (standard price) or a pricing level

  5. Enable the order screen options if needed

  6. Click Import

The Import button only becomes active once a type of update is selected. After the import, the article list reloads automatically.

Type of update

The import matches each line to an existing article – first by Artikel ID, without an ID by Produktnummer. The type of update decides what happens to matched and unmatched lines:

Setting

New articles (no match)

Existing articles

Create

are created

stay unchanged

Create & Update

are created

are updated with the values from the file

Update

are ignored, no new article groups are created either

are updated with the values from the file

With Update, the import skips unmatched lines without any message. This happens when the Artikel ID column is missing or not recognized and the Produktnummer is empty or belongs to no article. After the import, check that the changes have reached the articles.

A deleted article whose article ID or product number is in the file is restored and updated with the values from the file – also with Create. The same applies to a deleted article group: it is restored with the tax rate from the file.

Price level

Selection

Effect

Base price (standard price)

Price and tax rate from the file become the article's base price. This is the default

a pricing level

Price and tax rate from the file are written to this pricing level of the article. The base price of existing articles stays unchanged, see Importing into a pricing level

Order screens

New articles only appear on the Sales Point once they are placed on an order screen. Two options take care of this during the import:

Option

Effect

Create order layouts

Creates a separate order screen with its new articles for every article group the import creates, and links it on the standard order screen

Add to existing order layouts

Appends new articles of an existing article group to the order screens that already hold articles of that group

If new articles are still not placed on any order screen after the import, the bessa Manager shows an overview of these articles per article group.

If no order screen is set up yet, the Sales Point shows all article groups automatically – new articles then appear without any action. In that case the import hides both options, because they would create tiles and end auto mode. See Auto Mode for Order Screens.

Importing into a pricing level

An import into a pricing level maintains the prices of a pricing level for many articles at once – instead of assigning them to each article individually.

  1. Click Manage articles → Export file and choose the pricing level. The file contains the prices and tax rates of this pricing level

  2. Adjust Artikelpreis (brutto) and Steuersatz (%) in the file. Remove the lines of articles that should not have their own price in this pricing level

  3. Click Manage articles → Import file, choose Update and the same pricing level under Price level

Choose Update even if the articles do not have the pricing level yet. The type of update refers to the article, not to the pricing level: with Create, existing articles stay unchanged and do not get the pricing level either.

The following applies:

  • Price and tax rate from the file go into the article's pricing level. If the article does not have this pricing level yet, it is assigned.

  • The base price of existing articles stays unchanged.

  • All other columns – article name, article group, yes/no fields – still update the article's master data. That is why the export of the same pricing level is the right basis.

  • New articles: With Create or Create & Update, unmatched lines are created as new articles. The price from the file then also becomes their base price. It is better to create new articles with a base price import first.

If an article has no price of its own in the chosen pricing level, the export of this pricing level contains its base price. If you import the file back unchanged, every article in the file is assigned the pricing level with its base price. Remove such lines before the import (step 2).

Tax rates during the import

For all imports:

  • Every tax rate in the file must exist under Tax types. If one is missing, the import stops and names the missing tax rate.

  • All lines of the same article group must have the same tax rate in the file.

  • A newly created article group takes the tax rate from the file.

Whether a line's tax rate may differ from the tax rate of its existing article group depends on the country of the company address and on the target of the import.

Austria

All articles in an article group have the same tax rate – that of the article group. This applies to the base price import and to the import into a pricing level. If the tax rate in the file differs from the tax rate of the existing article group, the import stops and names the affected article groups.

If articles need a different tax rate, assign them to a separate article group with that tax rate.

Germany

In Germany, individual articles may need a different tax rate than their article group, depending on the consumption type – since 1 January 2026 only in exceptional cases. That is why, for an import into a pricing level, the tax rate may differ from the tax rate of the article group. This lets you set the deviating tax rate for many articles at once.

For a base price import, the same rule as in Austria applies: the tax rate must match that of the article group.

The deviating tax rate is only written to the pricing level, never to the master data. The import therefore stops if it would have to create master data with the deviating tax rate:

  • The article does not exist yet: Create it first – with a base price import or in the bessa Manager – and then import the pricing level.

  • The article group does not exist yet and its tax rate from the file contradicts the article's tax rate: Create the article group in the bessa Manager first.

Within the file, the lines of an article group must still share the same tax rate.

Recommended procedure:

  1. Create or update the articles with a base price import, using the tax rate of their article group

  2. Export the pricing level

  3. Set the pricing level's price and tax rate in the file

  4. Import the file into the same pricing level with Update

The overview under Consumption types summarizes which articles may be affected. It is not tax advice – please check with your tax advisor which tax rate applies to your articles.

Error messages

The import checks the entire file before saving anything. If it finds errors, nothing is imported. The message states each error in plain text and prefixes it with the affected line number (for example "Line 3: …"), so you can find the spot in your file straight away.

Common causes:

  • Duplicate article ID or product number: Each may appear only once in the file. The message names both lines.

  • Invalid combination of article ID and product number: The product number already belongs to a different article than the one with the given ID.

  • Tax rate missing or deviating: see Tax rates during the import.

  • Missing columns: A required column is missing or spelled differently.

Exporting articles

  1. Click Manage articles → Export file

  2. Under Price level, choose Base price (standard price) or a pricing level

  3. Click Export

The export contains all articles of all article groups, except deleted articles. The file is called Artikel-Export.csv, or Artikel-Export-<pricing level name>.csv when exporting a pricing level.

When exporting a pricing level, Artikelpreis (brutto) and Steuersatz (%) contain the values of this pricing level. Articles without their own price in this pricing level appear with their base price.


FAQ

Can I change the base price and a pricing level with one import? No. An import writes either the base price or one pricing level. Run a separate import for each pricing level.

Why are my new articles not visible on the Sales Point? They are not placed on an order screen yet. Enable one of the order screen options during the import, or place the articles under Displays. In auto mode, new articles appear automatically.

Why are the order screen options missing? The Sales Point is in auto mode and shows new articles anyway. Once you switch to your own order screens with Customize, the options are available again.

Why was an article created twice? The line contained neither the article ID nor the product number of an existing article, so it was created as a new article. Use an export as the basis – it contains the article IDs.

Why did Update not create the pricing level? The import could not match the lines to existing articles and skipped them. Usually the Artikel ID is missing or its column name was changed, and the Produktnummer is empty. Export the pricing level again, change only prices and tax rates, and import the file with Update.

Why does the import report a deviating tax rate although I am importing into a pricing level? A deviating tax rate in a pricing level is only possible in Germany. In Austria, all articles in an article group must have the same tax rate. See Tax rates during the import.