Skip to content
Developer

Quotas

Gift or credit a person a fixed number of registrations for selected events.

Format
CSV (semicolon or comma)
Access rights
Write access to CRM
Example file
Kontingente_beispiel_technisch.csv (download)

In short: You enter how many registrations a person receives and for which events they apply. vynst deducts one of them with each registration until the quota is used up.

What you need this for

Some members receive registrations as a gift, for example as a bonus, as a promotion or as compensation. Instead of releasing each registration by hand, you create a quota. The person can then register for the matching events as often as the quota allows.

Before you start

  • You need the right Imports (menu item Import) and write access for CRM (Schreibrecht CRM).
  • An administrator right is not required for this import.
  • The persons must already exist in vynst. Enter the person’s ID in the column PERSON_ID.
  • The events to which a quota refers should already be imported. Enter their ID in BASE_EVENT_ID.

Prepare the file

  • Format: CSV with semicolon ; or comma , as separator. Excel files must be saved as CSV beforehand.
  • Header row: The first two columns are EVENT_ACCESS_BUDGET_ID and PERSON_ID, in this order.
  • File name: It must contain .csv.
  • Date: 01.01.2026 or 2026-01-01.

Columns

Column Required Content Example
EVENT_ACCESS_BUDGET_ID yes (header row) Number of an existing quota that is to be changed. For a new quota, the cell stays empty. empty
PERSON_ID yes ID of the person in vynst 2001
SOURCE_TYPE yes Origin of the quota. Only bonus is allowed. bonus
TOTAL_BUDGET yes Number of registrations, whole number greater than 0 10
COMPANY_ID Company to which the quota belongs F-17
VALID_FROM Start of validity. If the cell is empty, a new quota applies from today. An existing quota keeps its start. 01.01.2026
VALID_UNTIL End of validity 31.12.2026
BASE_EVENT_ID Valid only for this event (ID of the offer) K-YOGA
UNIFIED_CATEGORY_ID Valid only for events of this section FB
EVENT_TYPE Valid only for events of this type, as the ID of the type COURSE
INTERNAL_DESCRIPTION Note for you only Gutschein Mitgliederaktion

If the quota applies to all events, leave BASE_EVENT_ID, UNIFIED_CATEGORY_ID and EVENT_TYPE empty.

Example

EVENT_ACCESS_BUDGET_ID;PERSON_ID;SOURCE_TYPE;TOTAL_BUDGET;BASE_EVENT_ID;UNIFIED_CATEGORY_ID;EVENT_TYPE;VALID_FROM;VALID_UNTIL;INTERNAL_DESCRIPTION
;AFS_CSV_1001;bonus;3;K-YOGA;FB;COURSE;01.01.2026;31.12.2026;Probestunden Lena Hartmann
;AFS_CSV_1003;bonus;2;K-YOGA;FB;COURSE;01.01.2026;31.12.2026;Probestunden Anna Beispiel

Example file: Kontingente_beispiel_technisch.csv

Lena Hartmann and Anna Beispiel each receive a bonus quota for K-YOGA. The persons are found via their imported IDs AFS_CSV_1001 and AFS_CSV_1003. The column EVENT_ACCESS_BUDGET_ID stays empty so that each row creates a new quota. The columns UNIFIED_CATEGORY_ID (FB) and EVENT_TYPE (COURSE) match K-YOGA. If a restriction does not apply, only the first one counts, here the event.

How to proceed

  1. Open Settings → Import (Einstellungen → Import).
  2. Click Add (Hinzufügen) and select the file.
  3. Check the log for Skipped and Error: rows.
  4. Afterwards, check for one person whether the quota is displayed with the correct number and validity.

Good to know

  • A row with a known number in EVENT_ACCESS_BUDGET_ID changes the existing quota. The person and the origin remain unchanged in the process. A row without a number or with an unknown number creates a new quota.
  • This import never deletes a quota.
  • Unknown IDs: If a company, an event or a section in the row is not known, vynst skips the row with Error: skipped line …. No quota is created that would then apply to all events. Still, check the IDs before the import. A type that does not exist affects no event. The type is not checked.
  • Empty cells in COMPANY_ID, VALID_UNTIL, BASE_EVENT_ID, UNIFIED_CATEGORY_ID, EVENT_TYPE and INTERNAL_DESCRIPTION do not change the existing quota.
  • Caution with VALID_FROM: An empty cell sets the start to today only for new quotas. For an existing quota, the previous start remains.
  • If a quota has several restrictions, only the first one counts: event before section before type. Without a restriction, it applies to all events.
  • A quota is used up by one with each registration. The import does not change the number of registrations already used.
  • A row with TOTAL_BUDGET = 0 or without a number is skipped.
  • Counting in the log: the number after Line is the number of the data row; the header row is not counted. The first data row is therefore Line 1.

When something does not work

Message in the log Meaning What to do
Error: skipped empty line An empty row was skipped. Nothing.
Line 3: Skipped - SOURCE_TYPE must be "bonus", got "…" The origin is not bonus or is missing. Enter bonus in the column SOURCE_TYPE.
Line 3: Skipped - PERSON_ID is required The person is missing. Enter the ID.
Line 3: Skipped - TOTAL_BUDGET must be a positive number The number is missing, is not a number or is 0. Enter a whole number greater than 0.
Line 3: Skipped - Person with ID "…" not found vynst does not know the person. Check the ID or create the person first.
Error: skipped line 3, company F-17 not found The company is not known in vynst. The row was skipped. Check the company number, import the company first.
Error: skipped line 3, event K-YOGA not found The event is not known in vynst. The row was skipped. Check the ID, import the event first.
Error: skipped line 3, unified category FB not found The section is not known in vynst. The row was skipped. Check the ID, import the section first.
Processed 12 lines: 8 created, 2 updated, 2 skipped Result: created, updated, skipped. Check the rows with Skipped and Error:.
Processed 0 lines: 0 created, 0 updated, 0 skipped The file contains no data row. Check whether the file is complete.
FAILED: No matching processor found. File name or header row does not match any import. Check the first two columns and the file name.

See also