> ## Documentation Index
> Fetch the complete documentation index at: https://help.mathership.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sides

> Verbinde SIDES POS mit Mathership, um Verkaufsdaten in Bestandsbewegungen zu übertragen

# SIDES POS

Verwende die SIDES-POS-Integration, um dein SIDES-Restaurantmanagementsystem mit Mathership zu verbinden.

Die Integration synchronisiert SIDES-Filialen und Produkte, ermöglicht die Zuordnung von Produkten zu Zutaten oder Rezepten und erstellt Bestands-Ledger-Einträge aus SIDES-Verkaufsdaten.

<CardGroup cols={3}>
  <Card title="SIDES verbinden" icon="cash-register">
    Verbinde SIDES mit Zugangsdaten aus Benutzername und Passwort und teste die Verbindung jederzeit.
  </Card>

  <Card title="Produkte zuordnen" icon="arrows-turn-to-dots">
    Ordne SIDES-Produkte Mathership-Zutaten oder Rezepten zu.
  </Card>

  <Card title="Bestand aktualisieren" icon="list-check">
    Übertrage SIDES-Verkäufe als Bestandsausgangsbewegungen in den Ledger.
  </Card>
</CardGroup>

## Was die Integration kann

Die Integration kann:

* SIDES mit Zugangsdaten aus Benutzername und Passwort verbinden
* Die SIDES-Verbindung jederzeit testen
* Zugangsdaten aktualisieren, ohne Einrichtungsdaten zu verlieren
* SIDES-Filialen synchronisieren
* SIDES-Produkte synchronisieren
* SIDES-Filialen mit Mathership-Lagereinheiten verknüpfen
* SIDES-Produkte Zutaten oder Rezepten zuordnen
* Eine historische 90-Tage-Migration ausführen
* Automatische tägliche Transfers ausführen
* Manuelle Eintages-Transfers ausführen
* Bestands-Ledger-Einträge aus SIDES-Verkäufen erstellen
* Transferprotokolle für Prüfung und Fehlerbehebung speichern

## Was die Integration macht

Wenn ein SIDES-Transfer ausgeführt wird, führt Mathership Folgendes aus:

1. SIDES-Verkaufsdaten für eine Filiale und ein Datum abrufen
2. Die Rohdaten der SIDES-Bestellungen und Belegpositionen speichern
3. Die verkauften Produktnamen und Mengen lesen
4. Passende POS-Zuordnungen in Mathership finden
5. Zugeordnete Zutaten direkt abbuchen
6. Zugeordnete Rezepte in Rezeptzutaten aufschlüsseln
7. Bestandsmengen berechnen
8. Bestands-Ledger-Einträge erstellen
9. Ein Transferprotokoll mit Statistiken, Fehlern, übersprungenen Zeilen und nicht zugeordneten Artikeln speichern

## Was die Integration nicht macht

Die SIDES-Integration macht Folgendes nicht:

* Zutaten automatisch erstellen
* Rezepte automatisch erstellen
* Produktzuordnungen automatisch erraten
* Bestand für nicht zugeordnete Produkte abbuchen
* Lagerbestände optimieren
* SIDES-Verkaufsdaten ändern
* Bestand zurück an SIDES übertragen
* Bestellungen erstellen
* Lieferrouten berechnen

<Warning>
  SIDES-Verkäufe wirken sich erst auf den Bestand aus, nachdem die zugehörigen SIDES-Produkte Zutaten oder Rezepten zugeordnet wurden.
</Warning>

## Empfohlene Einrichtungsreihenfolge

Verwende diese Reihenfolge für eine saubere SIDES-Einrichtung:

