<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://infomatik.eu/feed.xml" rel="self" type="application/atom+xml" /><link href="https://infomatik.eu/" rel="alternate" type="text/html" hreflang="de" /><updated>2026-05-23T16:09:46+02:00</updated><id>https://infomatik.eu/feed.xml</id><title type="html">info/matik</title><subtitle>info/matik entwickelt maßgeschneiderte Software für mittelständische Unternehmen, modernisiert Legacy-Systeme und setzt KI gezielt ein. Aus Regensburg für Bayern, Deutschland und Europa.</subtitle><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><entry><title type="html">KLAUS der KI Assistent: Mit Daten sprechen</title><link href="https://infomatik.eu/blog/klaus-ki-business-intelligence/" rel="alternate" type="text/html" title="KLAUS der KI Assistent: Mit Daten sprechen" /><published>2026-03-01T00:00:00+01:00</published><updated>2026-03-01T00:00:00+01:00</updated><id>https://infomatik.eu/blog/klaus-ki-business-intelligence</id><content type="html" xml:base="https://infomatik.eu/blog/klaus-ki-business-intelligence/"><![CDATA[<h1 id="intro">Intro</h1>

<p>Daten sind in Unternehmen ein wertvolles Gut. Aber sie sind nur dann nützlich, wenn:</p>

<ul>
  <li>Sie müssen verfügbar sein.</li>
  <li>Sie müssen verständlich sein.</li>
  <li>Sie müssen aktuell sein.</li>
</ul>

<p>Viele Auswertungen werden auch nur einmals benötigt, dabei lohnt es sich nicht große Auswertungen zu beauftragen.</p>

<p>Das ist wo KLAUS ins Spiel kommt, aber bevor wir näher auf ihn eingehen nehmen wir euch mit auf eine Reise, wie er entwickelt wurde.</p>

<h2 id="neue-möglichkeiten-durch-llms">Neue Möglichkeiten durch LLMs</h2>

<p>Das eigentliche Problem liegt in der Übersetzung der Semantik von menschlicher Sprache in einer Fachdomain in SQL-Abfragen und deren Auswertung. In vielen Bereichen werden in dieser Domäne bereits LLMs verwendet. Warum nicht auch hier?</p>

<p>Wäre es Möglich eine SQL-Datenbank mit einem LLM zu verbinden? Dann wäre es Möglich direkt Fragen an die eigenen Daten zu schicken.</p>

<p>Es gab jedoch einige Probleme:</p>

<ul>
  <li>Die Metadaten der Datenbank (Namen der Tabellen und Spalten) sind als Erklärung unzureichend.</li>
  <li>Die Geschwindigkeit ist nicht sehr hoch.</li>
  <li>Einige Datentypen benötigen eine Erklärung</li>
  <li>Jeder Benutzer kann auf alle Daten zugreifen</li>
  <li>Abhängigkeit von Claude und damit der Cloud</li>
</ul>

<h2 id="entwicklung-einer-lösung">Entwicklung einer Lösung</h2>

<p>Dazu haben wir einen ChatBot konzipiert, der die Sprache des Nutzers und die Fachdomäne versteht. Er generiert selbstständig gültige T-SQL-Abfragen, führt diese aus und stellt die Ergebnisse in natürlicher Sprache sowie als Diagramme dar. Ein zentraler Bestandteil des Projekts war die Evaluation, ob und welche lokalen Modelle sich dafür eignen.</p>

<h2 id="llm-modelle">LLM-Modelle</h2>

<p>Die Cloud-Modelle lieferten durchgehend sehr gute Ergebnisse, was erwartet war. Auch lokal zeigten sich einige Modelle wie das OSS 20B von OpenAI oder das Mistral 7B als gut einsetzbar. Das OSS 120B von OpenAI wirkte zwar vielversprechend, ließ sich jedoch aufgrund von Performance-Einschränkungen (Geschwindigkeit, Kontextfenster) nicht optimal auf der Hardware betreiben.</p>

<p>Google Gemma 3 konnte lokal nicht genutzt werden, da es nicht für die Tool-Verwendung (bzw. die spezifische Anbindung) trainiert war.</p>

<p><img src="/img/blog/klaus/llm.webp" alt="LLM-Modelle im Vergleich" /></p>

<h2 id="klaus">KLAUS</h2>

<p>Ein Chatbot, welcher aus Fragen Ergebnisse und Diagramme ableiten kann.</p>

<p><img src="/img/blog/klaus/klaus.webp" alt="KLAUS in Aktion" /></p>

<h3 id="metadata">Metadata</h3>

<p>Damit ein LLM hochwertige Auswertungen erstellen kann, benötigt es zusätzliche Metadaten. Da EF Core bereits C#-Klassen (POCOs) nutzt, um Datenbanktabellen abzubilden, bietet es sich an, diese Klassen um LLM-spezifische Metadaten zu erweitern. So bleiben die C#-Klassen die zentrale Single Source of Truth.</p>

<p>Wir setzen zwei benutzerdefinierte Attribute ein:</p>

<ul>
  <li><strong>LlmExplanation</strong>: Beschreibt Tabelle, Spalte oder Wert (z. B. für Fachbegriffe oder Berechnungslogik).</li>
  <li><strong>LlmIgnore</strong>: Markiert Spalten, die für das LLM irrelevant sind und ausgeblendet werden sollen.</li>
