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_HOURSmü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_NUMBERist die Nummer des Vertrags. Über sie erkennt vynst bei einem erneuten Import den vorhandenen Vertrag. - Datum:
01.03.2026oder2026-03-01. - Dezimalzahlen: Mit Punkt, z. B.
25.00. Ein Komma wird nicht als Dezimaltrennzeichen erkannt. - Ja/Nein:
jaodernein, auch1oder0undtrueoderfalse.
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
- Öffnet Einstellungen → Import.
- Klickt auf Hinzufügen und wählt die Datei aus. Der Dateiname muss
.csventhalten, z. B.arbeitsvertraege.csv. - 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_DATEleer, wird das Ende entfernt. Der Vertrag läuft dann offen. - Beginn: Ist
START_DATEleer, 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=jableibt 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_TRACKINGleer, ü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.