> For the complete documentation index, see [llms.txt](https://help.vario-software.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.vario-software.de/vario-cloud-handbuch/system/import-export/manuelle-skriptverarbeitung.md).

# Manuelle Skriptverarbeitung

Dateien per Skript Zeile für Zeile verarbeiten: Skriptverarbeitung anlegen, Skript wählen oder schreiben, Parameter setzen, validieren und ausführen.

Nutze ein **JavaScript-basiertes Skript**, um den Importvorgang individuell zu steuern. Im Gegensatz zum **manuellen Datenimport**, wählst Du beim **Starten** des Vorgangs **keinen festen Bereich** aus – stattdessen definierst Du den **Zielbereich** direkt im Skript. So kannst Du den Import flexibel an komplexe Anforderungen anpassen. Neben den **Dateiformaten XLSX** und **CSV** können auch **JSON-Dateien** hochgeladen werden.

Die **Importschritte** entsprechen weitgehend denen eines **manuellen Datenimports**. Mit einer Ausnahme: Der **Schritt “Zielspalten”** entfällt und wird durch den **Schritt “Skript”** ersetzt. Dort legst Du per JavaScript fest, welche Felder wie zugeordnet werden sollen, was Dir **maximale Flexibilität** bei komplexeren Importanforderungen bietet.

Ein Skript ist dabei nicht auf das Anlegen neuer Datensätze beschränkt: Es kann bestehende Datensätze ändern, zugehörige Datensätze anlegen, Dateien erzeugen oder Daten an externe Dienste weitergeben. Einen Überblick über die Möglichkeiten findest Du auf der Seite [**Import/Export**](/vario-cloud-handbuch/system/import-export.md#was-kannst-du-per-skript-im-und-exportieren).

<figure><img src="https://534317722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa7nDlxyw1xkeHi7FnWgm%2Fuploads%2FOIlYv2IWu9drTK46HloN%2Fimage.png?alt=media&#x26;token=9dd15bad-ea37-431f-b7dc-fd0d020d8adc" alt=""><figcaption></figcaption></figure>

## Was brauchst Du dafür?

* Die **Scripting-Lizenz**. Ohne sie wird der **Button „+Skriptverarbeitung“** nicht angezeigt und Skripte lassen sich nicht bearbeiten.
* Die Berechtigung, **Datenimporte anzulegen**.
* JavaScript-Kenntnisse – oder ein fertiges Skript aus dem Menüpunkt [**System → Skripte**](/vario-cloud-handbuch/system/skripte.md).

## So gehst Du vor

{% stepper %}
{% step %}

### Skriptverarbeitung anlegen

Öffne unter **System → Import/Export** den **Reiter „Manuelle Skriptverarbeitung“** und klicke auf **„+Skriptverarbeitung“**. Alternativ startest Du mit einem Rechtsklick auf einen bestehenden Vorgang aus einer [**Vorlage**](/vario-cloud-handbuch/system/import-export/manuelle-datenimporte/vorlagen-erstellen.md).
{% endstep %}

{% step %}

### Datei hochladen

Lade im **Schritt „Datei hochladen“** die Datei hoch, die das Skript verarbeiten soll.
{% endstep %}

{% step %}

### Quellspalten prüfen

Im **Schritt „Quellspalten“** siehst Du die Datensätze, die Dein Skript erhält. Über die **Quelldatei-Einstellungen** legst Du wie beim [**manuellen Datenimport**](/vario-cloud-handbuch/system/import-export/manuelle-datenimporte.md#quelldatei-einstellungen) z. B. die Kopfzeile fest oder schaltest Workflows und Webhooks für die Verarbeitung aus.
{% endstep %}

{% step %}

### Skript wählen oder schreiben

Im **Schritt „Skript“** wählst Du ein vorhandenes Skript aus oder schreibst ein eigenes. Speichere Deine Änderungen, bevor Du weitergehst. Details findest Du im nächsten Abschnitt.
{% endstep %}

{% step %}

### Validieren

Im **Schritt „Validierung“** prüfst Du, ob sich alle Einträge verarbeiten lassen. Einträge mit fehlgeschlagener Validierung werden Dir aufgelistet.
{% endstep %}

{% step %}

### Daten verarbeiten

Klicke auf **„Daten verarbeiten“**. Die Verarbeitung läuft als Task im Hintergrund; danach erreicht der Vorgang den **Schritt „Abgeschlossen“** und lässt sich nicht mehr bearbeiten.
{% endstep %}
{% endstepper %}

## Was bietet Dir der Schritt „Skript“?

### Vorhandenes Skript verwenden

Im **Feld „Skript-Modul“** stehen Dir alle Skripte aus **System → Skripte** mit der Domäne **Import / Stapelverarbeitung** zur Verfügung. So legst Du ein Skript einmal zentral an und verwendest es in beliebig vielen Verarbeitungen.

Nach der Auswahl ist der Code des Skripts aufklappbar hinterlegt. Änderst Du ihn, gilt die Änderung **nur für diese Verarbeitung**: Die Verarbeitung löst sich vom Skript-Modul, das Skript unter **System → Skripte** bleibt unverändert.

### Eigenes Skript schreiben

Ohne Auswahl im **Feld „Skript-Modul“** schreibst Du das Skript direkt im Editor. Eine neue Skriptverarbeitung enthält bereits ein Grundgerüst. Der Editor bietet Dir folgende Optionen:

| **Option**                                                                                                                                                                                                                                                | **Beschreibung**                                                                                                                                                                                                                                                                                                                                    |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://534317722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa7nDlxyw1xkeHi7FnWgm%2Fuploads%2FSLtkwaOQw0SREgESEKu8%2Fimage.png?alt=media&#x26;token=d698b3b3-97e7-4514-b502-15c5cbff36b2" alt="" data-size="original"> | Deine zuletzt vorgenommenen **Änderungen** am Skript werden dauerhaft gespeichert. Alle Änderungen müssen gespeichert werden, **bevor Du zum nächsten Schritt** wechseln kannst. Gespeicherte Änderungen bleiben erhalten, auch wenn Du den Tab oder das Browserfenster schließt.                                                                   |
| <img src="https://534317722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa7nDlxyw1xkeHi7FnWgm%2Fuploads%2FXuwtNVY9coZxhYpWUCqB%2Fimage.png?alt=media&#x26;token=4b5cdd7b-7858-4ed1-9c54-6b4db8d9f564" alt="" data-size="original"> | **Ungespeicherte Änderungen** können **vollständig bis zum letzten Speichervorgang** rückgängig gemacht werden. Aus diesem Grund empfiehlt es sich, **regelmäßig zwischenzuspeichern**. So vermeidest Du außerdem, dass größere Anpassungen versehentlich verloren gehen – z. B. durch ein versehentliches Schließen des Tabs oder Browserfensters. |
| **Ungespeicherte Änderungen**                                                                                                                                                                                                                             | Zeigt Dir den Vergleich zwischen dem gespeicherten und dem aktuellen Stand des Skripts.                                                                                                                                                                                                                                                             |

### Parameter

Mit **Parametern** gibst Du einem Skript Werte mit, ohne den Code zu ändern, z. B. eine Preisgruppe oder ein Tag. Bei einem eigenen Skript fügst Du Parameter über das **Pluszeichen** im **Bereich „Parameter“** hinzu. Bringt ein ausgewähltes Skript-Modul Parameter mit, musst Du für jeden einen Wert eintragen; solange einer fehlt, erscheint der Hinweis „Bitte fülle alle Parameter des Skriptmoduls aus“. Mit **„Parameter speichern“** übernimmst Du die Werte.

## Was passiert bei der Validierung?

Bei der Validierung führt VARIO Cloud das Skript **probeweise** für jeden Eintrag aus und verwirft die Änderungen anschließend. So erkennst Du fehlerhafte Einträge, bevor Daten tatsächlich geändert werden.

{% hint style="warning" %}

#### Aufrufe externer Dienste lassen sich nicht zurücknehmen

Ruft Dein Skript externe Dienste auf, z. B. eine Schnittstelle oder einen Messenger, geschieht das auch bei der Validierung. Plane solche Aufrufe so, dass ein Probelauf keinen Schaden anrichtet.
{% endhint %}

Du kannst die Verarbeitung auch ohne Validierung starten. VARIO Cloud weist Dich dann darauf hin, dass eine Verarbeitung ohne Validierung fehlerhafte Daten erzeugen kann.

## Wie ist ein Skript für die Skriptverarbeitung aufgebaut?

Ein Skript für die Skriptverarbeitung besteht aus bis zu drei Teilen:

| Teil             | Wann läuft er?                                                       | Wozu                                                                                           |
| ---------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| **Prüfung**      | Vor jeder Zeile                                                      | Zeilen überspringen, die nicht verarbeitet werden sollen                                       |
| **Verarbeitung** | Für jede Zeile                                                       | Die eigentliche Arbeit, z. B. Datensatz suchen, anlegen oder ändern; meldet Erfolg oder Fehler |
| **Abschluss**    | Einmal nach allen Zeilen, wenn mindestens eine Zeile erfolgreich war | Abschließende Schritte, z. B. eine Datei erzeugen oder einen Druck anstoßen                    |

Jede Zeile wird für sich gespeichert. Schlägt eine Zeile fehl, bleiben die bereits verarbeiteten Zeilen erhalten.

{% hint style="info" %}

#### Technische Beschreibung in den Developer Docs

Wie Du auf die Werte einer Zeile zugreifst, Fehler meldest und welche Funktionen Dir zur Verfügung stehen, beschreiben die [Developer Docs zur Stapelverarbeitung](https://developer.vario-software.de/documentation/scripting/batch-processing) und die [Scripting-Referenz](https://developer.vario-software.de/scripting-reference/batch_script). Fertige Code-Rezepte findest Du unter [Use Cases](https://developer.vario-software.de/documentation/scripting/use-cases).
{% endhint %}

## Häufige Fragen

### Kann ich eine Skriptverarbeitung regelmäßig ausführen lassen?

Ja. Über das **Uhren-Symbol** legst Du daraus eine [**automatisierte Skriptverarbeitung**](/vario-cloud-handbuch/system/import-export/automatisierte-skriptverarbeitung.md) an, die zeitgesteuert eine Datei aus dem DMS oder eine Abfrage verarbeitet.

### Kann ich statt einer Datei selektierte Datensätze verarbeiten?

Ja, über eine **individuelle Stapel-Aktion** direkt aus der Liste. Die Schritte sind dieselben, nur die Datei entfällt. Siehe [**Stapel-Verarbeitung**](/vario-cloud-handbuch/system/import-export/stapel-verarbeitung.md#individuelle-stapel-aktion).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.vario-software.de/vario-cloud-handbuch/system/import-export/manuelle-skriptverarbeitung.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
