Zum Inhalt springen
Developer

Daten importieren

Mitglieder, Konten, SEPA-Daten, Mitgliedschaften, Produkte, Angebote und Bankauszüge per CSV oder Excel übernehmen, in der Oberfläche oder per API.

vynst (inwendo ERP) übernimmt Daten aus Tabellen ohne Zuordnungs-Werkzeug: Am Dateinamen und an der Kopfzeile erkennt vynst, was eine Datei enthält, und spielt sie im Hintergrund ein. Dieser Guide zeigt die wichtigsten Importe mit Beispieldateien und wie ihr dasselbe per API automatisiert.

Jeden einzelnen Import mit allen Spalten und einer Beispieldatei zum Herunterladen findet ihr unter Importe.

Schritt Was ihr tut
1. Vorbereiten Tabelle mit passender Kopfzeile anlegen, als CSV (UTF-8) oder Excel speichern
2. Benennen Datei so benennen, dass vynst den Import erkennt, z. B. AFS_PERSON_mitglieder.csv
3. Hochladen Einstellungen → Import → Hinzufügen oder POST /api/dw/import/file.json
4. Prüfen Status und Protokoll ansehen, Fehlerzeilen korrigieren, erneut hochladen

Tipp: Einen Import könnt ihr gefahrlos wiederholen. Gleiche Nummern aktualisieren vorhandene Datensätze, statt sie doppelt anzulegen.

Bevor ihr startet

Rechte

Für den Menüpunkt Import braucht ihr das Zugriffsrecht Importe. Zusätzlich prüft vynst das Recht für den Bereich, den ihr importiert, zum Beispiel CRM für Personen, Produkte für Produkte oder Zahlungen für Bankauszüge. Die meisten Importe sind Administratoren vorbehalten.

Sicherung

Ein Import lässt sich nicht auf Knopfdruck zurücknehmen. Zieht vor größeren Importen unter Einstellungen → Export einen Export der betroffenen Daten.

Datei vorbereiten

  • Format: CSV oder Excel (.xlsx, .xls). Bei Excel wird jedes Blatt als eigener Import behandelt.
  • Zeichensatz: UTF-8. In Excel: Speichern unter → CSV UTF-8 (durch Trennzeichen getrennt).
  • Trennzeichen: Komma , oder Semikolon ;. Texte mit Trennzeichen in Anführungszeichen "…" setzen.
  • Erste Zeile = Kopfzeile mit den Spaltennamen aus dieser Anleitung. Schreibweise genau einhalten, auch Groß- und Kleinschreibung.
  • Pflichtspalten nicht ganz ans Ende stellen: Mindestens eine weitere Spalte sollte dahinter folgen.
  • Datum: 2026-03-01 oder 01.03.2026.
  • Beträge: 1234.56 oder 1.234,56.
  • Ja/Nein: ja/nein, 1/0 oder true/false.
  • Größe: bis 200 MB. Große Dateien teilt vynst selbst in Pakete zu 1000 Zeilen auf.

Nummern sind der Schlüssel

Jede Zeile braucht eine eindeutige Nummer, zum Beispiel die Mitgliedsnummer aus eurem bisherigen Programm. vynst speichert sie als Importierte ID.

  • Gleiche Nummer bei einem späteren Import: Der Datensatz wird aktualisiert.
  • Neue Nummer: Der Datensatz wird neu angelegt.
  • Spätere Importe (Mitgliedschaften, SEPA-Daten, Verknüpfungen) verweisen mit genau diesen Nummern auf Personen und Konten. Verwendet deshalb in allen Dateien dieselben Nummern.

Import durchführen

  1. Öffnet Einstellungen → Import.
  2. Klickt auf Hinzufügen und wählt die Datei aus.
  3. Die Datei erscheint sofort in der Liste und wird im Hintergrund verarbeitet. Ihr müsst die Seite nicht neu laden.

Status lesen

Jeder Import hat links eine farbige Linie:

Linie Bedeutung
Schwarz wartet oder läuft gerade
Grün abgeschlossen
Rot abgebrochen, siehe Protokoll

Unter dem Eintrag steht das Protokoll. Die wichtigsten Zeilen:

