---
title: Completing employee data
description: Find what the workforce is missing, read and complete an employee’s Swiss payroll tab and bring in data from a file.
url: "http://illizeo.com/en/centre-aide/swiss-payroll-employee-data/"
updated: "2026-11-11"
category: Payroll / Swiss payroll
---

# Completing employee data

To calculate and declare an employee’s Swiss payroll, the module needs precise data: OASI number, residence permit, marital status, home address and municipality, the contract’s insurance codes, base salary, withholding tax scale… This article explains how to find what is missing across the workforce, how to read and complete an employee’s **Swiss payroll** tab, and how to bring in data in bulk from a file. It is intended for payroll managers and administrators.

## Before you start

- Only Swiss contracts of a sub-company assigned to the **Illizeo calculation engine** have data to complete — see [Getting started with Swiss payroll](https://illizeo.com/en/centre-aide/swiss-payroll-getting-started/).
- The **Missing data** screen and the **Swiss payroll** tab of the employee record require the **Swiss payroll tab of the employee profile** right. Saving a contract’s insurance codes requires **Execute** level.
- The tab’s salary blocks (basic salary data, supplements, family allowances) follow the **Basic salary data of the contract in the Swiss payroll tab** right; the **Withholding tax** block follows the **Withholding tax and religion (sensitive data)** right. Without the right, the block does not appear.
- Scope: everyone only sees the employees whose salary they can see.

## Seeing what the workforce is missing

Open **Swiss payroll › Missing data**, or click **See the data to complete** on the module’s home page. The **Missing workforce data** screen shows, contract by contract, what is still missing to calculate and declare Swiss payroll.

![Missing workforce data screen with no contract to complete: the Contracts, Complete and To complete summary at 0, the Scope, Missing item and Status filters, and the message “No active or upcoming contract in this scope.”](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-suisse-07.en_-scaled.png?resize=800%2C244&quality=80&ssl=1)
The screen’s summary and filters, here with no contract to complete.

- The **Summary** counts contracts, complete contracts and contracts to complete, then groups the gaps **By missing item**.
- The filters at the top narrow the list to a **Scope**, a **Missing item** or a **Status** (**All**, **Incomplete**, **Complete**).
- Each line names the employee, their scope and their missing items; the name opens their record.

The screen does not correct anything itself: each item is completed in the person’s record, either in the **Swiss payroll** tab or in the profile tab it points to (identity, address, salary…).

### The most frequently missing items

- in the profile: **OASI number**, **Date of birth**, **Sex**, **Nationality**, **Residence permit**, **Marital status**, **Home address**, **Home municipality**, **Children**;
- in the contract: **Workplace of the contract**, **UVG code of the contract**, supplementary accident, daily allowance and BVG codes of the contract;
- in the salary: **Current base salary**, **Wage type to map**, **Withholding tax scale**;
- for family allowances: fund membership, canton of the workplace, a child’s date of birth, canton amounts.

## Reading an employee’s Swiss payroll tab

Open the employee’s record, then the **Swiss payroll** tab. The tab covers the contract selected at the top of the profile: change contract in the header to read another contract’s data.

The blocks follow the order in which you complete them:

1. **To complete**: what is still missing to calculate and declare this person’s Swiss payroll, with a link to the profile tab where it is corrected.
2. **Profile data**: OASI number, date of birth, sex, nationality, permit, home address and canton of residence, FSO municipality, language, religion, children. They are read from the profile, never copied, and are corrected there. One exception: when the home postcode covers several municipalities, you choose the person’s **FSO municipality** here.
3. **Withholding tax** (with the sensitive data right): the scale proposed by Illizeo, the scale applied, the canton, the special category and their history. Every change is logged.
4. **Contract**: the calculation scope and the contract’s insurance codes — **OASI/UI code**, **UVG code**, **UVGZ codes**, **KTG codes**, **BVG codes** — chosen from its employer’s insurance solutions, and the **Staff category**. Click **Save the contract codes**.
5. **Basic salary data**: the contract’s salary read from the record’s Salary tab, item by item, with each item’s wage type. An item without a wage type shows **To map**. Amounts are changed in the Salary tab.
6. **Salary supplements**: what the Salary tab does not hold, permanent (every month of a period) or one-off (a single month). Click **Add a supplement**, choose the wage type, then the quantity and rate, or the amount. Every action is logged.
7. **Children and family allowances**: the children read from the profile’s dependants, read-only, and their allowance cards. Allowances are calculated in the canton of the contract’s workplace.

Depending on the contract and your rights, other blocks are added, for example the month’s hours of an hourly-paid employee or BVG contributions.

### An external contract

An external contract (contractor, agency) is not handled by Swiss payroll. When it is selected, the tab only shows “This contract is external: it is outside the Swiss payroll. It is neither calculated nor declared, and nothing needs completing.”

## Importing data from a file

To bring in data in bulk, open **Swiss payroll › Data imports**. Each row of the file goes through the record’s own entry: same checks, same rights, same history.

1. In **New import**, choose the **Data to import**, for example **Base salaries**, **Recurring payments**, **Bonuses**, **Salary supplements**, **Insurance codes per contract**, **Withholding tax**, **Hours of the month** or **Year-to-date takeover (months already paid)**. You only see those you have the entry right for.
2. Click **Download the file template** to get the expected columns. One row per person or contract; the person is identified by their employee ID or e-mail.
3. Drop your CSV or Excel file in the **File to import** area.
4. Check the **Column mapping**: each expected column takes a column of your file, or **— ignore —**.
5. Click **Simulate the import**. The **Simulation** counts the applicable rows and lists the refused rows with their reason — nothing has been saved yet.
6. If the result suits you, click **Import N row(s)**. The **Import result** gives the rows imported and refused.

![Data imports screen after a simulation: Base salaries chosen, the column mapping taken automatically from the file header, the Simulation — nothing has been saved yet block with 2 rows, 0 applicable and 2 refused with their reason, the Change file, Simulate the import and disabled Import 0 row(s) buttons, then the empty Import log.](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-suisse-09.en_-scaled.png?resize=800%2C589&quality=80&ssl=1)
Choose the data, drop the file, simulate, then import.

### Rolling back an import

The **Import log** lists each import: its date, data, file, rows and author. Click **Roll back the import** and confirm: the data the import wrote goes back to its previous value. Imports are rolled back from the most recent to the oldest; an item corrected since then is corrected on screen.

## Good to know

- A blocking item prevents closing the month: complete it before closing.
- Profile data is corrected in the profile; the Swiss payroll tab reads it.
- The withholding tax scale is proposed by Illizeo from the profile; you can apply a different one.
- An employee who only has external contracts has no Swiss payroll tab.

## Frequently asked questions

### The missing data list is empty. Is that normal?

Either every contract is complete, or no sub-company is calculated by Illizeo: only a sub-company on the Illizeo engine has data to complete.

### I cannot see the Withholding tax block.

It requires the **Withholding tax and religion (sensitive data)** right. Without this right, the block does not exist.

### A BVG code is not offered to me.

A contract’s codes are chosen from the insurance solutions of its employer’s affiliation. Add the solution to the affiliation — see [Setting up Swiss payroll](https://illizeo.com/en/centre-aide/swiss-payroll-setting-up/).

### *Similaire*
