Skip to content
Developer

Products (full)

You create products with all important details, optionally with conditions, sections, offers and rooms.

Format
CSV (comma or semicolon), UTF-8
Access rights
Administrator, write access to products
Example files
produkte_vollstaendig_beispiel_technisch.csv (technical column names)
produkte_vollstaendig_beispiel_anwender.csv (German column names)

In short: The first four columns are required: number, name, billing type and billing interval. Further columns for prices, sections, conditions, offers and rooms are optional.

What you need this for

If you want to enter all products of your club into vynst, with conditions such as age limits or access tags, this import is the right one. For a lean list with prices, Products (simple) is enough.

Before you start

  • Rights: You need the role Administrator with write access for products.
  • Optionally imported beforehand: Sections, accounts, access tags, offers and rooms, if you use them in the columns.
  • Backup: The import cannot be undone at the click of a button. Before you start, export the products under Settings → Export (Einstellungen → Export).

Prepare the file

  • File name: The file must contain .csv. The name must not contain AFS_PRODUCT_, otherwise the import Products (simple) applies.
  • Header row: The first four columns must appear in exactly this order: PRODUCT_IDENTIFIER, PRODUCT_NAME, BILLING_TYPE, RECURRENCE. The file must not contain the columns NEW_FIXED_PRICE and NEW_BUYING_PRICE. Such files belong to Update prices.
  • Separator: Comma or semicolon. Use the same character throughout the file.
  • Prices: The point is the default, so 12.00. For commas, use the column PRICE_FORMAT with the value de.
  • Date (only for conditions): 01.09.2026 or 2026-09-01.

Columns

Column Required Content Example
PRODUCT_IDENTIFIER yes Your product number. Use short codes with letters. A pure number is first looked up by vynst as your number from an earlier import, and only then as its internal number. YOGA
PRODUCT_NAME yes Name that appears on invoices Yoga-Abo
BILLING_TYPE yes subscription for recurring fees, fixed for one-off amounts subscription
RECURRENCE yes (column), value may be empty Billing interval as set up in vynst, e.g. 1 month, 3 month, 6 month or 1 year 1 month
Preis (PRICE) no Fixed price. Also accepted: Preis in €, FIXED_PRICE. Alternatively PRICE_BRUTTO or PRICE_NETTO. 15.00
Preisart (PRICE_TYPE) no Brutto or Netto, applies to the price column. Also accepted: priceType. Brutto
PRICE_FORMAT no de if prices are written with commas. The default is en. en
Einkaufspreis (BUYING_PRICE) no Purchase price. Also accepted: Einkaufs-Preis, Einkaufspreis in €. 7.50
Sparten-ID (UNIFIED_CATEGORY_IDENTIFIER) no Section from the sections import. Separate several with |~|. Also accepted: Sparte, Kategorie-ID. TUR
COMPANY_IDENTIFIER no Account through which the product runs K-1001
Interne Beschreibung (INTERNAL_DESCRIPTION) no Description for you only. Also accepted: Interne-Beschreibung. Kursangebot Yoga mit Raum
Externe Beschreibung (EXTERNAL_DESCRIPTION) no Description for members. If it is empty, the product name is used. Also accepted: Beschreibung. Yoga-Abo für Erwachsene
Bevorzugt (PRODUCT_IS_PREFERRED) no ja or nein. Also accepted: Ist Bevorzugt. nein
Ist Standard (PRODUCT_IS_DEFAULT) no ja or nein. nein
Ist Ermäßigung (PRODUCT_IS_DISCOUNT) no ja or nein. nein
Ist Beitragsfrei (PRODUCT_IS_FREE) no ja or nein. nein
Ist Passiv (PRODUCT_IS_PASSIVE) no ja or nein. nein
Ist Global (PRODUCT_IS_GLOBAL) no ja or nein. nein
Herstellergarantie Jahre (PRODUCT_PRODUCER_GUARANTEE_YEARS) no Duration of the manufacturer’s guarantee in years. Also accepted: Garantie Jahre.
Marke (PRODUCT_PRODUCER_BRAND) no Brand or manufacturer. Also accepted: Hersteller.
Vorauszahlung (SUBSCRIPTION_PRE_PAID) no ja if the subscription is paid in advance. Also accepted: PRE_PAID. nein
SUBSCRIPTION_ONLY_BILLED_AFTER_START no ja if billing only starts after the start nein
SUBSCRIPTION_SELF_SERVICE_ADD no ja if members may book the subscription themselves nein
SUBSCRIPTION_SELF_SERVICE_DELETE no ja if members may end the subscription themselves nein
Aufnahmegebühr (SUBSCRIPTION_SELF_SERVICE_ADD_FIXED_PRICE) no One-off fee for self-booking. Also accepted: SELF_SERVICE_ADD_PRICE.
Austrittsgebühr (SUBSCRIPTION_SELF_SERVICE_DELETE_FIXED_PRICE) no One-off fee for self-cancellation. Also accepted: SELF_SERVICE_DELETE_PRICE.
ACCESS_TAG_IDENTIFIERS no Access tags, separate several with |~|. An empty cell removes all access tags.
CONDITION_DATE_AFTER no The product applies only from this date. Empty removes the condition.
CONDITION_DATE_BEFORE no The product applies only up to this date. Empty removes the condition.
CONDITION_ACCESS_TAG_IDENTIFIER no Access tag as a condition
CONDITION_FREE_LOGIC no Condition for fee-free status. Empty removes it.
BASE_EVENT_IDENTIFIER no Offer to which the product belongs. Offers are imported later, so this column is empty here.
BASE_BOOKABLE_IDENTIFIER no Room to which the product belongs. Rooms are imported later, so this column is empty here.

Example

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,,,,,,,,,

Example files: produkte_vollstaendig_beispiel_technisch.csv with the technical column names, produkte_vollstaendig_beispiel_anwender.csv with the German column names.

How to proceed

  1. Open Settings → Import (Einstellungen → Import).
  2. Click Add (Hinzufügen) and select the file.
  3. Wait until the entry in the list is green.
  4. Read the log. Every row with Error: was not taken over.

Good to know

  • Repeated import with letter-based numbers: A known number such as YOGA updates the existing product.
  • Repeated import with pure numbers: vynst first looks up a number as your number from an earlier import. This way, a repeated import finds the product again. If there is no such entry yet, vynst looks up the number as its internal number. Then an existing product can be changed. Therefore, check the product list after the first import with numbers.
  • Sections and access tags: If the column is present, vynst replaces the previous list. An empty cell removes all entries.
  • Conditions: An empty date cell removes the condition.

When something does not work

Message in the log Meaning What to do
Error: skipped missing product identifier Product number or name is missing. The row appears below as LINE-DATA. Fill in both details
Error: skipped empty line Empty row Nothing to do, or delete the row
Read: 3 rows This many rows were read Nothing to do
Error: less then one line The file contains no data row Check the file
FAILED: No matching processor found. File name or header row does not match any import Check the first four columns and the file name
FAILED: User missing rights to import. You lack the right for products Ask an administrator

See also