Budgeting
You can import a rate card as variables by mapping spreadsheet columns to name, formula, unit and comment.
A rate card is a list of names and numbers, which is exactly what a variable group is. Rather than typing sixty rows, import them.
**Import From XLS** is disabled while **All**, **Work Phases** or **Subtotals** is selected, because imported variables have to land in a group you own. Select or create one first.
The button says **Import From XLS**, but `.csv`, `.xls` and `.xlsx` are all accepted.
The mapping step asks which column holds each field:
| Field | Becomes | | -------------- | ------------------------------------------------------------- | | **Name** | the variable's **Shorthand Name** — what you type in formulas | | **Expression** | its formula or value | | **Unit** | what it counts | | **Comment** | the description |
**Name** and **Expression** are required and must be **two different columns**. Unit and Comment can be left as *None*.
Tick **First row is a header** if the sheet has one, or the header becomes a variable called *Name*.
The import refuses rather than importing something half-formed:
- a file with no data rows, - a row whose mapped **Name** cell is empty, - a row whose mapped **Expression** cell is empty, - Name and Expression mapped to the same column.
This is the step worth spending time on. A spreadsheet's first column is usually written for humans — *Hotel, single room, category 3* — and it becomes what you type in every formula.
Rename the column in the sheet before importing, or the group afterwards. Sixty variables with unusable names are slower to work with than sixty typed ones.
**What this is good for.** Rate cards and price lists — the case where the numbers come from outside and change per production. Import them as variables, reference them from [extra costs](/kb/article/define-extra-costs) and account prices, and next year's card is one import rather than a hunt through the budget.
**The 200-variable limit.** A variables group cannot hold more than **200 variables**. If your sheet would push a group past that, KOSMA imports what fits and tells you that not all data was imported — the import is not rolled back, so check the group afterwards and split the rest into a second group.
Markdown