---
title: Calculating and closing monthly payrolls
description: Calculate a month, read and recalculate a payroll, close it, then publish payslips and use the month’s outputs.
url: "http://illizeo.com/en/centre-aide/swiss-payroll-monthly-payroll-runs/"
updated: "2026-11-11"
category: Payroll / Swiss payroll
---

# Calculating and closing monthly payrolls

Each month, Swiss payroll produces one payroll per sub-company: one contract per line, with its SI days, gross salary, contributions, net salary and employer costs. While it is open, the payroll can be recalculated as often as needed; once closed, it is frozen and produces the month’s outputs — payslips, accounting voucher, payment file, withholding tax statement and changes to declare. This article explains how to calculate a month, read a payroll, close it and use what it produces. It is intended for payroll managers and administrators.

## Before you start

- The sub-company must be assigned to the **Illizeo calculation engine**, its employer completed and your wage type catalogue created — see [Getting started with Swiss payroll](https://illizeo.com/en/centre-aide/swiss-payroll-getting-started/) and [Setting up Swiss payroll](https://illizeo.com/en/centre-aide/swiss-payroll-setting-up/).
- The **Monthly payrolls** right opens payrolls at **Access** level; calculating, recalculating and closing require **Execute** level.
- The payment file follows its own right, **Salary payment files**: view batches at Access level, generate, cancel and mark as sent at Execute level.
- Scope: totals only cover the employees whose salary you can see. The accounting voucher, the payment file, the withholding tax statement and the changes of the month add up every salary of the payroll: you must be able to see them all to open them.

## Reading the list of payrolls

Open **Swiss payroll › Payrolls**. The **Monthly payrolls** screen shows, for the chosen **Year**, one table per sub-company calculated by Illizeo: **Month**, **Pay period**, **Status**, number of **Contracts**, **Gross**, **Net** and **Employer costs**. A payroll with blocked contracts says so.

The statuses are **Open**, **Awaiting validation** and **Closed**. A month marked **Taken over** comes from a previous software: see below.

## Calculating a month

1. In the **Calculate a month** card, choose the **Scope** and the **Month**.
2. Click the month’s **Calculate** button (for example **Calculate November 2026**).
3. The message “Payroll calculated.” confirms and the payroll opens.

Months follow one another: you calculate a month after closing the previous one. If the calculation is refused, the message gives the reason.

## Reading a payroll

Click a month in the list. The header shows the month, the sub-company, the status and the pay period (“Pay period from 01.09.2026 to 30.09.2026”, for example, or a shifted period if the employer pays from the 25th to the 24th). Below the header, the totals: **Contracts**, **Blocked**, **Gross**, **Net**, **Employer costs**.

![September 2026 payroll of a sub-company, with Open status: the pay period, the Recalculate and Close buttons, the totals (Contracts, Blocked, Gross, Net, Employer costs), then the Payroll journal section with its PDF, Excel and CSV buttons and a table with one employee per row and one wage type per column.](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-suisse-11.en_-scaled.png?resize=800%2C447&quality=80&ssl=1)
The month’s totals, then the payroll journal.

The **Contracts** section gives one line per contract: **Employee**, **SI days**, **Gross**, **Contributions**, **Net**, **Employer costs**, **Status** and **Gaps**. A **Ready** contract is calculated; a **Blocked** contract has at least one missing item that would make an amount wrong.

### A contract’s details

Click **Details** at the end of a line. The details show each payroll line, grouped by category (gross salary, outside gross salary, employee contributions, employer contributions, bases and subject salaries): **Wage type**, **Base**, **Rate** and **Amount**. Click **Hide** to close them.

![Details of an employee’s contract, with Ready status: a missing item flagged at the top (OASI number), then the payroll lines with their wage type number, base, rate and amount, grouped under gross salary, employee contributions, totals, employer contributions and bases and subject salaries; the Hide button on the right.](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-suisse-12.en_-scaled.png?resize=800%2C641&quality=80&ssl=1)
A contract’s details: base, rate and amount of each line.

### The payroll journal

The **Payroll journal** section, available even on an open payroll, gives each employee, each wage type and the totals per wage type. It can be downloaded as PDF, Excel or CSV.

## Recalculating an open payroll

After correcting an item (an insurance code, a salary, a supplement), click **Recalculate** in the payroll header. The message “Payroll recalculated.” confirms. An open payroll can be recalculated as many times as needed.

## Closing a payroll

1. Check that no contract is blocked: a blocking gap makes the closing fail.
2. Click **Close** in the payroll header.
3. The “Close September 2026?” box explains that the payroll is recalculated one last time, then frozen: it can no longer be recalculated, and its amounts count in the cumulative totals of the following months.
4. Click **Close** to confirm, or **Cancel**.
5. The message “Payroll closed.” confirms.

![“Close September 2026?” box: the text explaining that the payroll is recalculated one last time and then frozen, and the Cancel and Close buttons.](https://i0.wp.com/illizeo.com/wp-content/uploads/2026/11/paie-suisse-13.en_.png?resize=460%2C220&quality=80&ssl=1)
Closing freezes the month: it must be confirmed.

### Four-eyes validation

Your workspace can require a second manager to approve every closing, through a circuit in the **Swiss payroll** category of the Workflows module (inactive until you activate it). The closing is then sent for validation: the message “Closing sent for validation: a second manager must approve it.” appears, the payroll becomes **Awaiting validation** and can no longer be recalculated. The approver sees “Closing this payroll awaits your validation.” and the **Approve or reject** link. Whoever requests the closing cannot approve it themselves. If the closing is rejected, the payroll becomes open again.

## What a closed payroll produces

Once the month is closed, new sections appear in the payroll.

### Payslips

Payslips are produced with the employer’s template, in each employee’s language. The **Payslips** section shows how many have been generated and published. Click **Publish payslips**: each payslip is filed in the employee’s folder, and the employee is notified. A published payslip is no longer regenerated; **Regenerate** only rebuilds unpublished payslips.

### Accounting voucher

The accounting voucher is created at closing, at the level of detail set for the employer. It can be downloaded in the configured export formats, exported to accounting with **Export to accounting** and marked with **Mark as booked**.

### Salary payment

The **Salary payment** section generates the payment file (ISO 20022, pain.001) to import into your e-banking: choose the **Execution date** and the **Debited account**, then click **Generate the file** and confirm. The batch can be downloaded; once it has been imported into e-banking, click **Mark as sent** — the batch is then frozen and can no longer be cancelled. Until it is sent, **Cancel the batch** withdraws it.

### Withholding tax

The monthly statement for each canton: the month’s withholdings, the changes, the collection commission and the amount to pay. Download it, hand it to the canton, then click **Mark as sent**.

### Changes of the month

The entries, exits and changes to declare to OASI, the family allowance fund and BVG. Each one is a task: download its file, submit it to the institution, then click **Mark as declared outside Swissdec** — see [The Swissdec cockpit](https://illizeo.com/en/centre-aide/swiss-payroll-swissdec-cockpit/).

## A month taken over from a previous software

A month imported with **Year-to-date takeover (months already paid)** is marked **Taken over**. Its totals count for the year-to-date figures and the annual outputs; its payslips, payment, accounting entries and declarations are those of the previous software. It can only be changed by rolling back its import — see [Completing employee data](https://illizeo.com/en/centre-aide/swiss-payroll-employee-data/).

## Good to know

- An open payroll can be recalculated at will; a closed payroll can no longer be recalculated.
- Closing recalculates one last time, then freezes the month — or refuses if a blocking gap or a blocking check remains.
- All of the month’s outputs depend on closing: payslips, accounting voucher, payment, declarations, then the year’s certificates and statements.
- Amounts always come from the closed payroll: the payslip does not recalculate any of them.

## Frequently asked questions

### A contract is “Blocked”. What should I do?

Its **Gaps** column names the missing item. Complete it in the employee’s record, then click **Recalculate**.

### I see neither Recalculate nor Close.

Either your role only has the **Monthly payrolls** right at Access level, or the payroll is no longer open (awaiting validation or closed).

### Can a closed month be reopened?

No. A closed month is frozen: its amounts feed the cumulative totals of the following months. That is why closing must be confirmed.

### *Similaire*
