Zum Hauptinhalt springen

#21 – Xentral Howto: Individuelle Reports für Xentral erstellen

Aufgabe

Xentral ERP s bietet interessante Standardberichte. Wenn dir die diese für dein E-Commerce-/Business nicht reichen, willst du vielleicht individuelle Berichte erstellen – oder durch unser erfahrenes Team umsetzen lassen? Du weißt aber noch nicht, wie du deine Berichts-Anforderungen formulieren sollst? 

Lösung

Lass uns gemeinsam herausfinden, welche Infos du für deinen Bericht benötigst. Das ist der Schlüssel, um sicherzustellen, dass der Bericht genau das zeigt, was du suchst. In diesem Howto listen wir die wesentlichen Schritte Punkt für Punkt auf, wie wir deine Berichtsanforderung definieren und für die Datenabfrage umsetzen. Natürlich funktionieren alle hier beispielhaften SQL Befehle auch auf deinem Xentral. 

1. Welche Daten (Tabellen)?

Wir müssen verstehen, welche Daten für dich wichtig sind. Stell dir vor, du bist in einer riesigen Bibliothek, und jedes Buch repräsentiert einen Teil deiner Daten.
Welche Bücher sollen wir für deinen Bericht öffnen?

„Bibliothek“ (Foto: „marqs / photocase.de”)

Beispiel SQL-Befehl für eine Xentral-Tabelle:

SELECT *
FROM auftrag

Mit dem * werden alle Spalten der Tabelle „auftrag“ gefiltert.

Tipp: Mit LIMIT1 am Ende begrenzt du die Ausgabe auf einen Treffer. 

2. Welche Infos (Spalten)?

Denk an die Infos wie Kapitel in einem Buch. Jedes Kapitel enthält verschiedene Informationen. Welche Informationen sind für dich entscheidend? Zum Beispiel: Belegnummer, Adresse, Datum, Umsatz?

Beispiel SQL-Befehl für Xentral mit einer Spaltenauswahl:

SELECT id, belegnr, adresse, datum, umsatz_netto
FROM auftrag

3. Daten filtern (Bedingungen)

Manchmal wollen wir nur bestimmte Informationen sehen. Wie bei einer Suche im Buch, könnten wir sagen: „Zeige mir nur die Informationen ab 2023.“ Welche Filter sollten wir für dich einstellen

Beispiel SQL-Befehl für Xentral mit einer Bedingung:

SELECT id, belegnr, adresse, datum, umsatz_netto
FROM auftrag
WHERE YEAR(datum) = 2023

Die WHERE Bedingung grenzt das Datum mit der YEAR Funktion auf das Jahr „2023“ ein. 

4. Infos gruppieren (Zusammenfassen)

Es kann sein, dass du Summen oder Durchschnitte für bestimmte Gruppen von Informationen sehen möchtest. Zum Beispiel: „Gib mir den Durchschnitt für jede Produktkategorie.“ Welche Gruppierungen sind für deinen Bericht sinnvoll?

Beispiel SQL-Befehl für Xentral mit einer Gruppierung:

SELECT adresse, SUM(umsatz_netto) AS Gesamtumsatz
FROM auftrag
GROUP BY adresse

Mit der Gruppierung (GROUP BY) werden die Auftragsdaten auf die Adresse gruppiert. 

5. Infos sortieren 

Denk daran, wie du die Informationen ordnen möchtest. Ähnlich wie die Anordnung von Wörtern im Alphabet. Welche Reihenfolge ist für dich am besten?

Beispiel SQL-Befehl für Xentral mit einer Sortierung:

SELECT adresse, SUM(umsatz_netto) AS Gesamtumsatz
FROM auftrag
GROUP BY adresse
ORDER BY Gesamtumsatz DESC

Mit der Sortierung (ORDER BY) sortieren wir die Ausgabe nach dem Gesamtumsatz aller Kunden.

6. Weitere Filter für Gruppen (Bedingungen)

Wenn wir Informationen gruppieren, möchtest du vielleicht bestimmte Gruppen genauer betrachten. Zum Beispiel: „Zeige mir nur Gruppen mit einer Menge über 100.“ Welche zusätzlichen Bedingungen möchtest du setzen?

