Zum Inhalt springen
Developer

Arbeitsverträge

Ihr legt die Arbeitsverträge eurer Mitarbeitenden an oder ändert sie, mit Laufzeit, Stunden und Vertragsgruppe.

Format
CSV (Komma oder Semikolon), UTF-8
Rechte
Personal (schreiben)
Beispieldatei
Arbeitsvertraege_beispiel_technisch.csv (herunterladen)

Kurz gesagt: Mit dieser Datei legt ihr die Arbeitsverträge der Mitarbeitenden an oder ändert bestehende. Jeder Vertrag hat eine Vertragsnummer, eine Laufzeit, die Stunden je Wochentag und eine Vertragsgruppe.

Wofür ihr das braucht

Der Arbeitsvertrag legt fest, wie viele Stunden eine Person arbeitet, ab wann und bis wann. Daraus ergeben sich die Sollstunden und die Urlaubstage. Mit einer Tabelle übernehmt ihr alle Verträge auf einmal.

Bevor ihr startet

  • Rechte: Ihr braucht das Schreibrecht für den Bereich Personal.
  • Vorher importieren: Die Organisationseinheiten und die Vertragsgruppen. Die Personen müssen in vynst vorhanden sein.
  • Sicherung: Ein Import lässt sich nicht auf Knopfdruck zurücknehmen. Zieht vor größeren Änderungen einen Export der betroffenen Daten unter Einstellungen → Export.
  • Änderungssperre: Hat euer Administrator die Änderungssperre für Arbeitsverträge aktiviert, lehnt vynst Änderungen ab, die bereits wirksame Werte verändern. Mehr dazu unter „Gut zu wissen“.

Datei vorbereiten

  • Format: CSV. Trennzeichen ist Semikolon ; oder Komma ,. Texte mit Trennzeichen setzt ihr in Anführungszeichen "…".
  • Kopfzeile: Die ersten 13 Spalten bis SUNDAY_HOURS müssen in dieser Reihenfolge stehen. Nehmt außerdem alle weiteren Spalten aus der Tabelle unten in die Datei auf, auch wenn ihr sie leer lasst.
  • Vertragsnummer: CONTRACT_NUMBER ist die Nummer des Vertrags. Über sie erkennt vynst bei einem erneuten Import den vorhandenen Vertrag.
  • Datum: 01.03.2026 oder 2026-03-01.
  • Dezimalzahlen: Mit Punkt, z. B. 25.00. Ein Komma wird nicht als Dezimaltrennzeichen erkannt.
  • Ja/Nein: ja oder nein, auch 1 oder 0 und true oder false.

Spalten

Spalte Pflicht Inhalt Beispiel
PERSON_ID ja Nummer der Person in vynst, zum Beispiel die Importnummer der Person AFS_CSV_1004
CONTRACT_NUMBER ja Vertragsnummer AV-2026-001
START_DATE ja Beginn des Vertrags 01.03.2026
END_DATE nein Ende des Vertrags. Leer bedeutet: offen. 31.12.2026
ORGANIZATION_GROUP_ID ja (Spalte), Zelle nach Bedarf Nummer der Organisationseinheit der Vertragsgruppe ORG-1
CONTRACT_GROUP_ID ja Nummer der Vertragsgruppe VG-1
MONDAY_HOURS bis SUNDAY_HOURS ja (Spalten), Zelle nach Bedarf Stunden an diesem Wochentag. Leer oder 0 bedeutet: keine Stunden. 8
WEEK_TOTAL_DAYS Spalte mitgeben Arbeitstage je Woche 5
YEAR_VACATION_DAYS Spalte mitgeben Urlaubstage je Jahr 30
NETTO_HOUR_COST Spalte mitgeben Netto-Stundenkosten 25.00
BRUTTO_HOUR_COST Spalte mitgeben Brutto-Stundenkosten 32.50
APP_TIME_TRACKING Spalte mitgeben, Zelle immer ausfüllen Ja/Nein: Zeiterfassung über die App erlaubt ja
SCANNER_TIME_TRACKING Spalte mitgeben, Zelle immer ausfüllen Ja/Nein: Zeiterfassung über den Scanner erlaubt ja
LEADERSHIP_PERSON_ID nein Nummern der Personen mit Leitung, mit Komma getrennt. Leer entfernt alle. AFS_CSV_1002
KEEP_PARALLEL_CONTRACTS nein ja, wenn ein neuer Vertrag neben einem offenen Vertrag bestehen bleiben soll nein

Beispiel

