> 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-changelog/2026/2026.35.0.md).

# 2026.35.0

{% hint style="info" %}
Diese Version steht Dir voraussichtlich **ab dem 10.09.2026** zur Verfügung.
{% endhint %}

## <i class="fa-lightbulb-on" style="color:$primary;">:lightbulb-on:</i> Neuerungen

<details>

<summary><mark style="color:$primary;"><strong>Adressen/Dashboard:</strong></mark> Sechs neue Kacheln zu Offenen Posten</summary>

Das **Dashboard einer Adresse** hatte bisher zwei Kacheln rund um Offene Posten. Daraus sind **sechs** geworden, die in einer ersten Version zur Verfügung stehen:

* **„Offene Posten kompakt“** – die Postenliste mit wählbarer Rolle, Filtervorbelegung, Zeilenzahl und Spaltenauswahl.
* **„Saldo-Verhältnis mit Altersstruktur“** – der Saldo je Fälligkeitsband; die beiden Bandgrenzen stellst Du in Tagen ein. Ein Klick auf ein Band springt gefiltert in den Reiter **„Offene Posten“**.
* **„Mahn-Cockpit“** – letzte und nächste Mahnung, mahnfähige Posten mit Summe, Stufen-Zeitstrahl und Mahnhistorie. Direkt aus der Kachel heraus gibt es **„Mahnung erstellen“**, **„Mahnsperre setzen“** und **„Mahnsperre aufheben“**.
* **„Offene Posten Kennzahlenleiste“** – frei wählbare Kennzahlen in eigener Reihenfolge, dazu **„Saldenbestätigung drucken“** und **„Mahnung erstellen“**.
* **„Kreditlimit“** – die Ausschöpfung als Balken mit Ampel; die Schwellwerte für Gelb und Rot legst Du selbst fest.
* **„Letzte Zahlungen“** – Ein- und Ausgänge, wahlweise auf ein Bankkonto eingeschränkt.

{% hint style="info" %}
Die Aktionen **„Mahnsperre setzen“** und **„Mahnsperre aufheben“** brauchen das Recht zum Ändern von Adressen.
{% endhint %}

{% hint style="warning" %}
Die bisherigen Kacheln **„Offene Posten“** und **„Offene-Posten-Saldo“** sind ersetzt. Bereits platzierte Kacheln behalten ihren Platz, zeigen aber die neue Darstellung. Die sechs neuen Kacheln fügst Du im Bearbeitungsmodus des Dashboards selbst hinzu.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kasse:</strong></mark> Beträge in Fremdwährung, Bargeld zählen ohne Stückelung</summary>

Bisher gab die Kasse alle Beträge fest im **Euro-Format** aus, und der Bar-Endbestand ließ sich nur über die Euro-Stückelung zählen. Jetzt formatiert die Kasse in der Währung des Belegs beziehungsweise in Deiner Hauswährung.

Ist die Hauswährung **nicht Euro**, entfällt die Stückelung: Du erfasst den gezählten Bar-Endbestand als **einen Betrag** über ein eigenes Ziffernfeld. Eine erfasste **0** gilt dabei als gezählt.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kassenabschluss:</strong></mark> Neuer Schritt „Fiskalisierung“</summary>

Signatur-Vorgänge der TSE **ohne zugehörigen Bon** waren im Abschluss weder sichtbar noch stornierbar. Der Kassenabschluss hat dafür jetzt einen eigenen Schritt **„Fiskalisierung“** an zweiter Stelle.

Der Schritt listet die Signatur-Vorgänge des Kassenbuchs und zusätzlich alle Vorgänge ohne zugehörigen Beleg. Einen offenen Eintrag stornierst Du direkt per Klick – nach Rückfrage, denn das lässt sich nicht rückgängig machen. Gibt es solche Vorgänge, weist Dich ein Warnhinweis darauf hin; der Abschluss bleibt trotzdem möglich.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Kasse/Zahlungsarten:</strong></mark> Negativer Kassenbestand steuerbar</summary>

Eine Barzahlung war auch dann möglich, wenn der Kassenbestand dafür nicht reichte – der Bestand lief unbemerkt ins Minus. Am Detail einer **Kassen-Zahlungsart** legst Du das jetzt mit dem Feld **„Negativer Bestand“** fest: **„Nie erlaubt“**, **„Immer erlaubt“** oder **„Nach Rückfrage erlaubt“**.

Wird die Buchung abgelehnt oder die Rückfrage verneint, wird der Entwurf verworfen und blockiert den Kassenabschluss nicht. Das Feld ist nur bei **bestandsgeführten** Zahlungsarten bedienbar.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kasse:</strong></mark> Oberflächen übertragen, Eingabefeld und Aktionen konfigurieren</summary>

Kassenoberflächen ließen sich bisher nur anlegen und duplizieren, nicht zwischen Installationen übertragen.

* Markierte Oberflächen exportierst Du über **„Exportieren“** als Datei und liest sie über **„Oberfläche importieren“** wieder ein. Auf Wunsch gehen die hinterlegten Selektionen mit und werden beim Import neu angelegt.
* Im Bearbeitungsmodus öffnest Du **„Eingabefeld bearbeiten“** und blendest die Knöpfe für **Positionen importieren** und **Barcode-Scanner** ein oder aus – bisher waren beide fest sichtbar.
* Als Kachel ablegen lassen sich jetzt auch **„Kunde wählen“**, **„Artikel suchen“** und **„Quittung suchen“**.

In den Suchdialogen der Kasse wird das Suchfeld jetzt automatisch fokussiert und die Bildschirmtastatur angefordert – wo der Browser das unterstützt.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Allgemein/Erscheinungsbild:</strong></mark> Installationen kennzeichnen und einfärben</summary>

Unter **Einstellungen → Allgemein → Erscheinungsbild (Beta)** legst Du im Bereich **„Diese Installation“** fest, wie diese Cloud-Instanz aussieht – mehrere Installationen lassen sich damit auf einen Blick auseinanderhalten.

* **„Umgebungs-Kennzeichen“** – ein freier Text im Header, etwa TESTSYSTEM, mit eigener **„Farbe des Kennzeichens“**.
* **„Anwendungsname“** und **„Bezeichnung unter dem Anwendungsnamen“** – stehen über der Navigation, im Browser-Tab und im Ladebildschirm. Ohne Eintrag gelten „VARIO Cloud“ und der Name des Firmen-Accounts.
* **„Tab-Prefix“** – wird jedem Browser-Tab-Titel vorangestellt, etwa „\[TEST]“.
* **„Eigenes Logo“** und **„Eigenes Favicon“** – hochgeladene Bilder werden als Grafik gespeichert, auch SVG-Dateien.
* **„Primärfarbe“** und **„Akzentfarbe“** – die Primärfarbe holst Du über **„Aus dem Logo übernehmen“** direkt aus Deinem Logo.

