# Versand und Rückmeldungen

Nach dem Bestellimport melden drei weitere Schritte den Fortschritt zurück in den Shop.
Sie laufen am Ende derselben Aufgabe *Bestellungen importieren*.

1. Versand und Trackingnummern
2. Bestelländerungen aus der SelectLine
3. Zahlungseingang bei Vorkasse

Berücksichtigt werden nur Belege, die aus dem Shop stammen. Von Hand erfasste Belege
bleiben unberührt.

<!-- TODO Screenshot: images/rueckmeldung-kundenkonto.png -->

## Versand melden

Erreicht ein Beleg den **Belegtyp Versand** und wird gedruckt, meldet FINN.ghost die
Bestellung im Shop als versendet und übergibt Paketnummer, Transportdienstleister und
Sendungsverfolgungslink.

Erkannt wird der Versand über den Druckvorgang. Zusätzlich lösen neu erfasste
Paketnummern eine Meldung aus, auch wenn der Beleg schon vorher gedruckt wurde.

### Nur Lieferstatus senden, wenn Paketnummer vorhanden

Meldet erst, wenn eine Paketnummer vorliegt. Findet sich am Versandbeleg keine, sucht
FINN.ghost in den Vorgängerbelegen.

### Kunde über Versand informieren

Legt fest, ob Shopify die Versandbenachrichtigung verschickt. Voreingestellt ist **aus**.

<p class="callout info">Gemeldet wird gegen das erste offene Fulfillment der Bestellung. Ist keines offen — etwa weil im Shop schon manuell versendet wurde —, unterbleibt die Meldung und das Protokoll weist darauf hin.</p>

## Trackingnummern stattdessen importieren

Läuft der Versand über Shopify, kehrt die Einstellung *Trackingnummern importieren* die
Richtung um: FINN.ghost prüft die Shop-Bestellungen und erzeugt zu vollständig
versendeten Bestellungen den **Versandbeleg als Nachfolger** in der SelectLine. Die
Trackingnummern kommen in die Paketverwaltung.

Storniert der Shop eine Bestellung, entsteht der Versandbeleg ebenfalls, damit die
Belegkette schlüssig bleibt.

<p class="callout warning">Beide Richtungen schließen sich aus. Ist der Import aktiv, wird kein Versand mehr an Shopify gemeldet.</p>

## Bestelländerungen an Shopify zurückmelden

Ist ein **Belegtyp Bestelländerungen** hinterlegt, überträgt FINN.ghost Änderungen aus
der SelectLine zurück in die Shopify-Bestellung.

Abgeglichen werden:

| Änderung in der SelectLine        | Wirkung in Shopify                          |
| --------------------------------- | ------------------------------------------- |
| Menge geändert                     | Positionsmenge wird angepasst                 |
| Position entfernt                  | Menge wird auf 0 gesetzt, Ware eingebucht      |
| Position hinzugefügt               | Artikel wird zur Bestellung hinzugefügt         |
| Versandkosten geändert             | Versandposition wird ersetzt                    |

<p class="callout danger">Das ist die einzige Stelle, an der die Schnittstelle eine Bestellung im Shop inhaltlich verändert. Der Kunde sieht die geänderte Bestellung in seinem Konto, und Shopify bucht bei entfernten Mengen den Bestand zurück. Wer das nicht möchte, lässt den Belegtyp leer.</p>

Berücksichtigt werden nur Belege, die **nicht** von der Schnittstelle selbst bearbeitet
wurden — eigene Änderungen lösen also keine Rückmeldung aus. Und nur, wenn sich
tatsächlich etwas geändert hat.

<p class="callout info">Rabattpositionen bleiben außen vor. Sie entstehen aus Shopify-Rabatten und würden beim Zurückschreiben doppelt gezählt.</p>

## Zahlungseingang bei Vorkasse

Ist ein Vorkassebeleg in der SelectLine als gezahlt verbucht, markiert FINN.ghost die
Bestellung im Shop als bezahlt. Der Kunde sieht, dass seine Überweisung angekommen ist.

## Erster Lauf nach der Einrichtung

Beim allerersten Lauf wird nichts rückwirkend gemeldet. Die Schnittstelle merkt sich ab
diesem Zeitpunkt, was neu ist.

<p class="callout info">Das ist Absicht: Sonst würde die Inbetriebnahme alle historischen Belege an den Shop melden und Kunden alte Versandbestätigungen erhalten.</p>

## Weiter

[Gutschriften und Storni](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/gutschriften-und-storni)