SimpliServDocs

Lagerlogik & Bestandsführung

Bestände, Reservierungen, Seriennummern und Warenbewegungen einfach erklärt

→ Lagerbestand in SimpliServ öffnen

Dieses Dokument erklärt, wie Bestände in SimpliServ geführt werden, wann Produkte reserviert werden und wie Seriennummern verarbeitet werden. Es hilft dabei, Lagerbewegungen im Alltag besser zu verstehen – vom Wareneingang bis zum Verkauf.

Grundprinzip der Bestandsführung

Für jedes Produkt und Lager arbeitet das System mit drei Bestandswerten:

  • quantity_total – gesamter physischer Bestand im Lager
  • quantity_reserved – reservierter Bestand (z. B. für Aufträge)
  • quantity_available – aktuell frei verfügbarer Bestand

Die zentrale Regel lautet:

quantity_available = quantity_total - quantity_reserved

Damit ist immer klar ersichtlich, was physisch vorhanden ist und was davon bereits für offene Aufträge gebunden ist.

Lagerbewegungen in der App buchen

Unter Bestand siehst du alle Produkte mit ihrem Bestand je Lager. Die Filter Alle, Auf Lager, Niedrig, Nachbestellen und Nicht verfügbar grenzen die Liste ein. Gebucht wird über die Buttons oben oder das Aktionsmenü einer Zeile:

AktionWirkungBerechtigung
WareneingangLager, Produkt, Menge und optional Einstandspreis (netto) erfassen, Bestand steigtLagerbestand → Anlegen
WarenausgangWare ohne Beleg aus einem Lager ausbuchen (z. B. Eigenverbrauch, Schwund)Lagerbestand → Bearbeiten
Inventur / KorrekturNeuer Gesamtbestand mit optionalem Grund setzenLagerbestand → Bearbeiten
UmlagerungMenge von einem Lager (Von Lager) in ein anderes (Nach Lager) verschiebenLagerbestand → Bearbeiten

Dieselben Aktionen findest du auch im Aktionsmenü eines Produkts.

Wareneingang

Wareneingang erhöht den Bestand im Lager.

Nicht-serialisierte Produkte

Typische Beispiele sind Schrauben, Kabel oder Verbrauchsmaterialien.

Wenn beim Wareneingang eine Menge gebucht wird (z. B. +10), erhöht sich der Bestand direkt:

  • quantity_total steigt
  • quantity_available steigt
  • quantity_reserved bleibt unverändert

Beispiel:

  • Vorher: total = 5, reserved = 1, available = 4
  • Nach Wareneingang (+10): total = 15, reserved = 1, available = 14

Serialisierte Produkte

Typische Beispiele sind iPhones, Laptops, Router oder andere Geräte mit Seriennummer.

Bei serialisierten Produkten kann beim Wareneingang zusätzlich zur Menge auch bereits eine Liste von Seriennummern erfasst werden.

Beispiel:

  • Wareneingang: 10 Stück
  • Seriennummern erfasst: 7 Stück

Dann passiert Folgendes:

  • Für jede erfasste Seriennummer wird ein Seriennummern-Eintrag angelegt
  • Die restliche Menge wird trotzdem als Bestand gebucht (auch ohne Seriennummer)

Das bedeutet:

  • Der Bestand steigt auf die gesamte gebuchte Menge
  • Ein Teil ist bereits sauber über Seriennummern erfasst
  • Ein Teil ist vorübergehend noch ohne Seriennummer im Bestand

Das ist bewusst erlaubt, damit der Wareneingang nicht blockiert wird.

Reservierungen

Reservierungen entstehen über Aufträge.

Wichtig:

  • Eine Rechnung allein reserviert keinen Bestand
  • Erst ein Auftrag baut eine Reservierung auf

Wenn ein Auftrag erstellt wird:

  • quantity_reserved steigt
  • quantity_available sinkt
  • quantity_total bleibt gleich

Die Ware ist also weiterhin physisch im Lager, aber bereits für einen Auftrag vorgemerkt.