Der Bereich **„Vorschau“** zeigt vorab **„Browser-Tab“**, **„Ladebildschirm“** und **„Anwendung“**.

{% hint style="info" %}
Ohne die **Lizenz zur Individualisierung** bleiben nur **„Umgebungs-Kennzeichen“** und **„Farbe des Kennzeichens“** änderbar. Die übrigen Felder bleiben sichtbar – so siehst Du, was die Lizenz kann –, sind aber gesperrt; in der Kopfzeile steht mit einem Schloss der Vermerk **„Lizenz erforderlich“**.
{% endhint %}

{% hint style="warning" %}
Weil die Akzentfarbe jetzt frei wählbar ist, sind **Erfolgsmeldungen und Erfolgs-Kennzeichen** in der gesamten Anwendung auf **Grün** umgestellt worden. Bisher trugen sie die feste Sekundärfarbe.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>MDE:</strong></mark> Freier Etikettendruck</summary>

Das MDE hat den neuen Bereich **„Freier Etikettendruck“**. Du scannst oder tippst **Artikel oder Seriennummer** – jeder Scan zählt ein Etikett. Die Menge einer Zeile änderst Du relativ über die Eingabe (`+3`, `-1`) oder als Faktor (`*5`), Zeilen lassen sich antippen und wieder entfernen.

Über das Aktionsmenü **„Drucken“** wählst Du die Reportgruppe; vor dem Druck kommt eine Rückfrage. Ein gescannter Code wird zuerst als Artikel, dann als Seriennummer gesucht.

</details>

<details>

<summary><mark style="color:$primary;"><strong>MDE/Kommissionierung:</strong></mark> Meldungen stehen lassen, direkt zur Packübersicht</summary>

* Unter **Benutzereinstellungen → Arbeitsumgebung** gibt es die neue Einstellung **„MDE: Meldungen bleiben stehen, bis sie geschlossen werden“**. Das Meldungsbanner blendet sich dann nicht mehr nach 10 Sekunden aus. Standardmäßig ist die Einstellung **aus**.
* In der Kommissionierung gibt es die Schaltfläche **„Pickliste abschließen und zur Packübersicht wechseln“**. Bisher landetest Du in der Picklistenübersicht und musstest von Hand wechseln.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Bestände/Picklisten:</strong></mark> Nur definierte Versandarten zulassen</summary>

Die **Versandarten** einer Picklisten-Vorlage waren bisher nur ein Auswahlkriterium – im MDE ließ sich anschließend **jede** Versandart wählen. Mit dem neuen Schalter **„Nur definierte Versandarten zulassen“** bietet das MDE nur noch die in der Vorlage hinterlegten Versandarten an.

Der Schalter ist nur bedienbar, wenn mindestens eine Versandart hinterlegt ist. Bestehende Vorlagen bleiben unverändert.

</details>

<details>

<summary><mark style="color:$primary;"><strong>E-Rechnung:</strong></mark> Alle Steuerfälle im ZUGFeRD- und XRechnung-Export</summary>

Der Export setzte **keine USt-Kategorieschlüssel** an Positionen, Zu- und Abschlägen, und **Steuerbefreiungsgründe** fehlten ganz. Bei nicht steuerbaren Belegen gingen trotzdem die USt-IdNr. von Verkäufer und Käufer mit – ein Verstoß gegen die Prüfregeln der Norm.

Jetzt wird für jede Position, jeden Zu- und Abschlag und die Versandkosten der passende Steuerfall ermittelt – Standardsatz, Nullsatz, Steuerbefreiung, Umkehr der Steuerschuld, innergemeinschaftliche Lieferung, Ausfuhr oder nicht steuerbar – jeweils mit **Befreiungsgrund**. Zusätzlich übertragen werden **Steuernummer** und **Registerangaben** des Verkäufers sowie die vollständige Lieferanschrift.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Artikel/Lager:</strong></mark> Preiseinheit bei Einkaufspreisen, Lagerwert und Inventur</summary>

Der **letzte Einkaufspreis** wurde ohne **Preiseinheit** geführt – faktisch „immer pro Stück“. Bei EK-Korrekturen ließ sie sich nicht ändern, und ein Preis je 1.000 Stück wurde beim Zurücklesen verfälscht.

Die **Preiseinheit** ist jetzt überall ein eigenes, änderbares Feld: bei der manuellen Lagerbewegung, bei der EK-Korrektur und beim Buchen von Kontingentartikeln. Bleibt es leer, gilt die Preiseinheit des Artikels. Der **Lagerwert** wird entsprechend gerechnet, und die Preiseinheit steht neu an der Inventurdifferenz, im Lagerjournal und in der Bestandsauswertung.

{% hint style="warning" %}
Bei der Aktualisierung werden Bestandsdaten umgerechnet – bestehende EK-Korrekturbuchungen und die Statistikwerte für Lagerwert und letzten Preis. Prüfe danach stichprobenweise Artikel mit einer Preiseinheit ungleich 1.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einkaufsbelege:</strong></mark> Einkaufspreise verschwinden jetzt auch aus der Belegmaske</summary>

Das Recht **„Einkaufspreis lesen“** wirkt seit der letzten Version in Einkaufsbelegen – die Werte blieben dort aber lediglich **leer**. Jetzt sind die Preisangaben ohne dieses Recht **gar nicht mehr zu sehen**: Preisfeld und Positionssumme, die Spalte Rabatt/Zuschlag, die Register **Preismodifikatoren** und **Steuersätze**, Anzahlungsbetrag, Zwischensumme und Versandkosten entfallen. Die Quickview zeigt stattdessen einen Hinweis, und das Register **„Offene Posten“** ist deaktiviert.

{% hint style="info" %}
**Verkaufsbelege** sind unverändert. Speicherst Du einen Einkaufsbeleg ohne das Recht, bleiben die vorhandenen Preise erhalten.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einkaufsbelege:</strong></mark> Lieferantensperre greift beim Abschluss der Bestellung</summary>

Die Prüfung auf **gesperrte Lieferanten** lief nur an einzelnen Stellen, nicht aber beim **Beenden der Bearbeitung** einer Bestellung. Genau dort wird jetzt geprüft – sowie als letzter Schritt vor dem Speichern; die bisherigen Einzelprüfungen entfallen.

Für **Adressabfragen** steht zusätzlich die Variable **„Lieferantensperre“** zur Verfügung.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Aufträge:</strong></mark> Auftrag-Übernahmeprotokoll mit Detailansicht</summary>

