Produkte (vollständig)
Ihr legt Produkte mit allen wichtigen Angaben an, auf Wunsch mit Bedingungen, Sparten, Angeboten und Räumen.
- Format
- CSV (Komma oder Semikolon), UTF-8
- Rechte
- Administrator, Schreibrecht Produkte
- Beispieldateien
- produkte_vollstaendig_beispiel_technisch.csv (technische Spaltennamen)
produkte_vollstaendig_beispiel_anwender.csv (deutsche Spaltennamen)
Kurz gesagt: Die ersten vier Spalten sind Pflicht: Nummer, Name, Abrechnungsart und Abrechnungsintervall. Weitere Spalten für Preise, Sparten, Bedingungen, Angebote und Räume sind optional.
Wofür ihr das braucht
Wenn ihr alle Produkte eures Vereins in vynst einpflegen wollt, mit Bedingungen wie Altersgrenzen oder Zugriffsmarken, ist dieser Import der richtige. Für eine schlanke Liste mit Preisen reicht Produkte (einfach).
Bevor ihr startet
- Rechte: Ihr braucht die Rolle Administrator mit Schreibrecht für Produkte.
- Optional vorher importiert: Sparten, Konten, Zugriffsmarken, Angebote und Räume, wenn ihr sie in den Spalten verwendet.
- Sicherung: Der Import lässt sich nicht auf Knopfdruck zurücknehmen. Zieht vorher unter Einstellungen → Export einen Export der Produkte.
Datei vorbereiten
- Dateiname: Die Datei muss
.csventhalten. Der Name darf nichtAFS_PRODUCT_enthalten, sonst greift der Import Produkte (einfach). - Kopfzeile: Die ersten vier Spalten stehen genau in dieser Reihenfolge:
PRODUCT_IDENTIFIER,PRODUCT_NAME,BILLING_TYPE,RECURRENCE. Die Datei darf nicht die SpaltenNEW_FIXED_PRICEundNEW_BUYING_PRICEenthalten. Solche Dateien gehören zu Preise aktualisieren. - Trennzeichen: Komma oder Semikolon. Nehmt dasselbe Zeichen in der ganzen Datei.
- Preise: Der Punkt ist Standard, also
12.00. Für Kommas nutzt die SpaltePRICE_FORMATmit dem Wertde. - Datum (nur für Bedingungen):
01.09.2026oder2026-09-01.
Spalten
| Spalte | Pflicht | Inhalt | Beispiel |
|---|---|---|---|
PRODUCT_IDENTIFIER |
ja | Eure Produktnummer. Verwendet Kürzel mit Buchstaben. Eine reine Zahl sucht vynst zuerst als eure Nummer aus einem früheren Import, erst danach als interne Nummer. | YOGA |
PRODUCT_NAME |
ja | Name, der auf Rechnungen steht | Yoga-Abo |
BILLING_TYPE |
ja | subscription für wiederkehrende Beiträge, fixed für einmalige Beträge |
subscription |
RECURRENCE |
ja (Spalte), Wert darf leer sein | Abrechnungsintervall wie in vynst angelegt, z. B. 1 month, 3 month, 6 month oder 1 year |
1 month |
Preis (PRICE) |
nein | Festpreis. Auch erlaubt: Preis in €, FIXED_PRICE. Alternativ PRICE_BRUTTO oder PRICE_NETTO. |
15.00 |
Preisart (PRICE_TYPE) |
nein | Brutto oder Netto, gilt für die Spalte Preis. Auch erlaubt: priceType. |
Brutto |
PRICE_FORMAT |
nein | de, wenn Preise mit Komma geschrieben sind. Standard ist en. |
en |
Einkaufspreis (BUYING_PRICE) |
nein | Einkaufspreis. Auch erlaubt: Einkaufs-Preis, Einkaufspreis in €. |
7.50 |
Sparten-ID (UNIFIED_CATEGORY_IDENTIFIER) |
nein | Sparte aus dem Sparten-Import. Mehrere mit |~| trennen. Auch erlaubt: Sparte, Kategorie-ID. |
TUR |
COMPANY_IDENTIFIER |
nein | Konto, über das das Produkt läuft | K-1001 |
Interne Beschreibung (INTERNAL_DESCRIPTION) |
nein | Beschreibung nur für euch. Auch erlaubt: Interne-Beschreibung. |
Kursangebot Yoga mit Raum |
Externe Beschreibung (EXTERNAL_DESCRIPTION) |
nein | Beschreibung für Mitglieder. Ist sie leer, wird der Produktname verwendet. Auch erlaubt: Beschreibung. |
Yoga-Abo für Erwachsene |
Bevorzugt (PRODUCT_IS_PREFERRED) |
nein | ja oder nein. Auch erlaubt: Ist Bevorzugt. |
nein |
Ist Standard (PRODUCT_IS_DEFAULT) |
nein | ja oder nein. |
nein |
Ist Ermäßigung (PRODUCT_IS_DISCOUNT) |
nein | ja oder nein. |
nein |
Ist Beitragsfrei (PRODUCT_IS_FREE) |
nein | ja oder nein. |
nein |
Ist Passiv (PRODUCT_IS_PASSIVE) |
nein | ja oder nein. |
nein |
Ist Global (PRODUCT_IS_GLOBAL) |
nein | ja oder nein. |
nein |
Herstellergarantie Jahre (PRODUCT_PRODUCER_GUARANTEE_YEARS) |
nein | Dauer der Herstellergarantie in Jahren. Auch erlaubt: Garantie Jahre. |
|
Marke (PRODUCT_PRODUCER_BRAND) |
nein | Marke oder Hersteller. Auch erlaubt: Hersteller. |
|
Vorauszahlung (SUBSCRIPTION_PRE_PAID) |
nein | ja, wenn das Abo vorausbezahlt wird. Auch erlaubt: PRE_PAID. |
nein |
SUBSCRIPTION_ONLY_BILLED_AFTER_START |
nein | ja, wenn erst nach dem Start abgerechnet wird |
nein |
SUBSCRIPTION_SELF_SERVICE_ADD |
nein | ja, wenn Mitglieder das Abo selbst buchen dürfen |
nein |
SUBSCRIPTION_SELF_SERVICE_DELETE |
nein | ja, wenn Mitglieder das Abo selbst beenden dürfen |
nein |
Aufnahmegebühr (SUBSCRIPTION_SELF_SERVICE_ADD_FIXED_PRICE) |
nein | Einmalige Gebühr bei der Selbstbuchung. Auch erlaubt: SELF_SERVICE_ADD_PRICE. |
|
Austrittsgebühr (SUBSCRIPTION_SELF_SERVICE_DELETE_FIXED_PRICE) |
nein | Einmalige Gebühr bei der Selbstkündigung. Auch erlaubt: SELF_SERVICE_DELETE_PRICE. |
|
ACCESS_TAG_IDENTIFIERS |
nein | Zugriffsmarken, mehrere mit |~| trennen. Eine leere Zelle entfernt alle Zugriffsmarken. |
|
CONDITION_DATE_AFTER |
nein | Das Produkt gilt erst ab diesem Datum. Leer entfernt die Bedingung. | |
CONDITION_DATE_BEFORE |
nein | Das Produkt gilt nur bis zu diesem Datum. Leer entfernt die Bedingung. | |
CONDITION_ACCESS_TAG_IDENTIFIER |
nein | Zugriffsmarke als Bedingung | |
CONDITION_FREE_LOGIC |
nein | Bedingung für die Beitragsfreiheit. Leer entfernt sie. | |
BASE_EVENT_IDENTIFIER |
nein | Angebot, zu dem das Produkt gehört. Angebote werden später importiert, daher ist die Spalte hier leer. | |
BASE_BOOKABLE_IDENTIFIER |
nein | Raum, zu dem das Produkt gehört. Räume werden später importiert, daher ist die Spalte hier leer. |
Beispiel
PRODUCT_IDENTIFIER,PRODUCT_NAME,BILLING_TYPE,RECURRENCE,PRICE,PRICE_TYPE,PRICE_FORMAT,BUYING_PRICE,UNIFIED_CATEGORY_IDENTIFIER,COMPANY_IDENTIFIER,INTERNAL_DESCRIPTION,EXTERNAL_DESCRIPTION,PRODUCT_IS_PREFERRED,PRODUCT_IS_DEFAULT,PRODUCT_IS_DISCOUNT,PRODUCT_IS_FREE,PRODUCT_IS_PASSIVE,PRODUCT_IS_GLOBAL,PRODUCT_PRODUCER_GUARANTEE_YEARS,PRODUCT_PRODUCER_BRAND,SUBSCRIPTION_PRE_PAID,SUBSCRIPTION_ONLY_BILLED_AFTER_START,SUBSCRIPTION_SELF_SERVICE_ADD,SUBSCRIPTION_SELF_SERVICE_DELETE,SUBSCRIPTION_SELF_SERVICE_ADD_FIXED_PRICE,SUBSCRIPTION_SELF_SERVICE_DELETE_FIXED_PRICE,ACCESS_TAG_IDENTIFIERS,CONDITION_DATE_AFTER,CONDITION_DATE_BEFORE,CONDITION_ACCESS_TAG_IDENTIFIER,CONDITION_FREE_LOGIC,BASE_EVENT_IDENTIFIER,BASE_BOOKABLE_IDENTIFIER
YOGA,Yoga-Abo,subscription,1 month,15.00,Brutto,en,7.50,TUR,K-1001,"Kursangebot Yoga mit Raum",Yoga-Abo für Erwachsene,nein,nein,nein,nein,nein,nein,,,nein,nein,nein,nein,,,,,,,,,
KIDS,Kinderturnen,subscription,1 month,6.00,Brutto,en,3.00,TUR,K-1003,Kinderturnen Beitrag,Monatsbeitrag Kinderturnen,nein,nein,nein,nein,nein,nein,,,nein,nein,nein,nein,,,,,,,,,
SAUNA,Sauna-Zusatz,subscription,1 month,5.00,Brutto,en,,,,Zusatzleistung Sauna,Sauna als Zusatz zum Beitrag,nein,nein,nein,nein,nein,nein,,,nein,nein,nein,nein,,,,,,,,,
Beispieldateien: produkte_vollstaendig_beispiel_technisch.csv mit den technischen Spaltennamen, produkte_vollstaendig_beispiel_anwender.csv mit den deutschen Spaltennamen.
So geht’s
- Öffnet Einstellungen → Import.
- Klickt auf Hinzufügen und wählt die Datei aus.
- Wartet, bis der Eintrag in der Liste grün ist.
- Lest das Protokoll. Jede Zeile mit
Error:wurde nicht übernommen.
Gut zu wissen
- Erneuter Import mit Buchstaben-Nummern: Eine bekannte Nummer wie
YOGAaktualisiert das vorhandene Produkt. - Erneuter Import mit reinen Zahlen: vynst sucht eine Zahl zuerst als eure Nummer aus einem früheren Import. So findet ein erneuter Import das Produkt wieder. Gibt es noch keinen solchen Eintrag, sucht vynst die Zahl als interne Nummer. Dann kann ein vorhandenes Produkt geändert werden. Prüft deshalb nach dem ersten Import mit Zahlen die Produktliste.
- Sparten und Zugriffsmarken: Ist die Spalte vorhanden, ersetzt vynst die bisherige Liste. Eine leere Zelle entfernt alle Einträge.
- Bedingungen: Eine leere Datumszelle entfernt die Bedingung.
Wenn etwas nicht klappt
| Meldung im Protokoll | Bedeutung | Was tun |
|---|---|---|
Error: skipped missing product identifier |
Produktnummer oder Name fehlt. Darunter steht die Zeile als LINE-DATA. |
Beide Angaben ausfüllen |
Error: skipped empty line |
Leere Zeile | Nichts tun oder die Zeile löschen |
Read: 3 rows |
So viele Zeilen wurden gelesen | Nichts tun |
Error: less then one line |
Die Datei enthält keine Datenzeile | Datei prüfen |
FAILED: No matching processor found. |
Dateiname oder Kopfzeile passen zu keinem Import | Die ersten vier Spalten und den Dateinamen prüfen |
FAILED: User missing rights to import. |
Euch fehlt das Recht für Produkte | Administrator fragen |