Swissdec et Odoo

Swissdec and Odoo

La paie suisse repose sur un enchevêtrement de cotisations sociales fédérales et cantonales, d'assurances obligatoires et d'obligations déclaratives. Swissdec est le standard qui permet de transmettre toutes ces données en un seul envoi électronique. Cette page documente la configuration d'Odoo pour produire des décomptes conformes.

Swiss payroll relies on a tangle of federal and cantonal social contributions, mandatory insurances and reporting obligations. Swissdec is the standard that allows transmitting all this data in a single electronic submission. This page documents the configuration of Odoo to produce compliant payroll runs.

Swissdec et ELM 5.0 : un envoi pour toutes les caisses

Swissdec and ELM 5.0: one submission for all funds

Swissdec est une association soutenue par l'AFC, l'OFAS, la SUVA et les caisses de compensation. Elle définit le format ELM (Einheitliches Lohnmeldeverfahren) que tous les acteurs reconnaissent.

Swissdec is an association supported by the FTA, FSIO, SUVA and compensation funds. It defines the ELM (Einheitliches Lohnmeldeverfahren) format that all stakeholders recognise.

ELM 5.0

Format technique normalisé

Standardised technical format

ELM 5.0 est un fichier XML qui contient l'ensemble des décomptes de l'entreprise pour une période donnée. Une seule transmission alimente AVS, AI, APG, AC, LAA, LPP, allocations familiales et impôt à la source.

ELM 5.0 is an XML file containing all of the company's payroll data for a given period. A single transmission feeds OASI, DI, EO, UI, accident insurance, occupational pension, family allowances and withholding tax.

Certification

Logiciels certifiés

Certified software

Swissdec certifie les solutions de paie qui respectent intégralement le standard. La certification est délivrée sur la base de tests automatisés couvrant cotisations, allocations, impôt à la source et certificats.

Swissdec certifies payroll solutions that fully implement the standard. Certification is granted based on automated tests covering contributions, allowances, withholding tax and salary certificates.

Distributeur

Distributeur Swissdec

Swissdec dispatcher

Une fois l'envoi déposé sur la plateforme Swissdec, chaque destinataire (caisse AVS, LPP, LAA, fisc cantonal) récupère uniquement les données qui le concernent. L'entreprise n'a plus à dupliquer ses transmissions.

Once the submission is deposited on the Swissdec platform, each recipient (AVS fund, LPP, LAA, cantonal tax authority) retrieves only the data that concerns them. The company no longer has to duplicate its transmissions.

Les cotisations sociales suisses dans Odoo

Swiss social contributions in Odoo

Odoo Payroll modélise chaque cotisation comme une règle salariale paramétrable, avec son taux, son plafond et son fractionnement employeur/employé.

Odoo Payroll models each contribution as a configurable salary rule, with its rate, ceiling and employer/employee split.

AVS / AI / APG

1er pilier

1st pillar

Cotisations fédérales paritaires (10,6% en 2026, dont 5,3% employé + 5,3% employeur). Pas de plafond. Calculées sur le salaire brut soumis AVS.

Federal contributions split equally (10.6% in 2026, 5.3% each side). No ceiling. Calculated on AVS-subject gross salary.

AC

Assurance-chômage

Unemployment insurance

2,2% paritaires jusqu'au plafond LAA (148 200 CHF en 2026), puis 1% de solidarité au-delà. Configuré comme deux règles paliers dans Odoo.

2.2% split contributions up to the LAA ceiling (CHF 148,200 in 2026), then 1% solidarity rate above. Configured as two-tier rules in Odoo.

LAA

Accidents (SUVA / privée)

Accident insurance (SUVA / private)

Accidents professionnels à charge de l'employeur, accidents non professionnels à charge de l'employé (taux variable selon la convention). Plafond de 148 200 CHF (LAA).

Occupational accidents borne by the employer, non-occupational by the employee (rate varies by policy). Ceiling at CHF 148,200 (LAA).

LPP

2e pilier — Prévoyance

2nd pillar — Occupational pension

Bonifications par tranche d'âge (7%, 10%, 15%, 18%) selon le règlement de prévoyance. Calcul sur le salaire coordonné. Le règlement de chaque caisse LPP doit être traduit en règles Odoo.

Age-tiered contributions (7%, 10%, 15%, 18%) per the pension regulations. Calculated on the coordinated salary. Each LPP fund's regulation must be translated into Odoo rules.

Allocations

Allocations familiales

Family allowances