Im Reiter **Protokoll** hieß der Abschnitt bisher „Kommissionierungsergebnis“ und war eine reine Liste – **warum** ein Auftrag nicht in Lieferung ging, war daraus nicht ersichtlich.

Der Abschnitt heißt jetzt **„Auftrag-Übernahmeprotokoll“**. Ein Klick auf eine Zeile öffnet die Detailansicht mit erstem und letztem Übernahmeversuch, Erfolgs- und Testübernahme-Kennzeichen, der Anzahl der Versuche und dem vollständigen Log-Eintrag.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Lager/Nachschub:</strong></mark> „Freier Report“ für Nachschubvorschläge</summary>

**Nachschubvorschläge** ließen sich bisher nur mit dem festen Ausdruck ausgeben. Jetzt gibt es **„Freier Report“** als Schaltfläche im Detail und als Kontextaktion in der Übersicht – dort muss genau ein Datensatz ausgewählt sein.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Provisionsabrechnung:</strong></mark> Eigene Detailseite je Vertreter</summary>

Die Provisionssätze eines Vertreters standen in einer aufklappbaren Unterzeile, die Dateien in einem eigenen Reiter. Ein Klick auf die Vertreterzeile öffnet jetzt die Seite **„Vertreter“** mit den Kopfdaten zu Adresse, Provisionstyp, Steuer und Provisionsbetrag, der verlinkten Belegnummer sowie den Abschnitten **„Provisionssätze“** und **„Dateien“**.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Produktion:</strong></mark> „Freier Report“ für Produktionsaufträge</summary>

Im Aktionsmenü eines **Produktionsauftrags** steht jetzt die Aktion **„Freier Report“** bereit. Damit gibst Du den Auftrag mit einem frei gewählten Report aus, statt auf die Belegreporte auszuweichen.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Projekte/Zeitachse (Beta):</strong></mark> Swimlanes selbst terminieren</summary>

Der Balken einer Swimlane mit Unteraufgaben wurde **immer** aus der Spannweite der Kinder abgeleitet – er ließ sich weder ziehen noch in der Länge ändern, die Datumsfelder waren gesperrt.

Jetzt gilt: Sind an der Zeile **eigene Termine** gesetzt, zählen diese; nur ohne eigene Termine wird weiterhin die Spannweite der Unteraufgaben herangezogen. Der Balken lässt sich ziehen und in der Länge ändern, die Datumsfelder sind freigegeben.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belegposition/Dashboard:</strong></mark> Zusatzfelder-Kachel auf Feldgruppen einschränken</summary>

Die Kachel **„Zusatzfelder“** zeigte immer **alle** Zusatzfelder der Position. Sie hat jetzt einen eigenen Bearbeitungsmodus mit dem Feld **„Zusatzfeldgruppen“**: Ausgewählte Gruppen werden angezeigt, ohne Auswahl bleibt es bei allen. Die Auswahl gilt je Kachel.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Assets:</strong></mark> Tags an Assets</summary>

Assets lassen sich jetzt mit **Tags** versehen – erlaubt sind Tags vom Typ **„Allgemein“** und vom neuen Typ **„Asset“**. Du pflegst sie in den Asset-Stammdaten; außerdem gibt es die Dashboard-Kachel **„Tags“**, eine Spalte in der Asset-Liste und einen Filter in der Asset-Abfrage.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Assets:</strong></mark> „Freier Report“ für Assets</summary>

Auch in den **Asset-Stammdaten** findest Du die Aktion **„Freier Report“** im Aktionsmenü – für eine eigene Ausgabe zu einem einzelnen Asset.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Versand:</strong></mark> Versandart mit Barcode</summary>

Beim Anlegen und im Detail einer **Versandart** gibt es jetzt das Feld **„Barcode“**; bisher war es in der Oberfläche nicht sichtbar. Das Detailformular ist dabei aufgeräumt worden.

</details>

<details>

<summary><mark style="color:$primary;"><strong>System/Task-Manager:</strong></mark> Laufende Tasks abbrechen</summary>

Im **Task-Manager** gab es nur **„Ausführen“** – ein laufender Task ließ sich nicht stoppen. Bei laufenden Tasks steht jetzt zusätzlich **„Abbrechen“** bereit. Der Status wurde bisher unübersetzt angezeigt und heißt jetzt **„Abgebrochen“**.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Skripte:</strong></mark> Artikel über die Artikelnummer lesen</summary>

Das Lesen eines Artikels über die Artikelnummer warf eine Ausnahme, wenn kein Artikel gefunden wurde. Der Artikeldienst kennt jetzt zusätzlich **`findByNumber`** – mit und ohne Sprachangabe. Beide liefern den Artikel oder **`null`**, wenn es keinen gibt.

</details>

***

<details>

<summary><mark style="color:$primary;"><strong>Amazon-Marketplace-App:</strong></mark> FBA-Umlagerung von der Freigabe bis zum Etikett</summary>

Die **FBA-Umlagerung** ist vom Erprobungsstand zu einem durchgängigen Ablauf ausgebaut worden.

* **Einstieg:** In der Umlagerungs-Übersicht startest Du über **„Starten“** aus einem offenen **Nachschubvorschlag** heraus – der Vorschlag wird abgeschlossen, der Umlagerungs-Auftrag entsteht und die Umlagerung wird bei Amazon angelegt.
* **Fünf Schritte** statt vieler Einzelaktionen: **„Positionen“**, **„Versandgruppe & Transport“**, **„Kommissionierung“**, **„Verpackung prüfen“**, **„Etiketten“**. Die Amazon-Bestätigungen laufen als automatische Kette mit Statusanzeige je Teilschritt; bleibt sie stehen, werden die Angebote von Amazon zur Handauswahl angeboten.
* Am **MDE-Packtisch** zeigt das Panel **„FBA-Versandgruppen“** geplante und gebaute Kartons samt Warnungen; der Schritt **„Verpackung prüfen“** meldet je Paket, was noch fehlt.
* Neu ist das Feld **„Transitlager für FBA-Umlagerungen“** am FBA-Versanddienstleister – für Ware, die Dein Lager verlassen hat, bei Amazon aber noch nicht angekommen ist.

{% hint style="info" %}
Die Verpackungsgruppen werden **nacheinander** freigegeben. Ein Storno bei Amazon lässt sich nicht zurücknehmen – danach ist nur eine erneute Übertragung möglich.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopify-App:</strong></mark> Bestellimport in der Währung, in der der Kunde bezahlt hat</summary>

