Zum Inhalt springen

Odoo Payroll Schweiz: Bugs und fehlende Features

Schweizer Payroll mit Odoo ist gut, aber leider nicht fehlerfrei. In diesem Beitrag zeige ich dir, auf welche Bugs und fehlenden Standard-Features du dich in einem Schweizer Payroll-Projekt vorbereiten solltest, damit dich beim Testen und Go-Live keine bösen Überraschungen treffen.
5. April 2026 durch
Odoo Payroll Schweiz: Bugs und fehlende Features
Nathanael Lee
| Noch keine Kommentare

In einem grösseren Schweizer Payroll-Projekt bin ich nicht nur auf firmenspezifische Anforderungen gestossen, sondern auch auf mehrere Bugs in der Schweizer Odoo Payroll Lokalisation gestossen, plus einige fehlende Features, die im Standard schlicht nicht vorhanden waren.

Das ist wichtig, wenn du Odoo Payroll Schweiz einführst. Schweizer Payroll ist bereits fachlich komplex. Wenn dann noch Bugs bei Quellensteuer, LPP, FCF oder Mutationen dazukommen, reicht ein normales Setup-Projekt nicht mehr. Dann brauchst du Parallelvergleich, sehr gute Tests und kleine, saubere Fixes.

Ich spreche hier bewusst nicht von jedem firmenspezifischen Sonderwunsch. Es geht nur um Themen, die entweder echte Odoo Bugs waren oder klare Lücken im Standard.

Die echten Bugs, die ich in einem Schweizer Payroll-Projekt gefunden habe

(1) Quellensteuer im Jahresmodell mit 13. Monatslohn

Ein echter Problemfall war die Quellensteuer im Jahresmodell, besonders im Zusammenspiel mit einem vertraglich bekannten 13. Monatslohn. In der Praxis muss der satzbestimmende Lohn bereits ab Januar sauber auf das Jahr hochgerechnet werden. Genau das hat Odoo in meinem Fall nicht sauber gemacht.

Die Folge: Der Quellensteuersatz konnte unnötig springen, sobald der 13. Monatslohn effektiv ausbezahlt wurde. Das ist operativ mühsam, weil Payroll-Verantwortliche dann jeden Monat kontrollieren müssen, ob die Veränderung fachlich korrekt oder einfach ein Softwareeffekt ist. Ich musste die Salary-Rule-Logik patchen, damit der vertraglich bekannte 13. und 14. Monatslohn sauber projiziert wird und beim effektiven Auszahlungsmonat nicht nochmals falsch in die Satzlogik hineinläuft.

(2) LPP "nicht versichert" greift nicht sauber bei Prozentmodell

Ein weiterer echter Bug betraf das LPP-Setup im Prozentmodell. Wenn ein Mitarbeiter auf der LPP-Seite als "nicht versichert" markiert war, wurde diese Logik im Standard nicht in allen Konstellationen korrekt berücksichtigt, sobald die LPP in Prozent modelliert war.

Das ist kein kleiner Schönheitsfehler. In der Schweizer Payroll bedeutet das sofort ein Risiko für falsche Abzüge und falsche Arbeitgeberbeiträge. Genau solche Dinge fallen oft nicht beim ersten Smoke-Test auf, sondern erst bei Spezialfällen im Parallelvergleich.

(3) Arbeitgeberkosten LPP erscheinen im Prozentmodell nicht korrekt

Ich hatte auch ein Problem bei der Darstellung der LPP-Arbeitgeberkosten im Employee Cost Dashboard. Sobald die LPP im Prozentmodell lief, war die Arbeitgeberseite im Standard nicht sauber sichtbar.

Die Berechnung allein reicht in Payroll nicht. Du brauchst auch eine korrekte Darstellung für Kontrolle, Review und interne Nachweise. Wenn die Arbeitgeberkosten im UI nicht sauber erscheinen, entsteht schnell der Eindruck, dass die Payroll falsch berechnet wurde, selbst wenn die eigentliche Lohnabrechnung teilweise korrekt ist.

(4) Fake zukünftige LPP-Gehaltsmutationen

Ein besonders unangenehmer Bug betraf die automatisch erzeugten LPP-Mutationen. Odoo generierte in bestimmten Fällen Gehaltsänderungs-Mutationen, obwohl gar keine echte monatliche LPP-Basisquelle dahinterstand.