Cotisation employeur uniquement, taux variable par canton (1,5% à 3% selon la caisse). Les allocations versées aux employés ne sont pas soumises AVS mais figurent au certificat de salaire.

Employer-only contribution, rate varies by canton (1.5% to 3% depending on the fund). Allowances paid to employees are not AVS-subject but appear on the salary certificate.

Impôt à la source

Impôt à la source

Withholding tax

Concerne les frontaliers, permis B/L et certains permis C. Barèmes ICTax mis à jour annuellement par les cantons et intégrés dans la localisation Odoo. Le code tarif (A0Y, B0Y, etc.) doit être configuré par employé.

Applies to cross-border workers, B/L permits and some C permits. ICTax scales updated annually by cantons and integrated into Odoo localisation. The tax code (A0Y, B0Y, etc.) must be set per employee.

Configurer Odoo pour Swissdec en 5 étapes

Configure Odoo for Swissdec in 5 steps

01

Activer la localisation suisse RH

Enable Swiss HR localisation

Installer les modules l10n_ch_hr_payroll (et dépendances). Odoo charge automatiquement les structures salariales, les codes Swissdec et les modèles de certificats de salaire.

Install l10n_ch_hr_payroll (and dependencies). Odoo automatically loads salary structures, Swissdec codes and salary certificate templates.

02

Paramétrer les institutions partenaires

Set up partner institutions

Renseigner les caisses AVS, LPP, LAA, allocations familiales et l'autorité fiscale cantonale avec leurs numéros officiels (n° Swissdec, n° contrat). Sans ces identifiants, le fichier ELM est rejeté.

Enter the AVS, LPP, LAA, family allowance funds and cantonal tax authority with their official numbers (Swissdec ID, contract number). Without these identifiers, the ELM file is rejected.

03

Définir les structures salariales par profil

Define salary structures by profile

Cadres, employés mensualisés, horaires, apprentis, frontaliers : chaque profil a sa structure de règles salariales (cotisations applicables, allocations, frais effectifs, indemnités). Une structure par convention collective si nécessaire.

Executives, monthly employees, hourly, apprentices, cross-border workers: each profile has its own salary rules structure (applicable contributions, allowances, actual expenses, benefits). One structure per collective agreement if needed.

04

Tester un cycle annuel complet

Test a full annual cycle

Salaire mensuel, bonus exceptionnel, 13e salaire, indemnités, frais effectifs, certificat de salaire de fin d'année. Le test révèle souvent des écarts entre la configuration et la réalité de la convention collective ou des règlements LPP.

Monthly salary, exceptional bonus, 13th salary, allowances, actual expenses, end-of-year salary certificate. Testing typically reveals gaps between configuration and the reality of the CBA or LPP regulations.

05

Générer et soumettre l'envoi ELM

Generate and submit the ELM file

En fin d'exercice, Odoo agrège toutes les paies en un fichier ELM 5.0. Le fichier est soumis via le distributeur Swissdec, qui le route automatiquement vers les caisses concernées. Un accusé de réception confirme la prise en charge.

At year-end, Odoo aggregates all payroll runs into an ELM 5.0 file. The file is submitted via the Swissdec dispatcher, which routes it automatically to the relevant funds. An acknowledgement confirms intake.

À retenir

Key takeaway

Une paie Swissdec fiable dans Odoo repose sur trois piliers : une localisation suisse à jour, une configuration précise des institutions partenaires et un test complet de cycle annuel avant la mise en production.

A reliable Swissdec payroll in Odoo rests on three pillars: an up-to-date Swiss localisation, precise configuration of partner institutions and a full annual cycle test before going live.

Swissdec et Odoo — repères pratiques

Swissdec and Odoo — practical pointers

Six questions qui reviennent fréquemment sur la configuration Swissdec dans Odoo.

Six questions that come up frequently regarding Swissdec configuration in Odoo.

Qu'est-ce que Swissdec et quelle est sa différence avec ELM 5.0 ?

What is Swissdec and how does it differ from ELM 5.0?

Swissdec est l'association suisse qui définit et certifie le standard de transmission électronique des salaires. ELM 5.0 (Einheitliches Lohnmeldeverfahren version 5.0) est le format technique normalisé qui en découle, utilisé pour transmettre les décomptes annuels à l'AVS, aux caisses de compensation, à la SUVA, aux assureurs LPP/LAA et aux autorités fiscales cantonales en un seul envoi.