Alle Beträge kamen aus der **Shop-Währung**. Bei Multi-Currency-Bestellungen bekam der Beleg dadurch die falschen Beträge – und gar keine Währung.

Jetzt kommen Positionspreise, Rabatte, Versandkosten und Rückerstattungen aus der Währung, in der der Kunde tatsächlich belastet wurde, und der Beleg erhält die passende **Belegwährung**. Fehlt die aktive Währung oder ein **Wechselkurs** zum Belegdatum, wird nur diese eine Bestellung übersprungen – der restliche Import läuft weiter.

{% hint style="warning" %}
Pflege **Währungen** und **Wechselkurse** vollständig, bevor Du Multi-Currency-Bestellungen abrufst. Sonst bleiben einzelne Bestellungen liegen.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopware-6- und Shopify-App:</strong></mark> Freifelder und Metafelder für Adressen, Belege und Kategorien</summary>

Freifeld-Zuordnungen gab es bisher nur für **Artikel** und **Artikel-Listings**. Jetzt kommen auf VARIO-Seite **Adresse**, **Beleg** und **Kategorie** dazu, auf Shop-Seite **Kunde**, **Bestellung** und **Kategorie**. Adress- und Belegfelder werden beim **Bestell- und Kundenabruf** übertragen, Kategoriefelder beim **Kunden- und Kategorie-Export** – nicht beim Artikel-Import. Für Shopify gibt es dafür einen eigenen Schritt im Einrichtungs-Assistenten.

Außerdem bietet die Freifeld-Auswahl **keine Feldgruppen anderer Apps** mehr an. Bisher stellte etwa die Shopware-6-App auch Shopify-Gruppen zur Wahl – eine Zuordnung darauf hätte Daten über den Schlüssel der anderen App geschrieben. Deine eigenen Feldgruppen bleiben wählbar.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Apps/E-Commerce:</strong></mark> Adressvorlage je Verkaufskanal</summary>

Adressen, die beim Import von Bestellungen oder Herstellern entstehen, ließen sich nicht über eine **Adressvorlage** vorbelegen. In **Amazon Marketplace**, **eBay**, **Shopware 6**, **Shopify** und **ChannelPilot** gibt es dafür jetzt am Verkaufskanal das Feld **„Adressvorlage“**.

Angeboten werden nur Vorlagen mit passender **Geschäftsbeziehung**. Die Vorlage greift ausschließlich auf **neu angelegte** Adressen; ohne Auswahl verhalten sich die Importe wie bisher.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopify-App:</strong></mark> Eigene Skripte beim Artikelexport</summary>

Beim Export von **Artikeln**, **Preisen** und **Beständen** nach Shopify konnten keine eigenen Skripte eingreifen. Der neue Schalter **„Skriptausführung“** richtet dafür drei Skript-Auslöser ein: Jedes Skript bekommt die fertig umgewandelten Daten eines Artikels und gibt sie geändert zurück, bevor sie an Shopify gehen.

Das Einschalten setzt die Lizenz für Skripting voraus. Mit aktiven Skripten wird die Übertragung langsamer; bestehende Kanäle starten mit ausgeschalteter Skriptausführung.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Admin Center:</strong></mark> Erledigte Tickets ausgeblendet, Installationen sortiert</summary>

* Die **Ticketübersicht** zeigt jetzt standardmäßig nur noch **nicht abgeschlossene** Tickets. Über den Schalter **„Erledigte Tickets anzeigen“** blendest Du die übrigen ein.
* Beim **Anlegen eines Support-Tickets** standen Live- und Testinstallationen unsortiert nebeneinander und waren nicht zu unterscheiden – Support-Fälle landeten versehentlich auf Testsystemen. Die Auswahl ist jetzt sortiert, und Testinstallationen tragen den Zusatz **„(Testinstallation)“**.

</details>

## <i class="fa-arrow-trend-up" style="color:$primary;">:arrow-trend-up:</i> Verbesserungen

<details>

<summary><mark style="color:$primary;"><strong>Belege:</strong></mark> Viele Positionen – kein Zeitüberschreitungsfehler mehr</summary>

Die Auswahl der Preisliste baute für Artikel und Währung zusätzliche Verknüpfungen in die Datenbankabfrage ein. Bei größeren Datenmengen lief das Speichern in eine **Zeitüberschreitung** – die Auftragserfassung war dann gar nicht möglich. Die Abfrage arbeitet jetzt direkt über die Schlüsselfelder; an den fachlichen Auswahlregeln ändert sich nichts.

Zusätzlich wurden beim Speichern **Provisionssätze**, **Lagerbestandsmengen** und die **Umsatzstatistik** positionsweise einzeln verarbeitet. Das läuft jetzt gebündelt für den ganzen Beleg – je mehr Positionen ein Beleg hat, desto deutlicher der Unterschied.

{% hint style="warning" %}
Bei der Aktualisierung werden zusätzliche Datenbank-Indizes angelegt. Bei großen Datenbeständen kann das Update dadurch **länger dauern** als gewohnt.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belege:</strong></mark> Drei Blockaden bei der Belegerfassung behoben</summary>

* Eine **Position ließ sich nicht mehr aus dem Lieferschein löschen**. Ursache waren die Zusatzinformationen des Belegs, die beim Umnummerieren und beim Kopieren nicht eigenständig übernommen wurden – Änderungen an einer Kopie schlugen dadurch auf den gespeicherten Beleg durch.
* Das **Textfeld war nach einmaligem Speichern nicht mehr bearbeitbar**, weil ein Statuswechsel vor dem Belegupdate lief. Prüfung und Speicherung werden jetzt vorgezogen; außerdem löst ein doppelt zugestellter Klick den Statuswechsel nur noch einmal aus.
* Beim **Ändern der Positionsmenge** kam ein Validierungsfehler, weil an drei Stellen unterschiedlich entschieden wurde, welche Detailangaben mitgeschickt werden. Jetzt gilt überall dieselbe Umwandlung – und beim Kopieren einer Position gehen auch die Kassendetails mit.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Versand:</strong></mark> Bestandslose Artikel kommen in Paket und Lieferschein</summary>

Eine **Paketposition** setzte zwingend eine Bestandsbuchung voraus. Artikel **ohne Bestandsführung** erzeugen keine solche Buchung und konnten deshalb weder gepackt noch in einen Lieferschein übernommen werden.

Eine Paketposition verweist jetzt direkt auf die **Belegposition**; die Buchung ist optional. **Paketinhalt** und **Tracking-Mail** zeigen die Artikelnummer darüber an, und in Abfragen gibt es dafür das neue Feld **„Belegposition“**. Positionen mit Menge kleiner oder gleich null kommen nicht mehr ins Paket.