Gerade im Schweizer Kontext ist das gefährlich. Mutationen sollen reale Veränderungen abbilden, nicht künstliche Systemartefakte. Sobald solche Einträge in einer LPP- oder Swissdec-nahen Historie auftauchen, wird die Nachvollziehbarkeit schlechter statt besser. Ich musste diese Fake-Mutationen gezielt herausfiltern und löschen.

(5) Vorzeichenfehler beim FCF-Arbeitgeberbeitrag

Ein weiterer klarer Bug war ein falsches Vorzeichen beim Arbeitgeberbeitrag der Familienausgleichskasse. Solche Fehler sind besonders tückisch, weil nichts abstürzt. Odoo rechnet einfach mit dem falschen Vorzeichen weiter.

Das Resultat sind dann falsche Totale, falsche Kosten oder unlogische Buchungseffekte. In einem Payroll-Projekt kostet dich genau so ein kleiner Fehler schnell mehrere Stunden Analyse, weil du zuerst fachlich prüfst, ob der Irrtum bei dir oder im Standard liegt.


Die fehlenden Features, die ich zusätzlich bauen musste

(1) LAAC mit mehr als zwei Lösungen

Im Standard ist die zusätzliche Unfallversicherung zu eng modelliert. In einem realen Setup brauchte ich bis zu vier LAAC-Lösungen, der Odoo Standard deckte aber nur zwei sauber ab.

Das ist ein gutes Beispiel für eine echte Produktlücke. Du kannst das nicht einfach mit besserer Konfiguration lösen. Sobald dein Versicherungssetup etwas komplexer ist, musst du die Salary Rules und die gesamte Ableitung der versicherten Lohnbasis erweitern.

(2) Granulare LPP-Abbildung für COPRE

In einem Projekt musste ich die Pensionskasse deutlich granularer abbilden, als es der Standard angenehm erlaubt. Konkret brauchte ich getrennte Lohnarten für COPRE Epargne, COPRE Risques und administrative Gebühren, jeweils auf Arbeitnehmer- und Arbeitgeberseite.

Out of the box ist Odoo hier zu grob, wenn du eine wirklich saubere fachliche und buchhalterische Trennung brauchst. Für kleine Setups reicht die Standardlogik oft. Für ein auditnahes Payroll-Projekt mit mehreren klar getrennten Komponenten reicht sie schnell nicht mehr.

(3) Standardlohnarten für reale Korrekturfälle fehlen

Im Alltag brauchst du mehr als nur die schönen Standardfälle. In einem realen Projekt musste ich zusätzliche Wage Types und Salary Rules für reale Korrekturfälle anlegen, zum Beispiel für Krankentaggeld-Zahlungen, Third Party Corrections, LPP-Refund-Transitions sowie Rückzahlungen oder Nachzahlungen von Familien- und Ausbildungszulagen durch die FCF.

Das ist kein einzelner Bug. Es ist eine Standardlücke. Odoo liefert den Kern der Schweizer Payroll, aber nicht jede operative Lohnart, die du in einer echten Migration aus einer alten Lohnsoftware brauchst. Spätestens bei Übergangskorrekturen und zeitversetzten Versicherungsfällen musst du damit rechnen, selber zusätzliche Lohnarten aufzubauen.

(4) Das Standard Payslip PDF ist zu starr

Der Standard-Payslip war für das Projekt nicht gut genug. Das betraf nicht nur das Layout, sondern auch die fehlende fachliche Flexibilität auf dem PDF. Ich brauchte unter anderem eigene Payroll-Beschriftungen pro Salary Rule, die Zusammenfassung von Kinder- und Ausbildungszulagen auf eine Linie, die Zusammenfassung von Arbeitgeber-Social-Reimbursements sowie die Möglichkeit, den Basissalär auf dem PDF in zwei separate Linien aufzuteilen, ohne die Payroll-Berechnung zu verändern.

Zusätzlich brauchte ich eine frei pflegbare Notiz pro Vertragsversion und ein saubereres französisches Layout. Kurz: Odoo kann Payslips drucken, aber der Standardbericht ist für anspruchsvollere Schweizer Rollouts oft zu wenig flexibel und zu wenig schön.

(5) Kein verschlüsselter Versand von Lohnabrechnungen out of the box

Ein weiterer klarer Gap war der Versand der Lohnabrechnungen. Gewünscht waren passwortgeschützte PDF-Dateien pro Mitarbeiter, mit einem individuellen Passwort auf dem Employee Record. Das ist im Standard nicht vorhanden.