Beispiel SQL-Befehl für Xentral mit einer erweiterten Bedingung:

SELECT adresse, SUM(umsatz_netto) AS Gesamtumsatz
FROM auftrag
GROUP BY adresse
HAVING SUM(umsatz_netto) > 10000

Die zusätzliche Bedingung (HAVING) filtert nur Kunden, mit einem Gesamtumsatz größer 10000. 

7. Daten aus verschiedenen Quellen (Verknüpfungen)

Stell dir vor, du möchtest Informationen aus unterschiedlichen Büchern miteinander verbinden. Wir müssen sicherstellen, dass wir die richtigen Verknüpfungen zwischen den Informationen herstellen. Gibt es spezielle Verbindungen, die du möchtest?

Beispiel SQL-Befehl für Xentral mit einer Tabellen-Verknüpfung:

SELECT adresse.name, SUM(auftrag.umsatz_netto) AS Gesamtumsatz
FROM adresse
JOIN auftrag ON adresse.id = auftrag.adresse
GROUP BY adresse.name

Die Verknüpfung von Tabellen (per JOIN) bietet den Zugriff auf Daten von mehren verknüpften Tabellen. In Xentral gibt es sehr viele Informationen, die in verknüpften Tabellen gespeichert werden, auch wenn es in der Oberfläche für den Anwender nicht danach aussieht. 

8. Kürzere Bezeichnungen (Alias-Namen)

Um die Lesbarkeit zu verbessern, können wir Bezeichnungen abkürzen. Welche Bezeichnungen sollen abgekürzt werden?

Beispiel SQL-Befehl für Xentral mit Alias-Abkürzungen:

SELECT adresse.name AS Kundenname, SUM(auftrag.umsatz_netto) AS Gesamtumsatz
FROM adresse
JOIN auftrag ON adresse.ID = auftrag.adresse
GROUP BY adresse.name

Mit Alias-Namen kann man sich das Leben erleichtern und sprechende Namen hinzufügen oder auch Abkürzungen erlauben. 

9. Achte auf die Reihenfolge (Sortieren)

Wir müssen sicherstellen, dass die Anweisungen in der richtigen Reihenfolge sind. Wie in einer Geschichte, wo die Sätze Sinn ergeben sollten. Welche Anweisungen sind dir wichtig?

Beispiel SQL-Befehl für Xentral mit Reihenfolge:

SELECT adresse.Name, SUM(auftrag.umsatz_netto) AS Gesamtumsatz
FROM adresse
JOIN auftrag ON adresse.ID = auftrag.adresse
GROUP BY adresse.name
ORDER BY Gesamtumsatz DESC

Eine Sortierung der Ergebnisse ist oft als sinnvoll und erleichtert die Betrachtung der Daten. Hier im Beispiel wollen wir den Gesamtumsatz absteigend betrachten. 

10. Besondere Anforderungen (Spezielle Anweisungen)

Manchmal benötigen wir spezielle Berechnungen oder Formatierungen. Wie bei einem magischen Trick, um Dinge interessanter zu machen. Gibt es besondere Dinge, die du im Bericht sehen möchtest?

Beispiel SQL-Befehl für Xentral mit Spezialfunktion:

SELECT CONCAT(Firma, ‚ ‚, Ansprechpartner) AS VollständigerName
FROM adresse

Über den Befehlt (CONCAT) fügen wir – wie eine Magier – Daten zusammen, die vorher nicht zusammen waren. Wir können natürlich auch Daten „zersägen“ und trennen. Ganz wie benötigt. 

11. Testen und optimieren

Nachdem wir die Abfrage erstellt haben, testen wir sie, um sicherzustellen, dass sie die gewünschten Informationen liefert. Wenn nötig, können wir weitere Anpassungen vornehmen.

Am Ende ist entscheidend, dass deine Daten korrekt und nach deiner Definition ausgewertet werden. Indem wir gemeinsam diese Schritte durchgehen, sorgen wir dafür, dass dein Bericht wirklich die Infos zeigt, die du benötigst.

Wie sind deine Erfahrungen mit der Erstellung individueller Berichte für Xentral? Kommentiere direkt hier im Beitrag.

Einleitung