{% hint style="info" %}
Pakete, die **vor** dem Update erzeugt wurden, tragen noch keinen Verweis auf die Belegposition – dort kann die Artikelnummer im Paketinhalt leer bleiben.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kommissionierung:</strong></mark> Versandauftrag wird wieder zum Versandlieferschein</summary>

Aus einem **Versandauftrag** entstand beim Abschluss der Kommissionierung ein **normaler Lieferschein**: Die Zielbelegart wurde je Kategorie auf die Standard-Belegart reduziert, die konfigurierten **Folgebelege** blieben unberücksichtigt.

Jetzt kommen alle aktiven Belegarten der Zielkategorie infrage, eingeschränkt auf die gepflegten **Folgebelege** – aus einem Versandauftrag wird damit wieder ein **Versandlieferschein**. Versandlieferscheine werden außerdem automatisch auf **„Übernommen“** gesetzt, und lässt sich keine Belegart ermitteln, ist die Meldung jetzt eindeutig.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kommissionierung:</strong></mark> Gedruckte Pickliste direkt packen</summary>

Nimmst Du eine **gedruckte Pickliste** direkt im **Packen** auf, kam bisher trotzdem die **„Digitale Pickliste“** aus der Picklisten-Vorlage zum Einsatz – ein Artikel ließ sich dadurch nur einmal scannen.

In diesem Fall wird sie jetzt – wie schon bei **„Pick & Pack“** – nicht mehr verwendet.

</details>

<details>

<summary><mark style="color:$primary;"><strong>E-Rechnung:</strong></mark> Einheitencode ist Pflicht, nur noch eine Positionsnotiz</summary>

Fehlte einer Mengeneinheit der **UN/ECE-Einheitencode**, wurde die Einheit im XML weggelassen – heraus kam eine **ungültige E-Rechnung**, die erst der Prüfdienst beanstandete. Jetzt prüft VARIO das vorab und bricht mit einer klaren Meldung samt Positionsnummern ab. Den Code pflegst Du unter **Einstellungen → Artikel → Mengeneinheiten** im Feld **„UNECE-Code“**.

Zusätzlich werden alle **Notizen** einer Position zu einer Notiz zusammengefasst.

{% hint style="warning" %}
Pflege den **UNECE-Code** an allen verwendeten Mengeneinheiten nach. Sonst schlägt der Export künftig fehl, statt eine ungültige Datei zu erzeugen.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Lager:</strong></mark> Reserviert, Bestellt und In Kommissionierung neu berechnen</summary>

Die Neuberechnung der Artikel-Lager-Mengen lief **ohne feste Sortierung**; bei seitenweiser Abfrage konnten Zeilen doppelt oder gar nicht gezählt werden – die Mengen für **Reserviert**, **Bestellt** und **In Kommissionierung** wurden dadurch falsch. Die Sortierung ist jetzt festgelegt.

Zusätzlich griffen Filter auf **Auswahlfelder** in Abfragen nicht, weil die Werte immer als Text gebunden wurden. Sie werden jetzt in den passenden Datentyp gewandelt.

{% hint style="info" %}
Bereits falsch gespeicherte Bestandswerte werden erst durch einen **Lauf der Neuberechnung** korrigiert – wende Dich dafür an den Support.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Artikel:</strong></mark> Seriennummern lassen sich nicht mehr doppelt anlegen</summary>

Die Eindeutigkeitsprüfung ignorierte leere Felder: Enthielt **Seriennummer 2** oder das **Verfallsdatum** keinen Wert, galt der Datensatz als eindeutig – dieselbe Seriennummer ließ sich mehrfach anlegen. Leere Felder zählen jetzt als gleich.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belege/Seriennummern:</strong></mark> Rücknahmen buchen wieder gegen den Seriennummernstamm</summary>

Bei der Seriennummern-Erfassung galt **jeder** Kundenbeleg als Auslagerung. Damit liefen auch **Rechnungskorrektur mit Warenrücknahme** und **Warenrücknahme** gegen den Lagerbestand statt gegen den Seriennummernstamm des Artikels.

Beide gelten jetzt als **Rücknahme** und verlangen **bereits bekannte** Seriennummern – unbekannte lassen sich so nicht ans Lager buchen.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Finanzen/Zahlungen:</strong></mark> Kontosaldo und Restbetrag richtig angezeigt</summary>

**Saldo** und **Kontokorrentkredit** waren mit **0** vorbelegt – ein unbekannter Saldo war von „Saldo = 0“ nicht zu unterscheiden, und die Überziehungswarnung griff auch dann.

Ist der Saldo **unbekannt**, entfallen jetzt die farbliche Bewertung und die Warnung. **Verfügbare Summe** und **Restbetrag** werden laufend mitgerechnet statt nur bei einer Auswahländerung.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Finanzen/Zahlungen:</strong></mark> Liste aktualisiert sich nach dem Zahllauf</summary>

Die Zahlungsliste aktualisierte sich nach jedem beliebigen fertigen Task – und gar nicht, wenn die Verbindung für Live-Meldungen ausblieb. Jetzt wird der **Zahllauf** gezielt nachverfolgt und die Liste genau einmal aktualisiert, sobald er erfolgreich beendet ist.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belege:</strong></mark> Menge kein Vielfaches der Verkaufseinheit – jetzt mit Nachfrage</summary>

Der Parameter **„Menge muss Vielfaches der Verkaufseinheit sein“** unter **Einstellungen → Belege → Parameter** wurde gar nicht ausgewertet: Die Positionsmenge wurde **immer** stillschweigend aufgerundet.

Ist der Parameter **eingeschaltet** – so die Voreinstellung –, bleibt es dabei. Ist er **ausgeschaltet**, fragt VARIO je Position nach, ob aufgerundet werden soll; mit **Nein** bleibt die erfasste Menge stehen. Das gilt in Angebot, Auftrag, Lieferschein und Lieferschein-Rechnung.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belege:</strong></mark> Versandkosten-Position bei Kopie und Folgebeleg</summary>

Beim **Kopieren** eines Belegs und beim Erzeugen eines **Folgebelegs** bekamen Versandkostenzeilen eine fortlaufende **Positionsnummer** – geführt werden sie im Beleg aber gerade über Zeilen ohne Positionsnummer. Sie erhalten jetzt keine mehr; die übrigen Positionen werden ab 1 durchnummeriert. Bestehende Belege werden nicht nachkorrigiert.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belege:</strong></mark> Leistungsland: griechische USt-IdNr. mit „EL“ statt „GR“</summary>

