---
title: Importing payroll data
description: Load salaries, recurring payments, bonuses or hours from a file, as a simulation or for real, and roll back an import.
url: "http://illizeo.com/en/centre-aide/payroll-importing-data/"
updated: "2026-11-11"
category: Payroll / Preliminary salaries
---

# Importing payroll data

The payroll **Import** tab loads base salaries, recurring payments, bonuses or attendance hours in one go from a CSV or Excel file. Each import goes through four steps: upload, column mapping, row-by-row validation and result. You can simulate before writing anything, and roll back a real import. This article is intended for payroll managers.

## Before you start

- Each data type has its own permission: **Import — Base salaries**, **Import — Recurring payments**, **Import — Bonuses**, **Import — Presence hours**. You only see the types open to you.
- Some modes also have their own permission: **Import — Full replacement mode**, **Import — Deletion mode**, **Import — Simulation mode (dry-run)**, **Import — Initial migration**. The history requires **Import — History and reports**, rolling back requires **Import — Rollback (undo an import)**, and saving a mapping requires **Import — Save mapping templates**.
- The default Administrator and Payroll Manager roles have all these permissions.
- The employee is identified by their **Employee ID** (the ID on their record). An employee outside your population is refused.
- The import applies to the month shown on the payroll screen: choose it first.

## Step 1 — Upload

1. Open **Payroll › Import**.
2. Under **Data type**, choose **Base salaries**, **Recurring payments**, **Bonuses** or **Attendance hours**. The **Expected fields** list shows the type’s columns; those marked with an asterisk are required.
3. Under **Import mode**, choose the mode (see below).
4. Under **Date format**, say how dates are written in your file: European, US or ISO format.
5. Under **File**, click or drop your file. The **File template** button downloads a template with the right columns. For a CSV, check the **CSV encoding**.
6. A preview of the first rows appears, with the total number of rows. Click **Continue to mapping**.

![Upload step of the import: Bonuses type selected, Simulation mode selected with its explanation, file drop zone, File template, UTF-8 encoding, and Expected fields (Employee ID, Amount and Payment month required).](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-08.en_-scaled.png?resize=800%2C619&quality=80&ssl=1)
Choosing the data type and the import mode.

### Import modes

- **Incremental** — adds or updates: existing records are updated, new ones are created, nothing is deleted.
- **Full replacement** — overwrites everything: all existing data of the selected type is deleted and replaced by the content of the file.
- **Simulation** — no changes: the file is analysed and validated without changing any data. Ideal for checking the mapping and errors before a real import.
- **Correction** — updates only: only existing records are updated; a row that matches nothing is refused with its reason.
- **Deletion** — each row designates an existing item (employee and date) which will be deleted; a row that designates nothing, or several items, is refused.
- **Initial load** — loads the history of employees who do not yet have any data of this type, over as many periods as needed; records already filled in are skipped row by row.

## Step 2 — Mapping

1. For each column of your file, choose the matching **Illizeo field**, or **— Ignore —**. Columns whose header is a field’s code (shown next to each expected field, for example *employee_id* or *amount*) are mapped automatically.
2. To reuse this mapping, click **Save this mapping** and give it a name. Saved mappings then appear at the top of the step and apply in one click.
3. Click **Validate and preview**.

## Step 3 — Validation

Each row is checked. A banner recalls the chosen mode (for example “Simulation mode — no data will be changed”), and counters show the rows that are **ready**, the **warnings** and the **errors**. The table repeats the mapped columns and the **Status** of each row: valid, or the reason for refusal, for example an unknown employee ID. In Incremental or Correction mode, the **Before → After** column shows the current value and the new one.

1. Review the table. **Export the report** downloads the validation result.
2. In simulation, click **Run the simulation**. Otherwise, click **Import N rows** (or **Delete N rows** in Deletion mode). Rows in error are skipped.

![Validation step of a bonus import in simulation mode: 3 ready, 1 error; three valid rows and one refused row “Employee not found: 9999999”; Back to mapping, Export the report and Run the simulation buttons.](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-09.en_-scaled.png?resize=800%2C344&quality=80&ssl=1)
Row-by-row validation, before anything is saved.

If the target period is outside the allowed retroactive window, the import is refused with its reason. When an exception is possible, the **Reason for the retroactive exception** field appears: enter the reason, then run the import again.

## Step 4 — Result

The outcome is displayed: **Simulation complete**, **Import complete**, **Partial import** or **No row imported**, with the rows processed, imported and failed. Refused rows are listed with their **Row**, **Employee ID** and **Reason**, and can be downloaded as CSV.

- After a simulation, **Run it for real** repeats the same import in Incremental mode.
- After a real import, **Roll back this import** restores the previous data.
- **New import** starts again at step 1; **Back to payroll** closes the wizard.

If an approval workflow is set up for imports, the screen shows **Import submitted for approval**: nothing has changed yet, and the import is applied as soon as it is approved. Only one import of the same type and period can await approval at a time.

## Viewing the history and rolling back an import

1. Click **History** at the top of the Import tab. The **Import history** panel lists the imports of the displayed period: **Date**, **User**, **Type**, **Mode**, **File**, **Rows**, **Errors** and **Status** (**Success**, **Partial**, **Simulation**, **Rolled back**).
2. On an import with refusals, click **Refusals** to download the refused rows (CSV).
3. To roll back a real import, click **Roll back**, read the confirmation (the data is restored to its state before the import) and click **Confirm the rollback**.

## Good to know

- Imported amounts are recorded as they are: no proration, back pay or contribution is calculated on import.
- For an employee with several contracts, the **Contract start (if several)** column designates the contract; left empty, it is the main contract.
- In an initial load, approved payroll periods remain locked.
- Full replacement and Deletion modes are not offered for attendance hours.
- A simulation writes no payroll data and cannot be rolled back: there is nothing to roll back.

## Frequently asked questions

### My rows are refused although the employee exists.

Check that the column mapped to **Employee ID** really contains the ID on the employee record, and that this employee is within your population.

### I cannot see the Full replacement mode.

This mode has its own permission. Without it, it is not offered; some modes also do not apply to every data type.

### Can I import the 13th-month salary?

The number of salaries per year (12 to 15) is set by the frequency of the base salary; see [Payroll settings](https://illizeo.com/en/centre-aide/payroll-settings/).

### *Similaire*
