Unabhängig

Als unabhängiger ERP-Berater bin ich in der einzigartigen Position, Ihnen objektive und frei von Interessenkonflikten Lösungen anzubieten. Diese Position ermöglicht es mir, Ihnen ehrliche und transparente Beratung anzubieten, die ausschließlich darauf abzielt, Ihre Interessen zu vertreten und Ihnen den größtmöglichen Nutzen zu bieten.

Prozessoptimierung

Durch eine eingehende Analyse Ihrer Unternehmensabläufe identifiziere ich Engpässe und entwickle maßgeschneiderte Strategien zur Steigerung der Effizienz und Produktivität. Mit meinem Fachwissen und meiner Erfahrung unterstütze ich Sie dabei, Ihre Prozesse zu optimieren und Ihr Unternehmen auf Erfolgskurs zu bringen.

Ganzheitlicher Ansatz

Mein ganzheitlicher Ansatz umfasst nicht nur ein tiefgreifendes Verständnis für Technologie, sondern auch geschäftliche Aspekte, die ich durch Jahrzehnte lange Erfahrungen als CEO/CTO gewonnen habe. Diese Kombination ermöglicht es mir, Lösungen zu entwickeln, die einen wirklichen Mehrwert für Ihr Unternehmen schaffen. Mit einem Fokus auf Innovation und Effizienz unterstütze ich Sie dabei, Ihre Unternehmensziele zu erreichen und langfristigen Erfolg zu sichern.

Services

Meine jahrelange Expertise für Ihren Mehrwert


Meine ERP-Beratung bietet Ihnen maßgeschneiderte Lösungen zur Optimierung Ihrer Geschäftsprozesse, was Ihre Effizienz steigert und Kosten reduziert. Ich sorge für eine verbesserte Datenqualität und nahtlose Integration bestehender Systeme, um Fehler und Datensilos zu vermeiden. Durch individuelle Anpassungen und umfassende Schulungen erleichtere ich Ihnen die Nutzung von SAP Business One und erhöhe Ihre Produktivität. Mein proaktiver Support und die Performance-Optimierung garantieren eine zuverlässige Systemnutzung. Mit robusten Sicherheitsmaßnahmen und Compliance-Beratung schütze ich Ihre Unternehmensdaten und gewährleiste die Einhaltung gesetzlicher Anforderungen. So verbessern sich Ihre Entscheidungsfindung und Wettbewerbsfähigkeit, während langfristig Kosten gesenkt werden.

Beratung und Implementierung
01
Schulung und Support
02
Anpassung und Integration
03
Einkaufsanalyse nach Artikel im Web Client: Was SAP (noch) nicht mitliefert, und wie man es sich selbst baut

Stand: Juli 2026 | SAP Business One 10.0, Web Client SP2605

Die Ausgangsfrage

Eine scheinbar triviale Anforderung: „Zeige mir alle Eingangsrechnungen, in denen Artikel X eingekauft wurde.“ Im Desktop-Client ist das seit Jahren ein Ein-Klick-Vorgang. Einkaufsanalyse öffnen, nach Artikel und Zeitraum filtern, Doppelklick auf die Ergebniszeile, fertig. SAP springt direkt zu den zugrunde liegenden Belegen.

Im Web Client sucht man diese Funktion vergebens. Die Recherche dazu zeigt exemplarisch, wo der Web Client aktuell steht: Leistungsfähig unter der Haube, aber an entscheidenden Stellen noch nicht zu Ende gedacht!

Kritik: Die Lücke ist real

Der Web Client bietet für den Verkauf eine eigene Verkaufsanalyse-Berichtssicht inklusive nativer Datenaufschlüsselung (Drilldown auf Belegebene), also genau die Funktion, die man sich für den Einkauf wünschen würde. Eine äquivalente Einkaufsanalyse-Berichtssicht existiert dort schlicht nicht. Wer im Einkauf nach Artikel filtern will, landet bei den Standard-Listenansichten der Eingangsrechnungen. Die sind aber beleg- (kopf-)basiert und bieten keine Filterung auf Positionsebene.

Der naheliegende Workaround, Benutzerdefinierte Abfragen (UDQ), funktioniert zwar inhaltlich, aber nicht dort, wo man ihn zuerst vermutet. Die Funktion „Verknüpfte Listenansichten“, mit der sich normalerweise Objekte klickbar miteinander verbinden lassen, akzeptiert UDQs weder als Quelle noch als Ziel. Bis man das durch Ausprobieren zweifelsfrei ausgeschlossen hat, kostet das unnötig Zeit. Ein Hinweis in der Dokumentation dazu wäre wünschenswert.

Lob: Wo es dann doch elegant wird

Der eigentliche Weg liegt eine Ebene tiefer, direkt in der UDQ selbst, und der ist tatsächlich gut gemacht.

Echte Laufzeitparameter. UDQs unterstützen benannte Parameter (:parametername) mit Typ und optionalem Standardwert. Kein reines Static-SQL-Konstrukt, sondern eine Abfrage, die sich wie ein kleines Formular verhält.

