FixFlow

Eine Lager-App von Grund auf erneuert

FixFlow ist die Lager-App von AMIT für Autohändler. Mitigate hat sie als native Android-App komplett neu gebaut; seit dem 28. August 2026 steht sie im Google Play.

KotlinJetpack ComposeClean ArchitectureRoomKtorKoin

Zwei Smartphones mit FixFlow: das Menü der Lagervorgänge und eine Kommissionierliste

Ausgangslage

Ausgangslage

FixFlow arbeitet mit AutoMaster zusammen. Die Lagermitarbeitenden geben damit auf Handscannern Ersatzteile aus und nehmen sie an, inventarisieren und drucken Etiketten. Die App entstand 2021, und nach fünf Jahren wurde es immer mühsamer, sie zu pflegen und weiterzuentwickeln.

AMIT brauchte eine App, die sich schnell weiterentwickeln lässt und auf die sich die Mitarbeitenden eine ganze Schicht lang verlassen können.

  • Aufwendige und fehleranfällige Entwicklung

    Jede Änderung war heikel: In der App überlagerten sich drei verschiedene Gestaltungsmuster, die Fachlogik steckte im Bildschirmcode, und einzelne Dateien umfassten über 1000 Zeilen. Eine Korrektur konnte unvermittelt eine ganz andere Funktion zerstören.

  • Kein Sicherheitsnetz

    Es gab weder automatisierte Tests noch eine statische Codeanalyse. Störungen fielen deshalb zuerst den Mitarbeitenden im Tagesgeschäft auf und nicht der Entwicklung vor der Freigabe.

  • Unverständliche Fehlermeldungen

    Im Fehlerfall bekamen die Nutzerinnen und Nutzer technischen Codetext zu sehen, mit dem sie nichts anfangen konnten; einzelne Fehler legten die App vollständig lahm.

  • Im Alltag unzuverlässig

    Große Belege mit rund 300 Positionen brachten die App zum Absturz, durch Serverfehler gingen Daten verloren oder verdoppelten sich, und eine mitten im Vorgang abbrechende Sitzung zwang zur erneuten Anmeldung.

Die Lösung

Neu gebaut, nicht geflickt

Mitigate hat FixFlow von Grund auf neu gebaut: eine moderne native Android-App in Kotlin mit einer Oberfläche in Jetpack Compose. Fachlogik, Daten und Oberfläche sind strikt von den Hardware-Anbindungen getrennt (Scanner, Drucker, Signale und Systemaktualisierungen), sodass sich jeder Teil unabhängig von den anderen ändern lässt.

  • Clean Architecture, überprüft statt vereinbart

    Daten, Fachlogik und Bildschirme liegen für jede Funktion in eigenen Schichten. Damit die Architektur eingehalten wird, prüfen das bei jedem Build 12 eigens geschriebene Analyseregeln automatisch.

  • Änderungen schnell und ohne Risiko

    Die App ist in 99 einzelne Geschäftsvorfälle und 19 Bildschirmsteuerungen zerlegt. Neue Funktionen kommen neben den bestehenden Code, statt sich durch ihn hindurchzuziehen - so lassen sich Verbesserungen zügig ausliefern, ohne Bewährtes zu gefährden.

  • Schrittweise und sichere Einführung

    Die neue App wurde Funktionsblock für Funktionsblock eingeführt, während die alte Version weiterlief. Alle Einstellungen wurden beim ersten Start automatisch übernommen, niemand musste sein Gerät neu einrichten.

Von der ersten Codezeile bis zum Google Play - 14 Monate

  1. Jun 2025

    Start der Funktionsentwicklung

  2. Aug 2025

    Erste Testversion (4.0)

  3. Mär 2026

    Warenausgabe neu gebaut, automatisierte Tests eingeführt

  4. Jun 2026

    Version 5.0 mit Entwürfen im Offline-Betrieb

  5. Aug 2026

    Veröffentlichung im Google Play ohne einen einzigen Befund der Codeanalyse

Arbeitsabläufe

Die wichtigsten Arbeitsabläufe

Alle Abläufe wurden daran ausgerichtet, wie im Lager tatsächlich gearbeitet wird - samt der Rückmeldungen aus fünf Jahren Betrieb.

Ausgabe, Vorkommissionierung und Rücknahme

Alle drei Vorgänge beginnen auf demselben Bildschirm. Der Beleg lässt sich schnell über die Auftrags- oder Bestellnummer finden, und eine Rücknahme startet man, indem man den Artikel einfach scannt. Steht ein Artikel in mehreren Zeilen, wird die Zeile nur einmal gewählt.

Ein FixFlow-Ausgabebeleg mit Ersatzteilzeilen und ZiffernblockDas FixFlow-Menü mit Kommissionierung, Vorkommissionierung und Rücknahme

Wareneingang