<Steps>
  <Step title="Lagereinheiten erstellen">
    Richte die Mathership-Lagereinheiten ein, aus denen Bestandsabbuchungen erfolgen sollen.
  </Step>

  <Step title="Zutaten erstellen">
    Stelle sicher, dass die Zutaten existieren, die für Produkt- und Rezeptabbuchungen verwendet werden.
  </Step>

  <Step title="Rezepte erstellen">
    Erstelle Rezepte für SIDES-Produkte, die mehrere Zutaten abbuchen sollen.
  </Step>

  <Step title="SIDES verbinden">
    Gib die SIDES-Zugangsdaten ein und teste die Verbindung.
  </Step>

  <Step title="Filialen synchronisieren">
    Importiere SIDES-Filialen in Mathership.
  </Step>

  <Step title="Filialen mit Lagereinheiten verknüpfen">
    Weise jede SIDES-Filiale der richtigen Mathership-Lagereinheit zu.
  </Step>

  <Step title="Produkte synchronisieren">
    Importiere SIDES-Produkte.
  </Step>

  <Step title="Wichtige Produkte zuerst zuordnen">
    Beginne mit Produkten mit hohem Verkaufsvolumen und Produkten, die den Bestand stark beeinflussen.
  </Step>

  <Step title="Filiale aktivieren">
    Aktiviere die Filiale, sobald Lagereinheiten und Zuordnungen bereit sind.
  </Step>

  <Step title="Migrationsstatus prüfen">
    Prüfe die 90-Tage-Migration nach der Aktivierung.
  </Step>

  <Step title="Manuellen Transfer ausführen">
    Teste ein Datum manuell, bevor du dich auf den automatischen Transfer verlässt.
  </Step>

  <Step title="Ledger prüfen">
    Prüfe erstellte Ledger-Einträge und korrigiere Zuordnungen bei Bedarf.
  </Step>
</Steps>

<Note>
  Die wichtigste Einrichtungsregel lautet: Filialen benötigen Lagereinheiten, und SIDES-Produkte benötigen Zuordnungen. Ohne beides können Verkäufe nicht zuverlässig Bestandsbewegungen erstellen.
</Note>

## Bevor du beginnst

Bereite vor dem Verbinden von SIDES diese Mathership-Bestandsobjekte vor.

| Erforderliche Einrichtung | Warum sie benötigt wird                                              |
| ------------------------- | -------------------------------------------------------------------- |
| Lagereinheiten            | Bestandsabbuchungen benötigen eine Ziel-Lagereinheit                 |
| Zutaten                   | Produkte oder Rezeptzeilen buchen Zutaten ab                         |
| Rezepte                   | Produkten mit Rezeptzuordnung werden in Zutaten aufgeschlüsselt      |
| POS-Zuordnungen           | SIDES-Produktnamen müssen mit Zutaten oder Rezepten verknüpft werden |

## Lagereinheiten

Jede SIDES-Filiale muss mit einer Mathership-Lagereinheit verknüpft werden.

Die Lagereinheit legt fest, wo der Bestand abgebucht werden soll.

| SIDES-Filiale   | Mathership-Lagereinheit |
| --------------- | ----------------------- |
| Restaurant Main | Main Kitchen            |
| Bar             | Bar Storage             |
| Terrace         | Terrace Storage         |

## Zutaten und Rezepte

Zutaten sind die Bestandsobjekte, die abgebucht werden.

Verwende Rezepte, wenn ein verkauftes SIDES-Produkt aus mehreren Zutaten besteht.

Wenn das SIDES-Produkt verkauft wird, bucht Mathership die Zutaten innerhalb des Rezepts ab.

## SIDES verbinden

Verwende das Verbindungsformular, um Mathership mit SIDES zu verbinden.

### Felder im Verbindungsformular

| Feld             | Erforderlich               | Beschreibung                                   |
| ---------------- | -------------------------- | ---------------------------------------------- |
| Integrationsname | Ja                         | Eine interne Bezeichnung für diese Integration |
| Benutzername     | Ja                         | Dein SIDES-API-Benutzername                    |
| Passwort         | Ja, bei neuen Verbindungen | Dein SIDES-API-Passwort                        |

## Verbindung testen

Teste nach dem Verbinden, ob Mathership die SIDES-API erreichen kann:

<Steps>
  <Step title="Integration öffnen">
    Öffne die Integration aus dem Bereich **Connected**.
  </Step>

  <Step title="Auf Test connection klicken">
    Mathership ruft die SIDES-API auf.
  </Step>

  <Step title="Ergebnis prüfen">
    Mathership gibt eine Erfolgs- oder Fehlermeldung zurück.
  </Step>
</Steps>

Verwende **Test connection**, wenn du vermutest, dass Zugangsdaten geändert wurden oder die Verbindung nicht mehr funktioniert.

## Zugangsdaten bearbeiten

Du kannst Zugangsdaten jederzeit aktualisieren, ohne Filialen, Produkte, Zuordnungen oder Transferhistorie zu verlieren.