Spaltenweise Objektverknüpfung. Im Reiter „Spalten“ lässt sich jede Spalte gezielt mit einer Systemtabelle verknüpfen (DocEntry zu OPCH, ItemCode zu OITM etc.). Genau das erzeugt den gesuchten Effekt: Sobald die Ergebnisliste über „In Listenansicht öffnen“ dargestellt wird, sind Belegnummer, Geschäftspartner und Artikelnummer automatisch anklickbar und führen direkt in die jeweilige Detailsicht.

Sofort nutzbare Listenansicht. Die UDQ-Ergebnisliste kommt automatisch mit Filterleiste, Gruppierung, Tabellen-/Diagrammansicht und Excel-Export. Alles Bordmittel, kein Zusatzaufwand.

Beispielhafte Abfrage (HANA-Syntax) für „alle Eingangsrechnungspositionen zu einem Artikel“:

SELECT T0."DocEntry", T0."DocNum", T0."DocDate", T0."CardName", T1."ItemCode", T1."Dscription", T1."Quantity", T1."LineTotal" FROM OPCH T0 INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."CANCELED" = 'N'

Ohne Artikel-Filter im WHERE liefert das eine vollständige Übersicht aller Einkaufspositionen, die sich anschließend direkt in der Listenansicht nach Artikelnummer filtern und gruppieren lässt. Für den Einzelfall reicht ein Parameter à la :myItemCode, für die Massenauswertung lässt man ihn einfach weg.

Screenshot

Stolperfallen beim Spalten-Mapping

Zwei Dinge, die beim Nachbauen leicht schiefgehen und nirgends dokumentiert sind.

„Verknüpfung mit“ gehört nur auf das Schlüsselfeld. Es ist verlockend, bei allen Spalten aus derselben Quelltabelle (DocEntry, DocNum, DocDate, CardName) pauschal „Verknüpfung mit: OPCH“ zu setzen, schließlich gehören sie ja alle zum selben Beleg. Das führt aber dazu, dass die Listenansicht durcheinanderkommt, welcher Wert der eigentliche Schlüssel ist und welcher nur Anzeigefeld. In unserem Testfall zeigte „Interne Nummer“ plötzlich den DocNum-Wert statt des echten DocEntry. Richtig ist: nur das eindeutige Schlüsselfeld (DocEntry) mit dem Objekt verknüpfen, alle anderen Spalten bleiben ohne Objektverknüpfung.

Verknüpfte Spalten zeigen die Objekt-Standardanzeige, nicht den Rohwert. Sobald eine Spalte korrekt mit einem Objekt verknüpft ist, ersetzt der Web Client den ursprünglichen SQL-Wert durch die Standard-Darstellung dieses Objekts. Bei Belegen ist das die Belegnummer (DocNum), nicht der interne Schlüssel (DocEntry). Der Link selbst funktioniert trotzdem korrekt, intern wird weiterhin der echte DocEntry für die Navigation verwendet, aber wer bewusst den Rohwert anzeigen wollte, wird von der Anzeige überrascht. Rein kosmetisch, aber gut zu wissen, bevor man auf die Suche nach einem vermeintlichen Bug geht.

Fazit

Der Web Client zwingt an dieser Stelle zu einem Umweg, den es im Desktop-Client nicht braucht. Das ist ein echter Funktionsrückstand, den SAP schließen sollte, zumal die Verkaufsseite zeigt, dass man es besser kann. Gleichzeitig ist bemerkenswert, mit wie wenig Aufwand sich diese Lücke selbst schließen lässt: eine SQL-Abfrage, ein paar Klicks in den Spalten-Metadaten, fertig ist eine wiederverwendbare, klickbare Analyse-Kachel. Ganz ohne Programmierung, ganz ohne Crystal Reports, ganz ohne Entwickler-Zugriff auf die Datenbank. Das ist state of the art für Self-Service-Analytics im SMB-Umfeld.

Offen für einen Folgebeitrag: Ob sich mehrere Belegarten (Eingangsrechnung, Eingangsgutschrift) per UNION ALL in einer Query kombinieren lassen, ohne die Objektverknüpfung pro Zeile zu verlieren. Dazu bald mehr, sobald der Praxistest steht.

KI für SAP Business One — viel Lärm, wenig dahinter

Draußen in der KI-Welt übernehmen autonome Agenten gerade echte Arbeit: OpenAI Operator bucht Reisen, erledigt Formulare, navigiert eigenständig durch Webanwendungen. Anthropic Claude führt Computer Use durch — klickt, tippt, recherchiert selbstständig. Devin schreibt und deployed Code ohne menschliches Zutun.

Und was passiert parallel dazu bei SAP Business One?

Ich beschäftige mich natürlich mit dem Thema AI im B1-Umfeld, aber die Ernüchterung ist real.

