# Kunden und Belege

Kundendaten, Bestellungen aus dem Shop, Belege im Kundenkonto und Newsletter.

# Kunden

Kunden können in beide Richtungen entstehen: Bestehende SelectLine-Kunden werden in den
Shop übertragen, damit sie sich dort anmelden und ihre Preise sehen. Und wer im Shop
bestellt, wird in der SelectLine angelegt.

## Kunden in den Shop übertragen

| Aufgabe                        | Umfang                                                   |
| ------------------------------ | -------------------------------------------------------- |
| Kunden exportieren             | alle freigegebenen Kunden                                   |
| Kunden exportieren (geändert)   | Kunden, die seit dem letzten Lauf angelegt oder bearbeitet wurden |

Übertragen wird ein Kunde, wenn das **ShopAktiv-Feld (Kunde)** gesetzt und der Kunde nicht
inaktiv ist.

### Kundengruppen

Ist unter **Übertragung** eine Auswahl von Kundengruppen gepflegt, werden **nur** Kunden
dieser Gruppen übertragen. Damit lässt sich der Shop auf einen Teil des Kundenstamms
beschränken, etwa auf Händler.

## Was übertragen wird

| Im Shop                | Aus der SelectLine                                    |
| ---------------------- | ----------------------------------------------------- |
| Kundenstammdaten       | wie in der SelectLine geführt                            |
| Weitere Adressen       | alle Adressen des Kunden, mit Anrede und Kontaktdaten     |
| Interessentenverweis   | falls der Kunde aus einem Interessenten entstanden ist      |
| Extrafelder            | alle Extrafelder des Kundenstamms                           |
| Bilder                 | Bilder zum Kunden                                            |

<p class="callout info">Anders als bei Fremdplattformen gibt es hier keine Pflichtfeldprüfung auf Vor- und Nachnamen: Der Shop kennt die SelectLine-Struktur und kommt auch mit reinen Firmenadressen zurecht.</p>

Vor dem Kundenexport überträgt FINN.ghost die Zusatzdaten mit — Merkmale, Rabattgruppen,
Mengenrabatte, Kalkulationsschemata. Der Shop braucht sie, um die Preise des Kunden zu
rechnen.

## Kunden aus Bestellungen

Bestellt jemand im Shop, der in der SelectLine noch nicht existiert, entsteht abhängig vom
**Neukunden-Typ** ein Kunde oder ein Interessent — siehe
[Belege und Neukunden](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/belege-und-neukunden).

Als Vorlage dient der **Shopkunde**, den der Shop zur Bestellung mitschickt. Dessen
Vorbelegungen werden übernommen und mit den Bestelldaten überschrieben.

<p class="callout info">Ist am Musterkunden kein Preisverweis gepflegt, setzt FINN.ghost den Shopkunden selbst als Preisverweis. Der neue Kunde bekommt damit von Anfang an die Preise, die für Shop-Kunden gelten.</p>

Direkt nach dem Anlegen wird der neue Kunde in den Shop zurückübertragen, damit dort
Kundennummer und Preise sofort stimmen.

## Newsletter

Die Aufgabe *Newsletteradressen importieren* holt die Newsletter-Anmeldungen aus dem Shop
und pflegt sie in der SelectLine als CRM-Stichwort.

Dabei entstehen bei Bedarf die Stichwortgruppe **FINN.webshop** und das Stichwort
**Newsletter**. Anschließend werden die Verknüpfungen neu aufgebaut.

<p class="callout info">Zu einer E-Mail-Adresse, die in der SelectLine noch nicht existiert, wird eine Adresse angelegt — damit die Anmeldung nicht verloren geht.</p>

<p class="callout warning">Kommt eine E-Mail-Adresse im Kundenstamm mehrfach vor, wird sie übersprungen und im Protokoll gemeldet: Die Zuordnung wäre nicht eindeutig. Solche Doppelten lohnt es sich aufzuräumen.</p>

Die Verknüpfungen werden bei jedem Lauf vollständig neu gesetzt. Wer sich im Shop abmeldet,
verliert damit auch das Stichwort in der SelectLine.

## Weiter

[Bestellungen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/bestellungen)

# Bestellungen

