Cost Control
You can import a period of bookings from an .xlsx or CSV export of your accounting software and tell which cost control set receives them.
Import a period of bookings from your accounting software, such as a DATEV or Excel export, instead of typing each cost item by hand. KOSMA imports the lines into the cost control set you have open. You need a mapping set that tells KOSMA which field each column of the file holds. See [set up an import mapping set](/kb/article/set-up-an-import-mapping-set).
In the toolbar, click  **Import**. KOSMA opens **Accounting Data Import** at step **File**. Drop the accounting file on **Drop file here**, or click  **Select file** and choose it. Under **Select Import Mapping Set**, choose the mapping set for this file.
KOSMA gives every line the currency and the company of the mapping set, so choose one with the currency of the file. The list shows only their names. To see the **Currency** of the chosen one, or to change it, click **Edit**. If no mapping set fits the file, click **New**. **Edit** opens the chosen mapping set, **New** opens an empty one; both close this dialog. When you save it or click **Cancel**, KOSMA returns to step **File** with your file and that mapping set chosen.
The card says which files KOSMA can read:
Only MS Excel (.xlsx) or CSV files can be imported. Data must be in the first sheet.
If KOSMA cannot read the file, it shows this message under the card when you click **Continue**:
The file could not be read. Check that it is a valid .xlsx or CSV file and that the data is in the first sheet.
In every interface language, KOSMA reads dates as day.month.year (31.08.2026 or 31.08.26) or year-month-day (2026-08-31). Any other form, such as 31/08/2026, stops the import at step **Preview**. What counts is the content, not the display: a date-formatted Excel cell stops it too, even if it shows 31.08.2026.
In a CSV file, and in text cells of an .xlsx file, all amounts must use one notation: German with a decimal comma (1.234,56) or English with a decimal point (1,234.56). If the file mixes them, KOSMA stays at step **File** when you click **Continue** and shows a message under the card. The same happens if the file has figures like 1.000 but no amount with decimals: KOSMA cannot tell whether 1.000 means one thousand or one. The message names the cells and says how to correct the file. Amounts that an .xlsx file stores as numbers are taken as they are.
Click **Continue**. At step **Preview**, KOSMA lists the lines of the file with the mapped columns, **Currency** and **Company**. If every line fits the mapping set, KOSMA shows:
{total} lines detected. All lines mapped.
A line with an empty account cell needs no mapping: KOSMA assigns it to **Unmapped**, see [if some lines have no account](#if-some-lines-have-no-account).
If some lines do not fit, KOSMA marks them red and shows how many:
{total} lines detected. {failed} lines cannot be mapped.
Below that, KOSMA names the problem of each of these lines:
- The account number of the line is not in the mapping set:
Line {line}: No such account
- An effect code of the line is not in the mapping set:
Line {line}: No such effect
- KOSMA cannot read a date or an amount of the line:
Line {line}: Cannot read column "{column}"
**Continue** stays greyed out while any line has a problem. Click **Back**, then correct the mapping set with **Edit**, or correct the file and choose it again.
KOSMA skips any line whose **Text** cell is empty: the preview doesn't show it, and KOSMA neither counts nor imports it. Make sure every transaction has text.
Click **Continue**. At step **Options**, decide whether KOSMA backs up the set first. Under **Back up this set first**, KOSMA explains:
Saves a backup copy of this Cost Control set, including its cost items, before the import. The import goes into this set; the backup lets you go back.
The backup gets the status **Snapshot** and the name in the field next to the option. KOSMA fills it with the name of the open set followed by the word snapshot and today's date in brackets, for example (snapshot 10/04/26). Once you tick the option, you can change the name.
**Add Tag To Imported Data** gives every new cost item of the import a tag such as Import\_20260928\_1430, made from the date and time you opened the dialog. Use it to filter for this import later. You can change the tag in the field. KOSMA also adds the tags from the file.
A set made with an earlier version of KOSMA may still use the tags of its budget; see [how a cost control set relates to a budget](/kb/article/how-a-cost-control-set-relates-to-a-budget). Its cost items then get only tags the budget already has, and you cannot tick **Add Tag To Imported Data**. After the import, KOSMA shows the reason:
Some tags, companies or effects were not added to the imported cost items: {reason}
Click **Continue**. At step **Matching**, KOSMA shows the lines in one group per account the file touches. Lines without an account come last, under  **Unmapped**. To open or close all groups at once, click  **Expand** or  **Collapse**.
KOSMA does not import a line that is already in the open set: its account already has a cost item with the same reference, text, amount and payment date. To see these lines, tick **Show automatically matched data**. Without the tick, they are hidden, and a group of only such lines shows just its cost items with the status **Existing**. To replace an existing cost item with a corrected line from the file, see [re-import a period](/kb/article/re-import-a-period).
The option **Consolidate account forecasts** above the groups lowers the forecast of every account the import writes to, down to the sum of its cost items, until you close the project. See [consolidate on import](/kb/article/consolidate-on-import) before you tick it.
Click **Import**. If some lines have no account, KOSMA first asks:
Import Unmatched Cost Items? {number} cost items have no matching account and will be added under "Unmapped". Import anyway?
To import them under **Unmapped**, click **Import Anyway**.
When the import is done, KOSMA shows **Import Completed**:
The cost items have been successfully imported. {number} records successfully imported.
The number counts new and replaced cost items. Lines that KOSMA skipped as already existing do not count. Each line becomes a paid cost item with the amount and payment date from the file and no expected amount. A line without a date gets the date of the import.
If an import is interrupted, KOSMA keeps nothing from it: no backup, no cost item and no new account.
To undo the entire import, choose **Edit** > **Undo** right after it. KOSMA asks:
This will undo "Accounting Data Import" in one step. Do you want to continue?
Click **Ok**. KOSMA removes the imported cost items, and the backup if you made one.
**If some lines have no account.** KOSMA posts these lines to a new account named **Unmapped**. To find it, type Unmapped in the search box. Move each cost item on it to the account it belongs to; see [move cost items to another account](/kb/article/move-cost-items-to-another-account). To avoid an **Unmapped** account in the next import, give these lines an account number in your accounting export; see [match accounts, effects and companies](/kb/article/match-accounts-effects-and-companies).
**If Import is greyed out.** KOSMA greys out **Import** when you cannot change the set. Point at the greyed-out button: its tooltip names the reason.
Markdown