Zeile Bedeutung Was tun
Processed 250 lines / Read: 250 rows so viele Zeilen wurden gelesen nichts
Info: split into 4 files große Datei wurde aufgeteilt, die Teile erscheinen als eigene Einträge nichts
Error: skipped … diese Zeile wurde nicht übernommen; darunter steht die Zeile als LINE-DATA Zeile korrigieren und nur diese Zeilen erneut importieren
Warning: … Zeile übernommen, ein Wert wurde ignoriert, z. B. ein unbekanntes Produkt Wert prüfen
FAILED: No matching processor found. vynst hat nicht erkannt, was die Datei ist Dateiname und Kopfzeile prüfen
FAILED: not exactly one handler found Die Datei passt zu mehreren Importen Dateinamen eindeutig wählen, z. B. mit AFS_PERSON_
FAILED: User missing rights to import. euch fehlt ein Recht für diesen Bereich Administrator fragen

Grün heißt nicht fehlerfrei. Ein Import ist auch dann grün, wenn einzelne Zeilen übersprungen wurden. Schaut immer ins Protokoll nach Error:.

Die wichtigsten Importe

Die Spaltennamen gibt es meist in zwei Varianten: technisch (FIRST_NAME) und auf Deutsch (Vorname). Beide funktionieren. Die Tabellen zeigen jeweils die deutsche Variante und in Klammern den technischen Namen.

Empfohlene Reihenfolge beim Umstieg

1 Sparten  →  2 Produkte  →  3 Personen  →  4 Abrechnungskonten  →  5 Person mit Konto verknüpfen
            →  6 SEPA-Daten  →  7 Mitgliedschaften  →  8 Orte, Räume, Angebote

Jeder Schritt nutzt die Nummern aus den vorherigen Schritten.

1. Sparten und Kategorien

Dateiname: beliebig, z. B. sparten.csv Recht: CRM

Spalte Pflicht Inhalt
UNIFIED_CATEGORY_IDENTIFIER ja, als erste Spalte eure Nummer der Sparte
UNIFIED_CATEGORY_NAME ja, direkt dahinter Name
PARENT_IDENTIFIER Nummer der übergeordneten Sparte
EXTERNAL_DESCRIPTION Beschreibung für Mitglieder
IS_PUBLIC ja, wenn öffentlich sichtbar
CREATE_ACCESS_TAG ja legt einen passenden Access-Tag an
UNIFIED_CATEGORY_IDENTIFIER,UNIFIED_CATEGORY_NAME,PARENT_IDENTIFIER,IS_PUBLIC
FB,Fußball,,ja
FB-JUG,Fußball Jugend,FB,ja
TUR,Turnen,,ja

2. Produkte (Beiträge, Tarife)

Dateiname: muss AFS_PRODUCT_ enthalten, z. B. AFS_PRODUCT_beitraege.csv Recht: Administrator mit Produkte

Spalte Pflicht Inhalt
Produkt-ID (PRODUCT_IDENTIFIER) ja eure Nummer des Produkts
Produktname (PRODUCT_NAME) ja Name auf der Rechnung
Preis (PRICE) ja Bruttopreis je Abrechnungszeitraum
Abrechnungsart (BILLING_TYPE) z. B. subscription für wiederkehrende Beiträge, fixed für einmalige
Abrechnungsintervall (RECURRENCE) Intervall wie in vynst angelegt, z. B. 1 month oder 1 year
Sparten-ID (UNIFIED_CATEGORY_IDENTIFIER) Sparte aus Schritt 1
Produkt-ID;Produktname;Preis;Abrechnungsart;Abrechnungsintervall;Sparten-ID
ERW;Erwachsene;12,00;subscription;1 month;FB
JUG;Jugend;8,00;subscription;1 month;FB-JUG
FAM;Familie;25,00;subscription;1 month;

Für alle Felder eines Produkts gibt es den ausführlichen Produktimport: Unter Einstellungen → Export den „Export der Produkte“ laden, bearbeiten und wieder hochladen.

3. Personen und Mitglieder

Dateiname: muss AFS_PERSON_ enthalten, z. B. AFS_PERSON_mitglieder.csv Recht: Administrator mit CRM