VARIO leitet das **Leistungsland** aus den ersten beiden Zeichen der **USt-IdNr.** ab und sucht sie als Länderkennzeichen. Bei Griechenland geht das schief: Als einziges EU-Land verwendet Griechenland in der USt-IdNr. nicht sein Länderkennzeichen **GR**, sondern das Präfix **EL** – abgeleitet vom griechischen Landesnamen *Ellás*.

Ein Land mit dem Kennzeichen **EL** gibt es nicht. Bei einer Nummer wie **EL123456789** scheiterte die Ableitung deshalb mit **„Das Land der Umsatzsteuer-ID konnte nicht gefunden werden“** an der USt-IdNr., und Belegimporte brachen ab.

Jetzt übersetzt VARIO **EL** vor der Suche nach **GR**: Griechische USt-IdNrn. führen damit zum Leistungsland **Griechenland**. Alle anderen Länder sind nicht betroffen – dort stimmt das Präfix ohnehin mit dem Länderkennzeichen überein.

Unabhängig davon wird das Leistungsland bei **Einkaufsbelegen** gar nicht mehr aus der USt-IdNr. abgeleitet. Bestehende Belege werden nicht nachgezogen.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Ausgabe:</strong></mark> Mailempfänger werden zuverlässig vorbelegt</summary>

Die **Kontaktarten-Priorisierung** der Ausgaberegel blieb bei den meisten Mail-Ausgaben wirkungslos, und ohne ermittelbaren Empfänger wurde der Auftrag ohne Empfänger eingereiht.

Jetzt wird bei **jeder** Mail-Ausgabe ein Empfänger ermittelt, sofern die Anforderung keinen mitbringt; lässt sich keiner bestimmen, erscheint das Auswahlfenster. Zusätzlich ist die Reihenfolge der Ausgaberegeln jetzt eindeutig.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Versand:</strong></mark> Paket aus dem Kundenauftrag, klare Meldung bei falscher Belegart</summary>

Ein **Paket** ließ sich nur an Kundenlieferschein, Kundenlieferrechnung und Retourenankündigung anlegen; bei jeder anderen Belegkategorie kam ein technischer Fehler. Erlaubt ist jetzt zusätzlich der **Kundenauftrag**, und bei unpassender Belegkategorie erscheint eine fachliche Meldung statt eines technischen Fehlers.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Provisionsabrechnung:</strong></mark> Leistungsdatum und Ablage der Abrechnung</summary>

* Der beim **Provisionslauf** erzeugte Abrechnungsbeleg bekam **kein Leistungsdatum**. Er erhält jetzt das **Abrechnungsdatum** des Laufs; allgemein wird ein über die Schnittstelle mitgegebenes Leistungsdatum jetzt übernommen.
* Die **PDF-Datei** des Laufs war mit nichts verknüpft. Sie heißt jetzt **„Provisionslauf“** mit Nummer und wird mit dem **Abrechnungsbeleg** und der **Vertreter-Adresse** verknüpft. Bereits erzeugte Dateien bleiben, wie sie sind.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Lager:</strong></mark> Artikeltext in Zählung, Kommissionierung, Nachschub und Zubehör</summary>

Der **Artikeltext** stammte aus einem beliebigen Verkaufskanal-Listing. Er kommt jetzt einheitlich aus dem Listing des **Standard-Verkaufskanals** in der Sprache Deiner eigenen Firma.

{% hint style="info" %}
Der Standard-Verkaufskanal wirkt dabei **einschränkend**: Zeilen ohne Listing im Standard-Verkaufskanal erscheinen in diesen Auswertungen nicht mehr.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Belegposition/Dashboard:</strong></mark> Gelöschte Dashboards aufräumen</summary>

Ein gelöschtes, aber weiter hinterlegtes **Belegpositions-Dashboard** blieb in der Auswahl. Weil gelöschte Dashboards keine Filter mehr tragen, passten sie auf jede Situation und verdrängten das richtige Dashboard.

Sie werden jetzt aus der Auswahl gefiltert. Sind noch welche hinterlegt, erscheint über den Positionen ein Hinweis mit der Schaltfläche **„Gelöschte Dashboards entfernen“**, die die Einträge aus Deinen Benutzereinstellungen nimmt.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Abfragen:</strong></mark> Variablentypen, Prozent- und Währungswerte, übersetzte Auswahllisten</summary>

Die **Typangabe** einer Abfrage-Variablen wurde faktisch verworfen – jede Variable wurde als **Text** dargestellt; im Dashboard-Widget **„Abfrage“** wurde der Typ gar nicht ausgewertet. Beide werten ihn jetzt gleich aus.

Variablen vom Typ **Prozent** bekommen ein passendes Eingabefeld, Währungs- und Prozentwerte werden als Zahl übergeben, und ein gespeicherter Wert mit **Dezimalkomma** wird erkannt. Die Auswahllisten für Variablentyp und Suchdialog zeigten bisher die Übersetzungsschlüssel und sind jetzt übersetzt.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Abfragen:</strong></mark> Felder aus Unterabfragen mit Klarnamen und sortierbar</summary>

Felder aus **Unterabfragen** wurden mit ihrem technischen Pfadsegment angezeigt, und ein Klick auf die Spaltenüberschrift sortierte nicht richtig. Jetzt wird der Anzeigename der Gruppe verwendet, und die Sortierung greift.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Adressen/Artikel:</strong></mark> Kunden- und Lieferantenbeziehung über das Aktionsmenü schalten</summary>

Der Schalter **„Aktiv“** einer **Kunden-** oder **Lieferantenbeziehung** war direkt im Formular schaltbar, ein Aktionsmenü fehlte. Der Schalter ist jetzt schreibgeschützt; **„Aktivieren“** und **„Deaktivieren“** findest Du auf allen vier Detailseiten in der Kopfzeile.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kasse:</strong></mark> Kundendisplay öffnet wieder am gewohnten Platz</summary>

Nach einem Neustart öffnete das **Kundendisplay** nicht mehr auf dem Kundenbildschirm, sondern an beliebiger Stelle. Im Konfigurationsdialog gibt es dafür jetzt den Abschnitt **„Bildschirme“** mit der Schaltfläche **„Bildschirme freigeben“**.

Die Freigabe erteilst Du an jedem Kassen-PC **einmalig**; danach öffnet das Display wieder am zuletzt genutzten Platz. Der Abschnitt zeigt außerdem an, ob die Freigabe erteilt, abgelehnt oder gar nicht nötig ist.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kasse:</strong></mark> Test- oder Live-Umgebung auf einen Blick</summary>

Die **Umgebung** des Fiskalisierungs-Backends war immer als Schalter dargestellt – auch dann, wenn sie gar nicht mehr geändert werden konnte. Der ausgegraute Schalter sah dadurch wie eine Einstellmöglichkeit aus.