Beispiel:

  • Vorher: total = 10, reserved = 0, available = 10
  • Auftrag über 3 Stück
  • Nachher: total = 10, reserved = 3, available = 7

Wann wird Ware wirklich aus dem Bestand genommen?

Das ist der wichtigste Unterschied im Alltag:

  • Auftrag erstellen = Ware wird reserviert (Lager-Bestand unverändert)
  • Verkauf / Versand / Verbauen = Ware wird tatsächlich ausgebucht

Es gibt fünf verschiedene Trigger-Punkte für die Ausbuchung:

TriggerWannLieferschein?
Auftrag → Ausliefern (Lieferschein-Modus)Versand an KundeWird erzeugt + sofort versendet
Auftrag → Ausliefern (Abholung-Modus)Kunde holt im Geschäft abNein
Auftrag → Teile verbautService-Reparatur, Teile im Gerät verbrauchtNein
ShopOrder → Lieferschein Als versendet markierenVersand einer Shop-BestellungLieferschein war Pflicht-Voraussetzung
POS Quick SaleTheken-Verkauf ohne vorherigen AuftragNein

POS Quick Sale / Quick Invoice

Beim POS Quick Sale (Schnellverkauf an der Kasse) wird die Ware sofort aus dem Bestand genommen.

Das gilt auch dann, wenn intern im Hintergrund eine Quick Invoice angelegt wird.

Dabei passiert ein direkter Bestandsabgang:

  • quantity_total sinkt
  • quantity_available sinkt
  • quantity_reserved bleibt gleich

Es gibt hier keine vorgelagerte Reservierung wie beim Auftrag.

Auftrag — Ausliefern oder Teile verbauen

Beim CRM-Auftrag ist der Ablauf zweistufig:

  1. Auftrag erstellen Die Ware wird reserviert (noch kein physischer Abgang)

  2. Auftrag versenden, ausliefern oder Teile verbauen Erst jetzt wird die Ware tatsächlich aus dem Lager ausgebucht

In jedem Ausbuchungs-Fall (Ausliefern mit oder ohne Lieferschein, Teile verbauen):

  • quantity_reserved sinkt
  • quantity_total sinkt
  • quantity_available bleibt im Normalfall gleich (weil die Ware schon vorher reserviert war)

Unterschied Ausliefern vs. Teile verbaut:

  • Ausliefern: Ware verlässt das Geschäft (Versand, Abholung) — wahlweise mit Lieferschein-Beleg
  • Teile verbaut: Ware geht ins Kunden-Gerät bei einer Reparatur — kein Lieferschein, da das Gerät selbst kein Versand-Objekt ist

Beide Pfade lösen denselben Lager-Vorgang (SHIP_RESERVED) aus.

ShopOrder — Lieferschein als Trigger

Bei Shop-Bestellungen (Shopify, Wix) ist die Abwicklung ebenfalls zweistufig, aber immer über einen Lieferschein:

  1. Bestellung vom Shop empfangen Lager wird sofort reserviert (Webhook-getriggert)

  2. Lieferschein anlegen Status draft, Lager noch unverändert. Dient als Pickliste.

  3. Lieferschein versenden (Als versendet markieren) Erst jetzt: quantity_reserved sinkt, quantity_total sinkt. Versand-Status wird automatisch aktualisiert. Bestand wird an Shop gepusht.

Mehr dazu in Shop-Bestellungen und Lieferscheine.

Auslieferung bei serialisierten Produkten

Bei serialisierten Produkten muss beim Versand klar sein, welche konkreten Geräte das Lager verlassen.

Deshalb müssen beim Ausliefern die Seriennummern ausgewählt oder gescannt werden.

Das System ordnet diese Seriennummern dem Versand bzw. Verkauf zu und reduziert den Bestand entsprechend.

Direktverkauf und Seriennummern

Bei einem direkten Verkauf (z. B. POS Schnellverkauf) wird der Bestand sofort reduziert.

Nicht-serialisierte Produkte

Der Bestand wird direkt reduziert:

  • quantity_total sinkt
  • quantity_available sinkt
  • quantity_reserved bleibt gleich

Serialisierte Produkte