<Steps>
  <Step title="Integration öffnen">
    Öffne die bestehende SIDES-Integration.
  </Step>

  <Step title="Edit credentials aufklappen">
    Öffne den Bereich zur Bearbeitung der Zugangsdaten.
  </Step>

  <Step title="Felder aktualisieren">
    Aktualisiere den Integrationsnamen, Benutzernamen oder das Passwort.
  </Step>

  <Step title="Änderungen speichern">
    Klicke auf **Save changes**.
  </Step>
</Steps>

Lasse das Feld für Benutzername oder Passwort leer, um den aktuellen Wert beizubehalten.

## Filialen und Produkte verwalten

Verwende im Integrationspanel die zwei Navigationsbuttons:

* **Manage stores** — öffnet die Filialliste für diese Integration
* **Manage products** — öffnet die Produktliste für diese Integration

## Filialen synchronisieren

Synchronisiere Filialen, um die für dein Konto verfügbaren SIDES-Filialen zu importieren.

### Spalten der Filialliste

| Spalte        | Beschreibung                                                      |
| ------------- | ----------------------------------------------------------------- |
| Store ID      | SIDES-Filial-ID                                                   |
| Name          | Filialname mit externem Namen darunter, falls abweichend          |
| Lagereinheit  | Verknüpfte Mathership-Lagereinheit oder **Unmapped**              |
| Abkürzung     | Filialabkürzung aus SIDES                                         |
| Aktiviert     | Ob die Filiale für tägliche Ausgänge aktiviert ist                |
| Auto transfer | Ob die automatische tägliche Verarbeitung aktiv oder pausiert ist |
| Status        | SIDES-Filialstatus, wobei `1` aktiv und `2` inaktiv bedeutet      |

### Filter der Filialliste

Filtere die Liste über die Toolbar-Chips:

| Filter             | Beschreibung                                                       |
| ------------------ | ------------------------------------------------------------------ |
| Activated          | Nach aktiviert oder nicht aktiviert filtern                        |
| Auto transfer      | Nach pausiert oder aktiv filtern                                   |
| Status             | Nach SIDES-Statuscode filtern                                      |
| Storage unit       | Nach Lagereinheit filtern oder nur nicht zugeordnete anzeigen      |
| Coming soon        | Filialen filtern, die als coming soon markiert sind                |
| Temporarily closed | Filialen filtern, die vorübergehend geschlossen sind               |
| Closed online      | Filialen filtern, die nur für Online-Bestellungen geschlossen sind |

## Lagereinheit verknüpfen

Jede SIDES-Filiale muss mit einer Mathership-Lagereinheit verknüpft werden, bevor sie aktiviert werden oder Ausgänge verarbeiten kann.

Dasselbe verkaufte Produkt kann je nach Filiale Bestand aus unterschiedlichen Lagereinheiten abbuchen.

| SIDES-Filiale   | Lagereinheit    | Ergebnis                                         |
| --------------- | --------------- | ------------------------------------------------ |
| Restaurant Main | Main Kitchen    | Speisen werden aus dem Küchenbestand abgebucht   |
| Bar             | Bar Storage     | Getränke werden aus dem Barbestand abgebucht     |
| Terrace         | Terrace Storage | Terrassenverkäufe buchen den Terrassenbestand ab |

<Note>
  Ohne verknüpfte Lagereinheit kann eine SIDES-Filiale keine zuverlässigen Bestandsbewegungen erstellen.
</Note>

## Produkte synchronisieren

Synchronisiere Produkte, um SIDES-Produkte in Mathership zu importieren.

### Spalten der Produktliste

| Spalte        | Beschreibung                                                                                     |
| ------------- | ------------------------------------------------------------------------------------------------ |
| Name          | Produktname mit Küchenname darunter, falls abweichend                                            |
| Typ           | SIDES-Produkttyp, zum Beispiel Menü, Verkaufsartikel, Topping oder Produkt                       |
| Preis         | Standardpreis aus SIDES                                                                          |
| Zugeordnet    | Ob das Produkt eine Mathership-Zuordnung hat                                                     |
| Zugeordnet zu | Die Zutat oder das Rezept, dem das Produkt zugeordnet ist, mit Menge und Subtraktionskennzeichen |
| Aktualisiert  | Wann das Produkt zuletzt aktualisiert wurde                                                      |

### Filter der Produktliste

| Filter        | Beschreibung                                                                       |
| ------------- | ---------------------------------------------------------------------------------- |
| Mapped        | Nach zugeordnet oder nicht zugeordnet filtern                                      |
| Type          | Nach Produkttyp filtern, einschließlich Menü, Verkaufsartikel, Topping und Produkt |
| Menu          | Produkte filtern, die Teil eines Menüs sind                                        |
| Sales article | Produkte filtern, die Verkaufsartikel sind                                         |

