Von WhatsApp-Fotos zum Live-Auftragsbuch: ein ERP und eine Offline-Außendienst-App für Distributoren
AIVCJ ERP ersetzt den Kreislauf aus Tally, Excel und WhatsApp: eine Außendienst-App, die Aufträge ohne Netz aufnimmt und nie doppelt synchronisiert, Kreditsperren, die im Code entschieden werden, FEFO-Kommissionierung mit GST-Rechnungen und Fragen in Alltagssprache, beantwortet durch eine sichtbare Nur-Lese-Abfrage. Gemessen mit einem Synchronisationstest auf zwei Handys und einem Blindtest für NL-zu-SQL.

Die meisten Distributoren, die wir kennen, arbeiten mit drei Werkzeugen: Tally (die in Indien verbreitetste Buchhaltungssoftware) für Rechnungen, Excel für Bestand und offene Posten und WhatsApp für alles andere. Ein Vertreter fotografiert im Laden einen Bestellzettel, schickt ihn ins Büro, jemand tippt ihn am nächsten Morgen in Tally ein – und erst dann fällt auf, dass der Laden bereits ₹50,000 schuldet und seit zwei Monaten nicht gezahlt hat. Der Bestand liegt bei „ungefähr 20 Kartons“ – bis er es eines Tages nicht mehr tut.
Wir haben AIVCJ ERP gebaut, um zu zeigen, was diesen Kreislauf ersetzt: eine Außendienst-App, die ohne Netz funktioniert, ein Auftragsbuch, das die Kreditlinie prüft, bevor etwas ausgeliefert wird, Bestand nach Charge und Verfallsdatum, GST-Rechnungen mit einem Klick und eine Möglichkeit für den Inhaber, Fragen in Alltagssprache zu stellen. Das Ganze läuft auf einem fiktiven FMCG-Distributor: Northwind Distribution mit 3 Lagern (Nagpur, Indore, Hubli), 396 Einzelhändlern, 8 Außendienstmitarbeitern, 123 SKUs und 100 Tagen Historie. Jeder Besucher erhält seine eigene Kopie.
Der Auftrag, vom Laden bis zur Rechnung
- Im Laden – der Vertreter öffnet in der App Northwind Sales die Tagestour (den „Beat“, seine tägliche Verkaufsroute), sieht den Kreditstatus des Ladens, fügt Kartons hinzu und gibt den Auftrag auf. Kein Netz? Der Auftrag wird auf dem Handy gespeichert und als „wartet auf Netz“ markiert.
- Synchronisation – sobald das Handy wieder online ist, wird die Warteschlange automatisch hochgeladen. Das ERP bepreist jede Position nach seiner eigenen Preisliste und führt die Kreditprüfung im Code durch.
- Kreditsperre – überschreitet der Laden sein Limit oder ist eine Rechnung über dem Zahlungsziel, wird der Auftrag mit dem genauen Grund gesperrt („Offen ₹49,917 + dieser Auftrag ₹12,147 = ₹62,064, über dem Limit von ₹50,000; Rechnung NW/26-27/000993 ist 74 Tage alt“). Der Inhaber gibt ihn mit Begründung frei oder storniert ihn. Die App des Vertreters aktualisiert sich von selbst.
- Kommissionierung und Rechnung – das Lager kommissioniert chargenweise nach FEFO (First Expired, First Out), überspringt alles, was innerhalb von 15 Tagen verfällt, und die GST-Steuerrechnung wird mit HSN-Codes, Chargennummern, CGST + SGST oder IGST und dem Betrag in Worten erzeugt.
- Nachbestellung – Abverkaufsrate × Lieferzeit des Lieferanten zeigt, was ausgehen wird, gruppiert nach Lieferant und Lager; ein Klick erstellt die Bestellung beim Lieferanten, und der Wareneingang bucht die neuen Chargen in den Bestand.
Offline zuerst – und nie doppelt
Außendienstverkauf in Indien findet in Godowns (lokalen Lagerhallen), Kellern und Kleinstädten statt. Eine App, die zum Speichern eines Auftrags Netz braucht, verliert Aufträge. Deshalb schreibt die App Northwind Sales (gebaut mit Expo / React Native) jeden Auftrag und jede Zahlung zuerst auf das Handy – SQLite unter Android – und lädt sie später hoch.
Das Schwierige an Offline ist nicht die Speicherung, sondern die Wiederholungsversuche. Ein Vertreter tippt auf „Auftrag aufgeben“, die Anfrage erreicht den Server, die Antwort geht in einem Funkloch verloren, und das Handy versucht es erneut. Ohne Vorkehrung sind das zwei Aufträge. Jedes Element, das die App in die Warteschlange stellt, trägt eine eigene ID, und das ERP gibt den bestehenden Auftrag zurück, wenn es eine ID zum zweiten Mal sieht. Preise und Kreditrahmen auf dem Handy sind nur eine Vorschau: Das ERP bepreist und prüft beim Eingang alles neu, sodass ein veraltetes Handy nie zu einem alten Preis oder über ein Limit hinaus verkaufen kann.
Bestand wird bei der Kommissionierung im Lager zugeteilt, nicht bei der Auftragsannahme durch den Vertreter – zwei Vertreter können also gleichzeitig die letzten 20 Kartons verkaufen, ohne dass einer von beiden Netz hat. Die zweite Kommissionierung wird dann mit einer klaren Fehlmenge blockiert („850 fehlen“), und der Inhaber verlagert Bestand oder erstellt eine Bestellung (PO). Nichts wird überverkauft, und keine Charge rutscht ins Minus.
Kreditkontrolle im Code, nicht im Modell
Kreditentscheidungen sind Geldentscheidungen, deshalb ist keine KI beteiligt. Ein kleines Regelmodul entscheidet: Das Risiko ergibt sich aus offenen Rechnungen plus offenen, noch nicht fakturierten Aufträgen plus diesem Auftrag, verglichen mit dem Limit des Ladens; und jede unbezahlte Rechnung, die älter als das Zahlungsziel des Ladens ist, sperrt den Auftrag. (Die Lücke bei den offenen Aufträgen haben wir beim Testen gefunden – ein zweiter Auftrag desselben Ladens ignorierte den ersten, gesperrten. Sie ist behoben und hat jetzt einen eigenen Unit-Test.) Eine Freigabe erfordert immer eine Begründung, und jede Freigabe, Limitänderung und Bestandskorrektur wird in einem Audit-Log protokolliert.
Fragen Sie Ihre Daten – mit Leitplanken
Die einzige Stelle, an der wir KI einsetzen, sind die Fragen des Inhabers: „Welche Händler in Nagpur sind mehr als 60 Tage überfällig?“, „Bruttomarge nach Kategorie in diesem Monat“. Claude Haiku 4.5 schreibt eine SQL-Abfrage; anschließend entscheidet das ERP, ob sie ausgeführt werden darf:
- die Abfrage läuft in einer Nur-Lese-Transaktion, ausschließlich auf 14 Views der eigenen Kopie des Besuchers (Beträge in Rupien, keine Telefonnummern);
- eine Prüfung im Code weist alles zurück, was kein einzelnes SELECT ist oder Systemtabellen, Einstellungen oder irgendetwas außerhalb dieser Views berührt – getestet mit 28 erlaubten und Angriffsfällen;
- 5 Sekunden Timeout, maximal 200 Zeilen, 15 Fragen pro Besucher und Tag;
- die exakte Abfrage wird angezeigt – zu jeder Antwort, als Tabelle und – wenn die Datenform passt – als Diagramm.
Fragen, die die Daten nicht beantworten können – der Preis eines Wettbewerbers, der Umsatz des nächsten Monats, „lösche alle stornierten Aufträge“ – erhalten eine kurze Antwort, die sagt, was stattdessen beantwortet werden kann. Eine Frage kostet etwa $0.002.
Was wir gemessen haben
| Test | Ergebnis | Wie |
|---|---|---|
| Offline-Sync – 2 Handys, ein Wiederholungsversuch nach verlorener Antwort, beide bestellen ~70% desselben Bestands | 10/10 Prüfungen, in 6 lokalen Läufen und auf dem Live-Server | Keine doppelten Aufträge; das ERP bepreist neu; die erste Kommissionierung wird ausgeliefert, die zweite wegen Fehlmenge blockiert; kein negativer Bestand |
| Fragen Sie Ihre Daten – Blindtest (20 Fragen) | 17/20 (85%); bei n = 20 liegt die ehrliche Spanne bei etwa 64–95% | Von einem separaten Autor verfasst, der unseren Prompt nie gesehen hat; einmal ausgeführt, vor jeder Korrektur |
| Fragen Sie Ihre Daten – unser Skript-Set (30) | 17/30 im ersten Lauf → 30/30 nach Korrekturen | Wir haben auf dieses Set hin optimiert; 30/30 ist daher eine Obergrenze, keine Genauigkeitskennzahl |
| Regeln, SQL-Prüfung und Bewerter | 20 Unit-Tests bestanden | GST innerhalb des Bundesstaats/zwischenstaatlich, Kredit, FEFO, Nachbestellung; 28 SQL-Angriffs-/Erlaubt-Fälle |
Zwei Anmerkungen zur Ehrlichkeit. Erstens werden die Antworten im Code bewertet, nicht von einem KI-Richter: Die Abfrage des Modells und eine handgeschriebene korrekte Abfrage laufen auf denselben Daten, und die Ergebnisse werden verglichen (gleiche Zeilen, gleiche Zahlen mit ±1% Toleranz). Zweitens waren die drei Fehler im Blindtest echt: Eine Liste wurde bei 50 Zeilen abgeschnitten, eine Zeitreihe kam mit dem neuesten Wert zuerst, und eine Frage nach einem Wettbewerberpreis wurde in unserem eigenen Katalog gesucht, statt abgelehnt zu werden. Den ersten und dritten Fehler haben wir nach dem Lauf behoben; die 17/20 bleiben wie gemessen. Der erste Skript-Lauf deckte außerdem vier Fehler in unseren Referenzabfragen auf – gleichnamige Läden wurden zusammengeführt –, weshalb die Beispieldaten jetzt eindeutige Ladennamen haben.
Was es braucht, um Tally anzubinden
Die meisten Distributoren werden Tally nicht am ersten Tag ersetzen, und das müssen sie auch nicht. Der praktische Weg ist eine nächtliche oder stündliche Synchronisation: Stammdaten (Konten, Artikel, Godowns) und offene Rechnungen kommen über die XML-Schnittstelle von Tally herein, Verkaufsaufträge fließen nach der Fakturierung als Buchungsbelege (Vouchers) zurück, und das ERP verwaltet, was Tally nicht abdeckt – Touren (Beats), Außendienstaufträge, chargengenauen Bestand, Sperren und den Prüfpfad. Die Demo ruft weder Tally noch das GST-Portal auf; die Felder für E-Rechnung (IRN) und E-Way-Bill (elektronischer Transportbeleg) sind für diesen Schritt vorbereitet.
Probieren Sie es aus: Öffnen Sie erp.demos.aivcj.com, nehmen Sie in der Sales-App einen Auftrag für Shree Ganesh Kirana auf, beobachten Sie, wie er in die Kreditsperre läuft, geben Sie ihn frei, kommissionieren Sie ihn und öffnen Sie die Rechnung. Schalten Sie die App dann auf „kein Netz“ und wiederholen Sie das Ganze.
- #ERP
- #Distribution
- #Offline-first
- #React Native
- #Case study
- #Evaluation
Häufig gestellte Fragen
01Funktioniert die Außendienst-App wirklich ohne Internet?
02Kann die KI Daten ändern oder die Daten anderer Kunden sehen?
03Müssen wir aufhören, Tally zu nutzen?
ERP – Lager, Kredit & Aufträge
Bestand, Kreditverkäufe, Bestellungen und Aufträge – in einem übersichtlichen System.
Weiterlesen
ERP & Betrieb5 Min. Lesezeit
Vom Chatbot zum Kollegen: ein HR-Assistent, der sicher handelt
AIVCJ HR beantwortet nicht nur Urlaubsfragen – er beantragt Urlaub, leitet Genehmigungen weiter und entwirft HR-Schreiben. So haben wir eine KI handeln lassen, ohne sie die Regeln machen zu lassen: eine Policy-Engine im Code, eine Bestätigungskarte vor jeder Aktion, Rollenrechte und ein Audit-Log. Gemessen an einem geskripteten und einem Blind-Testset.
Weiterlesen1 Min. Lesezeit
Die Wahl des richtigen ERP für Großhändler mit Kreditverkäufen
Im Großhandel wird Gewinn im Einkauf gemacht und in den Forderungen verloren. Was Sie von einem ERP verlangen sollten, wenn Sie überwiegend auf Kredit verkaufen.
Weiterlesen
KI & RAG4 Min. Lesezeit
Warum die meisten Firmen-Chatbots Antworten erfinden – und wie wir einen gebaut haben, der seine Quellen nennt
Ein Blick hinter die Kulissen von AIVCJ Knowledge: hybride Suche, Abfrageplanung, eine Faktenprüfung jeder Antwort und zwei öffentliche Testsets – darunter ein Blind-Set, geschrieben so, wie echte Menschen tippen. Live testen mit Beispieldokumenten aus HR, Produkt und GST – oder mit Ihrem eigenen PDF.
Weiterlesen