Hier gibt es zwei mögliche Fälle.

Bereits erfasste Seriennummern

Wenn Seriennummern bereits im System vorhanden sind:

  • Das System zeigt verfügbare Seriennummern an
  • Der Benutzer wählt oder scannt eine vorhandene Seriennummer
  • Genau diese Seriennummer wird verkauft

Seriennummer noch nicht erfasst

Wenn beim Wareneingang nicht alle Seriennummern erfasst wurden, kann es sein, dass ein serialisiertes Produkt Bestand hat, aber noch nicht jede Einheit eine Seriennummer im System hat.

In diesem Fall kann beim Verkauf oder Versand eine neue Seriennummer eingegeben werden – sofern noch freier Bestand ohne Seriennummer vorhanden ist.

Das System legt diese Seriennummer dann automatisch an und verarbeitet den Verkauf direkt weiter.

Wichtige Regel bei serialisierten Produkten

Bei serialisierten Produkten sollte spätestens beim Verkauf, Versand oder bei der Inventur jede Einheit eindeutig über eine Seriennummer nachvollziehbar sein.

Inventur

Die Inventur ist die Bestandskorrektur auf Basis der realen Lagerbestände. Dabei gilt: Die Inventur ist die „Wahrheit aus dem Lager“. Es gibt zwei Wege.

Einzelkorrektur

Über Inventur / Korrektur gibst du für ein Produkt die tatsächlich vorhandene Menge als Neuer Gesamtbestand ein. Das System setzt den Bestand direkt auf diesen Wert.

Beispiel:

  • Ist-Menge: 23

Dann gilt:

  • quantity_total = 23
  • quantity_available = quantity_total - quantity_reserved

Reservierungen bleiben dabei bestehen. Dadurch kann quantity_available auch negativ werden, wenn mehr reserviert ist als physisch vorhanden – der Dialog warnt dann vor einer Unterdeckung.

Beispiel:

  • quantity_total = 5
  • quantity_reserved = 8
  • quantity_available = -3

Inventur für ein ganzes Lager

Für eine vollständige Zählung startest du unter Inventur mit Inventur starten eine Inventur für ein Lager (optional nur einen Lagerplatz). Der Soll-Bestand wird beim Start eingefroren, der Verkauf läuft währenddessen normal weiter. Du zählst Mengenartikel von Hand und scannst Seriennummern, prüfst unter Differenzen die Abweichungen und schließt die Inventur ab. Erst dann wird der gezählte Bestand gebucht.

Bei serialisierten Produkten wird nicht nur eine Menge gezählt, sondern jede Seriennummer einzeln geprüft:

  • Seriennummern, die im Soll-Bestand sind, aber nicht gefunden wurden → werden als fehlend markiert und beim Buchen ausgebucht
  • Gescannte Nummern, die nicht im Soll-Bestand sind, aber zu einem bekannten Artikel gehören → können als zusätzliche Einheit erfasst werden
  • Nie eingebuchte Ware gehört über den Wareneingang ins System

Danach entspricht der Bestand der Anzahl der erfassten Seriennummern. Details: Inventur durchführen.

Umlagerung zwischen Lagern

Bei einer Umlagerung wird Bestand von einem Lager in ein anderes verschoben.

Nicht-serialisierte Produkte

Über Umlagerung wählst du Quell- und Ziellager, Produkt und Menge. Bei Mengenartikeln prüft das System, ob im Quelllager genug freier Bestand vorhanden ist.

Dann wird die Menge verschoben:

  • Im Quelllager sinken quantity_total und quantity_available
  • Im Ziellager steigen quantity_total und quantity_available

Serialisierte Produkte

Bei serialisierten Produkten werden konkrete Seriennummern umgelagert.

Das System prüft dabei:

  • Existiert die Seriennummer im Quelllager?
  • Ist sie verfügbar (available)?
  • Gibt es keinen Konflikt im Ziellager?

Nur verfügbare Seriennummern dürfen umgelagert werden. Bereits reservierte, versendete oder verkaufte Geräte sind nicht umlagerbar.

Verhalten von Reservierungen im Alltag