### SIDES-Produkttypen

| Typ             | Beschreibung                                                 |
| --------------- | ------------------------------------------------------------ |
| `menu`          | Ein Menüartikel — wird normalerweise einem Rezept zugeordnet |
| `sales_article` | Ein eigenständiger Verkaufsartikel                           |
| `topping`       | Ein Topping oder Zusatz                                      |
| `product`       | Ein allgemeines Produkt                                      |

## SIDES-Produkte zuordnen

Klicke auf eine beliebige Produktzeile, um das Zuordnungs-Sheet zu öffnen.

Jedes SIDES-Produkt muss zugeordnet werden, bevor es Bestandsbewegungen erstellen kann.

Du kannst ein Produkt zuordnen zu:

* **Einer Zutat** — die Zutat wird pro Verkauf direkt abgebucht
* **Einem Rezept** — das Rezept wird in seine Zutaten aufgeschlüsselt und alle Zeilen werden abgebucht

### Warum Zuordnung erforderlich ist

Ohne Zuordnung kann Mathership den Verkauf speichern, aber keine korrekte Bestandsabbuchung erstellen.

| SIDES-Verkauf  | Erforderliche Bedeutung in Mathership  |
| -------------- | -------------------------------------- |
| Espresso       | Kaffeebohnen abbuchen                  |
| Cola 0.33 l    | Eine Cola-Flasche abbuchen             |
| Classic Burger | Alle Zutaten im Burger-Rezept abbuchen |

Wenn ein Rezept verkauft wird, löst Mathership alle Rezeptzeilen einschließlich verschachtelter Unterrezepte auf und bucht jede Zutat ab.

### Zuordnungsfelder

| Feld                 | Bedeutung                                                    |
| -------------------- | ------------------------------------------------------------ |
| `mapped_object_type` | `ingredient` oder `recipe`                                   |
| `mapped_object_id`   | ID der Zutat oder des Rezepts                                |
| `quantity`           | Multiplikator, der für das zugeordnete Objekt verwendet wird |
| `is_subtraction`     | Ob die Zuordnung Umkehr-/Subtraktionslogik verwendet         |

### Zuordnungsbeispiele

<Tabs>
  <Tab title="Zutat-Zuordnung">
    | SIDES-Produkt | Verkaufte Menge | Zuordnungsmenge | Bestandsabbuchung    |
    | ------------- | --------------: | --------------: | -------------------- |
    | Cola 0.33 l   |              12 |               1 | 12 Flaschen          |
    | Espresso      |              20 |           0.009 | 0.18 kg Kaffeebohnen |
  </Tab>

  <Tab title="Rezeptzuordnung">
    | SIDES-Produkt    | Verkaufte Menge | Zuordnung     | Bestandsabbuchung    |
    | ---------------- | --------------: | ------------- | -------------------- |
    | Classic Burger   |               5 | Burger-Rezept | Zutaten für 5 Burger |
    | Pizza Margherita |               3 | Pizza-Rezept  | Zutaten für 3 Pizzen |
  </Tab>
</Tabs>

## Filiale aktivieren

Eine SIDES-Filiale muss aktiviert werden, bevor Migration und reguläre Transferverarbeitung ausgeführt werden können.

Stelle vor der Aktivierung sicher:

* Die Filiale hat eine Lagereinheit
* Wichtige SIDES-Produkte sind zugeordnet
* Rezepte und Zutaten sind korrekt eingerichtet
* Du verstehst, welche Lagereinheit die Abbuchungen erhält

## Detailseite der Filiale

Wenn du eine Filiale öffnest, siehst du eine Live-Übersicht über Status, Zustand, Aktivität und Konfiguration.

### Filialmetadaten

Die Kopfzeile der Detailseite zeigt den Filialnamen, das Aktiviert-Badge, das Auto-issue-Badge und gegebenenfalls eines der folgenden Status-Badges:

| Badge              | Bedeutung                                           |
| ------------------ | --------------------------------------------------- |
| Coming soon        | Filiale ist in SIDES als coming soon markiert       |
| Temporarily closed | Filiale ist vorübergehend geschlossen               |
| Closed online      | Filiale ist nur für Online-Bestellungen geschlossen |

### Zustandsindikatoren