Die Liefernummer findet man, indem man sie scannt. Die Pause zwischen zwei Scans liegt bei 0,5 Sekunden, und noch nicht übertragene Daten bleiben auch dann sicher auf dem Gerät, wenn die Netzverbindung abreißt.

Ein FixFlow-Wareneingangsbeleg mit Artikelnummern und MengenFixFlow-Hinweis auf noch nicht übertragene Artikel

Barcodes scannen

Drei verschiedene Ton- und Vibrationssignale - für Bestätigung, Warnung und Fehler - sind gut auseinanderzuhalten, ohne den Blick vom Regal zu nehmen. Scanner von Zebra, Newland und Honeywell laufen über eine gemeinsame Anbindung.

Ein Handscanner mit dem FixFlow-Bildschirm zum Scannen von BarcodesFixFlow-Meldung über die abgeschlossene KommissionierungFixFlow-Warnung über eine Abweichung zwischen gezählter und berechneter Menge
  • Inventur

    Für einen Artikel lassen sich Mengen an bis zu drei Lagerplätzen gleichzeitig erfassen. Die Zählungen bleiben bis zur Übertragung sicher auf dem Gerät, und ein Scan wird nicht mehr doppelt gezählt.

  • Ersatzteile und Etiketten

    Ersatzteile lassen sich über Text oder Barcode suchen, und Etiketten gehen ohne weitere Netzwerkeinrichtung direkt an den mobilen Zebra-Drucker.

  • Anmeldung und Sprachen

    Der Lizenzschlüssel lässt sich vom QR-Code einlesen, die Filiale direkt in der App wechseln, und die Oberfläche gibt es in vier Sprachen: Lettisch, Englisch, Litauisch und Bulgarisch.

Technologien

Die Technologien hinter FixFlow

Die neue App steht auf einem einheitlichen, aktuellen Kotlin-Fundament. In der alten Version kamen Android-Werkzeuge aus mehreren Generationen nebeneinander zum Einsatz.

Oberfläche

Alte App

XML-Layouts und Fragments, vermischt mit Jetpack Compose

Neue App

In der ganzen App ausschließlich Jetpack Compose

Architektur

Alte App

Codeschichten nur per Absprache, ohne verbindliche Prüfung

Neue App

Clean Architecture je Funktion, beim Build automatisch geprüft

Speicherung auf dem Gerät

Alte App

SQLDelight; Entwürfe mit der Cache-Datenbank vermischt

Neue App

Room 2.8: eigener Cache und migrierte Entwurfsdatenbank

Automatisierte Tests

Alte App

Keine

Neue App

764 Tests

Statische Analyse

Alte App

Keine

Neue App

Automatische Codeprüfung (detekt) ohne zugelassene Befunde, mit 12 eigenen Architektur- und Compose-Regeln

Werkzeuge

Alte App

Kotlin 2.2, AGP 8.7, Gradle 8.11, SDK 35

Neue App

Kotlin 2.4, AGP 9.3, Gradle 9.7, SDK 37

Zum Scannen dienen die Broadcast-Anbindungen der Hersteller (Zebra DataWedge, Newland, Honeywell); Etiketten druckt das Gerät direkt über Zebra PrintConnect.

Das Ergebnis

Das Ergebnis

Die neue App steht seit dem 28. August 2026 im Google Play. Der größte Gewinn ist die Haltbarkeit und Wartbarkeit des Systems - Änderungen und Verbesserungen lassen sich jetzt schnell und sicher ausliefern, ohne den laufenden Betrieb zu stören.

  • 764

    automatisierte Tests in 83 Quelldateien

  • 0

    Befunde der Codeanalyse - schon die kleinste Abweichung blockiert die Freigabe

  • 12

    eigene Architekturregeln

  • ~28

    Compose-UI-Regeln für die Prüfung des Bildschirmcodes

Seit dem Start der App ist keine einzige Meldung über doppelte Zählungen eingegangen - in der alten Version haben sich die Mitarbeitenden regelmäßig darüber beschwert.

Eine Störung zu beheben dauert jetzt Tage, nicht Monate

Bearbeitungsdauer vergleichbarer Fehler und Verbesserungen in Jira (vom Eingang der Meldung bis zur Lösung):

Alte App

  • Mengenfeld im Wareneingang reagiert nicht auf manuelle Korrektur

    70 Tage
  • Einstellung für den automatischen Ziffernblock im Wareneingang wirkt nicht

    83 Tage
  • Absturz beim Laden eines umfangreichen Wareneingangsbelegs

    51 Tage

Neue App

  • Lagerplatz im Wareneingang verschwindet nach dem Hinzufügen eines Kommentars

    7 Tage
  • Etikettendruck sperren, bis der Server die Daten bestätigt

    5 Tage
  • Noch nicht übertragene Daten bei Netzabbruch sichern

    7 Tage