Reservierungen bleiben bestehen, bis sie aktiv aufgelöst werden.

Typische Fälle:

  • Wareneingang → Reservierung bleibt, verfügbarer Bestand steigt
  • Auftrag erstellen → Reservierung wird aufgebaut
  • Auftrag ausliefern oder Teile verbauen → Reservierung wird abgebaut, Bestand sinkt
  • ShopOrder eingegangen → Reservierung wird aufgebaut (Channel-Reserve, kein Echo-Push an Shop)
  • ShopOrder-Lieferschein als versendet markieren → Reservierung wird abgebaut, Bestand sinkt, neuer Bestand wird an Shop gepusht
  • ShopOrder im Shop storniert → Reservierung wird zurückgegeben (Shopify/Wix entscheidet selbst über Restock)
  • Auftrag storniert → Restliche, noch nicht gelieferte Reservierung wird automatisch freigegeben
  • POS Quick Sale → direkter Bestandsabgang ohne Reservierung
  • Inventur → Reservierungen bleiben bestehen (Verfügbarkeit kann negativ werden)
  • Umlagerung → nur verfügbarer Bestand darf bewegt werden

Seriennummern beim Wareneingang oder später erfassen

In SimpliServ können Seriennummern bei serialisierten Produkten bereits beim Wareneingang erfasst werden – das ist der sauberste Weg.

Falls das im Wareneingang nicht vollständig möglich ist, können fehlende Seriennummern auch später ergänzt werden, zum Beispiel:

  • beim Verkauf
  • beim Versand / der Auslieferung
  • bei der Inventur

Das gibt Flexibilität im Alltag, ohne die Lagerlogik zu blockieren.

Empfehlung für den Alltag

Für eine saubere Nachverfolgung empfehlen wir:

  • Seriennummern möglichst bereits beim Wareneingang zu erfassen
  • Bei Inventuren serialisierte Geräte vollständig zu scannen
  • POS-Kassen einem festen Lager zuzuordnen, damit Verkäufe eindeutig aus dem richtigen Bestand gebucht werden

POS und Lagerzuordnung

Für den Schnellverkauf (POS Quick Sale) sollte jede Kassa einem Lager (Warehouse) zugeordnet sein.

Nur so ist eindeutig definiert:

  • aus welchem Lager verkauft wird
  • welche Seriennummern angezeigt werden
  • welcher Bestand reduziert wird

Das ist besonders wichtig bei serialisierten Produkten, da die Seriennummern pro Lager geführt werden.

Zusammenfassung

Die Lagerlogik in SimpliServ folgt einem klaren Prinzip:

  • Wareneingang erhöht den Bestand
  • Auftrag und ShopOrder reservieren Bestand
  • Ausliefern, Teile verbauen und Lieferschein versenden reduzieren reservierten Bestand physisch
  • POS Quick Sale und Warenausgang reduzieren Bestand direkt
  • Inventur gleicht den Systembestand mit der Realität ab
  • Umlagerung verschiebt verfügbaren Bestand zwischen Lagern

So bleibt jederzeit nachvollziehbar, was im Lager vorhanden, reserviert und tatsächlich verfügbar ist.

Audit-Trail aller Lagerbewegungen

Jede Bewegung wird in einem unveränderlichen Bewegungsprotokoll festgehalten (Append-Only). Auf der Produktseite siehst du sie in der Karte Lagerbewegungen, für alle Lager unter Lagerbewegungen:

  • Wer hat die Bewegung ausgelöst (Benutzer)
  • Welcher Typ (Wareneingang, Reserve, Release, Versand, Storno, Umlagerung, Inventur-Korrektur, …)
  • Welche Mengen-Änderung je Bestand (available, reserved, total)
  • Welche Seriennummern betroffen
  • Welcher Beleg-Bezug (Auftrag, Shop-Bestellung, Lieferschein)

Damit ist auch nach Monaten nachvollziehbar, warum ein Bestand wie er ist — wichtig für Buchhaltung, Inventur-Klärung und Fehler-Analyse.

Verwandte Themen

How is this guide?

On this page