Spalte Pflicht Auch erlaubt
Mitgliedsnummer (PERSON_IDENTIFIER) ja Mitglieds-Nr., MitgliedID, PERSON_ID
Vorname (FIRST_NAME) ja
Nachname (LAST_NAME) ja Name
Geburtsdatum (BIRTHDAY) Geburtstag
Geschlecht (GENDER)
Titel (TITLE)
Straße (ADDRESS_STREET) Strasse, Straße und Hausnummer
PLZ (ADDRESS_ZIP) Postleitzahl
Ort (ADDRESS_CITY) Wohnort, Stadt
Land (ADDRESS_COUNTRY)
E-Mail (MAIN_EMAIL) E-Mail-Adresse, E-Mail 2
Telefon (MAIN_PHONE) Telefon 2, Mobil, Mobiltelefon
Eintrittsdatum (START_DATE) Beginn, Eintritt
Austrittsdatum (END_DATE) Ende, Austritt
Notiz (NOTE) Bemerkung
BuT-Nummer (FINANCIAL_SUPPORT_NUMBER)
Mitgliedsnummer;Vorname;Nachname;Geburtsdatum;Straße;PLZ;Ort;E-Mail;Eintrittsdatum
1001;Lena;Hartmann;14.05.1988;Jakobistr. 39;30163;Hannover;lena@example.org;01.01.2020
1002;Jonas;Hartmann;02.09.2014;Jakobistr. 39;30163;Hannover;;01.03.2022

Zusätze im Dateinamen:

Zusatz Wirkung
WITH_COMPANY legt für jede Person gleich ein eigenes Abrechnungskonto an
COMPANY_CONTACT ändert nur die Kontaktdaten bestehender Konten
ohne_mitgliedschaft legt keine Mitgliedschaft an

4. Abrechnungskonten

Ein Abrechnungskonto ist der Zahler, zum Beispiel eine Familie oder eine Firma.

Dateiname: muss AFS_ACCOUNT_ enthalten Recht: Administrator mit CRM

Spalte Pflicht Auch erlaubt
Kontonummer (COMPANY_IDENTIFIER) ja ACCOUNT_IDENTIFIER, Abrechnungskontonummer
Firmenname (COMPANY_NAME) oder Vorname + Nachname ja Firma, Abrechnungskontenname
Adresse, E-Mail, Telefon wie bei Personen
IBAN, BIC, Mandatsreferenz siehe Schritt 6
COMPANY_IDENTIFIER;Firmenname;Straße;PLZ;Ort;E-Mail
K-1001;Familie Hartmann;Jakobistr. 39;30163;Hannover;lena@example.org

5. Person mit Konto verknüpfen

Dateiname: muss AFS_LINK_PERSON_ enthalten Recht: Administrator mit CRM

PERSON_IDENTIFIER;COMPANY_IDENTIFIER;Vorname;Nachname
1001;K-1001;Lena;Hartmann
1002;K-1001;Jonas;Hartmann

6. SEPA-Lastschriftdaten

Dateiname: muss AFS_SEPA_ enthalten Recht: Administrator mit CRM

Spalte Pflicht Auch erlaubt
Kontonummer (COMPANY_IDENTIFIER) ja
IBAN (PAYMENT_IBAN) ja IBAN
Mandatsreferenz (PAYMENT_MANDATE) ja SEPA-Mandatsreferenz, MandatNr
Mandatsreferenz gültig ab (PAYMENT_MANDATE_SIGN_DATE) Mandatsreferenz gültig ab
BIC (PAYMENT_BIC) BIC
Kontoinhaber (PAYMENT_OWNER) Kontoinhaber
COMPANY_IDENTIFIER;IBAN;Mandatsreferenz;Mandatsreferenz gültig ab;Kontoinhaber
K-1001;DE02120300000000202051;M-1001;01.01.2020;Lena Hartmann

7. Mitgliedschaften

Dateiname: muss AFS_MEMBERSHIP_ enthalten Recht: Administrator mit CRM