</ul>

<p>EF Core mappt C#-Properties standardmäßig auf Datenbankspalten. Computed Properties (berechnete Eigenschaften) existieren jedoch nur im Code und nicht in der Datenbank. Dennoch sind sie oft geschäftsrelevant und sollten dem LLM zugänglich sein. Dafür muss dem LLM explizit mitgeteilt werden, wie sich diese Properties aus den physischen Spalten berechnen lassen.</p>

<p><img src="/img/blog/klaus/metadata.webp" alt="Metadaten am C#-Modell" /></p>

<h3 id="ein-beispiel">Ein Beispiel</h3>

<div class="language-csharp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="nf">LlmExplanation</span><span class="p">(</span><span class="s">@"Article is a sample if Number starts with 'S-'.
Default name is NameInGerman.
Articles are sold in boxes; items = boxes * UnitsPerPackage."</span><span class="p">)]</span>
<span class="k">public</span> <span class="k">class</span> <span class="nc">Article</span>
<span class="p">{</span>
    <span class="k">public</span> <span class="kt">string</span> <span class="n">Number</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
    <span class="k">public</span> <span class="kt">string</span> <span class="n">NameInGerman</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>

    <span class="p">[</span><span class="nf">LlmExplanation</span><span class="p">(</span><span class="s">"Number of individual items per package/box"</span><span class="p">)]</span>
    <span class="k">public</span> <span class="kt">decimal</span> <span class="n">UnitsPerPackage</span> <span class="p">{</span> <span class="k">get</span><span class="p">;</span> <span class="k">set</span><span class="p">;</span> <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<h3 id="die-werkzeuge">Die Werkzeuge</h3>

<p>Die Tools im Überblick:</p>

<p><img src="/img/blog/klaus/die-werkzeuge.webp" alt="Die Werkzeuge" /></p>

<p>Dem LLM müssen wir in der Systemprompt noch mitteilen, was wir wollen, wie es Umzusetzen ist und welche Tools es dafür zur Verfügung hat. Dort teilen wir mit, wer das LLM ist, wer wir sind, was wir wollen, und wie das LLM das Umsetzen kann.</p>

<p><img src="/img/blog/klaus/sql.webp" alt="SQL-Tool im Einsatz" /></p>

<p>Kurz zusammengefasst: Systemüberblick bis jetzt.</p>

<p><img src="/img/blog/klaus/überblick-ohne-agenten.webp" alt="Systemüberblick ohne Agenten" /></p>

<h3 id="die-ersten-ergebnisse">Die ersten Ergebnisse</h3>

<p>Mit diesem ersten Aufbau ließen sich bereits brauchbare Ergebnisse erzielen. Das LLM konnte relevante Tabellen identifizieren, zusätzliche Metadaten gezielt nachladen, daraus gültige T-SQL-Abfragen erzeugen und die Resultate als Text oder Diagramm aufbereiten. Damit war grundsätzlich gezeigt, dass natürlichsprachliche BI-Abfragen auf dieser Basis funktionieren können.</p>

<p>Gleichzeitig wurden aber auch die Grenzen des Ansatzes deutlich. Jeder Durchlauf war noch relativ teuer, weil das System die benötigten Tabellen, Metadaten und Query-Schritte immer wieder neu herleiten musste. Selbst bei sehr ähnlichen oder identischen Fragestellungen begann der Prozess praktisch jedes Mal von vorne. Das kostet Zeit, verbraucht Kontextfenster und erhöht die Wahrscheinlichkeit, dass sich das Modell bei längeren Ableitungsketten unnötig verrennt.</p>

<p>Das zentrale Problem war also nicht mehr, ob der Ansatz grundsätzlich funktioniert, sondern wie sich erfolgreiche Abfragemuster wiederverwenden lassen. Genau an dieser Stelle setzen die nächsten Optimierungen an.</p>

<h2 id="optimierungen">Optimierungen</h2>

<h3 id="rag">RAG</h3>

<p>Damit das System nicht bei jeder ähnlichen Frage wieder bei null beginnen muss, speichern wir erfolgreiche Abfragen in einem RAG-Speicher ab. RAG steht für Retrieval Augmented Generation. Gemeint ist damit, dass das LLM vor der eigentlichen Antwort zusätzliche, bereits bekannte Informationen aus einem Speicher abrufen kann.</p>

<p>In unserem Fall sind das keine beliebigen Textdokumente, sondern bewährte SQL-Muster. Sobald KLAUS zu einer Benutzerfrage eine gültige Query erzeugt und tatsächlich ausgeführt hat, wird diese Abfrage zusammen mit einer fachlichen Kurzbeschreibung im Speicher abgelegt. Diese Beschreibung enthält nicht die exakten Eingabewerte des Benutzers, sondern den verallgemeinerten analytischen Intent, zum Beispiel welche Kennzahl gesucht wurde, welche Gruppierung relevant war und welche Filter oder Zeiträume eine Rolle gespielt haben.</p>

<p>Technisch verwenden wir dafür einen Vektor-Speicher. Die textuelle Beschreibung einer erfolgreichen Query wird in ein Embedding umgewandelt, also in einen Zahlenvektor, der die semantische Bedeutung des Textes abbildet. Stellt ein Benutzer später eine ähnliche Frage, wird auch diese Frage in eine verallgemeinerte Form gebracht und als Embedding dargestellt. Anschließend wird nicht nach exaktem Wortlaut gesucht, sondern nach semantischer Ähnlichkeit. Dadurch können auch Fragen wiedergefunden werden, die anders formuliert sind, aber fachlich dasselbe meinen.</p>

<p>Der Vorteil ist zweifach. Zum einen wird das System schneller, weil ähnliche Fragestellungen nicht jedes Mal vollständig neu hergeleitet werden müssen. Zum anderen steigt die Qualität, weil bereits erfolgreiche Query-Muster wiederverwendet werden können. KLAUS lernt also nicht durch klassisches Training nach, sondern über einen kontrollierten, nachvollziehbaren Wissensspeicher erfolgreicher Abfragen.</p>

<p><img src="/img/blog/klaus/das-gedächtnis.webp" alt="Das Gedächtnis von KLAUS" /></p>

<h3 id="die-agenten-kommen">Die Agenten kommen</h3>

<p>Nachdem die RAG-Basis stand, haben wir den Ablauf in spezialisierte Agenten aufgeteilt. Das Ziel war eine klarere Verantwortlichkeit pro Schritt, weniger Kontextballast pro Modellaufruf und bessere Wiederverwendbarkeit im Gesamtsystem.</p>

<p><img src="/img/blog/klaus/die-agenten.webp" alt="Die Agenten und ihre Aufgaben" /></p>

<p>Oder hier in kurz, wie die Agenten zusammenarbeiten:</p>

<ul>
  <li>Das Hauptmodell beantwortet die Frage über SQL-Tool-Calls.</li>
  <li>Antwort (Text/Diagramm) wird an den Benutzer gestreamt.</li>
</ul>

<p><img src="/img/blog/klaus/überblick-mit-agenten.drawio.webp" alt="Systemüberblick mit Agenten" /></p>

<h1 id="demo">Demo</h1>

<iframe src="https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:7439269565303242752?collapsed=1" height="877" width="504" frameborder="0" allowfullscreen="" title="KLAUS Demo auf LinkedIn" loading="lazy"></iframe>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="KI" /><summary type="html"><![CDATA[Intro]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/klaus.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/klaus.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Pixelraum – Fotorealistische, messbare Punktwolken</title><link href="https://infomatik.eu/blog/iagv-pixelraum/" rel="alternate" type="text/html" title="Pixelraum – Fotorealistische, messbare Punktwolken" /><published>2025-09-01T00:00:00+02:00</published><updated>2025-09-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/iagv-pixelraum</id><content type="html" xml:base="https://infomatik.eu/blog/iagv-pixelraum/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Unser Kunde IAGV ist ein Vermessungsbüro aus Regensburg und Ostbayern. IAGV arbeitet im Bereich 3D‑Vermessung mit hoher Detailtiefe und legt Wert auf moderne, anschauliche Darstellung der Ergebnisse.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Punktwolken sollen nicht nur fotorealistisch dargestellt werden, sondern auch messbar bleiben. Ziel ist eine Lösung, die beides vereint und für verschiedene Anwendungsfälle nutzbar macht.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Pixelraum verbindet fotorealistische Darstellung mit präziser Messbarkeit in Punktwolken. Der Ansatz mit Gaussian Splatting sorgt für eine natürliche, detailreiche Visualisierung, ohne die technische Auswertbarkeit zu verlieren.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Verarbeitung erfolgt über moderne 3D‑Pipelines und nutzt Verfahren des Gaussian Splatting. Die Anwendung ist als Viewer für Gaussian Splatting konzipiert: Dabei werden Punktwolken nicht als einzelne Pixel, sondern als überlappende, mathematisch beschriebene „Splats“ (Gaußsche Flecken) dargestellt. Das ermöglicht eine besonders natürliche, fotorealistische und dennoch messbare Visualisierung – auch bei sehr großen Datenmengen. Ergebnisse werden so aufbereitet, dass sie sich sowohl für Präsentationen als auch für technische Analysen eignen. Die Anwendung ist als Vue.js Web‑App umgesetzt; die Renderings erfolgen direkt im Browser mittels WebGL.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Die Visualisierungen sind anschaulich und gleichzeitig verlässlich messbar. Das macht sie für Kundinnen und Kunden in Planung und Dokumentation besonders wertvoll.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Weitere Integrationen in CAD‑Umgebungen und interaktive Viewer sind geplant.</p>

<p>Mehr Informationen: https://iagv.de/portfolio/fotorealistische-messbare-punktwolken-mit-gaussian-splatting/</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Vermessung" /><category term="WebApp" /><summary type="html"><![CDATA[Kundenprofil Unser Kunde IAGV ist ein Vermessungsbüro aus Regensburg und Ostbayern. IAGV arbeitet im Bereich 3D‑Vermessung mit hoher Detailtiefe und legt Wert auf moderne, anschauliche Darstellung der Ergebnisse.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/pixelraum.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/pixelraum.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Access Weiterentwicklung IV – Jahreswechsel 2025–2030 im öffentlichen Dienst</title><link href="https://infomatik.eu/blog/access-weiterentwicklung-iv/" rel="alternate" type="text/html" title="Access Weiterentwicklung IV – Jahreswechsel 2025–2030 im öffentlichen Dienst" /><published>2025-01-01T00:00:00+01:00</published><updated>2025-01-01T00:00:00+01:00</updated><id>https://infomatik.eu/blog/access-weiterentwicklung-iv</id><content type="html" xml:base="https://infomatik.eu/blog/access-weiterentwicklung-iv/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Eine Behörde benutzt <a href="https://www.microsoft.com/de-de/microsoft-365/access">Access‑Datenbank</a> für Ihre Haushalts‑ und Verwaltungsabläufe. Jährlich ist ein formaler Jahreswechsel mit Abschlussarbeiten notwendig, damit die Prozesse im neuen Jahr nahtlos weiterlaufen.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Der bisherige Entwickler hatte die Jahreswechsel‑Logik nur bis 2025 umgesetzt und stand nicht mehr zur Verfügung. Damit drohte ab 2026 eine Unterbrechung der Arbeitsabläufe. Gesucht war eine Lösung, die die bestehenden Regeln respektiert, fachlich abgestimmt ist und zuverlässig für mehrere Jahre trägt.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Zunächst wurden Datenbankstruktur und bestehende Jahreswechsel‑Prozesse analysiert und mit den Fachabteilungen abgestimmt. Auf dieser Basis entstand ein erweiterter Jahreswechsel, der die notwendigen Schritte bis einschließlich 2030 abbildet. Die Lösung bleibt nah am bestehenden Vorgehen, reduziert manuelle Eingriffe und sorgt für reproduzierbare Ergebnisse.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Anpassungen erfolgten direkt in Access. Relevante Routinen wurden überprüft und um periodische Parameter erweitert. Regeln für Abschluss, Überträge und Neustart wurden formell beschrieben und in die vorhandenen Abläufe integriert. Anschließend folgten Tests mit Echtdaten aus Vorjahren sowie eine Validierung der Ergebnisse zusammen mit den Fachbereichen, bevor die Lösung produktiv ging.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Der Jahreswechsel ist wieder planbar und verlässlich. Die Arbeiten für 2026 bis 2030 lassen sich nach demselben Muster durchführen, die Ergebnisse sind nachvollziehbar. So bleibt die Datenbasis konsistent, und die Fachbereiche können ohne Unterbrechung weiterarbeiten.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Access" /><category term="Modernisierung" /><summary type="html"><![CDATA[Kundenprofil Eine Behörde benutzt Access‑Datenbank für Ihre Haushalts‑ und Verwaltungsabläufe. Jährlich ist ein formaler Jahreswechsel mit Abschlussarbeiten notwendig, damit die Prozesse im neuen Jahr nahtlos weiterlaufen.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/access.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/access.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Sage 100 &amp;amp; AufgabenCenter – Interim‑Übernahme eines gewachsenen ERP‑Systems</title><link href="https://infomatik.eu/blog/sage-aufgabencenter/" rel="alternate" type="text/html" title="Sage 100 &amp;amp; AufgabenCenter – Interim‑Übernahme eines gewachsenen ERP‑Systems" /><published>2024-06-01T00:00:00+02:00</published><updated>2024-06-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/sage-aufgabencenter</id><content type="html" xml:base="https://infomatik.eu/blog/sage-aufgabencenter/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Ein mittelständisches Unternehmen arbeitet seit Jahren mit einem gewachsenen ERP‑Verbund aus Sage 100, SQL Server und dem AufgabenCenter. Über die Zeit entstanden zahlreiche kundenspezifische Erweiterungen: zusätzliche Datenbanken, Stored Procedures, Jobs und Hilfstools.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Das System war funktional, aber komplex und nur teilweise dokumentiert. Es wurde kurzfristig eine verlässliche Interim‑Betreuung benötigt, um den laufenden Betrieb sicherzustellen, Änderungen umsichtig vorzunehmen und zugleich die Basis für spätere Entscheidungen (inklusive möglicher Migration) vorzubereiten.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Zunächst haben wir uns einen strukturierten Überblick verschafft: Architektur, Datenflüsse, Abhängigkeiten und betriebliche Routinen. Anschließend wurden die wesentlichen Komponenten dokumentiert und priorisiert. Parallel haben wir die Betreuung übernommen – mit Fokus auf Stabilität im Tagesgeschäft – und notwendige Weiterentwicklungen der bestehenden Tools verantwortet. Dabei blieb der Ansatz bewusst pragmatisch: gezielte Korrekturen, abgesprochene Anpassungen und klar nachvollziehbare Änderungen.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Im SQL Server wurden relevante Datenbanken, Stored Procedures und Jobs inventarisiert und beschrieben. Betriebsrelevante Skripte und Konfigurationen erhielten eine einheitliche Ablage und Versionsstand. Für das AufgabenCenter wurden Zuständigkeiten, Wiedervorlagen und Abläufe nachvollziehbar gemacht. Kleine Verbesserungen erfolgten schrittweise und dokumentiert, sodass der spätere Übergang an eine hausinterne IT‑Rolle ohne Wissensverluste möglich ist. Begleitend entstand eine schlanke Checkliste mit Kriterien und Vorarbeiten für eine mögliche künftige Migration.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Der Betrieb blieb stabil, Änderungen wurden kontrolliert umgesetzt und die Transparenz über das System deutlich erhöht. Risiken durch implizites Wissen reduzierten sich, und Entscheidungen über nächste Schritte lassen sich nun auf gesicherter Grundlage treffen.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Nach Besetzung einer neuen internen IT‑Position kann die Verantwortung geordnet übergeben werden. Auf Basis der Dokumentation und der vorbereiteten Kriterien ist eine spätere Migration (sofern gewünscht) planbar – inklusive klarer Meilensteine und Abgrenzungen.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Sage" /><category term="ERP" /><summary type="html"><![CDATA[Kundenprofil Ein mittelständisches Unternehmen arbeitet seit Jahren mit einem gewachsenen ERP‑Verbund aus Sage 100, SQL Server und dem AufgabenCenter. Über die Zeit entstanden zahlreiche kundenspezifische Erweiterungen: zusätzliche Datenbanken, Stored Procedures, Jobs und Hilfstools.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/aufgabencenter.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/aufgabencenter.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">ERP-Neuentwicklung für ein E-Commerce Unternehmen</title><link href="https://infomatik.eu/blog/erp-entwicklung/" rel="alternate" type="text/html" title="ERP-Neuentwicklung für ein E-Commerce Unternehmen" /><published>2024-05-01T00:00:00+02:00</published><updated>2024-05-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/erp-entwicklung</id><content type="html" xml:base="https://infomatik.eu/blog/erp-entwicklung/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Für ein Unternehmen, das Hotelzubehör vertreibt. Die Firma benötigte eine Lösung, die ihre spezifischen Geschäftsprozesse optimal und zukunftssicher abbildet.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Das zuvor eingesetzte <a href="https://xentral.com/de">Xentral‑ERP</a> konnte die komplexen und individuellen Abläufe nicht optimal abbilden. Hinzu kam, dass Xentral durch einen grundlegenden Paradigmenwechsel die Weiterentwicklung und den Betrieb bestehender PHP-Erweiterungen nahezu unmöglich machte. Eine weitere zentrale Anforderung war die Live‑Migration aller relevanten Daten, um einen unterbrechungsfreien Übergang zu gewährleisten.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Entwickelt wurde ein komplett eigenständiges, maßgeschneidertes ERP-System mit dem Namen UNIF. Dieses System integriert alle relevanten Bereiche: Warenwirtschaft, Belegwesen, Shop‑ und Bankanbindung, DATEV, PayPal, Shopware 6, EU‑VIES, E‑Mail, CleverReach, Berichte und einen KI‑Assistenten. UNIF wurde exakt auf die Anforderungen von SerrentiS zugeschnitten und löst Xentral vollständig ab. Ziel war eine Lösung, die sich wie ein Maßanzug anfühlt, produktiv ohne Medienbrüche arbeitet und flexibel weiterentwickelt werden kann.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Anwendung basiert auf .NET 8 mit ASP.NET Blazor und Blazorise für die Oberfläche sowie MSSQL für die Datenhaltung. Die Live‑Migration der Daten aus Xentral erfolgte nahtlos, sodass der Betrieb ohne Unterbrechung fortgesetzt werden konnte. Workflows und Fachlogik wurden im neuen System durchgängig modelliert. Schulung und Einführung begleiteten den Übergang in den Live‑Betrieb.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Das neue ERP bildet die Geschäftsprozesse sauber ab, reduziert Abhängigkeiten von Fremdplattformen und erhöht die Wartbarkeit. Der Übergang verlief kontrolliert, der tägliche Betrieb profitiert von klaren Abläufen und konsistenten Daten.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Geplant sind weitere Automatisierungen. Der KI‑Assistent wird Schritt für Schritt um praxisnahe Funktionen erweitert.</p>

<hr />

<p><strong>Verwenden Sie Xentral, benötigen Sie Unterstützung bei der Migration Ihres ERP-Systems oder interessieren Sie sich für ein maßgeschneidertes ERP? Wir helfen Ihnen gerne weiter! Kontaktieren Sie uns für eine unverbindliche Beratung.</strong></p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="ERP" /><category term="App" /><summary type="html"><![CDATA[Kundenprofil Für ein Unternehmen, das Hotelzubehör vertreibt. Die Firma benötigte eine Lösung, die ihre spezifischen Geschäftsprozesse optimal und zukunftssicher abbildet.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/unif.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/unif.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Access Weiterentwicklung II – Saubere Historien für Personal und Sätze</title><link href="https://infomatik.eu/blog/access-weiterentwicklung-ii/" rel="alternate" type="text/html" title="Access Weiterentwicklung II – Saubere Historien für Personal und Sätze" /><published>2023-10-01T00:00:00+02:00</published><updated>2023-10-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/access-weiterentwicklung-ii</id><content type="html" xml:base="https://infomatik.eu/blog/access-weiterentwicklung-ii/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Eine gewachsene <a href="https://www.microsoft.com/de-de/microsoft-365/access">Access‑Datenbank</a> dient einem mittelständischen Unternehmen seit Jahrzehnten der Projekt‑ und Zeiterfassung. Die Datenbasis reicht zurück bis in die 1980er Jahre und wird aktiv für Auswertungen genutzt.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Im Datenmodell fehlten Historien für Personalstationen und Stundensätze. Mitarbeitende wechseln im Lauf der Zeit ihre Rolle oder Abteilung, und Positionen können unterschiedliche Sätze haben. Ohne zeitliche Gültigkeiten führt das zu fehlerhaften Projektauswertungen, weil vergangene Zeiträume nicht korrekt rekonstruiert werden können.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Das Modell wurde um Historientabellen erweitert. Für Personal und Positionen gibt es nun zeitlich gültige Einträge, die Veränderungen sauber abbilden. Bestehende Daten wurden migriert und so aufbereitet, dass Auswertungen vergangener Perioden konsistent bleiben.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Für beide Bereiche entstanden Historien mit Gültig‑von und Gültig‑bis. Die Migration berechnete fehlende Intervalle und legte initiale Zeiträume an. Abfragen und Berichte wurden angepasst, sodass sie die jeweils passenden Sätze und Zuordnungen je Datum berücksichtigen. Tests mit realen Projekten stellten sicher, dass bekannte Ergebnisse reproduzierbar sind.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Die Projektauswertungen sind jetzt belastbar und nachvollziehbar. Rollen‑ und Satzwechsel werden korrekt berücksichtigt, historische Berichte stimmen wieder mit der Realität überein.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Als nächster Schritt bietet sich die Ergänzung um Plausibilitätsprüfungen und Komfortfunktionen in den Eingabemasken an, damit neue Historieneinträge konsistent und schnell erfasst werden können.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Access" /><category term="Modernisierung" /><summary type="html"><![CDATA[Kundenprofil Eine gewachsene Access‑Datenbank dient einem mittelständischen Unternehmen seit Jahrzehnten der Projekt‑ und Zeiterfassung. Die Datenbasis reicht zurück bis in die 1980er Jahre und wird aktiv für Auswertungen genutzt.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/access.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/access.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Automatischer Rechnungsversand für Xentral</title><link href="https://infomatik.eu/blog/xentral-autorechnung/" rel="alternate" type="text/html" title="Automatischer Rechnungsversand für Xentral" /><published>2023-10-01T00:00:00+02:00</published><updated>2023-10-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/xentral-autorechnung</id><content type="html" xml:base="https://infomatik.eu/blog/xentral-autorechnung/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Unternehmen mit <a href="xentral.com">Xentral</a> als ERP versenden ihre Bestellungen über <a href="https://www.dhl.de/">DHL</a>, <a href="https://gls-group.com/">GLS</a> und eine angebundene Spedition. Ziel ist es, Rechnungen erst dann zu versenden, wenn die Ware nachweislich beim Kunden angekommen ist.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Im Standard läuft die Rechnungsstellung oft zeitlich entkoppelt vom tatsächlichen Zustellereignis. Das führt zu Rückfragen, unnötigen Gutschriften und einem unklaren Blick auf Ertrag und Forderungen. Zusätzlich erschweren unterschiedliche Carrier‑Schnittstellen die durchgängige Auswertung des Versandstatus, zumal die genutzte Spedition keine öffentliche API bereitstellt.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Eine Erweiterung für Xentral überwacht den Versandstatus aller zugehörigen Lieferscheine pro Auftrag. Sobald sämtliche Sendungen als zugestellt gelten, löst das System den Rechnungsversand automatisch aus. Geschäftsregeln bestimmen, welche Konstellationen berücksichtigt werden, etwa Teillieferungen, Laufzeitüberschreitungen oder manuelle Freigaben in Sonderfällen.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Lösung bindet die <a href="https://www.dhl.de/">DHL‑</a> und <a href="https://gls-group.com/">GLS‑APIs</a> an, um Statusänderungen strukturiert zu erfassen. Für die Spedition wird der Sendungsstatus über eine eigene Web‑Anbindung per Selenium ausgelesen, sodass auch ohne offizielle API zuverlässige Informationen zur Verfügung stehen. Ein Dienst konsolidiert die Status je Lieferschein und Auftrag, protokolliert Ereignisse, berücksichtigt Wiederholversuche und stößt bei vollständiger Zustellung den Rechnungsversand über die <a href="https://xentral.com/de">Xentral API</a> an. Fehlerbehandlung und Logging sorgen für Transparenz im Tagesbetrieb.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Rechnungen werden genau dann versendet, wenn die Leistung beim Kunden angekommen ist. Das reduziert Rückfragen, vermeidet Korrekturen und bildet Ertrag und Cashflow realistischer ab. Das Team gewinnt Sicherheit in der Abwicklung und spart Zeit durch weniger manuelle Eingriffe.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Geplant sind zusätzliche Carrier‑Integrationen, Webhooks für noch schnellere Statusupdates sowie Ausnahmen‑Dashboards zur schnellen Klärung von Sonderfällen. Perspektivisch kann die Regelbasis erweitert werden, um kundenspezifische Workflows noch feiner abzubilden.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Xentral" /><category term="Erweiterung" /><summary type="html"><![CDATA[Kundenprofil Unternehmen mit Xentral als ERP versenden ihre Bestellungen über DHL, GLS und eine angebundene Spedition. Ziel ist es, Rechnungen erst dann zu versenden, wenn die Ware nachweislich beim Kunden angekommen ist.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/igewin.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/igewin.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Access Performance – Migration des Backends auf SQL Server</title><link href="https://infomatik.eu/blog/access-weiterentwicklung-iii/" rel="alternate" type="text/html" title="Access Performance – Migration des Backends auf SQL Server" /><published>2023-10-01T00:00:00+02:00</published><updated>2023-10-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/access-weiterentwicklung-iii</id><content type="html" xml:base="https://infomatik.eu/blog/access-weiterentwicklung-iii/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Eine etablierte <a href="https://www.microsoft.com/de-de/microsoft-365/access">Access‑Lösung</a> diente einem mittelständischen Unternehmen der Stundenerfassung und ‑auswertung. Mit der Zeit wuchsen Datenmenge und Benutzerzahl deutlich, wodurch Abfragen immer länger dauerten und der tägliche Betrieb spürbar ausgebremst wurde.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Die zentrale Stundentabelle umfasste rund zwei Millionen Einträge. Mehrere Nutzerinnen und Nutzer arbeiteten gleichzeitig über ein Netzlaufwerk, was zu Abfragezeiten von weit über einer Stunde führte. Ziel war es, die Performance deutlich zu verbessern, ohne das vertraute Access‑Frontend aufzugeben.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Das Access‑Backend wurde auf den Microsoft SQL Server migriert. Abfragen wurden analysiert und – wo sinnvoll – in Stored Procedures überführt. Parallel entstand ein Konzept, das den bewährten Access‑Client erhält und die Datenbankzugriffe auf die neue Server‑Architektur ausrichtet. Berichte und Masken wurden entsprechend angepasst, damit sich der gewohnte Arbeitsablauf nahtlos fortsetzt.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Migration der Daten erfolgte mit dem von Microsoft bereitgestellten Migrationswerkzeug (siehe https://www.microsoft.com/en-us/download/details.aspx?id=54255) von Access zu SQL Server. Für performante Zugriffe kamen Stored Procedures zum Einsatz. Zusätzlich wurde mit verknüpften Abfragen gearbeitet; hierfür entstand eine kleine Hilfsschicht, um Parameter komfortabel in diesen Abfragen zu setzen. Berichte wurden überarbeitet und die Datenvalidierung geschärft, um konsistente Ergebnisse sicherzustellen.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Die Maßnahmen zeigten deutliche Wirkung: Abfragezeiten sanken von mehr als einer Stunde auf unter zwei Minuten. Der Zugriff ist stabiler, paralleles Arbeiten funktioniert zuverlässiger und die Auswertungen stehen wesentlich schneller bereit.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Als nächster Schritt bieten sich weitere Tuning‑Maßnahmen an – etwa gezielte Indizes, zusätzliche Stored Procedures für häufige Auswertungen sowie Monitoring, um mögliche Engpässe früh zu erkennen.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Access" /><category term="Modernisierung" /><summary type="html"><![CDATA[Kundenprofil Eine etablierte Access‑Lösung diente einem mittelständischen Unternehmen der Stundenerfassung und ‑auswertung. Mit der Zeit wuchsen Datenmenge und Benutzerzahl deutlich, wodurch Abfragen immer länger dauerten und der tägliche Betrieb spürbar ausgebremst wurde.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/access.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/access.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Optimierung des Wohnflächenaufmaß für Vermesser und Immobilienmakler</title><link href="https://infomatik.eu/blog/smartes-wohnflaechenaufmass/" rel="alternate" type="text/html" title="Optimierung des Wohnflächenaufmaß für Vermesser und Immobilienmakler" /><published>2023-09-01T00:00:00+02:00</published><updated>2023-09-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/smartes-wohnflaechenaufmass</id><content type="html" xml:base="https://infomatik.eu/blog/smartes-wohnflaechenaufmass/"><![CDATA[<h1 id="kundenprofil">Kundenprofil</h1>
<p>Wohnungs‑ und Immobilienwirtschaft mit Bedarf an präzisen Flächenangaben und effizienten Aufmaß‑Prozessen.</p>

<h1 id="problemstellung">Problemstellung</h1>
<p>Wohnflächenaufmaße sollen schneller, nachvollziehbar und fehlerarm entstehen. In der Praxis erschweren heterogene Bestandsunterlagen, unterschiedliche Grundrissqualitäten und manuelle Zwischenschritte oft ein konsistentes Ergebnis. Gesucht ist ein klarer, wiederholbarer Ablauf mit verlässlichen Flächenangaben.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>

<p>Die Optimierung erfolgte in drei aufeinander abgestimmten Schritten. Ein zentraler Bestandteil war die Entwicklung einer eigenen App, die wir technisch konzipiert und umgesetzt haben. Ziel war es, das Wohnflächenaufmaß schnell und effizient mit dem Leica Distometer zu ermöglichen. Unsere App unterstützt das flexible und präzise Vermessen beliebiger Räume – auch mit nicht-orthogonalen Winkeln. Messwerte (Längen und Winkel) können direkt per Hand oder digital mit dem Leica Distometer eingetragen werden. Besonders hilfreich ist die Funktion, Raumvorlagen zu speichern und wiederzuverwenden, wodurch sich Messungen in ähnlichen Wohnungen deutlich beschleunigen lassen. Die App verwaltet alle Messungen, zeigt den Projektfortschritt und ermöglicht Soll/Ist-Analysen nach Wohnflächenverordnung. Zusätzliche Flächen können einfach hinzugefügt oder abgezogen werden.</p>

<p>Zunächst werden alle relevanten Unterlagen vorbereitet und die Aufnahme systematisch durchgeführt, damit Grundrisse und Messpunkte eindeutig und vollständig vorliegen. Anschließend folgt die strukturierte Auswertung: Flächen werden nachvollziehbar ermittelt, Neben- und Sonderflächen eindeutig zugeordnet und Zwischenergebnisse konsistent dokumentiert. Zum Abschluss entsteht eine klare Übergabe mit verständlicher Dokumentation und einer sauberen Ablage, sodass die Ergebnisse auch später leicht überprüfbar sind.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>

<p>Die Entwicklung unserer App orientierte sich an bestehenden Lösungen wie der Leica Distometer-App, bietet aber deutlich mehr Flexibilität und ist optimal auf die Praxis abgestimmt. Die Software wurde individuell für das Projekt konzipiert und umgesetzt. Ergänzend kommen bewährte Vermessungs- und <a href="https://www.autodesk.com/products/autocad/overview">CAD‑Werkzeuge</a> zum Einsatz. Einheitliche Referenzen und Layer sorgen für Ordnung, benannte Zwischenschritte für Transparenz. Plausibilitätsprüfungen begleiten den Ablauf, um Inkonsistenzen frühzeitig zu erkennen. Die Datenhaltung folgt einem festen Schema, damit Ergebnisse reproduzierbar bleiben und sich problemlos weiterverarbeiten lassen.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Durch die App und den optimierten Prozess werden Messungen deutlich schneller, Fehler werden reduziert und die Transparenz für alle Beteiligten steigt. Die digitale Verwaltung und Auswertung der Messungen sorgt für einen klaren Überblick und eine effiziente Projektabwicklung.</p>

<p>Weitere Details und Bilder zum Projekt finden sich im <a href="https://iagv.de/2023/09/04/optimierung-des-wohnflaechenaufmass-in-3-schritten/">Blogartikel bei IAGV</a>.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Vermessung" /><category term="Optimierung" /><summary type="html"><![CDATA[Kundenprofil Wohnungs‑ und Immobilienwirtschaft mit Bedarf an präzisen Flächenangaben und effizienten Aufmaß‑Prozessen.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/wohnfl%C3%A4chenaufma%C3%9F.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/wohnfl%C3%A4chenaufma%C3%9F.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Access Weiterentwicklung I</title><link href="https://infomatik.eu/blog/access-weiterentwicklung/" rel="alternate" type="text/html" title="Access Weiterentwicklung I" /><published>2023-09-01T00:00:00+02:00</published><updated>2023-09-01T00:00:00+02:00</updated><id>https://infomatik.eu/blog/access-weiterentwicklung</id><content type="html" xml:base="https://infomatik.eu/blog/access-weiterentwicklung/"><![CDATA[<p><img src="/img/blog/access.webp" alt="Access Modernisierung" /></p>

<h1 id="kundenprofil">Kundenprofil</h1>

<h1 id="problemstellung">Problemstellung</h1>
<p>Eine bestehende <a href="https://www.microsoft.com/de-de/microsoft-365/access">Access‑Datenbank</a> eines mittelständischen Unternehmens sollte gepflegt und um Funktionen erweitert werden. Ziel war es, die Datenqualität zu erhöhen und wiederkehrende Abläufe zu vereinfachen.
In der Rechnungstabelle waren wesentliche Informationen wie Kreditor, Rechnungsnummer und Datum in einer einzigen Freitext‑Spalte „Name“ vermischt. Das erschwerte Auswertungen und führte zu Fehlern. Darüber hinaus fehlten bequeme Filtermöglichkeiten und ein automatisierter Weg, Rechnungen aus DATEV in die Datenbank zu übernehmen.</p>

<h1 id="lösungsbeschreibung">Lösungsbeschreibung</h1>
<p>Zunächst wurden die Daten bereinigt und in sauber strukturierte Spalten überführt. Anschließend erhielt die Datenbank komfortable Filter nach Kreditor und Datum. Abschließend wurde ein Import für DATEV‑Rechnungsdateien umgesetzt, sodass neue Rechnungen schnell und verlässlich eingebunden werden.</p>

<h1 id="technische-umsetzung">Technische Umsetzung</h1>
<p>Die Migration trennte die Freitext‑Informationen in die Felder Kreditor, Rechnungsnummer und Datum und passte die Abfragen entsprechend an. Die neuen Filter erleichtern den Alltag spürbar. Der DATEV‑Import liest die relevanten Daten automatisiert ein und speichert sie konsistent.</p>

<h1 id="bewertung">Bewertung</h1>
<p>Die Datenbasis ist deutlich sauberer, Auswertungen sind präziser und wiederkehrende Aufgaben gehen schneller von der Hand. Das steigert Qualität und spart Zeit.</p>

<h1 id="ausblick">Ausblick</h1>
<p>Geplant sind weitere Plausibilitätsprüfungen und ein erweitertes Berichtswesen direkt aus Access.</p>]]></content><author><name>Felix Almesberger</name><email>felix@infomatik.eu</email></author><category term="Access" /><category term="Modernisierung" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://infomatik.eu/img/blog/access.webp" /><media:content medium="image" url="https://infomatik.eu/img/blog/access.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>