Skip to content
Developer

Payments

You take over payments to accounts, persons and sections from a CSV file.

Format
CSV (comma or semicolon), UTF-8
Access rights
Write access to contacts (CRM)
Example file
zahlungen_beispiel_technisch.csv (download)

In short: Each row is a payment with amount, account, person and section. The file creates new payments. If a row matches an existing payment with the same account, person, date, amount, note and direction, it updates that payment.

What you need this for

Payments from your previous program should be available in vynst, so that accounts and persons have a complete payment history.

Before you start

  • Rights: Write access for contacts (CRM). Administrator rights are not required here.
  • Beforehand: Accounts, persons and sections should already be in vynst. Otherwise, unknown numbers lead to payments without a link.
  • Uploading again: A file that was already imported does not book the payments twice. The existing payments are updated.
  • Backup: Take an export before the import (Settings → Export (Einstellungen → Export)).

Prepare the file

  • File name: The name must contain .csv.
  • Header row: The first five columns appear in this order: TRANSACTION_BRUTTO_VALUE, COMPANY_IDENTIFIER, PERSON_IDENTIFIER, UNIFIED_CATEGORY_IDENTIFIER, DATE.
  • Separator: Comma or semicolon. With a comma, the header row begins with TRANSACTION_BRUTTO_VALUE,.
  • Amounts: Write amounts with a comma, for example 12,50. With the point as decimal separator and without PRICE_FORMAT, vynst reads 12.50 correctly. For amounts with a comma, set PRICE_FORMAT to de.
  • Date: 2026-03-01 or 01.03.2026.

Columns

Column Required Content Example
TRANSACTION_BRUTTO_VALUE yes Amount of the payment (gross). 12,50
COMPANY_IDENTIFIER yes Account to which the payment belongs. Via the account number. K-1001
PERSON_IDENTIFIER yes Person to whom the payment belongs. 1001
UNIFIED_CATEGORY_IDENTIFIER yes in the header row Section of the payment. May be empty. FB
DATE yes Date of the payment. 01.03.2026
NOTE no Description of the payment. Jahresbeitrag 2026
PAYMENT_TYPE no Name of the payment type, exactly as in vynst. Lastschrift
CURRENCY no Currency. Default is €. €
INCOMING no ja if it is an incoming payment. Otherwise nein. ja
AUTO no ja if the payment was generated automatically. nein
PRICE_FORMAT no de for amounts with a comma, en for a point. Default is en. de

Example

TRANSACTION_BRUTTO_VALUE;COMPANY_IDENTIFIER;PERSON_IDENTIFIER;UNIFIED_CATEGORY_IDENTIFIER;DATE;NOTE;PAYMENT_TYPE;CURRENCY;INCOMING;AUTO;PRICE_FORMAT
12,50;K-1001;AFS_CSV_1001;FB;01.09.2026;Beitrag 09/2026;Lastschrift;€;ja;nein;de
8,00;K-1003;AFS_CSV_1003;TUR;15.09.2026;Kursgebühr 09/2026;Lastschrift;€;ja;nein;de

Example file: zahlungen_beispiel_technisch.csv with all columns.

How to proceed

  1. Create the file with the header row above.
  2. Settings → Import → Add (Einstellungen → Import → Hinzufügen), select the file.
  3. Check in the log how many rows were read.

Good to know

  • Re-import: A row that matches an existing payment (same account, person, date, amount, note and direction) updates that payment. The log reports the number with Info:. The import overwrites payment type, currency, automatic flag and section. Be careful with payments that you entered by hand and that look the same: they are updated too.
  • Identical rows in one file: Two identical rows in the same file create two payments. They are not treated as a duplicate.
  • Changed details: If the amount, date, note or direction changes, the import creates a new payment.
  • Rows without an amount, account or person are skipped without a message.
  • If the account or the person is unknown, the payment is created without this link, without a message.
  • INCOMING controls whether the payment is incoming. The sign of the amount does not determine it.

When something does not work

Message in the log Meaning What to do
Error: skipped empty line Empty row. Nothing to do.
Read: N rows Number of rows read. Compare with your row count.
Info: N payments were already imported and only updated This many rows matched an existing payment and only updated it. Nothing to do. On a first import, check whether the payments were already recorded before.
Error: less then one line No data row. Check the file.
FAILED: No matching processor found. The header row does not begin with the five columns in the correct order. Check the header row.
FAILED: An unexpected Error occurred. A date could not be read. The rows before it are already saved. Check the date in the row named, and import only the remainder.

See also