Spalte Pflicht Inhalt
PERSON_IDENTIFIER ja Mitgliedsnummer aus Schritt 3
COMPANY_IDENTIFIER ja Konto aus Schritt 4; die Person muss mit dem Konto verknüpft sein
Sparten-ID (UNIFIED_CATEGORY_IDENTIFIER) ja Sparte aus Schritt 1
Produkt-ID (PRODUCT_IDENTIFIER) ja Produkt aus Schritt 2
Eintrittsdatum / Austrittsdatum Beginn und Ende
Produkt ermäßigt, Ermäßigt ab, Ermäßigt bis ermäßigter Beitrag für einen Zeitraum
Produkt passiv, Passiv ab, Passiv bis passive Mitgliedschaft
Produkt beitragsfrei, Frei ab, Frei bis beitragsfreier Zeitraum
Zahlungsart (PAYMENT_TYPE) z. B. Lastschrift
PERSON_IDENTIFIER;COMPANY_IDENTIFIER;Sparten-ID;Produkt-ID;Eintrittsdatum
1001;K-1001;FB;ERW;01.01.2020
1002;K-1001;FB-JUG;JUG;01.03.2022

8. Orte, Räume und Angebote

Am einfachsten als eine Excel-Datei mit drei Blättern Orte, Räume und Angebote. vynst importiert sie in dieser Reihenfolge.

Recht: Veranstaltungen

Orte

Spalte Pflicht
LOCATION_IDENTIFIER (Standort-ID) ja
LOCATION_NAME (Standortname) ja
ADDRESS_STREET_LEVEL, ADDRESS_ZIP, ADDRESS_CITY
MAIN_EMAIL, MAIN_PHONE, WEBSITE

Räume

Spalte Pflicht
OBJECT_IDENTIFIER (Raumnummer) ja
OBJECT_NAME ja
LOCATION_IDENTIFIER Ort, zu dem der Raum gehört

Angebote

Spalte Pflicht Inhalt
EVENT_IDENTIFIER (Kurs-ID) ja eure Nummer
EVENT_NAME (Kursname) ja Name
LOCATION_IDENTIFIER, OBJECT_IDENTIFIER Ort und Raum
START_DATE, END_DATE Zeitraum
WEEKDAYS Wochentage
PEOPLE_LIMIT maximale Teilnehmerzahl
MAIN_CONTACT_IDENTIFIER (Trainer) Trainer: Personennummer, Mitgliedsnummer oder E-Mail
UNIFIED_CATEGORY_IDENTIFIERS mehrere Sparten mit |~| getrennt, z. B. FB|~|TUR
EXTERNAL_DESCRIPTION Beschreibung für Mitglieder
EVENT_IDENTIFIER;EVENT_NAME;LOCATION_IDENTIFIER;START_DATE;END_DATE;PEOPLE_LIMIT;Trainer
K-YOGA;Yoga am Abend;HALLE1;06.01.2026;30.06.2026;15;trainer@example.org

Bankauszüge

Kontoauszüge aus dem Onlinebanking übernehmt ihr unter Abrechnung → Bank-Importe → Hinzufügen. vynst ordnet die Buchungen danach automatisch Rechnungen, Lastschriften und Konten zu.

Format Datei Wo hochladen
CAMT.052 / .053 / .054 .xml Bank-Importe
CSV-Export (CAMT-Format, z. B. Sparkasse) .csv Bank-Importe
Andere Bank-CSV .csv, Dateiname beginnt mit Bank, Zahlungen oder Transaktionen Bank-Importe
MT940 .sta oder .txt Einstellungen → Import

Bereits importierte Buchungen erkennt vynst und überspringt sie. Ihr könnt also überlappende Zeiträume hochladen.

Für eine allgemeine Bank-CSV versteht vynst diese Spalten: Buchungstag, Valutadatum, Betrag, Verwendungszweck, Buchungstext, Beguenstigter/Zahlungspflichtiger (oder Name), Kontonummer/IBAN, BIC (SWIFT-Code), Mandatsreferenz, Kundenreferenz (End-to-End).

Kleine Helfer

Die Helfer arbeiten mit Personen, die schon in vynst sind. In PERSON_IDENTIFIER steht die Personennummer mit Präfix, wie sie in vynst steht (zum Beispiel M-1001), oder die Importierte ID (zum Beispiel AFS_CSV_1001 für die Mitgliedsnummer 1001 aus dem Personenimport). Eine reine Zahl versteht vynst als interne Datensatznummer.