Wenn einer der folgenden Punkte erkannt wird, erscheint oben auf der Seite ein Warnbanner:

* Keine Lagereinheit verknüpft
* Filiale ist als coming soon markiert
* Filiale ist vorübergehend geschlossen
* Eine Migration läuft aktuell

### Statistiken

| Statistik         | Beschreibung                                                                                      |
| ----------------- | ------------------------------------------------------------------------------------------------- |
| Issues (lifetime) | Insgesamt jemals verarbeitete Ausgänge mit Fehleranzahl                                           |
| Issues (7d / 30d) | In den letzten 7 und 30 Tagen verarbeitete Ausgänge                                               |
| Catalog mapped    | Wie viele SIDES-Produkte von insgesamt zugeordnet sind — anklicken, um die Produktseite zu öffnen |
| Sales (7d / 30d)  | SIDES-Bestellungen aus den letzten 7 und 30 Tagen                                                 |

### Konfiguration

| Einstellung    | Beschreibung                                                                               |
| -------------- | ------------------------------------------------------------------------------------------ |
| Storage unit   | Die Lagereinheit, aus der Bestand abgebucht wird — nach Änderung auf **Save** klicken      |
| Activate store | Einweg-Schalter, um die Filiale für tägliche Ausgänge zu aktivieren                        |
| Auto issue     | Schalter, um die automatische tägliche Verarbeitung zu pausieren oder fortzusetzen         |
| Manual issue   | Datumsauswahl, um einen einmaligen Ausgang für ein bestimmtes vergangenes Datum auszulösen |

## 90-Tage-Migration

Wenn eine Filiale aktiviert wird, erstellt Mathership eine historische 90-Tage-Migration, die vergangene SIDES-Verkäufe verarbeitet und Bestandsbewegungen erstellt, sofern Zuordnungen existieren.

### Datumsbereich der Migration

Der Standard-Migrationsbereich umfasst die letzten 90 abgeschlossenen Tage und endet gestern.

| Beispiel       | Datum      |
| -------------- | ---------- |
| Wenn heute ist | 2026-05-08 |
| Startdatum     | 2026-02-07 |
| Enddatum       | 2026-05-07 |
| Tage insgesamt | 90         |

### Migrationsstatus

### Fortschrittsfelder der Migration

| Feld               | Bedeutung                                                                  |
| ------------------ | -------------------------------------------------------------------------- |
| `total_days`       | Anzahl der Tage in der Migration                                           |
| `days_processed`   | Erfolgreich verarbeitete Tage                                              |
| `days_failed`      | Tage, die fehlgeschlagen sind                                              |
| `days_skipped`     | Tage, die übersprungen wurden, weil bereits ein früherer Erfolg existierte |
| `current_date`     | Datum, das aktuell verarbeitet wird                                        |
| `start_date`       | Erstes Datum der Migration                                                 |
| `end_date`         | Letztes Datum der Migration                                                |
| `progress_percent` | Fortschrittsprozentsatz der Migration                                      |
| `started_at`       | Startzeitstempel                                                           |
| `completed_at`     | Abschlusszeitstempel                                                       |
| `error_message`    | Fehlermeldung bei fehlgeschlagenen oder abgebrochenen Jobs                 |

### Migrationsaktionen

| Aktion                     | Wann verwenden                                                                                               |
| -------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Migration starten          | Wenn für die Filiale keine Migration existiert                                                               |
| Migration erneut ausführen | Nach dem Hinzufügen oder Korrigieren von Zuordnungen — verarbeitet den vollständigen 90-Tage-Zeitraum erneut |
| Migration abbrechen        | Wenn du eine ausstehende oder laufende Migration stoppen musst                                               |

## Automatischer Transfer

Schalte **Auto issue** im Bereich Konfiguration um, um die automatische tägliche Verarbeitung zu pausieren oder fortzusetzen.

| Status   | Bedeutung                                                                   |
| -------- | --------------------------------------------------------------------------- |
| Aktiv    | Tägliche SIDES-Verkäufe werden automatisch verarbeitet                      |
| Pausiert | Keine automatische Verarbeitung — manuelle Ausgänge funktionieren weiterhin |

Pausiere den automatischen Transfer, wenn:

* Zuordnungen unvollständig sind oder korrigiert werden
* Eine Lagereinheiten-Verknüpfung falsch ist
* Du unerwartete Bestandsbewegungen untersuchst
* Du automatische Abbuchungen vorübergehend verhindern möchtest