Odoo kann Payslips per E-Mail versenden, aber nicht als per-employee verschlüsseltes PDF mit sauberem Mail-Workflow. Für sensible Payroll-Dokumente ist das ein echtes fehlendes Feature und nicht nur ein Nice-to-have.

(6) Payroll Accounting ist zu grob für ein auditnahes Setup

Die Payroll-Buchhaltung war ein weiterer Punkt, bei dem der Standard nicht tief genug war. Die Standardkontierung und die vorhandenen Lohnarten waren zu grob, wenn man Arbeitgeberanteile, Clearing Accounts und Aufwandskonten wirklich sauber für Revision und interne Analyse trennen will.

Das heisst nicht, dass Odoo Payroll Accounting nicht kann. Es heisst aber sehr wohl, dass du bei anspruchsvolleren Schweizer Setups zusätzliche Konten, zusätzliche Salary Rules und ein sauberes Mapping einplanen musst. Sonst hast du am Schluss zwar eine Buchung, aber nicht die richtige Detailtiefe.

(7) Offizielle Payroll-Datenupdates überschreiben lokale Fixes wieder

Das ist ein technischer Punkt, den viele unterschätzen. Die Schweizer Payroll-Daten von Odoo werden durch offizielle Updates neu geladen. Wenn du einen Standardfehler in einer Salary Rule patchst, ist dieser Fix ohne weitere Massnahmen beim nächsten Payroll-Datenupdate potenziell wieder weg.

Im Projekt musste ich deshalb die Fixes so aufbauen, dass sie nach offiziellen CH-Updates automatisch wieder angewendet werden. Das ist kein klassischer Berechnungsbug, aber definitiv eine Lücke in der Wartbarkeit. Wenn du Schweizer Payroll in Odoo patchst, musst du dieses Thema von Anfang an einplanen.


Nicht alles ist ein Odoo Bug

Das ist mir wichtig. Nicht jede zusätzliche Salary Rule in einem Projekt ist ein Odoo Problem. Dinge wie Parking Deductions, das genaue Verbuchen auf firmenspezifische Konten oder die Entscheidung, Arbeitgeberbeiträge intern auf eine bestimmte Weise weiterzuverrechnen, sind Business-Regeln des Unternehmens, nicht Produktfehler von Odoo.

Genau diese Unterscheidung musst du in jedem Payroll-Projekt sauber machen. Sonst wirfst du Bugs, fehlende Features und firmenspezifische Wünsche in einen Topf. Das macht Priorisierung und Budgetierung unnötig schwierig.

Was du daraus für dein Schweizer Payroll-Projekt mitnehmen solltest

  • Teste mit echten Spezialfällen: Nicht nur mit einem simplen Demo-Mitarbeiter. Nimm echte Fälle mit Quellensteuer, LPP-Sonderlogik, IJM, Nachzahlungen und Versicherungswechseln.

  • Plane Bug-Hunting Zeit ein: Ein Schweizer Payroll-Projekt ist nicht nur Konfiguration. Plane bewusst Zeit für Analyse, Reproduktion und kleine Fix-Module ein.

  • Vergleiche nicht nur Netto: Prüfe auch Arbeitgeberkosten, Buchungssätze, Mutationen, Quellensteuerlogik und die Darstellung auf dem PDF.

  • Halte Fixes klein und isoliert: Kleine, saubere Patch-Module sind besser als ein grosses Sammelmodul mit zwanzig Themen gleichzeitig.

  • Denke an künftige Payroll-Datenupdates: Wenn du Standardregeln patchst, musst du sicherstellen, dass deine Fixes nach einem offiziellen CH-Update nicht einfach verschwinden.

  • Baue das Payslip PDF nicht zuletzt: Gerade im Payroll Go-Live ist das PDF für Mitarbeitende das sichtbarste Resultat. Ein schlechtes PDF erzeugt sofort Rückfragen, auch wenn die Berechnung korrekt ist.

Mein Fazit aus solchen Projekten ist einfach: Odoo Payroll Schweiz ist stark, aber nicht fehlerfrei. Wenn du sauber testest, die Lücken früh identifizierst und Bugs klein und kontrolliert patchst, kannst du eine sehr gute Lösung bauen. Wenn du hingegen erwartest, dass alles im Standard perfekt passt, wirst du beim Go-Live überrascht.

Wenn du Fragen zu Odoo Payroll Schweiz, Swissdec oder typischen Payroll Bugs im Odoo Standard hast, kontaktiere mich gerne oder schreibe einen Kommentar.

Nate

Danke für die Registrierung!



Anmelden , um einen Kommentar zu hinterlassen