Ein einzelnes Feld bei vielen Personen ändern

PERSON_IDENTIFIER,UPDATE_SINGLE_FIELD_NAME,FIELD_VALUE
AFS_CSV_1001,Newsletter,ja
AFS_CSV_1002,Notiz,Zahlt bar

Mögliche Felder: Vorname, Nachname, Newsletter, Magazin, Notiz, Mitglied seit, Mitglied bis, BuT, BuT-Nummer. Mit SET_IW_EMPTY leert ihr ein Feld.

Logins für Mitglieder freischalten

PERSON_IDENTIFIER,TRIGGER_ACTIVATE_PERSON_LOGIN
AFS_CSV_1001,ja
AFS_CSV_1002,ja

Gutscheine aus einem Vorsystem

Gutscheine importiert ihr mit einer eigenen Datei; das inwendo-Team hilft bei der Übernahme.

Rollen und Funktionen

Rollen und Funktionen (Vorstand, Trainer, Übungsleiter) legt ihr ebenfalls per Datei an; das inwendo-Team hilft bei der Übernahme.

Export bearbeiten und wieder einspielen

Manche Exporte haben genau die Kopfzeile eines Imports. Dann ladet ihr den Export, bearbeitet ihn und ladet ihn wie jeden anderen Import wieder hoch:

  1. Einstellungen → Export, zum Beispiel den „Export der Produkte“ laden.
  2. Datei in Excel bearbeiten. Kopfzeile und Nummernspalte nicht verändern.
  3. Unter Einstellungen → Import wieder hochladen.

So ändert ihr zum Beispiel Preise vieler Produkte auf einmal.

Einzelne Exporte, derzeit der DOSB-Mitgliederexport, bieten zusätzlich Mehr Optionen → Daten reimportieren. Dabei merkt sich vynst, aus welchem Export die Datei stammt.

Per API importieren

Alles, was die Oberfläche kann, geht auch per API. Der Token braucht das Recht Importe (dwi) zum Schreiben und zusätzlich das Recht des Bereichs, etwa Kontakte (crm) für Personen.

Datei hochladen:

curl --request POST https://eure-instanz.iw-erp.de/api/dw/import/file.json \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --form 'data[file]=@AFS_PERSON_mitglieder.csv'

Status abfragen:

curl 'https://eure-instanz.iw-erp.de/api/dw/import/file.json?filename=AFS_PERSON_mitglieder.csv&pageSize=5' \
  --header 'x-iw-jwt-token: <TOKEN>'
processing processed success Status
0 0 – wartet
1 0 – läuft
0 1 1 erfolgreich
0 1 0 Fehler

vynst verarbeitet eine Datei nach der anderen. Ladet abhängige Dateien (erst Personen, dann Mitgliedschaften) nacheinander hoch und wartet jeweils auf processed = 1. Auch bei success = 1 können einzelne Zeilen übersprungen worden sein: Sucht im Protokoll nach Error:.

Die Endpunkte stehen im Bereich System und Einstellungen unter ImportFile. KI-Assistenten können Importe über den MCP-Server vorschlagen.

Häufige Fragen

Der Import ist rot und das Protokoll sagt „No matching processor found“. Dateiname oder Kopfzeile passen zu keinem Import. Prüft die Schreibweise der Spalten und den Dateinamen (AFS_PERSON_…).

Umlaute sehen kaputt aus. Die Datei war nicht in UTF-8 gespeichert. In Excel „CSV UTF-8“ wählen.

Personen sind doppelt da. Die Nummern haben sich zwischen zwei Importen geändert. Behaltet für jede Person immer dieselbe Mitgliedsnummer.

Die Mitgliedschaft wurde übersprungen: „person … not linked with account“. Erst Schritt 5 (Person mit Konto verknüpfen) importieren, dann die Mitgliedschaften.

Kann ich einen Import rückgängig machen? Nicht auf Knopfdruck. Korrigiert die Datei und importiert sie erneut, oder spielt euren vorher gezogenen Export wieder ein.

Wer hilft weiter? Bei Umstiegen aus anderen Programmen (z. B. SPG-Verein, MAC, VEWA, Champ) übernimmt das inwendo-Team die Datenübernahme. Schreibt uns über vynst.de/kontakt.