Die Aufgabe **neue Belege importieren** holt Bestellungen und Anfragen aus dem Shop und
legt sie als Beleg in der SelectLine an.

<!-- TODO Screenshot: images/bestellung-beleg.png -->

## Ablauf

FINN.ghost fragt den Shop nach offenen Belegen. Zu jedem:

1. Kunde oder Interessent ermitteln, gegebenenfalls anlegen
2. Belegtyp bestimmen — siehe [Belege und Neukunden](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/belege-und-neukunden)
3. Belegkopf mit Rechnungs- und Lieferadresse anlegen
4. Positionen anlegen, in der richtigen Reihenfolge
5. Makro *Bestellung angelegt* ausführen
6. Beleg an den Shop zurückmelden

<p class="callout info">Der Shop erhält den fertigen Beleg mit Belegnummer zurück und markiert die Bestellung als übernommen. Sie wird deshalb nicht doppelt geholt.</p>

## Was im Belegkopf landet

| Im Beleg                    | Aus der Bestellung                                     |
| --------------------------- | ------------------------------------------------------ |
| Ihr Auftrag                 | Belegnummer aus dem Shop                                 |
| Kunde und Rechnungsadresse   | Adresse aus dem Shop                                     |
| Lieferadresse               | abweichende Lieferadresse mit Kontaktdaten                 |
| Zahlungsbedingung           | über die Bezeichnung, die der Shop mitschickt                |
| Zahlungsreferenz            | Referenz des Zahlungsdienstleisters                          |
| Währungsfaktor              | bei Fremdwährung                                             |
| Kopftext                    | Bemerkung des Kunden aus dem Shop                             |
| Freier Text 1               | Bezeichnung der gewählten Zahlungsart                          |

<p class="callout info">Bestellt jemand als Gast über den Shopkunden, schreibt FINN.ghost E-Mail und Telefonnummer zusätzlich in ein freies Belegfeld — sonst wären die Kontaktdaten des Bestellers nirgends am Beleg zu finden.</p>

<p class="callout warning">Lässt sich zur mitgeschickten Zahlungsart keine Zahlungsbedingung ermitteln, bleibt der Beleg ohne Zahlungsbedingung. Im Protokoll steht ein Hinweis mit der Bezeichnung — meist eine Abweichung zwischen Shop-Bezeichnung und SelectLine-Bezeichnung.</p>

## Positionen

Der Shop schickt die Positionen mit allen Angaben, die die SelectLine kennt: Menge,
Einzelpreis, Rabatte, Mengeneinheit, Preiseinheit, Termin, Lager, Kostenstelle,
Kostenträger und die freien Felder.

Besonderheit sind die abhängigen Positionen:

| Art               | Behandlung                                                     |
| ----------------- | -------------------------------------------------------------- |
| Zuschlagartikel    | wird als Zuschlag zur Hauptposition angelegt                      |
| Zubehörartikel     | wird als Zubehör zur Hauptposition angelegt                        |

<p class="callout info">FINN.ghost sortiert die Positionen so, dass Hauptpositionen vor ihren abhängigen Positionen entstehen — sonst gäbe es die Hauptposition noch nicht, an die der Zuschlag gehört. Beim Zubehör wird zusätzlich die Mengenaktualisierung aus dem Artikelstamm übernommen.</p>

## Fertigungsaufträge

Ist in der SelectLine eingestellt, dass beim Speichern Fertigungsaufträge entstehen,
erzeugt FINN.ghost zu Positionen mit Arbeitsplan einen Fertigungsauftrag und verknüpft ihn
mit der Belegposition.

## Wenn beim Import etwas schiefgeht

Jeder Beleg wird für sich verarbeitet. Läuft einer auf einen Fehler:

- der angefangene Beleg wird **gelöscht**
- ein in diesem Zug **neu angelegter Kunde wird ebenfalls entfernt**
- der Fehler steht im Protokoll, der nächste Beleg wird bearbeitet

<p class="callout info">Weil der Beleg im Shop erst nach Erfolg als übernommen markiert wird, bleibt eine gescheiterte Bestellung offen und wird beim nächsten Lauf erneut versucht. Anders als bei Fremdplattformen geht dadurch keine Bestellung verloren — sie wiederholt sich, bis die Ursache behoben ist.</p>