PERSON_ID;CONTRACT_NUMBER;START_DATE;END_DATE;ORGANIZATION_GROUP_ID;CONTRACT_GROUP_ID;MONDAY_HOURS;TUESDAY_HOURS;WEDNESDAY_HOURS;THURSDAY_HOURS;FRIDAY_HOURS;SATURDAY_HOURS;SUNDAY_HOURS;WEEK_TOTAL_DAYS;YEAR_VACATION_DAYS;NETTO_HOUR_COST;BRUTTO_HOUR_COST;APP_TIME_TRACKING;SCANNER_TIME_TRACKING;LEADERSHIP_PERSON_ID;KEEP_PARALLEL_CONTRACTS
AFS_CSV_1004;AV-1004;01.01.2026;;ORG-1;VG-1;8;8;8;8;8;;;5;30;25.00;32.50;ja;nein;;nein
AFS_CSV_1003;AV-1003;01.03.2026;;ORG-1;VG-2;4;4;4;4;4;;;5;30;18.50;24.00;nein;nein;;nein

Beispieldatei: Arbeitsvertraege_beispiel_technisch.csv

Max Mustermann (AFS_CSV_1004) arbeitet nach der Vertragsgruppe VG-1 mit 8 Stunden von Montag bis Freitag. Anna Beispiel (AFS_CSV_1003) arbeitet nach VG-2 mit 4 Stunden an fünf Tagen. Die Spalte END_DATE bleibt leer, die Verträge laufen also unbefristet. Die Spalte LEADERSHIP_PERSON_ID ist leer, es ist also keine Leitung eingetragen. KEEP_PARALLEL_CONTRACTS steht auf nein.

So geht’s

  1. Öffnet Einstellungen → Import.
  2. Klickt auf Hinzufügen und wählt die Datei aus. Der Dateiname muss .csv enthalten, z. B. arbeitsvertraege.csv.
  3. Die Datei erscheint in der Liste und wird im Hintergrund verarbeitet. Prüft danach das Protokoll.

Gut zu wissen

  • Erneuter Import: Eine bekannte Vertragsnummer aktualisiert den Vertrag. Eine neue Nummer legt einen neuen Vertrag an.
  • Person und Vertragsgruppe bleiben: Bei einem bestehenden Vertrag ändert der Import Person und Vertragsgruppe nicht. Diese Felder ändert ihr in vynst direkt.
  • Ende: Ist END_DATE leer, wird das Ende entfernt. Der Vertrag läuft dann offen.
  • Beginn: Ist START_DATE leer, bleibt bei einem bestehenden Vertrag der bisherige Beginn stehen.
  • Bisheriger Vertrag: Ein neuer Vertrag beendet den bisherigen offenen Vertrag derselben Person einen Tag vor seinem Beginn. Mit KEEP_PARALLEL_CONTRACTS = ja bleibt der bisherige Vertrag offen. Das gilt nur für neue Verträge.
  • Änderungssperre: Ist sie aktiv, dürfen bereits wirksame Vertragswerte nicht verändert werden. Änderungen sind nur zum Monatsbeginn möglich, frühestens ab dem Datum, das die Meldung nennt. Bei neuen Verträgen gibt es keinen bisherigen Stand, deshalb greift der Schutz für wirksame Werte dort nicht. Abgelehnte Zeilen stehen im Protokoll.
  • Zeiterfassung: Ist die Zelle APP_TIME_TRACKING leer, übernimmt vynst den bisherigen Wert der Scanner-Spalte. Füllt deshalb beide Spalten immer aus.
  • Leitung: Nicht gefundene Nummern werden ohne Meldung übersprungen.

Wenn etwas nicht klappt

Meldung im Protokoll Bedeutung Was tun
FAILED: No matching processor found. Dateiname oder Kopfzeile passen zu keinem Import Dateiname mit .csv und die ersten 13 Spalten in der richtigen Reihenfolge prüfen
FAILED: User missing rights to import. Euch fehlt das Recht Personal Administrator fragen
Error: skipped empty line Leere Zeile, wird übersprungen Nichts tun oder leere Zeilen entfernen
Error: skipped missing identifier PERSON_ID oder CONTRACT_NUMBER fehlt. Die Zeile steht direkt darunter als LINE-DATA. Beide Angaben ergänzen
Error: skipped missing person Die Person wurde in vynst nicht gefunden. Die Zeile steht darunter als LINE-DATA. Personennummer prüfen, Personen zuerst importieren
Error: skipped contract change rejected by change policy: … Die Änderungssperre lehnt die Änderung ab. Hinter dem Doppelpunkt steht der Grund. Änderung nur zum Monatsbeginn und frühestens ab dem genannten Datum eintragen
Error: less then one line Die Datei enthält keine Datenzeilen Datei prüfen

Siehe auch

  • Vertragsgruppen: Liefern die Stunden und Kosten.
  • Überstunden: Der Überstundenstand einer Person zu einem Stichtag.
  • Import-Überblick: Allgemeines zu Dateien, Kopfzeilen und Protokoll.