<Warning>
  Das Pausieren des automatischen Transfers löscht weder die Integration noch Filialen, Zuordnungen oder Transferhistorie.
</Warning>

## Manueller Transfer

Verwende den manuellen Transfer, wenn du einen bestimmten Tag verarbeiten möchtest.

Der manuelle Transfer ist nützlich für:

* Das Testen der Integration vor dem Aktivieren des automatischen Transfers
* Das erneute Verarbeiten eines Tages nach Änderungen an Zuordnungen
* Das Korrigieren des Bestands nach einem fehlgeschlagenen Transfer
* Das Prüfen eines bestimmten SIDES-Verkaufsdatums

## Was während des Transfers passiert

Wenn ein SIDES-Transfer ausgeführt wird, führt Mathership Folgendes aus:

1. Prüfen, ob die Filiale eine Lagereinheit hat
2. Transferprotokoll erstellen
3. SIDES-Verkaufsdaten für das ausgewählte Datum abrufen
4. SIDES-Bestellungen und Belegpositionen speichern
5. Verkaufte Produktnamen und Mengen lesen
6. Zeilen überspringen, die bereits für die aktuelle Lagereinheit gebucht wurden
7. Verkaufte Produktnamen mit POS-Zuordnungen abgleichen
8. Zugeordnete Zutaten direkt abbuchen
9. Zugeordnete Rezepte in Zutaten aufschlüsseln
10. Gewichtete Durchschnittskosten berechnen
11. Bestands-Ledger-Einträge erstellen
12. Ledger-Einträge mit SIDES-Belegpositionen verknüpfen
13. Letzte Ausführungszeit der Integration aktualisieren
14. Transferstatistiken und Fehler speichern

### Verarbeitung von Verkaufszeilen

Es werden nur positive Belegpositionen mit Produktnamen verarbeitet.

Eine Belegposition wird übersprungen, wenn:

* Die Menge fehlt, null oder negativ ist
* Der Produktname fehlt
* Die Zeile bereits gebucht wurde
* Das Produkt nicht zugeordnet ist
* Die zugeordnete Zutat oder das zugeordnete Rezept nicht aufgelöst werden kann

### POS-Zuordnungsabgleich

Der Transfer gleicht SIDES-Belegpositionen über den Produktnamen mit POS-Zuordnungen ab.

Der SIDES-Produktname muss exakt mit dem zugeordneten POS-Produktnamen übereinstimmen.

<Warning>
  Wenn sich Produktnamen in SIDES ändern, müssen Zuordnungen möglicherweise geprüft oder neu erstellt werden.
</Warning>

## Transferergebnis

Der Bereich des letzten erfolgreichen Ausgangs auf der Filialdetailseite zeigt:

| Feld           | Bedeutung                                   |
| -------------- | ------------------------------------------- |
| Report date    | Das Datum, das verarbeitet wurde            |
| Completed      | Wann der Ausgang abgeschlossen wurde        |
| Orders         | Anzahl der verarbeiteten SIDES-Bestellungen |
| Bill positions | Anzahl der verarbeiteten Belegpositionen    |

### Transferstatistiken

Detaillierte Transferstatistiken, die im Protokoll gespeichert sind, können Folgendes enthalten:

| Feld                      | Bedeutung                                      |
| ------------------------- | ---------------------------------------------- |
| `orders_processed`        | Anzahl der verarbeiteten SIDES-Bestellungen    |
| `billpositions_processed` | Anzahl der verarbeiteten Belegpositionen       |
| `ledger_entries_created`  | Anzahl der erstellten Bestands-Ledger-Einträge |
| `unmapped_names`          | Produktnamen ohne Zuordnungen                  |
| `exceptions`              | Probleme bei Zuordnung oder Rezeptverarbeitung |

## Nicht zugeordnete Produkte

Wenn ein verkauftes SIDES-Produkt keine Zuordnung hat, zeichnet Mathership den Produktnamen als nicht zugeordnet auf und erstellt keine Bestandsabbuchung.

## Verarbeitungslogik

### Zutat-Zuordnung

Wenn die Zuordnung auf eine Zutat verweist, bucht Mathership diese Zutat direkt ab.

| SIDES-Produkt | Verkaufte Menge | Zuordnungsmenge | Bestandsabbuchung    |
| ------------- | --------------: | --------------: | -------------------- |
| Cola 0.33 l   |              12 |               1 | 12 Flaschen          |
| Espresso      |              20 |           0.009 | 0.18 kg Kaffeebohnen |