Den Schalter siehst Du jetzt nur noch, wenn Du die Umgebung wirklich ändern darfst. Sonst erscheint ein farbiges Kennzeichen **„Test-Umgebung“** oder **„Live-Umgebung“** mit einem Hinweis, warum sie feststeht.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Kasse:</strong></mark> Nur Verkaufsartikel in Suche und Preisabfrage</summary>

In **Artikelsuche**, **Artikel hinzufügen**, **Preisabfrage** und den **Selektions-Tasten** wurden auch Artikel angeboten, die keine **Verkaufsartikel** sind. Sie erscheinen dort nicht mehr. Bereits erfasste Belegpositionen bleiben unberührt.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Finanzen:</strong></mark> Bankkonten abgleichen zeigt die Auswahl wieder</summary>

Der Auswahldialog nach dem **Kontenabgleich** erschien nur, wenn an der Bank noch gar kein Konto hinterlegt war. Er erscheint jetzt immer, sobald der Abgleich mindestens ein Konto liefert.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Einstellungen/Allgemein/Zählerkreise:</strong></mark> Alternative Konfiguration nicht mehr verkettbar</summary>

Eine Konfiguration, die selbst schon als **alternative Konfiguration** einer anderen dient, konnte trotzdem eine eigene Alternative bekommen – es entstanden Ketten. Das ist jetzt ausgeschlossen. Bei **freien Zählern** führt eine fehlende Konfiguration außerdem nicht mehr zu einem Fehler. Bestehende Ketten werden nicht automatisch aufgelöst.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Artikel/Dashboard:</strong></mark> Bearbeiten-Verweis der Kachel „Zusatzfelder“</summary>

Der Bearbeiten-Verweis der Kachel **„Zusatzfelder“** zeigte auf eine Seite, die es unter diesem Namen nicht gibt. Er öffnet jetzt die **Artikelstammdaten** direkt im Bearbeitungsmodus.

</details>

<details>

<summary><mark style="color:$primary;"><strong>System/Importe:</strong></mark> Wechselkurse, UVP und Altdaten</summary>

* Der manuelle Import der **Wechselkurse** endete mit einem Fehler. Die Zusatzfelder von **Ausgangs- und Zielwährung** lassen sich jetzt getrennt zuordnen.
* Im Modul **Unverbindliche Preisempfehlung** war fälschlich das Zusatzfeld der Provisionssätze eingebunden – es entfällt.
* Im Modul für **historische Daten** lassen sich jetzt **Positionsart** und **Artikelart** zuordnen. Ohne Angabe werden sie abgeleitet: mit Artikel eine Artikelposition, sonst eine Textposition.

{% hint style="info" %}
Bestehende Importvorlagen werden nicht automatisch angepasst – prüfe sie nach dem Update.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Intrastat, Z3 und KI-Assistent:</strong></mark> Zeitstempel in der Zeitzone des Mandanten</summary>

Zeitstempel in Dateinamen, XML-Feldern und DMS-Beschreibungen kamen aus der Serverzeit (UTC), und innerhalb eines Laufs konnten über Mitternacht zwei verschiedene Zeitpunkte entstehen. Alle drei verwenden jetzt die am **Firmenkonto** gepflegte **„Zeitzone“** und innerhalb eines Laufs einen Zeitpunkt. Ohne gepflegte Zeitzone gilt Berliner Zeit.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Migration aus VARIO 8:</strong></mark> Sprache, CRM-Status und Komponentenmengen</summary>

Das **Sprachkürzel** wird jetzt bei Adressen und Belegen mitmigriert, der Standard-Status für **Verkaufschancen** erhält die Untertypen **„Vertrieb“** und **„Marketing“**, und bei **Komponenten** wird zusätzlich die Gesamtmenge übernommen. Die Korrekturen gelten für neu ausgeführte Migrationen.

</details>

<details>

<summary><mark style="color:$primary;"><strong>System:</strong></mark> Fehlerbericht nennt die aufgerufene Route</summary>

Der **Fehlerbericht** enthielt nur die Basisadresse des Dienstes, nicht die tatsächlich aufgerufene Route – und beim Versand per E-Mail konnte er **leer** sein. Jetzt steht die **„API-Route“** mit dabei, und der Bericht wird erzeugt, bevor der Dialog öffnet.

</details>

<details>

<summary><mark style="color:$primary;"><strong>System:</strong></mark> Volltextsuche baut ihren Index schneller neu auf</summary>

Beim **Neuaufbau des Volltextindex** wurde jeder Eintrag neu geschrieben, auch wenn sich am Inhalt nichts geändert hatte. Unveränderte Einträge lassen sich jetzt überspringen – das spart den Großteil der Schreibzugriffe. Ein **beschädigter** Index wird dabei allerdings nicht repariert; dafür ist weiterhin der vollständige Neuaufbau nötig.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Skripte:</strong></mark> Adresse aus einer Vorlage erhält alle Vorlagenwerte</summary>

Beim Erzeugen einer Adresse aus einer **Adressvorlage** fehlten Werte, die ausschließlich in der Vorlage stehen. Die Vorlage wird jetzt inklusive **Ausgaberegeln** ausgewertet.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Admin Center:</strong></mark> Support-Symbol verschwindet nach dem Lesen</summary>

Das Sprechblasensymbol blieb trotz gelesener Tickets sichtbar. Jetzt gilt ein Ticket auch dann als gelesen, wenn es bereits abgeschlossen ist, der Zähler berücksichtigt nur noch **offene** Tickets, und er wird direkt nach dem Lesen neu geladen.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Admin Center:</strong></mark> Backups einer Testinstallation</summary>

Dass eine **Testinstallation** anders gesichert wird als Deine Live-Installation, war in der Backup-Übersicht nicht zu erkennen. Jetzt sagt Dir ein Hinweis: Testinstallationen werden **nicht automatisch gesichert**, und automatische Backups lassen sich dafür auch nicht einschalten.

**Manuelle Backups** legst Du weiterhin an – sie umfassen aber ausschließlich die **Datenbank**; Dokumente und Dateien aus dem DMS (etwa PDFs, Bilder oder Anhänge) sind nicht enthalten. Denselben Hinweis bekommst Du beim Anlegen eines Backups. Deine **Live-Installation** ist davon nicht berührt und wird weiterhin automatisch gesichert.

</details>

***

<details>

<summary><mark style="color:$primary;"><strong>Amazon-Marketplace-App:</strong></mark> Versandmeldung für Verkaufssets</summary>