<p class="callout warning">Das hat eine Kehrseite: Eine Bestellung mit einem dauerhaften Problem — etwa einem gesperrten Kunden — erscheint bei <strong>jedem</strong> Lauf erneut im Protokoll. Wiederkehrende Meldungen sind daher ein Hinweis, dass jemand eingreifen muss.</p>

## Belegstatus zurückmelden

Nach dem Import läuft immer auch der Statusexport: Der Bearbeitungsstatus aller kürzlich
geänderten Belege geht in den Shop, sodass der Kunde im Konto sieht, wie weit sein Auftrag
ist.

## Weiter

[Zeitplan der Übertragungen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/zeitplan-der-ubertragungen)

# Belege im Kundenkonto

Damit Kunden ihre Aufträge, Lieferscheine und Rechnungen online einsehen können, überträgt
FINN.ghost Belege aus der SelectLine in den Shop.

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

## Welche Belege übertragen werden

Die Aufgabe *geänderte Belege exportieren* arbeitet die unter
[Belege und Neukunden](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/belege-und-neukunden) ausgewählten Belegtypen ab. Zu jedem Typ überträgt sie
jeden Beleg, der seit dem letzten Lauf angelegt oder bearbeitet wurde — **samt Positionen**.

<p class="callout info">Der Zeitpunkt des letzten Laufs wird je Belegtyp getrennt geführt. Nimmt man später einen weiteren Belegtyp in die Liste auf, beginnt für diesen die Übertragung neu — bestehende Belege dieses Typs werden also nachgeholt.</p>

<p class="callout danger">Hier gehen vollständige Belege in den Shop. Die Auswahl der Belegtypen bestimmt damit, was Ihre Kunden online sehen. Belegarten aus dem Einkauf und interne Belegarten gehören nicht in diese Liste.</p>

## Der Belegstatus

Getrennt davon läuft die Aufgabe *Status exportieren*. Sie meldet Belegtyp, Belegnummer und
Bearbeitungsstatus, damit der Kunde den Fortschritt seines Auftrags sieht.

Sie läuft außerdem automatisch am Ende jedes Belegimports.

<p class="callout warning">Der Statusexport ist nicht auf die Belege des Shops beschränkt: Er meldet den Status <strong>aller</strong> Belege, die seit dem letzten Lauf angelegt oder bearbeitet wurden. Bei einem Mandanten mit hohem Belegvolumen ist das eine größere Datenmenge, als man erwarten würde. In der Regel unproblematisch, weil nur drei Felder je Beleg übertragen werden — bei der Wahl des Intervalls aber zu bedenken.</p>

## Paketnummern

Mit der Einstellung *Paket-Tabelle exportieren* geht zusätzlich die Paketverwaltung mit —
Paketnummer, Gewicht und Sendungsverfolgung je Beleg. Der Shop kann damit im Kundenkonto
einen Verfolgungslink anzeigen.

Die Übertragung läuft mit der Aufgabe *Stammdaten synchronisieren*.

<p class="callout info">Weil die Paketdaten am Stammdatenlauf hängen, sollte dieser regelmäßig laufen, wenn Kunden ihre Sendungsverfolgung zeitnah sehen sollen — nicht nur einmal nachts.</p>

## Was sonst noch als Stammdaten mitgeht

Der Stammdatenlauf überträgt alles, was der Shop zum Darstellen und Rechnen von Belegen
braucht:

| Bereich                    | Zweck im Shop                                    |
| -------------------------- | ------------------------------------------------ |
| Lieferanten mit Bildern     | Herstellerangaben am Artikel                        |
| Mitarbeiter                | Ansprechpartner am Beleg                            |
| Kostenstellen              | Auswahl bei der Bestellung                           |
| Steuerschlüssel und -details | Steuerberechnung                                    |
| Zahlungsbedingungen        | Auswahl und Anzeige im Bestellvorgang                 |
| Lieferbedingungen          | Versandarten samt Versandartikel und Berechnung        |

## Weiter

[Zeitplan der Übertragungen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/zeitplan-der-ubertragungen)