### Rezeptzuordnung

Wenn die Zuordnung auf ein Rezept verweist, löst Mathership das Rezept auf und bucht alle Rezeptzutaten ab.

Rezepte können Unterrezepte enthalten. Wenn ein zugeordnetes Rezept ein Unterrezept enthält, löst Mathership es als Teil des Transfers auf.

Rezeptzeilen können einen Verlustprozentsatz enthalten. Wenn der Verlustprozentsatz ungültig ist, zeichnet der Transfer eine `invalid_trim_pct`-Exception auf.

Wenn Rezepte sich gegenseitig in einem Zyklus referenzieren, stoppt Mathership die Auflösung und zeichnet eine `recipe_cycle`-Exception auf.

## Gewichtete Durchschnittskosten

Mathership berechnet die Stückkosten aus Wareneingangs-Ledger-Einträgen mit:

**Gesamtwert der Wareneingänge / Gesamtmenge der Wareneingänge**

Wenn keine Wareneingangsmenge verfügbar ist, betragen die Stückkosten `0`.

## Bestands-Ledger-Einträge

Jeder Bestands-Ledger-Eintrag ist verknüpft mit:

* Unternehmen und Zutat
* Lagereinheit
* Abgebuchter Menge
* Stückkosten und Gesamtwert
* Datum
* SIDES-Filiale
* Transferprotokoll
* SIDES-Belegposition

Siehe [Ledger](/en/restaurants/inventory/ledger) für eine detaillierte Bestandshistorie.

## Transferprotokolle

Jeder Ausgangsversuch erstellt ein Transferprotokoll.

Öffne Protokolle über den Button **See all logs** auf der Filialdetailseite.

| Feld           | Bedeutung                                        |
| -------------- | ------------------------------------------------ |
| Report date    | Das Datum, das verarbeitet wurde                 |
| Attempt        | Nummer des Wiederholungsversuchs                 |
| Status         | Verarbeitung, Erfolg oder fehlgeschlagen         |
| Orders         | Anzahl der verarbeiteten SIDES-Bestellungen      |
| Bill positions | Anzahl der verarbeiteten Belegpositionen         |
| Error          | Fehlergrund, wenn der Ausgang fehlgeschlagen ist |

Die Filialdetailseite zeigt außerdem die letzten 10 fehlgeschlagenen Transfers direkt an, einschließlich Report date, Attempt number, Start time und Error message.

## Test-Checkliste

Bevor du dich auf automatische Transfers verlässt, teste einen Tag manuell und prüfe:

* Die richtige SIDES-Filiale wurde verwendet
* Die Filiale hat die richtige Lagereinheit
* Das richtige Datum wurde verarbeitet
* Verkaufte Produkte wurden gefunden
* Wichtige Produkte sind zugeordnet
* Rezeptzutaten wurden korrekt abgebucht
* Mengen sind korrekt
* Ledger-Einträge erscheinen in der richtigen Lagereinheit
* Nicht zugeordnete Produktnamen sind erwartet
* Der Status des Transferprotokolls ist erfolgreich
* Es treten keine unerwarteten Exceptions auf

## Best Practices

<CardGroup cols={2}>
  <Card title="Zuerst Bestand einrichten" icon="warehouse">
    Richte Lagereinheiten, Zutaten und Rezepte ein, bevor du SIDES verbindest.
  </Card>

  <Card title="Zugangsdaten testen" icon="key">
    Teste die Verbindung nach dem Einrichten oder Ändern von Zugangsdaten.
  </Card>

  <Card title="Produkte mit hohem Volumen zuerst zuordnen" icon="ranking-star">
    Beginne mit den Produkten, die am häufigsten verkauft werden, um schnell den größten Bestandseffekt zu erzielen.
  </Card>

  <Card title="Zuerst manuell testen" icon="clipboard-check">
    Teste immer einen Tag manuell, bevor du den automatischen Transfer aktivierst.
  </Card>

  <Card title="Nicht zugeordnete Produkte prüfen" icon="magnifying-glass">
    Nutze nicht zugeordnete Produktnamen aus dem Transferprotokoll als Arbeitsliste für fehlende Zuordnungen.
  </Card>

  <Card title="Produktnamen stabil halten" icon="tag">
    Die Zuordnung hängt von exakten SIDES-Produktnamen ab.
  </Card>

  <Card title="Filialstatus prüfen" icon="store">
    Filialen, die als coming soon oder vorübergehend geschlossen markiert sind, haben möglicherweise keine Verkaufsdaten.
  </Card>

  <Card title="Ledger-Ergebnisse prüfen" icon="list-check">
    Prüfe nach Transfers den Bestands-Ledger, um Mengen, Lagereinheiten und Zutaten zu bestätigen.
  </Card>