Gemeldet wurden die gepackten Mengen der Buchungen. Bei **Verkaufssets** hängen diese an den **Komponenten** – ein Set mit fünf Stück einer Komponente wurde als Menge 5 gemeldet, obwohl die Bestellposition ein Set ist. Amazon lehnte die Meldung ab.

Die Mengen werden jetzt in die Einheit der **Bestellposition** umgerechnet: Ein Set gilt so weit als geliefert, wie seine schwächste Komponente reicht; unvollständige Sets werden nicht gemeldet, und ein Set darf sich über mehrere Pakete verteilen. Zusätzlich wird jedes gemeldete Paket vermerkt und **nicht erneut** gesendet.

{% hint style="info" %}
Pakete, die **vor** dem Update an Amazon gemeldet wurden, sind in diesem Vermerk nicht enthalten und könnten erneut gemeldet werden.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>UPS-App:</strong></mark> Ansprechpartner für die Versenderadresse</summary>

Der Ansprechpartner kam ausschließlich aus **„Name 2“** der Adresse. UPS weist eine leere Angabe zurück und verlangt sie für internationale Ziele – die **Etikettenerstellung schlug fehl**.

Jetzt greift eine Rückfallkette: bei der Versenderadresse **Name 2 → Name 3 → „Ansprechpartner Versender“** (neues Feld an der Versandart), bei der Empfängeradresse **Name 2 → Name 3 → Name 1**.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Apps:</strong></mark> Importskripte kommen mit Apostrophen zurecht</summary>

Die mit den Apps ausgelieferten **Importskripte** setzten Werte unmaskiert in ihre Abfragen ein – ein Name wie „O'Brien“ zerbrach die Abfrage. Alle eingesetzten Werte werden jetzt maskiert.

{% hint style="warning" %}
Die Importvorlagen der Apps werden bei jeder Aktualisierung neu geschrieben. **Von Hand angepasste Skripte** werden dabei überschrieben.
{% endhint %}

</details>

<details>

<summary><mark style="color:$primary;"><strong>Amazon-Marketplace-App:</strong></mark> Bestellposition und Seller-SKU sicher zuordnen</summary>

* Die **Artikelnummer** der Paketposition wurde direkt gegen die **Seller-SKU** gehalten. Wich sie ab, fand sich keine Zuordnung – Versandmeldung und Prime-Etikett schlugen fehl. Beide Seiten werden jetzt zuerst auf einen **VARIO-Artikel** aufgelöst. Wurde mehr gepackt als bestellt, wird das eigens gemeldet.
* Die Seller-SKU wurde nur unter dem Bezeichnertyp **„SKU“** gesucht. Wer den Typ **„Seller-SKU“** führt, bekam eine gepflegte SKU als fehlend gemeldet. Beide Namen werden jetzt berücksichtigt.
* Fehlgeschlagene Warteschlangen-Einträge nennen jetzt zusätzlich Artikelnummer und Listing.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopware-6-App:</strong></mark> Artikelupload, Nachtragslauf und Kundensprache</summary>

* Bei **mehrsprachigen Shops** liefen die Schreibvorgänge gleichzeitig auf dieselbe Artikel-Listing-Zeile; nur einer kam durch – der **Artikelupload** funktionierte nicht mehr. Sie laufen jetzt nacheinander.
* Der **Nachtragslauf** sammelte auch **abgeschaltete** Listings ein. Deaktivierte Listings werden jetzt ausgeschlossen.
* Beim **Kundenexport** wurde immer die Standardsprache des Verkaufskanals gesetzt. Jetzt gewinnt die am Konto gepflegte **Sprache**; kennt der Shop sie nicht, bleibt es bei der Kanal-Standardsprache. Lässt sich gar keine ermitteln, behält der Shop-Kunde seine Sprache und das Speichern läuft durch.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopify-App:</strong></mark> Kategorien- und Attributimport stabilisiert</summary>

* Bei langen **Kategorie-Importen** lief das Zugriffstoken ab: Der Import lief weiter, die **Fortschrittsanzeige** blieb stehen. Während ein Lauf beobachtet wird, meldet die Oberfläche jetzt regelmäßig Aktivität.
* Kategorien konnten **doppelt** angelegt werden, und Abfragen konnten sich aufhängen – beides ist abgefangen.
* Beim **Attributimport** lieferte eine Suche nach „rot“ auch „Rot“, benannte den vorhandenen Datensatz um und lief in einen Fehler. Ausgewählt wird jetzt zuerst die **exakte** Übereinstimmung, nie nach Groß- und Kleinschreibung.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Shopware-6-App:</strong></mark> Maßeinheiten im Einrichtungs-Assistenten</summary>

Der Assistent verglich Maßeinheiten nur über den **Namen**: Eine Shop-Einheit „Stk.“ fand die VARIO-Einheit „Stk. / Stück“ nicht und wurde als fehlend gemeldet; beim Import wurden betroffene Artikel stillschweigend übersprungen.

Die Zuordnung läuft jetzt über **Kürzel und Bezeichnung**, führend ist die Verpackungseinheit. Schlägt die Prüfung selbst fehl, kommt jetzt ein Hinweis – bisher entfiel er kommentarlos und war nicht von „alles vorhanden“ zu unterscheiden.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Internetmarke-App:</strong></mark> Guthaben und Sitzung werden zuverlässig gespeichert</summary>

Die gespeicherte Sitzung wurde falsch zurückgelesen, und ohne gespeicherte Sitzung kam es zu einem Fehler. Nach Labelkauf und Aufladung wurde das neue **Guthaben** nicht gespeichert, und ein **unbekanntes** Guthaben sah aus wie ein leeres Portoguthaben. Alles drei ist behoben.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Apps:</strong></mark> Statusfilter in den Warteschlangen wirkt wieder</summary>

Der **Statusfilter** in der Warteschlange hatte keine Wirkung. Er greift jetzt wieder – in **Amazon Marketplace**, **ChannelPilot**, **eBay**, **Shopify** und **Shopware 6**, ebenso bei den Amazon-Retourenfällen und den Übersetzungsläufen der Intelligence-App.

</details>

<details>

<summary><mark style="color:$primary;"><strong>Amazon-Marketplace-App:</strong></mark> Warteschlangen-Fehler mit Protokollverweis</summary>

Fehler, die die App selbst erzeugt, erreichten die Protokollierung nie – der Verweis **„Protokoll“** am fehlgeschlagenen Eintrag blieb deaktiviert. Jeder fehlgeschlagene Eintrag bekommt jetzt einen Protokolleintrag, und die Fehlerdetails nennen zusätzlich das betroffene Paket und die Versandart im Klartext.

</details>


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.vario-software.de/vario-cloud-changelog/2026/2026.35.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