Swissdec is the Swiss association that defines and certifies the electronic payroll transmission standard. ELM 5.0 (Einheitliches Lohnmeldeverfahren version 5.0) is the resulting standardised technical format, used to transmit annual payroll data to AVS, compensation funds, SUVA, LPP/LAA insurers and cantonal tax authorities in a single submission.

Quels modules Odoo sont nécessaires pour Swissdec ?

Which Odoo modules are required for Swissdec?

Trois composants : le module HR (gestion des employés), le module Payroll (calcul des salaires) et la localisation suisse l10n_ch_hr_payroll qui apporte les règles de cotisations, les codes Swissdec et les modèles de certificats de salaire. La localisation est disponible en version Enterprise et via certains modules communautaires tiers (OCA — Odoo Community Association).

Three components: the HR module (employee management), the Payroll module (salary calculation) and the Swiss localisation l10n_ch_hr_payroll which brings contribution rules, Swissdec codes and salary certificate templates. The localisation is available in the Enterprise edition and through certain third-party community modules (OCA — Odoo Community Association).

Comment Odoo gère les cotisations sociales suisses (AVS, AI, APG, AC, LPP, LAA) ?

How does Odoo handle Swiss social contributions (AVS, AI, APG, AC, LPP, LAA)?

Chaque cotisation est configurée comme une règle salariale paramétrable. AVS/AI/APG suivent les taux fédéraux (10,6% paritaire en 2026), AC dépend du plafond (2,2% jusqu'à 148 200 CHF), LAA répartit accidents pro/non-pro selon la convention SUVA, LPP applique les taux du règlement de prévoyance par tranche d'âge. L'impôt à la source utilise les barèmes cantonaux ICTax mis à jour par Swissdec.

Each contribution is configured as a parametrable salary rule. AVS/AI/APG follow federal rates (10.6% split in 2026), AC depends on the ceiling (2.2% up to CHF 148,200), LAA splits occupational/non-occupational per the SUVA policy, LPP applies the pension regulation rates by age tier. Withholding tax uses cantonal ICTax scales updated by Swissdec.

Comment configurer la transmission électronique des salaires aux caisses ?

How to set up electronic transmission of payroll to funds?

Trois étapes : enregistrer l'entreprise sur la plateforme Swissdec et obtenir un identifiant ELM, paramétrer dans Odoo les institutions partenaires (caisses AVS, LPP, LAA, autorité fiscale) avec leurs numéros officiels, puis générer le fichier ELM via le module Payroll. Le fichier est ensuite déposé sur le portail Swissdec ou directement transmis aux caisses qui acceptent ELM.

Three steps: register the company on the Swissdec platform and obtain an ELM identifier, configure in Odoo the partner institutions (AVS, LPP, LAA funds, tax authority) with their official numbers, then generate the ELM file via the Payroll module. The file is then deposited on the Swissdec portal or transmitted directly to funds that accept ELM.

Odoo génère-t-il les certificats de salaire suisses ?

Does Odoo generate Swiss salary certificates?

Oui. Le certificat de salaire (formulaire 11/13 selon la situation) est généré automatiquement à partir des données de paie annuelles. Le PDF respecte le modèle officiel publié par la Conférence suisse des impôts. Les remarques particulières (frais effectifs, voiture de fonction, repas) doivent être configurées comme codes de salaire spécifiques pour apparaître correctement.

Yes. The salary certificate (form 11/13 depending on the case) is generated automatically from annual payroll data. The PDF follows the official template published by the Swiss Tax Conference. Specific remarks (actual expenses, company car, meals) must be configured as specific salary codes to appear correctly.

Quels sont les pièges courants d'une mise en place Swissdec dans Odoo ?

What are common pitfalls of a Swissdec setup in Odoo?

Cinq pièges récurrents : confondre les codes Swissdec et les comptes comptables (un code peut alimenter plusieurs comptes selon la nature) ; mal paramétrer le 13e salaire et les jours fériés cantonaux ; oublier l'impôt à la source pour les frontaliers et permis B/L ; négliger les indemnités spécifiques (allocations familiales cantonales, déplacements) ; ne pas tester un cycle complet (salaire mensuel + bonus + 13e + certificat) avant le go-live.

Five recurring pitfalls: confusing Swissdec codes with accounting accounts (one code can feed several accounts depending on the nature); misconfiguring the 13th salary and cantonal holidays; forgetting withholding tax for cross-border workers and B/L permit holders; overlooking specific allowances (cantonal family allowances, travel); not testing a full cycle (monthly salary + bonus + 13th + certificate) before go-live.