</CardGroup>

## Häufige Probleme

<AccordionGroup>
  <Accordion title="Verbindungstest schlägt fehl">
    Prüfe, ob Benutzername und Passwort korrekt sind.

    Aktualisiere die Zugangsdaten über **Edit credentials** und teste erneut.
  </Accordion>

  <Accordion title="Filialen fehlen nach der Synchronisierung">
    Synchronisiere Filialen erneut.

    Wenn Filialen weiterhin fehlen, prüfe, ob dein SIDES-Konto Zugriff auf diese Filialen hat.
  </Accordion>

  <Accordion title="Produkte fehlen nach der Synchronisierung">
    Synchronisiere Produkte erneut.

    Die Produktliste kann aus dem Cache bereitgestellt werden — führe **Sync products** aus, um einen frischen Abruf von SIDES zu erzwingen.
  </Accordion>

  <Accordion title="Filiale kann nicht aktiviert werden">
    Prüfe, ob eine Lagereinheit verknüpft und gespeichert ist und ob mindestens ein Produkt zugeordnet ist.
  </Accordion>

  <Accordion title="Migration startet nicht">
    Prüfe, ob die Filiale aktiviert ist, eine Lagereinheit verknüpft hat und keine andere Migration bereits aussteht oder läuft.
  </Accordion>

  <Accordion title="Transfer erstellt keine Bestandsbuchungen">
    Prüfe, ob Produkte zugeordnet sind, Produktnamen in SIDES mit den in Zuordnungen verwendeten Namen übereinstimmen, die Filiale eine Lagereinheit hat und SIDES für das ausgewählte Datum Verkäufe hatte.
  </Accordion>

  <Accordion title="Einige Produkte werden übersprungen">
    Öffne das Transferprotokoll und prüfe nicht zugeordnete Produktnamen.

    Erstelle oder korrigiere Zuordnungen und führe dann den manuellen Ausgang erneut aus.
  </Accordion>

  <Accordion title="Falsche Lagereinheit wurde verwendet">
    1. Auto issue pausieren
    2. Verknüpfung der Lagereinheit korrigieren und speichern
    3. Bestehende Ledger-Einträge für die betroffenen Daten prüfen
    4. Nach der Korrektur einen manuellen Ausgang ausführen
  </Accordion>

  <Accordion title="Manueller Transfer sagt no data">
    Prüfe das Datum, die SIDES-Filiale und ob es am ausgewählten Tag Verkaufsaktivität gab.

    Filialen, die als coming soon oder vorübergehend geschlossen markiert sind, haben an bestimmten Daten möglicherweise keine Daten.
  </Accordion>

  <Accordion title="Produkt ist zugeordnet, wird aber trotzdem nicht abgebucht">
    Prüfe, ob der Name der SIDES-Belegposition exakt mit dem zugeordneten Produktnamen übereinstimmt, ob die zugeordnete Zutat oder das Rezept noch existiert, ob das Rezept Zutatenzeilen enthält und ob die verkaufte Menge größer als null ist.
  </Accordion>
</AccordionGroup>

## Verwandte Seiten

<CardGroup cols={2}>
  <Card title="POS-Zuordnung" icon="arrows-turn-to-dots" href="/en/restaurants/integrations/pos-mapping">
    Ordne POS-Produkte Zutaten oder Rezepten zu.
  </Card>

  <Card title="Lagereinheiten" icon="warehouse" href="/en/restaurants/inventory/storage-units">
    Verwalte die Lagerorte, die für Bestandsabbuchungen verwendet werden.
  </Card>

  <Card title="Bestands-Ledger" icon="list-check" href="/en/restaurants/inventory/inventory-ledger">
    Prüfe Bestandsbewegungen, die durch Sides-Transfers erstellt wurden.
  </Card>

  <Card title="Integrationsübersicht" icon="plug" href="/en/restaurants/integrations/overview">
    Zurück zur Integrationsübersicht.
  </Card>
</CardGroup>