Viele Nutzer des ERP-Systems Xentral kennen dieses Problem:
Der Lagerbestand eines Artikels scheint nicht mit der tatsächlich verfügbaren Menge übereinzustimmen.

Beispielsweise zeigt das System einen Bestand von 174 Stück an, obwohl im Lager scheinbar nur 145 Stück vorhanden sind. In den meisten Fällen liegt das jedoch nicht an einem Fehler im System, sondern daran, dass Xentral verschiedene Bestandsarten unterscheidet.

Um Lagerdaten richtig zu interpretieren, ist es wichtig zu verstehen, wie Xentral Bestände intern verwaltet und welche Faktoren den verfügbaren Bestand beeinflussen.

Wie Xentral Bestände berechnet

Xentral unterscheidet grundsätzlich zwischen mehreren Bestandsarten, die unterschiedliche Bedeutungen haben.

Lagerbestand
Der Lagerbestand beschreibt die gesamte Menge eines Artikels, die physisch im Lager vorhanden ist.

Reservierter Bestand
Artikel können durch offene Aufträge reserviert sein. Diese Mengen sind zwar noch im Lager vorhanden, stehen aber nicht mehr für neue Bestellungen zur Verfügung.

Verfügbarer Bestand
Der verfügbare Bestand ist die Menge, die tatsächlich noch verkauft oder verwendet werden kann.

Diese Unterscheidung ist wichtig, da sich viele vermeintliche Abweichungen im Lagerbestand dadurch erklären lassen.

Typische Ursachen für falsche Bestände

In der Praxis gibt es mehrere Situationen, die dazu führen können, dass der angezeigte Bestand von der erwarteten Menge abweicht.

Offene Aufträge

Wenn Artikel bereits Kundenaufträgen zugeordnet sind, werden diese Mengen automatisch reserviert. Dadurch reduziert sich der verfügbare Bestand, obwohl die Artikel physisch noch im Lager liegen.

Konsignationslager

Bestände in Konsignationslagern werden häufig separat geführt. Je nach Report oder Ansicht können diese Mengen in den Gesamtbestand einfließen oder separat dargestellt werden.

Mehrere Lagerplätze

Wenn Artikel auf verschiedenen Lagerplätzen liegen, kann es vorkommen, dass bestimmte Auswertungen nur einzelne Lagerplätze berücksichtigen.

Produktionsreservierungen

Auch Produktionsaufträge können Artikel reservieren. Diese Mengen werden dann ebenfalls vom verfügbaren Bestand abgezogen.

Wie man den Bestand richtig analysiert

Um den tatsächlichen Lagerbestand zu verstehen, empfiehlt es sich, einige grundlegende Punkte zu prüfen.

Dazu gehören unter anderem:

  • offene Kundenaufträge
  • vorhandene Reservierungen
  • Lagerplätze des Artikels
  • Konsignationslager
  • Produktionsaufträge

Gerade bei größeren Sortimenten oder vielen täglichen Aufträgen kann es schwierig sein, diese Informationen manuell zusammenzuführen.

Praxis-Tipp: Reports zur Lageranalyse nutzen

Viele Unternehmen nutzen spezielle Reports, um Lagerbestand, reservierte Mengen und verfügbare Bestände übersichtlich darzustellen.

Solche Reports zeigen beispielsweise:

  • tatsächlicher Lagerbestand
  • reservierte Artikelmengen
  • verkaufbare Bestände
  • Bestände pro Lagerplatz

Mit solchen Auswertungen lassen sich Abweichungen deutlich schneller erkennen und analysieren.

Passende Reports für dieses Thema

Für die Analyse von Lagerbeständen können folgende Reports besonders hilfreich sein:

Diese Reports helfen dabei, Lagerdaten transparenter darzustellen und Bestände effizienter zu kontrollieren.

Fazit

Wenn der Lagerbestand in Xentral scheinbar nicht stimmt, liegt die Ursache in den meisten Fällen nicht an einem Fehler im System, sondern an unterschiedlichen Bestandsarten wie Reservierungen oder Konsignationsbeständen.

Wer regelmäßig mit Lagerdaten arbeitet, sollte diese Unterschiede kennen und geeignete Reports nutzen, um Bestände korrekt zu analysieren und fundierte Entscheidungen zu treffen.