Erfolgsgeschichten
Hintergrund des Kunden
Kunde: TAXWARE Software Solutions GmbH
Branche: Steuerberatung, VAT-Management
Unternehmensgröße: Startup, Neugründung als Ausgliederung einer bekannten und erfolgreichen Steuerberatungskanzlei
Geschäftsmodell
TAXWARE wird gegründet, um eine Software für VAT-Management im E-Commerce-Bereich zu entwickeln. Die Software richtet sich an Steuerberater und Onlinehändler und optimiert deren Buchhaltungs- und Steuerprozesse, insbesondere die Abwicklung der Umsatzsteuer (VAT) in mehreren europäischen Ländern. Zu den Kernleistungen von TAXWARE zählen:
- > VAT Compliance: Unterstützung bei der Umsatzsteuer-Compliance in der EU.
- > OSS-Registrierung: Verwaltung der One-Stop-Shop (OSS) Anforderungen.
- > Lösungen für Steuerberater: Effiziente Unterstützung bei der Verwaltung und Optimierung der VAT-Prozesse für Mandanten.
- > Lösungen für Onlinehändler: Automatisierung der VAT-Prozesse bei grenzüberschreitenden Verkäufen und die Integration mit großen Marktplätzen und ERP-Systemen.
Ausgangssituation
Die Steuerberatungskanzlei, aus der TAXWARE ausgegliedert wird, verfügt über umfangreiches steuerliches Fachwissen. TAXWARE ist auf Guthand zugegangen, weil Guthand über das notwendige technische Know-how verfügt, um eine maßgeschneiderte Softwarelösung auf Enterprise-Niveau zu entwickeln. Der Kunde setzt bisher auf Fremdsoftware und manuelle Prozesse und möchte eine eigene, effizientere Software entwickeln, um die Geschäftsprozesse zu optimieren. Es fehlt jedoch das Know-how in der Individualsoftwareentwicklung, insbesondere im Bereich der Automatisierung und Integration von steuerlichen Prozessen. TAXWARE wurde gegründet, um dieses Softwareprojekt umzusetzen und Leistungen von Kanzleien durch die Automatisierung von VAT-Prozessen zu verbessern und zu skalieren.
Herausforderung
Fehlende Dokumentation als Risikofaktor
Zu Beginn des Projekts gibt es keine strukturierte Dokumentation oder klare Anforderungen, auf die das Entwicklungsteam zurückgreifen kann. Dies stellt in vielen Softwareprojekten ein erhebliches Risiko dar, da es zu Verzögerungen, Missverständnissen und einem erhöhten Arbeitsaufwand führen kann. In diesem Fall fehlt es an einem detaillierten Lastenheft, das den genauen Umfang des Projekts beschreibt. Dadurch müssen wir die Anforderungen kontinuierlich während der Entwicklung erarbeiten und konkretisieren.
Kein Lastenheft, kein Pflichtenheft
Ohne ein detailliertes Lastenheft, das die Wünsche des Kunden beschreibt, und ohne Pflichtenheft, das die technischen Anforderungen festlegt, ist es unmöglich, zu Beginn des Projekts eine formale und vollständige Funktionsbeschreibung zu erstellen. Die Anforderungen werden während der Entwicklung iterativ erarbeitet, was zusätzliche Abstimmungsarbeit und Klarheit auf allen Ebenen erfordert. Dieser Ansatz stellt eine besondere Herausforderung für die agile Entwicklungsmethode dar, da gleichzeitig neue Anforderungen definiert und implementiert werden müssen.
Behördliche Prüfungen erfordern hohe Dokumentationsstandards
Da die Software in einem stark regulierten Umfeld eingesetzt wird, muss sie von Anfang an den Anforderungen von behördlichen Prüfungen genügen. Dies bedeutet, dass alle Features und Algorithmen klar und umfassend dokumentiert werden, sodass externe Prüfer oder Behörden die Funktionsweise der Software nachvollziehen können. Dies ist besonders wichtig, um sicherzustellen, dass die Software alle rechtlichen Vorgaben erfüllt und den gesetzlichen Anforderungen entspricht.
Komplexität des Steuerrechts
Das deutsche und europäische Steuerrecht ist äußerst komplex, insbesondere im Hinblick auf VAT-Prozesse. Obwohl es nicht erforderlich ist, das Steuerrecht in seiner Gänze zu verstehen, müssen die relevanten Teile, die für die Erstellung der Algorithmen nötig sind, vollständig durchdrungen werden. Dies stellt für unser Entwicklungsteam eine besondere Herausforderung dar, da wir in kurzer Zeit die jeweiligen europäischen Gesetze und Regelungen erfassen und in die Software integrieren müssen.
Entwicklung präziser und flexibler Algorithmen
Die größte technische Herausforderung besteht darin, Algorithmen zu entwickeln, die nicht nur präzise und vorhersagbar arbeiten, sondern auch den komplexen rechtlichen Anforderungen in mehreren europäischen Ländern entsprechen. Diese Algorithmen müssen exakt die gesetzlichen Vorschriften umsetzen und gleichzeitig flexibel genug sein, um auf Gesetzesänderungen schnell und effizient reagieren zu können. Gleichzeitig müssen sie für Prüfer und externe Beteiligte klar und verständlich dokumentiert werden, um die behördliche Überprüfbarkeit zu gewährleisten.
Verarbeitung von Rohdaten statt vorverarbeiteter Daten
Im Gegensatz zu Wettbewerbern, die auf vorverarbeitete Daten zurückgreifen, entscheiden wir uns bewusst dafür, auf Rohdaten zu setzen. Diese Entscheidung treffen wir, um eine maximale Fehlervermeidung zu gewährleisten, da vorverarbeitete Daten potenziell fehlerhaft oder ungenau sein können. Die Arbeit mit Rohdaten bringt jedoch eine zusätzliche Komplexität mit sich, da diese Daten aus verschiedenen Quellen zusammengeführt und aufbereitet werden müssen. Dies stellt besondere Herausforderungen im Datenmanagement und in der Systemintegration dar.
Datenbankarchitektur für Massendaten
Die Verarbeitung und Speicherung großer Datenmengen aus verschiedenen Quellen, insbesondere API-Daten, stellt eine erhebliche Herausforderung dar. Wir müssen eine Datenbankarchitektur entwickeln, die sowohl den schnellen Zugriff auf unstrukturierte oder halbstrukturierte Daten ermöglicht als auch die effiziente Verarbeitung und Analyse strukturierter Daten unterstützt. Die Auswahl der richtigen Datenbanktechnologien ist entscheidend, um sowohl Performance als auch Flexibilität zu gewährleisten.
Serielle Verarbeitung von Daten
Eine weitere Herausforderung besteht darin, dass aufgrund bestimmter steuerlicher und rechtlicher Anforderungen einige Daten in einer strengen Reihenfolge verarbeitet werden müssen, da sie aufeinander aufbauen. Die Implementierung dieser seriellen Datenverarbeitung erfordert eine spezielle Softwarearchitektur, um sicherzustellen, dass alle Daten korrekt und in der richtigen Abfolge verarbeitet werden. Zusätzlich gibt es Tage im Monat, an denen es zu Auslastungsspitzen kommt, weil kumulierte Behördenmeldungen verarbeitet werden müssen. An diesen Tagen muss das System besonders leistungsfähig sein, um die erhöhte Datenmenge in der erforderlichen Reihenfolge verarbeiten zu können.
Cyber Security und API-Zugriff
Um den Zugriff auf die Amazon-Händler-API zu ermöglichen, muss das Thema Cyber Security von Anfang an berücksichtigt werden. Dies ist eine Voraussetzung, um die API-Integration erfolgreich zu gestalten. Die Software und die gesamte IT-Infrastruktur müssen einem strengen Cyber-Security-Audit standhalten, um die Sicherheitsanforderungen von Amazon zu erfüllen und den Zugang zur API zu gewährleisten.
Mandantenfähigkeit und konsistente User Experience
Die Software muss sowohl für Endnutzer (Onlinehändler) als auch für Steuerberater nutzbar sein. Dabei ist es eine Herausforderung, eine konsistente User Experience für beide Zielgruppen sicherzustellen, da die Anforderungen der beiden Nutzergruppen sehr unterschiedlich sind. Die Mandantenfähigkeit der Software muss gewährleistet sein, sodass Steuerberater mehrere Mandanten effizient verwalten können, ohne dass die Usability darunter leidet.
Lösung
Einarbeitung in die Themen
Um die komplexen steuerrechtlichen und technischen Anforderungen zu bewältigen, führen wir regelmäßige Workshops durch, in denen Arbeitspakete erstellt werden. Diese Arbeitspakete sind so aufbereitet, dass sowohl die Business- als auch die Entwicklungsseite klare Beschreibungen und Leitfäden haben, um zu wissen, welche Schritte notwendig sind. Diese systematische Herangehensweise stellt sicher, dass alle Beteiligten ein gemeinsames Verständnis der Anforderungen haben und die jeweiligen Aufgaben effizient erledigen können.
Aufteilung der Anforderungen in "Dienste"
Um die Komplexität des Projekts zu reduzieren, teilen wir die Anforderungen in einzelne Dienste (Services) auf. Diese Dienste bilden thematische Module innerhalb der Software, wodurch das System von Anfang an in separate, gut definierte Funktionsbereiche gegliedert wird. Dies macht es nicht nur einfacher, Anpassungen vorzunehmen, sondern ermöglicht es auch, Fehler effizient zu lokalisieren und zu beheben. Diese klare Struktur ermöglicht es den Teams von TAXWARE und Guthand, sich schnell in die jeweiligen Module einzuarbeiten, und erleichtert es neuen Mitarbeitern, sich in das Projekt zu integrieren.
Normalisierung der Datenquellen
Da die Software Daten aus verschiedenen Quellen verarbeiten muss, ist es entscheidend, dass diese Daten vor der Verarbeitung in ein konsistentes und standardisiertes Format gebracht werden. Zu diesem Zweck haben wir einen Normalisierung-Layer entwickelt, der sicherstellt, dass alle eingehenden Daten vor der Verarbeitung aufbereitet werden. Dadurch wird sichergestellt, dass das Endergebnis konsistent und zuverlässig ist, unabhängig von der Quelle der Daten.
Datenbankarchitektur mit MongoDB und MySQL
Um den effizienten Umgang mit großen Datenmengen zu gewährleisten, implementieren wir eine hybride Datenbankarchitektur. MongoDB wird als schneller und effizienter Speicher für große Datenmengen eingesetzt, die schnell abgespeichert werden müssen, ohne den Overhead einer relationalen Datenbank. Die dokumentenbasierte Architektur von MongoDB erlaubt es, unstrukturierte oder halbstrukturierte Daten schnell zu speichern und abzurufen, was insbesondere bei Massendaten wie API-Daten vorteilhaft ist.
API-Daten werden direkt in MongoDB gespeichert, dann holen sich die Dienste die Daten, verarbeiten sie und schreiben sie in MySQL, wo sie strukturiert und normalisiert für Analysen und Abfragen bereitstehen. Exporte und weitere Datenverarbeitungen erfolgen dann aus MySQL. Diese Architektur kombiniert die Vorteile beider Datenbanksysteme optimal:
- > MongoDB ermöglicht den schnellen und flexiblen Umgang mit unstrukturierten Daten ohne den Overhead einer relationalen Datenbank.
- > MySQL bietet komplexe Abfragemöglichkeiten mit Joins und Aggregationen und garantiert durch ACID-Eigenschaften eine hohe Konsistenz und Integrität der Daten.
Durch die Verwendung von MySQL für verarbeitete, normalisierte Daten können wir performante und effiziente Abfragen und Analysen durchführen. Diese hybride Datenbankarchitektur gewährleistet sowohl die Performance als auch die Flexibilität, die für die Anforderungen von TAXWARE notwendig sind.
Serielle Datenverarbeitung und das Producer-Consumer-Pattern
Für die serielle Verarbeitung von Daten implementieren wir das Producer-Consumer-Pattern. In diesem Modell gibt es "Producer" (Erzeuger), die Aufgaben oder Daten generieren, und "Consumer" (Verarbeiter), die diese Aufgaben in der vorgegebenen Reihenfolge abarbeiten. Dies gewährleistet, dass die Daten in der erforderlichen Reihenfolge verarbeitet werden. Für die Massendatenverarbeitung nutzen wir RabbitMQ als Message-Queue-System, das es uns ermöglicht, die Daten in der richtigen Reihenfolge zu verarbeiten und gleichzeitig eine hohe Skalierbarkeit zu erreichen.
Das Producer-Consumer-Pattern spielt in der skalierbaren Infrastruktur eine wichtige Rolle, besonders wenn es um die serielle Datenverarbeitung geht. Es hilft dabei, eine effiziente Lastverteilung und Synchronisation zwischen verschiedenen Komponenten der Software zu ermöglichen.
1. Producer-Consumer-Pattern im Kontext der Skalierbarkeit:
- > Producer: Ein Teil der Software erzeugt kontinuierlich Daten oder Aufgaben, die verarbeitet werden müssen. Diese "Producer"-Komponente generiert also Last, indem sie Anfragen bearbeitet und an das System weitergibt.
- > Consumer: Eine andere Komponente (oder mehrere) konsumiert und verarbeitet diese Daten oder Aufgaben. In der Regel erfolgt dies asynchron, sodass die Verarbeitung nicht blockiert wird.
2. Vertikale Skalierung und das Pattern:
Bei der vertikalen Skalierung kann ein leistungsstärkerer Server sowohl die Rolle des Producers als auch des Consumers übernehmen, indem er mehr Aufgaben und größere Datenmengen bewältigt. Das bedeutet, dass der Producer schneller neue Aufgaben erzeugen kann und der Consumer diese schneller verarbeiten kann. Die serielle Verarbeitung wird dabei von der verbesserten Hardwarekapazität eines Servers gestützt.
3. Horizontale Skalierung und das Pattern:
In einer horizontal skalierbaren Umgebung funktioniert das Producer-Consumer-Pattern sehr gut, da hier mehrere Producer und Consumer parallel arbeiten können. Durch Load Balancing und Distributed Queuing bauen wir das System so auf, dass mehrere Producer parallel Daten generieren, die dann auf eine Warteschlange gestellt und von mehreren Consumer-Einheiten verarbeitet werden. Diese Verteilung der Verarbeitungslast macht die horizontale Skalierung effizient.
Eine typische Implementierung ist eine Message Queue (wie z.B. RabbitMQ, Kafka), in der die Producer die Aufgaben in eine Warteschlange legen, und mehrere Consumer diese in Echtzeit oder batchweise abarbeiten. Dadurch wird die Verarbeitung sowohl parallelisiert als auch entkoppelt.
4. Serielle Datenverarbeitung und Synchronisation:
In der seriellen Datenverarbeitung hilft das Producer-Consumer-Pattern dabei, sicherzustellen, dass Aufgaben in einer bestimmten Reihenfolge verarbeitet werden, während das System trotzdem skaliert. Beispielsweise sorgt eine Queue dafür, dass die Consumer die Aufgaben in der richtigen Reihenfolge übernehmen, selbst wenn sie parallel arbeiten. Bei manchen Szenarien ist es wichtig, die Reihenfolge der Aufgaben zu bewahren, während die Last auf mehrere Consumer verteilt wird.
Beispiel in einer skalierbaren webbasierten Software-Infrastruktur:
Ein Service empfängt viele gleichzeitige Anfragen (Producer) und stellt diese in eine Warteschlange. Mehrere Instanzen von Backend-Services (Consumer) verarbeiten diese Anfragen und kommunizieren die Ergebnisse zurück. Wenn die Last steigt, können zusätzliche Backend-Server (Consumer) hinzugefügt werden, was die horizontale Skalierung ermöglicht. Falls ein einzelner Server an seine Grenzen kommt, skalieren wir vertikal, um mit der steigenden Last klarzukommen.
Zusammengefasst integriert das Producer-Consumer-Pattern sich nahtlos in unser skalierbares System, indem es Lastspitzen effizient verteilt und durch serielle Verarbeitung sicherstellt, dass die Konsistenz und Reihenfolge der Datenverarbeitung gewahrt bleibt.
Cybersecurity
Um den Zugriff auf die Amazon-Händler-API zu gewährleisten, integrieren wir von Anfang an umfassende Sicherheitsmaßnahmen in die Software. Dies umfasst sowohl die Infrastruktur als auch die Anwendungsebene. Um die Sicherheitsanforderungen von Amazon zu erfüllen, besteht die Software einen strengen Cyber-Security-Audit, der sicherstellt, dass die Software höchsten Sicherheitsanforderungen genügt und die Datenintegrität gewährleistet ist.
Ergebnisse
- > Automatisierung der VAT-Prozesse:Die Software automatisiert erfolgreich die VAT-Prozesse und ermöglicht es Steuerberatern und Onlinehändlern, ihre Umsatzsteuerprozesse effizienter zu gestalten.
- > Modulare Struktur und Skalierbarkeit: Die modulare Struktur der Software ermöglicht eine einfache Erweiterung und Skalierbarkeit, sodass sie problemlos an neue Anforderungen angepasst werden kann.
- > Effiziente Datenverarbeitung durch hybride Datenbankarchitektur: Durch die Kombination von MongoDB und MySQL wird sowohl die schnelle Speicherung und Verarbeitung großer unstrukturierter Datenmengen als auch die effiziente Analyse strukturierter Daten ermöglicht. Dies verbessert die Performance und Flexibilität der Software erheblich.
- > Genauigkeit durch Rohdatenverarbeitung: Durch den Fokus auf Rohdaten anstelle von vorverarbeiteten Daten wird die Genauigkeit der Steuerberechnungen signifikant verbessert und die Fehlerrate minimiert.
- > Erfüllung behördlicher Anforderungen: Die serielle Datenverarbeitung und die sorgfältige Dokumentation stellen sicher, dass die Software alle behördlichen Anforderungen erfüllt und flexibel genug ist, um auf Gesetzesänderungen zu reagieren.
- > Erfolgreicher Cyber-Security-Audit: Der erfolgreiche Cyber-Security-Audit ermöglicht den Zugriff auf die Amazon-Händler-API und erhöht die Datensicherheit der Software signifikant.
- > Markterfolg und Investment: Die Gesellschaft geht erfolgreich an den Markt und sichert sich ein großzügiges Investment einer renommierten Investorengruppe. Diese Gruppe plant, die Software in einen Branchenverband von Steuerberatern einzugliedern, was zu Multiplikatoreffekten führen wird.
Wer ist Kaufland e-commerce Services GmbH, und was ist das Hauptgeschäftsfeld des Unternehmens?
Kaufland e-commerce Services GmbH ist Teil der Schwarz Gruppe und betreibt internationale Online-Marktplätze für die Marke Kaufland. Das Unternehmen spielt eine zentrale Rolle in der Omni-Channel-Strategie der Gruppe und bietet ein umfassendes Produktangebot von mehr als 45 Millionen Artikeln, unterstützt durch moderne Plattform-Technologie und innovative Services wie die Kaufland App und Fulfillment by Kaufland. Kaufland e-commerce kombiniert die Power und Infrastruktur einer großen Unternehmensgruppe mit einem dynamischen, start-up-ähnlichen Umfeld, um das digitale Einkaufserlebnis kontinuierlich zu verbessern.
Welche spezifischen Anforderungen oder Herausforderungen hat Kaufland im Bereich des Personalmanagements?
Kaufland e-commerce benötigt hochqualifiziertes Personal, um die technischen und operativen Anforderungen des stark wachsenden E-Commerce-Geschäfts zu bewältigen und Innovationen voranzutreiben.
Warum wurde die Guthand GmbH als langjähriger Dienstleister für die Durchführung der Leistung ausgewählt?
Die Guthand wurde aufgrund seiner umfassenden Erfahrung im E-Commerce-Sektor ausgewählt. Das Unternehmen bietet Zugang zu qualifizierten Fachkräften, die über spezifisches Know-how in den relevanten Technologien und Prozessen verfügen und sich schnell in die Anforderungen von Kaufland e-commerce einarbeiten können.
Herausforderung
Schwierige Suche nach qualifizierten Fachkräften
- > Der stark umkämpfte Arbeitsmarkt machte es schwer, geeignete Entwickler zu finden.
Besonders Senior-Entwickler schwer zu finden
- > Erfahrene Fachkräfte waren rar und nur schwer für feste Anstellungen zu gewinnen.
Mangelnde Flexibilität bei Personalbedarf
- > Interne Ressourcen konnten nicht kurzfristig angepasst oder aufgestockt werden.
Kurzfristige Unterstützung für Arbeitsspitzen nicht verfügbar
- > In projektkritischen Phasen fehlten schnell einsetzbare Experten.
Lösung
Bereitstellung erfahrener Entwickler durch IT-Team-Augmentation
- > Flexible Experten wurden gezielt und bedarfsgerecht bereitgestellt.
Nahtlose Integration in bestehende Teams
- > Die externen Fachkräfte arbeiteten reibungslos mit den internen Teams zusammen.
Schnelle Verfügbarkeit von Experten ohne langwierige Einstellungsprozesse
- > Entwickler konnten kurzfristig ins Projekt eingebunden werden.
Unterstützung in Cloud-Entwicklung
- > Spezialisten brachten tiefgehendes Wissen in modernen Technologien mit.
Ergebnisse
Schnellere Skalierbarkeit
- > Das Unternehmen konnte kurzfristig auf qualifizierte Fachkräfte zugreifen.
Erhöhte Flexibilität
- > Arbeitsspitzen wurden abgefangen, ohne interne Mitarbeiter zu überlasten.
Kosteneffizienz
- > Es entstanden keine dauerhaften Personalkosten, da Experten nur nach Bedarf eingesetzt wurden.
Verbesserte Projektqualität
- > Die schnelle Verfügbarkeit erfahrener Entwickler optimierte die Umsetzung komplexer Anforderungen.