SAP bewirbt 350+ AI-Szenarien und Joule als allgegenwärtigen KI-Assistenten. Was dabei gerne im Kleingedruckten verschwindet: Das gilt für S/4HANA, SuccessFactors, Ariba, aber nicht für SAP Business One.

Was steht B1-Kunden heute wirklich zur Verfügung?

  • Document Information Extraction (BTP/OCR): Eingangsrechnungen per KI auslesen. Erfordert BTP-Konto, 3–6 Beratertage Einrichtung, laufende Verbrauchskosten — und liefert bei gescannten PDFs eine Fehlerquote, die den Sachbearbeiter nicht wirklich entlastet.
  • MyWave.ai: Conversational AI direkt in B1, SAP-validiert, technisch der bisher überzeugendste Ansatz. Aber: produktiv erst sinnvoll, wenn Stammdaten sauber und Prozesse homogen sind. Konfigurationsaufwand inklusive.
  • Weitere Drittanbieter: Beeindruckende Feature-Listen — und entsprechend beeindruckende Implementierungsprojekte dahinter.

Das gemeinsame Muster: Hoher Einrichtungsaufwand. Laufende Betriebskosten. Nutzen, der stark von Datenqualität und Belegvolumen abhängt. Für einen Mandanten mit 80 Eingangsrechnungen im Monat rechnet sich das schlicht nicht.

Während anderswo KI-Agenten eigenständig Geschäftsprozesse durchführen, diskutieren wir im B1-Umfeld noch darüber, wie man OCR vernünftig zum Laufen bringt. Joule für B1? Kommt laut Roadmap frühestens mit Version 11 — also 2027.

Das ist kein Vorwurf an SAP. B1 ist eine strategisch wichtige Plattform für den Mittelstand — aber die KI-Investitionen fließen klar zuerst in die Enterprise-Welt. Wer seinen B1-Kunden heute KI-Transformation verkauft, sollte die Erwartungen sehr klar managen.

Meine ehrliche Empfehlung für die meisten Mandanten heute: Abwarten, Datenbasis sauber halten, auf die konkreten Anwendungsfälle fokussieren, die sich wirklich rechnen. Alles andere ist derzeit vor allem eines: Ein Marketingversprechen.

Adressformatierung in SAP Business One richtig gemacht

Schluss mit Drucklayout-Flickwerk 

Kennen Sie das? Das Angebot geht raus, und prompt meldet sich jemand: „Da ist eine komische Leerzeile bei der Adresse.“ Also auf ins Drucklayout, suchen, anpassen, testen, speichern. Beim nächsten Drucklayout das gleiche Spiel. Und beim übernächsten. Sisyphus lässt grüßen.

Dabei gibt es in SAP Business One eine elegante Lösung, die viele gar nicht auf dem Schirm haben: die Adressformat-Definition.

Screenshot

Was steckt dahinter?

Unter Administration → Definition → Geschäftspartner → Adressformate  lässt sich exakt steuern, wie Adressen systemweit aufgebaut werden – welche Felder in welcher Reihenfolge erscheinen, ob eine Zeile angezeigt wird, wenn sie leer ist, und wie das Ganze für verschiedene Länder unterschiedlich aussehen kann.

Das Schöne daran: SAP liefert für viele Länder bereits fertige Adressformate mit. Deutschland ist natürlich dabei. Diese Vorlagen lassen sich denkbar einfach anpassen – einmal, zentral, für alle Drucklayouts gleichzeitig.

Das konkrete Problem – und die Lösung

Die berüchtigte Leerzeile entsteht meist dann, wenn ein Adressfeld (z.B. „Adresszeile 2″) im Format vorgesehen ist, aber im konkreten Datensatz leer bleibt. SAP druckt dann brav eine leere Zeile. Die Lösung: Im Adressformat die Option „Leere Adresszeilen ausblenden“ aktivieren oder schlicht entfernen – und das Problem verschwindet in allen Layouts auf einmal.

Gleiches gilt, wenn Sie die Reihenfolge ändern möchten, z.B. den Ort vor die Postleitzahl stellen (für internationale Adressen) oder den Ländernamen nur bei ausländischen Adressen einblenden wollen.

Warum das so praktisch ist

Wer bisher für jedes Drucklayout einzeln Hand angelegt hat, wird den Unterschied sofort spüren. Eine Änderung in der Adressformat-Definition wirkt sich auf alle Layouts aus, die dieses Format verwenden. Das spart nicht nur Zeit – es sorgt auch dafür, dass Angebot, Rechnung, Lieferschein und Bestellung endlich alle gleich aussehen.

Die offizielle SAP-Dokumentation zur Adressformat-Definition finden Sie hier

Kurz zusammengefasst

Bevor Sie das nächste Drucklayout öffnen, um eine Leerzeile zu jagen: Schauen Sie zuerst in die Adressformat-Definition. Was wie eine Kleinigkeit aussieht, ist in Wahrheit einer der unterschätzten Hebel in SAP Business One – klein, zentral, wirkungsvoll.

Und Sisyphus kann sich endlich eine Pause gönnen 😉