Wähle deine Excel-Dateien aus und klicke unten auf „▶ Auswertung starten".
📊 Umsatzliste (Pflicht)
Power-BI-Export mit IAM- und OT-Umsätzen pro Kunde — die Hauptdatei der Auswertung.
ℹ️ So bekommst du die Excel aus Power BI
Personalisieren✏ ✕
Visualisierungstyp
Matrix ›
Zeilen+
Kundenname (Nr.) ›
Adresse ›
PLZ-Code ›
Ort ›
Spalten+
Zeitanalyseelement ›
Werte+
IAM_Umsatz›
OT_Umsatz›
In Power BI das Matrix-Visual wie nebenstehend konfigurieren:
Geschäftsbereich:IAM und OT auswählen — bitte in das Feld klicken
Zeilen: Kundenname (Nr.), Adresse, PLZ-Code, Ort
Spalten: Zeitanalyseelement
Werte: IAM_Umsatz, OT_Umsatz
Den Filter Tag_Date rechts wie folgt einstellen:
Tag_Date ▲ ◇
01.01.2025 – 31.12.2025
Filtertyp
Relatives Datum ∨
Elemente anzeigen, wenn für deren Wert gilt
in den letzten ∨
1
Kalenderjahren ∨
Filter anwenden
Den Filter Datum wie folgt einstellen — dann wandert das Datum immer einen Tag mit:
Datum ▲ ◇
28.04.2025 – 27.04.2026
Filtertyp
Relatives Datum ∨
Elemente anzeigen, wenn für deren Wert gilt
in den letzten ∨
1
Jahre ∨
✓Einschließlich heute
Filter anwenden
Visual als Lesezeichen speichern – Ansicht ist dann wiederholbar.
Auf „… → Daten exportieren" → „Zusammengefasste Daten" als .xlsx speichern.
📊 Optional: Tourenauswertung Kunde
Tipp: stelle den Kalender-Filter auf die ersten 3 Monate (Q1) — dann wird AP zur Q1-Auswertung und Kunden mit weniger als 500 € Q1-Umsatz werden automatisch rot markiert. Der OT-Umsatz kommt automatisch aus der Umsatzliste-Excel und wird in der Tourenauswertung mit der AP-Spalte verrechnet. Die Auswertung findest du anschließend unter Kunden → 📊 Tourenauswertung.
ℹ️ Excel aus dem Power-BI-Bericht erzeugen
In Power BI in der linken Seitenleiste auf Tour klicken (siehe Bild 1).
Filter setzen: Vertriebsbeauftragter auf deinen Namen einschränken, Kundenname / Lagerort / TecDoc Einspeiser / Umsatzstatus / Belegnummer ggf. auf Alle belassen.
Im Visual Tourenauswertung rechts oben auf Personalisieren klicken und Matrix wie in Bild 2 konfigurieren — Zeilen = Tour + Kundenname (Nr.), Spalten = Zeitanalyseelement, Werte = Umsatz, Marge, Marge %, Menge.
Filter wie in Bild 3 einstellen — Kalender Zeitfenster (z.B. 01.01.–31.03. für Q1), Geschäftsbereich = IAM (OT kommt automatisch aus der Umsatzliste-Excel hinzu), System D365/NAV09/Sage B7, Unternehmen nach Bedarf.
Auf „Datei → Exportieren" als .xlsx speichern.
In der App unter Kunden → 📊 Tourenauswertung → 📥 Excel hochladen einlesen, anschließend in den Einstellungen die gewünschten Touren anhaken.
Bild 1 — Power BI: Seite „Tour" + FilterBild 2 — PersonalisierenBild 3 — Filter
🔧 Optional: Werkstattausrüstung-Excel (2. Excel)
Eigene Excel mit WA-Umsätzen pro Kunde. Wird als zusätzliche Umsatzschiene (neben IAM/OT) angezeigt.
ℹ️ Wie muss die WA-Excel aussehen?
Personalisieren✏ ✕
Visualisierungstyp
Matrix ›
Zeilen+
Kundenname (Nr.) ›
Adresse ›
PLZ-Code ›
Ort ›
Spalten+
Zeitanalyseelement ›
Werte+
Umsatz›
In Power BI das Matrix-Visual wie nebenstehend konfigurieren:
Geschäftsbereich: nur WA auswählen — bitte in das Feld klicken
Zeilen: Kundenname (Nr.), Adresse, PLZ-Code, Ort
Spalten: Zeitanalyseelement
Werte: nur Umsatz (kein IAM/OT-Split — eine einzige Umsatz-Spalte)
Den Filter Tag_Date rechts wie folgt einstellen:
Tag_Date ▲ ◇
01.01.2025 – 31.12.2025
Filtertyp
Relatives Datum ∨
Elemente anzeigen, wenn für deren Wert gilt
in den letzten ∨
1
Kalenderjahren ∨
Filter anwenden
Den Filter Datum wie folgt einstellen — dann wandert das Datum immer einen Tag mit:
Datum ▲ ◇
28.04.2025 – 27.04.2026
Filtertyp
Relatives Datum ∨
Elemente anzeigen, wenn für deren Wert gilt
in den letzten ∨
1
Jahre ∨
✓Einschließlich heute
Filter anwenden
Visual als Lesezeichen speichern – Ansicht ist dann wiederholbar.
Auf „… → Daten exportieren" → „Zusammengefasste Daten" als .xlsx speichern und hier hochladen.
📋 Optional: Gesamtkundenliste (3. Excel)
Kunden aus dieser Datei, die nicht in der Umsatzliste vorkommen, werden als Neukunden (0 €) ergänzt — bestehende Umsatz-Kunden werden nicht überschrieben.
Adresse wird automatisch in Straße + PLZ + Ort zerlegt (Komma-Trennung). Telefon, Kreditlimit, Skonto, USt-Id und E-Mail werden zu den Stammdaten des Kunden gespeichert. Kunden, die in der Debitorenliste, aber nicht in der Umsatzliste stehen, werden als 🆕 Neukunden mit 0 € aufgenommen.
💡 Tipp — D365-Export: In Microsoft Dynamics 365 unter „Debitoren" alle Debitoren mit Filter
auf dein Startlager (z. B. MYK1) exportieren.
Die exportierte Excel hat genau das Debitoren-Format oben — direkt hier hochladbar.
🚚 Optional: TKA-Excel — Transportkosten pro Kunde (4. Excel)
Excel mit den Spalten KD# (Kundennummer) und TKA-Code. Reihenfolge der Spalten egal, weitere Spalten dazwischen werden ignoriert. Code-Format:TAG#### = Pro Tour · TP#### = Tagespauschale · MP#### / MPE#### = Monatspauschale · Frei = keine Berechnung. Letzte 2 Ziffern = Cents (z. B. TAG0687 = 6,87 € pro Tour). Beim Customermanagement anfordern. Modus + Betrag werden automatisch pro Kunde gesetzt; sichtbar im Reiter „🚚 Transportkosten" und im Kunden-Modal.
⚙️ Besuchsrhythmus läuft automatisch
Der Besuchsrhythmus wird nach dem APM-Schema automatisch berechnet, sobald du in der Kundenansicht
unter „Besuch erfassen" die Daten zum Kunden eingibst:
optional: Kein Interesse / keine Kaufberechtigung → Kunde wird aus der Besuchslogik genommen
Daraus ergibt sich automatisch die APM-Klasse (A/B/C/D & W/X/Y/Z) und der Rhythmus aus der Matrix
(z. B. AW = 2 Wochen, BY = 3 Wochen, DZ = 12 Wochen).
▼📊 Kennzahlen– zum Aufklappen klicken
👥 Kunden 0
🎯 Aktionen 0
🗺 Tourenplaner
🏆 Gewinner & Verlierer
⚠️ Inaktiv 0
📄 Abladevereinbarungen
🆕 Neukundendaten erfassen
🔍 Akquise 0
🔐 Testzugänge & Abos 0
👥 Kunden-Übersicht — Alle aktiven Kunden mit APM-Klasse (Umsatz A-D × Potenzial W-Z), Umsatzvergleich, Besuchsdaten. Filter oben verfeinern, Spalten klicken zum Sortieren. Klick auf eine Zeile öffnet Details + Besuchserfassung. Überfällige sind rot, Pflicht-Jahresgespräche tragen ein JG.
📋 APM-Schema
Umsatzklasse (Jahresumsatz in EK):
A: > 75.000 €
B: 25.000 – 75.000 €
C: 5.000 – 25.000 €
D: 1.000 – 5.000 €
Potenzialklasse (zusätzlich möglich):
W: > 75.000 €
X: 40.000 – 75.000 €
Y: 10.000 – 40.000 €
Z: < 10.000 €
Besuchsrhythmus-Matrix (APM-Code · Wochen):
W
X
Y
Z
A
AW · 2W
AX · 2W
AY · 2W
AZ · 2W
B
BW · 2W
BX · 2W
BY · 3W
BZ · 3W
C
CW · 2W
CX · 2W
CY · 4W
CZ · 8W
D
DW · 2W
DX · 2W
DY · 4W
DZ · 12W
Klassifizierung wird automatisch aus deinen Eingaben berechnet (produktive Mitarbeiter im Besuchs-Modal).
Pflicht-Jahresgespräche: alle A-Kunden + alle W/X-Potenzialkunden.
Diese Ansprechpartner kannst du beim Schreiben einer E-Mail (📨) als Empfänger auswählen.
🚚 Einstellungen — Transportlogistik-Empfänger (für „Kunde von Tour löschen"-Mail)
An diese Adressen geht die Sammel-Mail aus dem Touren-Themen-Ordner („Bitte folgende Kunden von der Tour löschen"). Mehrere Empfänger und CC möglich.
An (Empfänger)
CC (Kopie)
Lade…
📊 Tourenauswertung Kunde
Lädt einen Power-BI-Export hoch (Anleitung zum Erstellen findest du auf der Excel-Upload-Seite). Der OT-Umsatz kommt automatisch aus der Umsatzliste-Excel und wird in der AP-Spalte mitberücksichtigt. Wähle anschließend in den Einstellungen die Touren aus, die du in der Auswertung sehen möchtest.
⚙ Einstellungen — Touren auswählen
Hake die Touren an, die in der Auswertung berücksichtigt werden sollen. Die Auswahl bleibt gespeichert. Ohne Auswahl werden alle Touren angezeigt.
Noch kein Export geladen.
⚙ Einstellungen — Schwellwerte
Bestimmt, ab welcher Umsatzgrenze ein Kunde rot markiert wird, ab welcher Grenze der Neukunde-Button erscheint und nach wievielen Tagen die Neukunden-Prüfung fällig wird.
Noch kein Export geladen. Klicke oben auf „📥 Excel hochladen".
📋 Auftragsbestellbestätigung — alle Kunden, bei denen im Besuchs-Modal „Auftragsbestellbestätigung vorhanden" auf Ja steht. Klick auf eine Zeile öffnet den Kunden.
📊 Wochenchart — alle Kunden, die in der gewählten Kalenderwoche etwas gekauft haben, mit Umsatz als Balken. Mit ◀ ▶ zwischen den Wochen wechseln.
✉ Gelöschte Tour-Kunden
Hier stehen alle Kunden, für die du eine Mail zur Löschung an die Transportlogistik versendet hast. Erscheint einer dieser Kunden beim nächsten Excel-Update wieder in der Tour, kannst du ihn hier reaktivieren — der Hinweis wird dann entfernt.
Noch keine Mail zur Löschung versendet.
💰 Bonusvereinbarungen
Hier hinterlegst du die unterzeichneten Bonusvereinbarungen — getrennt nach Ordnern. Unterstützt sind PDF und Bilder.
📁 Großhandel 0
💡 Ablauf pro Kunde: erst die Blanko-PDF hochladen (Stufen + % + Vorjahr werden automatisch ausgelesen). Danach die unterschriebene/gescannte Version mit gleichem Dateinamen hochladen — die PDF wird ersetzt, die ausgelesenen Werte bleiben erhalten.
📁 Werkstatt
📂 Bonusvereinbarung 0
📌 PDF mit Kundennummer im Dateinamen (z.B. … 100026941_KFZ-Service Schmitz.pdf). Aus dem PDF werden die 3 Ziel-Stufen und ggf. die Sondervereinbarung automatisch ausgelesen — die Zielerreichung wird gegen den aktuellen IAM-Umsatz berechnet. Vorjahr ist hier nur Info.
📂 Kombibonus 0
📌 Tipp: der Dateiname sollte die Kundennummer enthalten (z.B. Vorname Name100138465_AH Batz.pdf). Aus der Umsatzliste ziehen wir Vorjahres- und Aktuellumsatz IAM und berechnen automatisch die erreichte Bonus-Stufe.
📁 🤝 Kooperationen
📁 📚 Kataloge
🗺 Kunden-Karte — Geographische Übersicht aller Kunden. Beim ersten Aufruf „Adressen geocodieren" klicken — das wandelt jede Adresse in Koordinaten um (kann je nach Anzahl ein paar Minuten dauern). Markerfarbe = Kategorie, rot = überfällig. Klick auf einen Punkt zeigt Details, doppelt kommst du in die Besuchserfassung.
Kategorie: A ≥75k B ≥25k C ≥5k D ≥1k E <1kÜberfällig
🚗 Tourenplanung — Erstellt automatisch einen Mehrwochenplan: Wer ist wann fällig, welche Strecke ist effizient, wie viel Zeit pro Tag. Links Parameter setzen (Startdatum, Depot, Kapazität pro Tag), rechts erscheint die optimierte Route mit Karte und Zeitschätzung. Bei Mehrtages-Touren werden die Stops geographisch geclustert. Export als iCal/PDF unten möglich.
📅 Mehrwochenplan
Tourtage (Bürotag abwählen)
40/Woche · 10/Tag
📦 Gespeicherte Touren — auch am Handy abrufbar
Lade…
Kunden
➕ Kunde manuell zum aktuellen Tag hinzufügen
Optimierte Route
🏆 Gewinner & Verlierer — Vergleich aktuelles Jahr (bis heute) vs. Vorjahr (gleicher Zeitraum). Bei den Gewinnern erscheinen auch 🆕 Neukunden (kein Vorjahres-Umsatz, jetzt aber Umsatz) ganz oben. Verlierer = bestehende Kunden mit Rückgang.
(Filtert Mini-Werte mit %-Ausreißern)
🏆 Top 20 Gewinner
📉 Top 20 Verlierer
🚫 Kunden ohne Interesse — Kunden, die du im Besuchs-Modal als „Kein Interesse" markiert hast. Sie erscheinen nicht in der Hauptliste oder Tourenplanung. Klick auf einen Eintrag öffnet das Modal — Häkchen wieder rausnehmen reaktiviert den Kunden.
Lade Liste…
⚠️ Inaktive Kunden — Kunden, die deaktiviert wurden. Sie werden bei Umsatzauswertungen und Tourenplanung nicht berücksichtigt. Du kannst jeden hier jederzeit reaktivieren.
Lade Liste…
Lade Liste…
📄 Gespeicherte Abladevereinbarungen
Lade…
🆕 Neukundendaten erfassen
✏️ Bearbeitungsmodus — Änderungen überschreiben den gespeicherten Eintrag.
📦 Aus Akquise übernommen — bitte fehlende Daten ergänzen (Telefon, USt-Id, Bank etc.).
Gesendete Anfragen
Keine Einträge
🏢 Firmendaten
📞 Kontakt
👤 Personen
🧾 Steuer
💳 Zahlungsart
🏦 SEPA-Bankverbindung
🔧 Werkstatt
Hebebühnen
Produktive MA
Stellplätze
🔗 Partslink24
🌙 Nachttour
Öffnet das Formular vorausgefüllt mit den obigen Kundendaten
📄 Gewerbeanmeldung
📝 Notizen
🎯 Aktionen
Lade…
Lade…
🔍 Akquise — potenzielle Neukunden — Sucht über OpenStreetMap automatisch Werkstätten,
Reifendienste, Autohäuser und kleine Transportunternehmen in der Nähe deiner Bestandskunden.
Treffer werden im Hintergrund mit Kontaktdaten aus Website/Impressum angereichert (USt-ID, Telefon, Inhaber, Adresse).
10 km
➕ Werkstatt manuell hinzufügen — Adresse wird geocodiert, Kontaktdaten werden automatisch ergänzt
Klick „Suche starten", um potenzielle Neukunden zu finden.
Lade…
🗑 Abgelehnte Treffer — werden bei künftigen Suchen ignoriert. Du kannst sie hier wieder freigeben.
Lade…
🔐 Testzugänge & Abos
Aktionen pro Eintrag:📞 Kunden anrufen ·
💼 Hotline Lizenz bei der EDV-Hotline anfordern (intern, vorbefüllte E-Mail) ·
💰 Lizenz Lizenz-Angebot direkt an den Kunden senden ·
📧 Zugangsdaten Login + Passwort an den Kunden mailen.
📞 / 💼 / 💰 erscheinen erst, wenn die Demo in ≤ 6 Tagen abläuft (oder bereits abgelaufen ist). Auf dem Handy werden die Texte ausgeblendet — nur die Icons sind sichtbar.
Lade…
🔐 Partslink24 — Zugangs-Pool
0 frei
Pool für Partslink24-Testzugänge. Versendete Zugänge laufen nach Aktivierung 4 Wochen.
➕ Neue Zugänge einfügen — Spalten Partslink24 ID · Username · Passwort aus AAG-Mail kopieren
⚙️ Testzugänge anfordern — klicken zum Öffnen
E-Mail-Adresse für die Nachforderung neuer Partslink24-Testzugänge.
Noch keine Zugänge im Pool.
📝 Kombi-Bonus 2026 — Formular ausfüllen
Unterschrift Kunde
Unterschrift Vertriebsbeauftragter
Unterschrift Regional Manager Sales (optional)
✂️ Stempel zuschneiden
Mit Finger oder Maus einen Bereich aufziehen — oder das ganze Bild übernehmen.
⚙️ Abladevereinbarung-Empfänger
Beim Erstellen einer Abladevereinbarung wird das PDF an alle „An"-Adressen verschickt, die CC-Adressen erhalten eine Kopie. Beide Listen können pro Vorgang noch im Formular angepasst werden.
📧 Bestellung / Angebot an Innendienst
📦 Bestellmengen eingeben
📦 Menge eingeben
Bezeichnung (editierbar)
Art.-Nr.
Preis (editierbar)
⚙️ EDV-Hotline-E-Mail
An diese Adresse werden Demo-/Testzugang-Anfragen verschickt — du kannst sie jederzeit ändern.
⚙️ Auftragsbestellbestätigung-E-Mail
An diese Adresse wird die Beantragung der Auftragsbestellbestätigung verschickt — du kannst sie jederzeit ändern.
🎯 Neue Aktion hochladen
📋 Erkannte Artikel (editierbar)
Bezeichnung
Art.-Nr.
Preis
Bestand
Bestand nur bei Abverkäufen nötig — verhindert Doppelverkäufe. Leer = unbegrenzt.
⚙️ Innendienst-E-Mail
Diese Adresse erhält die Bestellungen, die du aus dem Kunden-Detail per Klick verschickst.
Neuer Bericht
Noch keine Fotos
🔎ESC zum Schließen
↑↓ navigieren · ⏎ öffnen · ESC schließen
✅ Daten erfassen
▶
🏆 Bonusvereinbarungen
▾ 🎯 Aktionen anbietenaufklappen
Lade Aktionen…
▸ 📁 📚 Kataloge0 PDFs
Lade Kataloge…
▸ 🤝 Kooperations-Zugehörigkeit (beim Kunden anhaken)0 aktiv
▸ 📁 🤝 Kooperationen0 PDFs
Lade Kooperationen…
Besuchsrhythmus
Bevorzugter Besuchstag (Mehrfachauswahl möglich)
▸ 📊 Potenzialanalyse
🚚 Transportkosten
▸ Wettbewerb vor Ort
Klassischer Großhandel
Online-Händler
Anrede:
Bei Sie leer lassen → „Sehr geehrte Damen und Herren,"
⟳Kalender-Export wieder auf den bewährten Stand zurückgesetzt: „📅 Alle Tage → Kalender" lädt wie früher die .ics-Datei. Die zwischenzeitlichen Outlook-Abo-/Import-Experimente (webcal-Link, UTC-Zeiten, fester Name „Besuchsplan", stabile Termin-IDs) wurden entfernt
⟳Kalender-Export: Termine haben jetzt stabile Kennungen (pro Tag+Kunde) — ein erneuter Import/Abo-Refresh überschreibt den alten Besuchsplan-Termin, statt Duplikate anzulegen
⟳Kalender-Export: Der Kalender heißt in Outlook/Kalender jetzt immer „Besuchsplan" (statt des Tour-Namens)
✖Umsatz-Einbruch-Hinweis (📉-Badge „letzte 3 Wochen", getrennt nach IAM/OT) wieder entfernt. Das Verlust-Risiko (📉, YTD gegen Vorjahr) und der Wochen-Umsatz-Chart bleiben unverändert
✚Aktions-Flyer als Download-Link teilen: neuer 🔗-Button bei jeder Aktion/jedem WA-Angebot erzeugt einen kurzen Link, den man per Mail oder WhatsApp verschickt — der Kunde lädt die PDF ohne Login. Ideal für große Flyer (bis ~45 MB), die übers iPhone/iPad-Teilen-Sheet sonst abbrechen. Links laufen nach 30 Tagen automatisch ab
V1.985
⟳Kalender-Export: Termine werden jetzt mit echten UTC-Zeiten erzeugt (statt zeitzonenlos) — das neue Outlook für Windows verschluckte zuvor importierte Termine stillschweigend. Dialog erklärt zusätzlich den Import-Weg fürs neue Outlook (Kalender hinzufügen ▸ Aus Datei hochladen)
✚Gespeicherte Touren: neuer Button „📆 In Outlook-Kalender" — öffnet einen Dialog mit zwei Wegen: (1) Import in den BESTEHENDEN Kalender (Termine herunterladen + in Outlook importieren, wie „Alle hinzufügen" am iPhone) oder (2) als separater Abo-Kalender, der sich automatisch aktualisiert (https-Link). Der bisherige Download heißt jetzt „📅 Alle Tage → Datei"
✚Reiter „🔐 Testzugänge & Abos": jeder Abschnitt (Angefordert, Aktiv, Lizenz, Abgelaufen, Abos) ist jetzt einklappbar — der Zustand bleibt beim Neuladen erhalten
V1.980
✚Gespeicherte Touren lassen sich jetzt bearbeiten: „✏️ Bearbeiten" lädt die Tour zurück in den Planer — Stopps umsortieren/löschen, dann „💾 Tour aktualisieren" (überschreibt) oder „➕ Als neue Tour speichern" (Kopie)
V1.975
⟳Stabilität: Ein Aktion-Upload kann den Server nicht mehr blockieren (Server bleibt auch bei längerer PDF-Verarbeitung erreichbar)
✚Umsatz-Einbruch-Hinweis: Kunden, deren Umsatz in den letzten 3 Wochen massiv zurückging, bekommen ein „📉"-Badge in der Kundenliste — getrennt nach IAM und OT (z. B. „IAM −95%")
V1.965
✚Bei Anrede „Sie" + Nachname lässt sich Herr/Frau wählen — Mails grüßen dann „Sehr geehrter Herr/Frau …"
✚Customer-Portal-Mail beschreibt jetzt den Funktionsumfang (Bestellsystem, Belege, Tickets)
V1.960
⟳Berichts- und Bestell-Export bricht bei Sonderzeichen nicht mehr ab — die Excel-Datei kommt jetzt zuverlässig
⟳Wochenflyer „Deal of the Week" (z. B. Kältemittel): beide Artikel inkl. Preis werden erkannt
✚Staffelpreise (1/2/3 Stk.) aus Flyern werden erfasst und im Artikel-Editor angezeigt
✚Zugangsdaten im Besuchs-Modal versenden — Portale anhaken, einzeln oder zusammen in einer Mail
✚Eingerichtete Portale im Besuchs-Modal starten eingeklappt (Pfeil zum Auf-/Zuklappen)
✚Customer-Portal-Mail enthält jetzt die Anmelde-Website
V1.950
⟳AAG-Deals teilen: App hängt nicht mehr nach Abbruch; E-Mail erhält Betreff + Text
⟳Demo-/Lizenz-Anfragen an die EDV-Hotline beginnen jetzt mit „Hey Wolfgang,"
V1.945
✚Deep-Link: Aufruf mit …/#wichtig öffnet die App direkt auf „Wichtig & Erledigen" (fürs Home-Screen-Widget)
✚iPhone-Widget für die „Wichtig"-Aufgaben: neuer Token-Endpunkt /api/shortcuts/aufgaben + fertiges Scriptable-Skript (Copy-Button + Anleitung in den Einstellungen)
⟳E-Mail-Editor: CC-Empfänger jetzt auch per Ansprechpartner-Dropdown wählbar (eigenes CC-Auswahlfeld)
V1.940
✚E-Mail-Editor: CC-Feld ergänzt (auch mehrere CC-Empfänger komma-getrennt möglich)
⟳E-Mail-Editor (Wichtig & Co.): mehrere Empfänger möglich — Feld komma-getrennt, Ansprechpartner-Dropdown fügt hinzu statt zu ersetzen
⟳Wochenchart: die „über X €/Tag"-Schwelle ist jetzt editierbar (Eingabefeld statt fix 250 €) und wird gespeichert
⟳Aktionen-Zähler (Badge) zählt nur noch echte Verkaufs-Aktionen — Kataloge/Kooperationen (jetzt unter Kunden) werden nicht mehr mitgezählt
⟳„Kataloge" von den Aktionen-Untertabs zu „Kunden" verschoben (neben Kooperationen) — inkl. Bereichs-Gruppierung
V1.935
✚Aktionen: beim Hochladen optional einen Mengen-Sonderrabatt manuell hinterlegen (ab X Stück desselben Artikels Y % Rabatt) — gilt automatisch im Warenkorb und in der Bestell-Mail
⟳Besuch speichern: keine Standort-/GPS-Abfrage des Browsers mehr
✚Akquise: Betriebe manuell hinzufügen — für Werkstätten, die OpenStreetMap nicht kennt (z. B. aus Google). Adresse wird geocodiert, Telefon/Mail automatisch ergänzt
✚Wochenchart: im /Tag-Modus neuer Schalter „über 250 €/Tag" — zeigt nur die Kunden über diesem Tagesumsatz, mit Anzahl + Gesamtsumme oben und ihren Einzelwerten
V1.930
⟳Tourenplanung: Beim Entfernen eines Kunden rückt jetzt der Wartelisten-Kunde mit der geringsten Mehrstrecke nach und wird an die beste Stelle der Route gesetzt (statt ans Ende)
⟳Tourenplanung: Kalender-Export (iCal) bleibt auch bei sehr langen Tagestouren gültig; robuster bei großen Touren
⟳Kooperationen-Ordner von den Aktionen-Untertabs zu „Kunden" verschoben (neben Bonusvereinbarungen)
⟳Bestell-Buttons in der Aktions-Vorschau positionieren sich automatisch so, dass der Preis frei bleibt (neben oder über der Artikelnummer, je nach Katalog-Layout)
⟳Bestell-Buttons in der Aktions-Vorschau sitzen jetzt über der Artikelnummer, damit der Preis sichtbar bleibt
V1.925
⟳Artikel/Bestell-Buttons in der Aktions-Vorschau laden bei großen Katalogen deutlich schneller (Positionssuche von ~24 s auf ~2 s)
⟳Aktions-PDFs erscheinen in der Vorschau schneller: Seiten werden einzeln als Bilder angezeigt (Seite 1 sofort, Rest beim Scrollen)
V1.920
⟳Anmeldesicherheit der Zwei-Faktor-Authentifizierung verbessert
⟳Stabilität bei gleichzeitigen Änderungen verbessert (keine verlorenen Speichervorgänge)
⟳Sicherheit der Web-Recherche in der Akquise verbessert
⟳SWSTAHL-Kataloge: große Special-Tools-Listen werden jetzt vollständig übernommen (vorher bei 150 Artikeln abgeschnitten) und Bezeichnungen mit Maßangaben korrekt erkannt
V1.910
⟳Bugfixes und Verbesserungen
V1.900
⟳Bugfixes und Verbesserungen
V1.890
⟳Bugfixes und Verbesserungen
V1.880
⟳Bugfixes und Verbesserungen
V1.870
⟳Bugfixes und Verbesserungen
V1.860
⟳Bugfixes und Verbesserungen
V1.850
⟳Bugfixes und Verbesserungen
V1.840
⟳Bugfixes und Verbesserungen
V1.830
⟳Bugfixes und Verbesserungen
V1.820
⟳Bugfixes und Verbesserungen
V1.810
⟳Bugfixes und Verbesserungen
V1.800
⟳Bugfixes und Verbesserungen
V1.790
⟳Bugfixes und Verbesserungen
V1.780
⟳Bugfixes und Verbesserungen
V1.770
⟳Bugfixes und Verbesserungen
V1.760
⟳Bugfixes und Verbesserungen
V1.750
⟳Bugfixes und Verbesserungen
V1.745
⟳Bugfixes und Verbesserungen
V1.735
⟳Bugfixes und Verbesserungen
V1.725
⟳Bugfixes und Verbesserungen
V1.715
⟳Bugfixes und Verbesserungen
V1.705
⟳Bugfixes und Verbesserungen
V1.695
⟳Bugfixes und Verbesserungen
V1.685
⟳Bugfixes und Verbesserungen
V1.675
⟳Bugfixes und Verbesserungen
V1.665
⟳Bugfixes und Verbesserungen
V1.655
⟳Bugfixes und Verbesserungen
V1.645
⟳Bugfixes und Verbesserungen
V1.635
⟳Bugfixes und Verbesserungen
V1.625
⟳Bugfixes und Verbesserungen
V1.615
⟳Bugfixes und Verbesserungen
V1.605
⟳Bugfixes und Verbesserungen
V1.595
⟳Bugfixes und Verbesserungen
V1.585
⟳Bugfixes und Verbesserungen
V1.575
⟳Bugfixes und Verbesserungen
V1.565
⟳Bugfixes und Verbesserungen
V1.555
⟳Bugfixes und Verbesserungen
V1.545
⟳Bugfixes und Verbesserungen
V1.535
⟳Bugfixes und Verbesserungen
V1.525
⟳Bugfixes und Verbesserungen
V1.515
⟳Bugfixes und Verbesserungen
V1.505
⟳Bugfixes und Verbesserungen
V1.495
⟳Bugfixes und Verbesserungen
V1.485
⟳Bugfixes und Verbesserungen
V1.475
⟳Bugfixes und Verbesserungen
V1.465
⟳Bugfixes und Verbesserungen
V1.455
⟳Bugfixes und Verbesserungen
V1.454
✖Berichte · Kalenderwoche aufklappen → grüner Block Verkäufe der KW mit allen Kunden, Artikeln und Tagesumsätzen + Wochensumme im Header
V1.452vorher
✖Berichte-Liste · grüner 🛒-Badge mit Tagesumsatz neben dem Kundennamen, wenn an dem Tag etwas verkauft wurde
V1.450vorher
✖Berichte · Besuch-Detail zeigt jetzt die Verkäufe des Tages — Bezeichnung, Art.-Nr., Preis, Summe je Aktion + Gesamtsumme
V1.448vorher
✖Besuch · Bereits gekauft aus Aktionen: Aktion aufklappen → Bestellungen pro Tag mit allen Artikeln/Preisen
V1.445vorher
⟳Bugfixes und Verbesserungen
V1.440
⟳Bugfixes und Verbesserungen
V1.435
⟳Bugfixes und Verbesserungen
V1.430
⟳Bugfixes und Verbesserungen
V1.425
⟳Bugfixes und Verbesserungen
V1.420
⟳Bugfixes und Verbesserungen
V1.415
⟳Bugfixes und Verbesserungen
V1.410
⟳Bugfixes und Verbesserungen
V1.405
⟳Bugfixes und Verbesserungen
V1.400
✚Aktionen: wird ein Artikel bestellt, springt die Aktion beim Kunden automatisch auf „verkauft = ja" — ein offenes Kunden-Fenster aktualisiert sich sofort
⟳Aktionen: Bestell-Mail enthält keinen Kunden-/PDF-Namen mehr im Text (der Kunde steht im Betreff)
⟳Aktionen: die Bestell-Buttons sitzen in der PDF-Vorschau jetzt direkt auf der jeweiligen Seite am Artikel (🛒) — kein Scrollen ans Ende mehr nötig
⟳Aktionen: Kunde, Warenkorb und „Bestellung senden" liegen in einem festen Balken unten in der Vorschau — der Warenkorb lässt sich dort auf-/zuklappen und bearbeiten
⟳Aktionen: AAG.deals-Tabellen mit Gebinde-/Größen-Varianten bekommen jetzt den Produktnamen vorangestellt (z.B. „Autoshampoo 1 Ltr." statt nur „1 Ltr.") — der Name wird aus der Überschrift hinter der Tabelle übernommen
V1.395
✚Aktionen: neuer „📍 Mein Standort"-Button — jeder User legt seinen Standort fest (z.B. Kreuztal, Köln)
⟳Aktionen: der „Privat"-Ordner wird durch Standort-Ordner ersetzt — Aktionen können einem Standort zugeordnet werden und sind dann als eigener Ordner für ALLE Nutzer sichtbar
✚Aktionen: die Standort-Ordner werden dynamisch aus allen vergebenen Standorten aufgebaut — legt ein User in Kreuztal oder Köln einen Standort an, erscheint der Ordner bei allen
✖Aktionen: „Privat"-Ordner entfällt komplett — bestehende Privat-Aktionen werden beim Update automatisch in den Standort-Ordner ihres Eigentümers migriert
✚Aktionen: Artikel können eine verfügbare Stückzahl (Bestand) bekommen — beim Bestellen wird der Bestand atomar abgebucht, eine Bestellung über den Bestand hinaus wird abgelehnt (verhindert Doppelverkäufe). Bestand leer = unbegrenzt
✚Aktionen: das Mengen-Fenster zeigt pro Artikel den verfügbaren Bestand (📦) bzw. „ausverkauft"; gelöschte Bestellungen buchen den Bestand wieder zurück
✚Aktionen: der AAG.deals-Katalog (erscheint ~2-monatlich) wird beim Hochladen automatisch ausgelesen — Inline-Produkte und mehrspaltige Tabellen werden erkannt, das Ergebnis bleibt im Editor prüf- und korrigierbar
✚Aktionen: in der Aktions-Vorschau (👁) gibt es jetzt unter dem PDF eine Artikel-Liste — pro Artikel ein „Bestellen"-Button öffnet ein Mengen-Fenster (Bezeichnung + Art.-Nr. bereits vorausgefüllt), gespeicherte Positionen sammeln sich und „Bestellung senden" übernimmt sie wie gewohnt in die Innendienst-Mail
⟳Aktionen: PDF-Ligaturen (ff/fl/fi) werden beim Auslesen korrekt aufgelöst — keine kaputten Zeichen mehr in Bezeichnungen
V1.390
⟳Aktionen: Reiter „📦 Bestellungen" gruppiert jetzt primär nach Aktion — darunter pro Tag (mit KW-Angabe) die einzelnen Bestellungen, statt der reinen Datums-Hierarchie
⟳Aktionen: wird der Titel einer Aktion geändert, schlägt das jetzt überall durch — auch bei bereits geloggten Bestellungen (Titel wird live aufgelöst, nicht mehr als Schnappschuss gespeichert)
⟳Aktionen: Bestellungen zeigen jetzt Spalten-Überschriften (Menge, Bezeichnung, Artikelnummer, Preis) und eine Summenzeile pro Bestellung; die €-Summen werden zusätzlich pro Tag und pro Aktion aufaddiert
✚Aktionen: pro Aktion „📥 Excel"-Button im Reiter „📦 Bestellungen" — exportiert alle Verkäufe der Aktion mit Spalten Datum, KW, Uhrzeit, Kunde, Bezeichnung, Artikelnummer, Menge, Einzel- und Gesamtpreis inkl. Summenzeile
⟳Aktionen: Excel-Export der Bestellungen rundet nicht mehr auf volle Euro — Preise werden cent-genau exportiert (Zahlenformat ohne €-Zeichen, Tausenderpunkt-Erkennung korrigiert)
V1.385
✚Akquise: DuckDuckGo-Faktenrecherche als Fallback — wenn Website/Impressum (z.B. JavaScript-Händlerseiten wie Porsche) keine USt-ID/Steuernummer/Inhaber hergibt, werden Suchergebnis-Snippets und Aggregator-Seiten (Northdata, Gelbeseiten) ausgewertet
✚Akquise: Handelsregister-Nummer (HRB/HRA) wird jetzt zusätzlich erfasst und angezeigt
⟳Akquise: manuelles Anreichern funktioniert jetzt auch ohne hinterlegte Website (sucht die Firmen-Website + Daten via DuckDuckGo)
⟳Akquise: strengere Stoppwortliste bei der Inhaber-Erkennung — verhindert Tabellenüberschriften von Aggregator-Seiten als falsche Namen
✚Aktionen: „Bestellung senden" öffnet jetzt zuerst ein Fenster zur Mengeneingabe pro Artikel — Menge, Bezeichnung, Artikelnummer und Preis sind vorbefüllt und editierbar, zusätzliche Positionen können ergänzt werden
✚Aktionen: jede verschickte Bestellung wird mit Artikelnummer, Menge, Kunde und Datum geloggt — neuer Reiter „📦 Bestellungen" zeigt sie gruppiert nach Jahr → Monat → KW → Tag
⟳Aktionen: wird ein Bestell-Logeintrag im Reiter „📦 Bestellungen" gelöscht, springt der Aktions-Status des betroffenen Kunden automatisch auf „Nein verkauft" zurück
⟳Aktionen: das Mengen-Fenster merkt sich die eingetragenen Mengen/Preise je Aktion + Kunde (auch über Seiten-Reload hinweg) — beim erneuten „Bestellung senden" stehen sie wieder da
V1.380
✚Tourenplaner: geprüfte Akquise-Leads werden automatisch in den nächstmöglichen passenden Tag eingestreut (max. 2 pro Tag, max. 25 km Mehrweg pro Lead) — ältest-geprüft zuerst, frisch besuchte (< 14 Tage) übersprungen
✚Tourenplaner: Akquise-Leads werden in der Tagesliste mit orangem „AKQ"-Badge und gelblichem Hintergrund visuell von Stammkunden abgehoben
✚Tourenplaner: „💾 Plan speichern" legt den kompletten Tourenplan serverseitig ab — auf dem Handy unter „📦 Gespeicherte Touren" abrufbar
✚Tourenplaner: aus gespeicherten Touren direkt in den Kalender importieren (iCal pro Tag oder alle Tage) — funktioniert mit iOS-Kalender, Google Calendar etc.
✚Tourenplaner: pro Tag „🗺 Google Maps"-Button öffnet die mobile Maps-App mit Multi-Stop-Route (Depot → Stops → letzter Stop)
⟳Tourenplaner: harte Obergrenze von 10 Stammkunden pro Tag im Auto-Modus + zusätzlich 1 Akquise-Lead = max. 11 Stopps pro Tag
⟳Tourenplaner: bei kurzer Arbeitszeit (z.B. Start 11:00) werden Stamm + Lead anhand der verfügbaren Minuten berechnet — Lead-Slot wird reserviert (1 Stop weniger Stamm, dafür 1 Lead)
⟳Tourenplaner: pro Tag wird genau 1 Akquise-Lead garantiert eingeplant, wenn ein geprüfter Lead ≤ 10 km Luftlinie von einem Stammkunden der Tagestour entfernt liegt
V1.375
⟳Akquise: Hinweis-Banner zeigt jetzt an, wenn der Slider-Radius Treffer versteckt („N weitere durch Radius versteckt — Slider erhöhen")
⟳Akquise: Empty-State unterscheidet, ob Treffer durch Typ-Filter oder durch Radius ausgeblendet sind
⟳Akquise-Anreicherung: Homepage wird nicht mehr doppelt geladen (Discovery-Cache wiederverwendet) — schneller pro Anreicherung
⟳Akquise-Duplikatsprüfung: strenger gegen False-Positives bei generischen Branchennamen (Mindestlänge 8 + Stop-Liste „autoservice", „werkstatt" etc.)
⟳Privater Kalender: mehrtägige Urlaube blockieren jetzt korrekt ALLE Tage (vorher nur Starttag)
⟳Privater Kalender: laufende Urlaube (gestern angefangen, heute noch aktiv) werden jetzt erkannt
⟳Privater Kalender: DTEND-Exklusivität nach RFC 5545 korrekt behandelt (kein Tag mehr zu viel)
✚Privater Kalender: wiederkehrende Termine (RRULE) werden expandiert — FREQ=DAILY/WEEKLY/MONTHLY inkl. BYDAY/COUNT/UNTIL
✚Privater Kalender: EXDATE-Ausnahmen einer Wiederholungsserie werden respektiert
✚Berichte: hierarchische Ordnerstruktur Jahr → Monat → Kalenderwoche → Tag, jeweils auf-/zuklappbar
✚Berichte: Export pro Monat (zusätzlich zu Tag und Woche) als Excel-Datei mit einem Sheet pro Tag
✚Berichte: Suchfeld durchsucht jetzt auch Notizen und Bericht-Titel (nicht mehr nur Kundenname/-Nr.) und klappt passende Ordner automatisch auf
✖Akquise: nur LKW-Werkstatt entfernt — alle anderen Werkstatt-/Reifen-/Autohaus-Typen bleiben drin (zusätzlich zu Transportunternehmen ≤ 3,5 t)
✚Akquise: neuer Sub-Reiter „Geprüft" als Zwischenstation zwischen Offen und Übernehmen — pro Eintrag eigene Notiz + Besuchs-Log (Datum, Uhrzeit, Status, Notiz)
✚Akquise: Background-Anreicherung läuft jetzt automatisch nach jeder Suche (max. 3 parallel) — fehlende Adresse, USt-ID, Telefon etc. werden im Hintergrund von Website/Impressum gezogen
✚Akquise: DuckDuckGo-Fallback findet die Firmen-Website, wenn OSM keine hat — z.B. via Google-Treffer für „Firmenname Ort impressum"
✚Akquise: Tab-Navigation Offen | Geprüft | Abgelehnt mit Zählern, ersetzt die alte „Abgelehnte anzeigen"-Aufklapp-Box
V1.370
⟳Akquise: Suchradius-Slider auf 50 km erweitert (vorher 25 km, Backend erlaubte schon immer bis 50 km)
⟳Akquise: Filter-Logik für Treffer ohne erkennbaren Typ präzisiert — werden jetzt nur gezeigt, wenn alle Typ-Checkboxen aktiv sind
⟳Akquise: internen __import__('math')-Workaround durch sauberen Modul-Import ersetzt
V1.365
⟳Steuernummer-Erkennung verbessert: Mindestlänge auf 8 Ziffern reduziert (RLP-Format wie 22/143/2656 wurde vorher abgelehnt); HTML-Tags zwischen Anker und Wert werden jetzt toleriert (z.B. wenn „Steuernummer:" und Wert in getrennten /-Tags stehen)
⟳USt-IdNr-Erkennung robuster: erlaubt jetzt zusätzliche Klammertexte wie „(gemäß §27a Umsatzsteuergesetz):" zwischen Anker und Wert; Wert ohne führendes „DE" wird automatisch zu „DE…" ergänzt; HTML-Tag-Wechsel zwischen Anker und Wert tolerant
⟳Steuernummer-Pattern strikter: matcht jetzt nur noch das typische Bezirks-Format „XX/XXX/XXXX" (3 Blöcke mit / oder - getrennt) — verhindert Verwechslung mit Telefon-/Faxnummern, die im selben Absatz stehen können (Beispiel autofit-gebrueder-saxler.de — vorher wurde fälschlich die Telefonnummer als Steuernummer geliefert)
⟳Akquise „✨ Anreichern": erneuter Klick auf bereits angereicherten Treffer überschreibt jetzt vorhandene Werte mit frischen Daten — Bug-Fixes wie der korrigierte Steuernummer-Pattern wirken sich beim Re-Anreichern auf bestehende Treffer aus
⟳Akquise-Anreichern: Encoding-Bug behoben — viele PHP-Websites senden UTF-8, deklarieren aber im HTTP-Header ISO-8859-1; mit der Korrektur werden Umlaute (Geschäftsführer, Straße) korrekt erkannt und Inhaber/Vertretungsberechtigte gefunden
V1.360
⟳Akquise: nach „✨ Anreichern" springt die Liste zurück zum gerade angereicherten Eintrag und hebt ihn kurz hervor (statt zum Listenanfang)
⟳Akquise: Suchradius wird jetzt auch in der gespeicherten Trefferliste angewandt (ändert sich live mit dem Slider) — vorher konnten alte Treffer von größerem Radius noch zu sehen sein
⟳Akquise: Mobile-tauglicheres Card-Layout (statt Tabelle) — alle Daten sind ohne Horizontal-Scroll lesbar; Buttons brechen sauber um
✚Akquise: Sortierbarkeit nach Distanz · Name · Ort · Typ · Hinzugefügt-Datum (auf-/absteigend); Distanz aufsteigend ist Default
✚Akquise: Button „🔎 Google" pro Treffer — sucht direkt bei Google nach „Name + Ort", nützlich wenn OSM-Daten karg sind
✚Wichtig (Aufgaben): „📧"-Symbol pro offene Aufgabe — öffnet Mail-Editor mit dem Aufgabentext als Betreff (vor Versand editierbar)
✚Visit-Modal Aktionen: „angeboten/Ja/Nein" werden jetzt automatisch gespeichert, sobald der User klickt — kein vergessenes Speichern mehr
✚Aktion teilen: Auswahl PDF oder Bilder vor dem Senden — PDF-Seiten können als PNG-Dateien geteilt werden (kompatibel mit WhatsApp, iMessage)
✚Neukunden-Erfassung: grüner Banner „📦 Aus Akquise übernommen" oben im Formular, sobald ein Treffer aus der Akquise übernommen wurde — verschwindet automatisch nach Speichern/Reset
✚Akquise-Anreichern: Steuernummer (10–13 Ziffern, deutsche Formate) als Fallback wenn keine USt-IdNr gefunden — wird ins Neukunden-Feld „USt-Id/Steuer-Nr" übernommen
⟳Neukunden „📁 Als Datei (für OneDrive)" wird zu „📦 Als ZIP" — enthält Excel-Datei (Stammdaten.xlsx) und das Gewerbeschein-Foto, alles in der Ordnerstruktur „Neukunden_//"; einfaches Entpacken in OneDrive
V1.355
⟳Akquise: inaktive und gelöschte Kunden werden jetzt aus den Treffern ausgefiltert
⟳Neukunden-Erfassung: kein automatischer E-Mail-Versand mehr; stattdessen Auswahl-Dialog mit drei Optionen — „💾 In App speichern", „✉ Per E-Mail-App versenden" und „📁 Als Datei (für OneDrive)" mit Vorschlag-Pfad „Neukunden_/"
⟳Akquise „✨ Anreichern" deutlich schneller: /impressum-Varianten werden zuerst abgefragt (statt zuletzt) — typisch nur noch 1 Request statt 4–5; bessere E-Mail-Auswahl (info@/kontakt@ bevorzugt, system-Adressen ignoriert) und USt-Id-Erkennung mit explizitem „USt-IdNr."-Anker
V1.345
✚Testzugänge-Reiter: zusätzlicher Button „💼 Hotline" pro Demo-Eintrag — fordert die Lizenz bei der EDV-Hotline an (vorbefüllter Mail-Editor mit Kundendaten, vor dem Versand editierbar)
⟳Testzugänge-Reiter Mobile: Button-Texte werden auf schmalen Bildschirmen ausgeblendet (nur Icons), Buttons können bei Platzmangel umbrechen — bessere Darstellung auf dem Handy
✚Testzugänge-Reiter: Erklärungs-Box oberhalb der Liste mit Beschriftung der vier Aktions-Buttons (📞 Anrufen · 💼 Hotline · 💰 Lizenz · 📧 Zugangsdaten)
⟳Testzugänge-Reiter: 📞/💼/💰 erscheinen erst kurz vor Ablauf (≤ 6 Tage Restlaufzeit oder bereits abgelaufen) — vorher nur 📧 Zugangsdaten sichtbar
V1.340
✚Akquise: beim Ablehnen kann jetzt ein optionaler Grund eingegeben werden (z.B. „Konkurrenz", „kein Interesse", „pleite"); wird in der Übersicht der abgelehnten Treffer als Tag angezeigt
✚Akquise: Ablehnungsgrund nachträglich editierbar — Stift-Symbol in der Reject-Liste; leer lassen entfernt den Grund
✖Demo-Ablauf-Mails (Portal-Demos: AAG, Partsfinder) deaktiviert — Default ist jetzt AUS; Wiederaktivierung über Env-Var SYS_DEMO_ALERTS=1
✚Testzugänge-Reiter: pro Demo-Eintrag jetzt zusätzlich „📞 Anrufen" (tel:-Link) und „💰 Lizenz" (öffnet vorbefüllte E-Mail mit Angebot — AAG.online 17,50 €/Mon, Partsfinder 5,00 €/Mon, mit Ablaufdatum)
⟳Testzugänge-Reiter: „📧 Angefordert"-Badge verschwindet automatisch, sobald ein Passwort hinterlegt ist (Anforderung gilt damit als erfüllt) — wird durch „✓ Eingerichtet" ersetzt
✚Lizenz-E-Mail wird jetzt in einem Editor-Modal angezeigt — Empfänger, Betreff und Text vor dem Senden frei editierbar …
V1.335
✚Akquise-Typen erweitert: KFZ-Werkstatt heißt jetzt „KFZ-/Autowerkstatt" und deckt zusätzlich den OSM-Alttag amenity=car_repair ab; neuer Typ „📦 Transportunternehmen / Spedition" (office=logistics + office=courier)
⟳Akquise-Architektur: ein Typ kann jetzt mehrere OSM-Tags umfassen (Union-Query)
⟳Akquise: Typ „Transportunternehmen" auf Kurier-/Lieferdienste (≤ 3,5 t) eingeschränkt — `office=courier` (Speditionen mit > 3,5 t-LKW werden ausgefiltert)
✚Akquise: Übersicht der abgelehnten Treffer mit „↩ Wiederherstellen"-Button — abgelehnte Treffer können jederzeit wieder freigegeben werden …
⟳Akquise: Treffer-Liste filtert live nach den angehakten Typen — wenn nur „Vertragswerkstatt" angehakt ist, werden auch nur diese angezeigt; alte Treffer ohne Typ-Kennung werden über das Label zugeordnet
✚Akquise: neuer Typ „🏢 Autohaus / Vertragswerkstatt"
✚Akquise: pro Treffer Button „✨ Anreichern" — holt von der Website automatisch USt-ID, E-Mail, Telefon und Inhaber/Geschäftsführer (Regex über /impressum + /kontakt)
✚Akquise: „✓ Übernehmen" befüllt jetzt direkt das Neukunden-Formular (Firma, Straße, PLZ, Ort, Tel, E-Mail, USt-ID, Inhaber, Notiz mit Quelle); Treffer wird aus der Akquise-Liste entfernt
⟳Akquise-Duplikat-Filter verschärft: Geo-Nähe < 100 m + Substring-Name-Match; bestehende Liste wird beim Tab-Öffnen live gegen aktuelle Bestandskunden bereinigt
V1.330
⟳Bugfix: „Vorjahr Gesamt" — IAM- und OT-Summen enthalten jetzt auch die Inaktiven (vorher nur in „Gesamt"); damit stimmt IAM + OT wieder mit der Gesamt-Card überein
✚Neuer Reiter „🔍 Akquise" — sucht via OpenStreetMap automatisch potenzielle Neukunden (KFZ-Werkstätten, Reifendienste, freie Werkstätten, optional LKW) im konfigurierbaren Umkreis (1–25 km) der Bestand …
V1.325
✚Inaktive Kunden in der Statistik sichtbar gemacht: eigene Stat-Card (Anzahl + AP-Umsatz, klickbar zum Inaktiv-Reiter); Hinweis im Gesamt-AP-Block, dass Inaktive enthalten sind
✖Upload-Karte „Optional: Gesamtumsatz Vorjahr (5. Excel)" aus der UI entfernt
⟳„Vorjahr Gesamt"-Block in der Statistik-Leiste wird jetzt direkt aus der regulären Umsatzliste (Master-Excel mit „VJ Gesamt"-Zeitanalyseelement) berechnet — kein zusätzlicher Upload mehr nötig
✚Umsatzliste im Wide-Format (Power-BI-Matrix mit Spalten = Zeitanalyseelement, Werte = IAM/OT) wird jetzt direkt unterstützt …
✚Tailscale-Watchdog: systemd-Timer prüft alle 5 Min, ob Tailscale online ist, und startet den Daemon bei Bedarf neu
✚deploy.sh: Pre-Deploy-Backup auf VM (letzte 5 Versionen) plus Sub-Commands `rollback` und `list` für Schnell-Wiederherstellung
✚Mini-pytest-Smoke-Suite (13 Tests) für Login-Flow, Auth-Schutz, Verschlüsselung, Security-Header
⟳Hauptscript (~5500 Zeilen Inline-JS) aus index.html in static/app.js extrahiert (HTML-Größe halbiert, Browser-Cache greift via ?v=Version); Init-Daten via window._INITIAL_DATA
⟳Impressum-/Datenschutz-Block in eigenes Blueprint-Modul routes/legal.py ausgelagert (app.py um ~200 Zeilen schlanker)
✖Hardcoded Default-Passwort 'fnO1025gU!' aus dem Customer-Portal-Eingabefeld entfernt
✚Impressum (/impressum) und Datenschutzerklärung (/datenschutz) als eigene Seiten; Footer-Links auf jeder App-Seite
✚HSTS- und sicherheitsrelevante Response-Header (X-Content-Type-Options, Referrer-Policy) — HSTS aktiv, sobald HTTPS scharfgeschaltet ist
✚Datenauskunft nach DSGVO Art. 15/20: „Meine Daten exportieren" als ZIP im User-Menü (Profil + Visits/Reports/Aufgaben/Anhänge + private Aktionen)
✚Hard-Delete pro Kunde (DSGVO Art. 17): Endgültiges Entfernen aller personenbezogenen Daten (Stammdaten, Besuche, Berichte, Aufgaben + Anhänge, PDFs, Inaktiv-/Blacklist-/Neukunden-Einträge) …
V1.315
⟳Berichte & Wichtig in den Reiter Kunden integriert (4 Sub-Tabs: Kunden / Transportkosten / Berichte / Wichtig); eigener Top-Tab entfernt
⟳Reiter „Aktionen" direkt rechts neben „Kunden" einsortiert
✚Nach Registrierung deutlicher Hinweis, dass die Bestätigungs-Mail im Spam-Ordner landen kann
⟳users.json, email.json, reset-token-Files und Aktionen-Migration jetzt atomar (tmp + os.replace) — verhindert Datenverlust bei Crash mid-write
⟳Dev-Server (`python3 app.py`): Debug-Modus + Bind-Host nur noch via FLASK_DEBUG=1 / FLASK_HOST aktivierbar; Default = 127.0.0.1, debug aus
⟳Optionales SESSION_COOKIE_SECURE-Flag (env SYS_SESSION_SECURE=1) für HTTPS-Betrieb
⟳Toten Render-Parameter `auth_role` aus index() entfernt
V1.310
⟳Bugfixes und Verbesserungen
V1.305
⟳Bugfixes und Verbesserungen
V1.300
✚Wichtig-Tab: Beim Erledigen einer Aufgabe kann jetzt eine Notiz hinzugefügt werden (Notizfeld öffnet sich automatisch beim Anhaken)
✚Aktionen: Privat-Ordner — eigene Aktionen können als „🔒 Privat" markiert werden und sind nur für den hochladenden Benutzer sichtbar
✚Portal-Zugänge: „💶 Lizenz bestellen"-Button für AAG.online (17,50 €) und Partsfinder (5,00 €) sendet Standard-Bestellmail an EDV-Hotline
V1.295
✚Update-Hinweis: Pop-up unten rechts erscheint, sobald während der Nutzung eine neue Version online ist
⟳Excel-Caches: WA, Gesamtliste, Vorjahres- und TKA-Daten bleiben jetzt zuverlässig erhalten, wenn nur die Umsatzliste neu hochgeladen wird
✚Transportkosten: 4 Modi (Frei / Monatspauschale / Tagespauschale / Pro Tour) als Dropdown im Kunden-Modal
✚TKA-Excel-Upload erkennt Codes (TAG####, TP####, MP/MPE####, Frei) automatisch und schreibt Modus + Betrag pro Kunde
⟳TKA-Parser findet KD#- und TKA-Code-Spalten per Header-Name (Toleranz für Excel-Format mit 18 Spalten)
⟳Transportkosten-Tab: Sub-Tabs Monatspauschale / Tagespauschale / Pro Tour mit Summen je Modus
V1.290
✚Aktionen filterbar nach Werkstatt/Großhandel pro Kunde (Werkstatt standardmäßig angehakt)
⟳Bestell-Mail (Aktion + Freitext): „Bitte für oben genannten Kunden bestellen"
⟳Aktionen-Block im Kunden-Modal nach oben unter „Freitext-Bestellung" verschoben
V1.285
⟳Bugfixes und Verbesserungen
V1.280
⟳Bugfixes und Verbesserungen
V1.275
⟳Bugfixes und Verbesserungen
V1.270
⟳Datenverlust-Bug: Felder „kein Interesse“-Wettbewerber/-Sonstiges/-Grund wurden bei jedem Besuchs-Save überschrieben (waren auf leer hardcoded) — bleiben jetzt erhalten
⟳Aktionen-Status verschwunden: Angeboten/Verkauft-Häkchen waren nach Reload leer, weil das Backend sie nicht ans Frontend zurückgab — wird jetzt wieder geladen
⟳Race-Condition beim Speichern: Parallele Saves (z.B. iPad + Laptop) konnten Updates verlieren — jetzt mit atomarem Read-Modify-Write geschützt
⟳Timezone-Drift: Datums-Berechnungen (next_visit, Tour-Start, Berichts-Datum) nutzen jetzt durchgängig lokale Zeit statt UTC — kein „off by 1 day“ nachts mehr
⟳Initial-State-Erfassung: Dirty-Tracking erkannte schnelle Eingaben in den ersten 200ms nach Öffnen nicht — Erfassung passiert jetzt synchron
⟳Demo-Erinnerungs-Mails: Liefen pro gunicorn-Worker (mehrfache Mails) — jetzt PID-Lock, nur ein Worker schickt
⟳Setup-Race: Zwei parallele Setup-Requests konnten zwei Admins anlegen — jetzt atomar via O_CREAT|O_EXCL
⟳Aufgaben-Sortierung: Reihenfolge in „Wichtig“-Tab war fast zufällig (sortiert nach Stringlänge des Datums) — jetzt nach echtem Datum (neueste zuerst)
✖Toter Code entfernt: _visitAutoSaveNow (~80 Zeilen, nicht mehr aufgerufen seit Auto-Save abgeschaltet)
V1.265
✚Aktion-PDF nicht auslesbar: Artikel-Editor öffnet sich auch ohne Auto-Erkennung — Bezeichnung, Art.-Nr. und Preis können vor dem Senden manuell eingetragen werden
⟳Aktionsverkäufe vereinfacht: Mengen-Feld entfernt, Verkauf wird durch Häkchen gezählt; Verkaufsliste zeigt Kunde + Nr. + Letzter Besuch
V1.260
✚5. Excel: Gesamtumsatz Vorjahr (z.B. komplettes Vorjahr ohne AP/VP-Split) — Power-BI-Anleitung mit Visual-Mockup, Datum-Filter „in den letzten 1-10000 Tage“ + Hinweis: nur 1× pro Jahr nötig
✚Vorjahres-Gesamt in der Stats-Leiste: Drei neue Karten (Gesamt / IAM / OT) mit Vorjahres-Summen + Differenz zum aktuellen Jahr in % — fließt nicht in die Kundendaten ein
✚Excel-Dateien einzeln austauschbar: Jede der fünf Excels (Umsatz, WA, Master, TKA, Vorjahr) kann einzeln neu hochgeladen werden — die anderen behalten ihren letzten Stand aus dem Cache
V1.255
✚Berichte-Wochenexport mit Tag-Tabs: Eine separate Tab pro Tag (Mo–So) im Excel; Tage ohne Termine werden weggelassen
✚Freitext-Bestellung: Im Besuchs-Modal grüner Button „📧 Freitext-Bestellung an Innendienst“ — öffnet Dialog mit großem Textfeld …
✚Aktionsverkäufe-Logging: Pro Aktion sind Verkäufe nun in der Aktionsliste sichtbar — Kundenname, Nr. und letzter Besuchsdatum, mit Anzahl im Header
V1.250
✚Abladevereinbarung-Empfänger: Beliebige E-Mail-Adressen als Standard hinterlegen (⚙️ Empfänger-E-Mails) und pro Vorgang im Formular anpassen — Versand an alle Adressen
✚CC-Feld für Abladevereinbarung: CC-Empfänger global hinterlegen und pro Mail anpassen — werden bei jedem Versand mitgeschickt
V1.245
✚Power-BI-Anleitung verbessert: Visual-Vorschau erweitert (sticky → einfaches Scrollen); Beschreibungstext „wie nebenstehend“; Filter-Mockups für Tag_Date und Datum auch in der WA-Anleitung
⟳Upload-Screen: Auf großen Bildschirmen wurde Inhalt am oberen Rand abgeschnitten (justify-content:center → flex-start); jetzt durchgängig scrollbar
⟳Reload-Bug behoben: TKA Pauschale, „Kein Besuch erwünscht“ und andere Visit-Felder verschwanden nach App-Neuladen — Felder werden jetzt frisch aus den Visit-Daten gemerged
V1.240
✚TKA Pauschale: im Besuchs-Modal Ja/Nein einstellen; bei Ja editierbares Betragsfeld in € — wird pro Kunde gespeichert
✚Neuer Reiter „💶 TKA Pauschale“: Liste aller Kunden mit aktiver TKA Pauschale, sortiert nach Name; mit Gesamtsumme aller Beträge; Klick öffnet das Kunden-Modal
V1.235
✚Testzugänge & Abos: neuer Reiter mit Bereichen Aktiv / Abgelaufen / Abos; sortiert nach Restlaufzeit; Tab und Einträge blinken 3 Tage vor Ablauf; AAG/PF mit Abo-Checkbox blenden Demo-Bereich aus
✚Demo anfordern: öffnet die Mail-App mit vorausgefüllter E-Mail an die EDV-Hotline (Empfänger jederzeit änderbar); Senden klickt der Nutzer manuell
✚📧 Zugangsdaten an Kunden: sendet Zugangsdaten (Username/Passwort) per Mail an die Kunden-E-Mail …
V1.230
✚Kunden-Stammdaten erweitert: Debitorenliste übernimmt Telefon, E-Mail, USt-Id, Kreditlimit und Skonto; werden im Kunden-Detail angezeigt (Telefon und E-Mail klickbar)
✚Kein Besuch erwünscht: neuer APM-Status — Kunde bleibt im aktiven Bestand und in den Listen, wird aber aus der Tourenplanung ausgenommen; rotes 🚫 KB-Badge in der Spalte
✚Umsätze inaktiver Kunden: werden zu den Gesamtumsätzen (YTD, IAM/OT, VP) addiert — gelöschte Kunden bleiben außen vor
V1.225
✚Tourenplanung neu: Wunschtage werden strikt eingehalten …
✚PDF-Vorschau inline: Aktions-PDFs werden direkt im Modal gerendert (PDF.js) — funktioniert auch in iOS-PWAs ohne Touch-Event-Probleme; Teilen/Speichern/Download als Fallback-Optionen
⟳Datums-Bug in der Tourenplanung behoben: Eingabe Mo 11.05 wurde fälschlich als So 10.05 interpretiert (Timezone-Drift)
V1.220
✚Manuelles Speichern statt Auto-Save: Eingaben werden nicht mehr alle 1,2 Sek automatisch gespeichert …
✚Excel-Upload smarter: „Ohne Änderung zurück“-Button; nur einzelne Excel (Umsatzliste / WA / Debitorenliste) neu hochladen — die anderen bleiben aus dem letzten Upload aktiv
✚Sticky Kundenspalte: Kundenname/-nummer bleibt beim horizontalen Scrollen am linken Rand sichtbar
V1.215
✚Berichte tageweise: Aufklappbar pro Tag (heute/zukünftig automatisch offen); Suchfeld nach Kunde; Excel-Export pro Tag oder Woche mit einem Klick
⟳Changelog-Updates erfolgen jetzt alle 5 Versionen (statt 10)
V1.210
✚Aktionen — editierbarer Artikel-Editor: beim PDF-Upload werden Artikel automatisch ausgelesen (SW-Stahl, KW19/Deal-of-Week) und können vor dem Speichern editiert/ergänzt werden
✚Bestellung senden: aus dem Kunden-Detail direkt an den Innendienst — Mail enthält strukturierte Tabelle mit Bezeichnung, Art.-Nr. und Preis; leere Mengen-Spalte zum Eintragen
⟳Berichte-Tab repariert; iOS-PDF-Schließen-Bug in Aktion-Vorschau und Abladevereinbarung gefixt
V1.200
✚Neuer Reiter Aktionen: Werkstatt- und Großhandels-Aktionen (PDF/Bilder) hochladen, nach Monat sortiert; Aktionszeitraum wird aus PDF erkannt oder manuell gesetzt; Abgelaufene wandern in eigenen Bereich
✚Aktionen im Kunden-Detail: angeboten/verkauft (ja/nein) + Mengenfeld; Klick öffnet die Mail-App des Endgeräts mit Empfänger, Betreff und Text vorausgefüllt — Anhang per System-Teilen oder Download
✚Innendienst-E-Mail: einmalig hinterlegbar und jederzeit änderbar
⟳Sicherheits- und Stabilitätsverbesserungen (Race-freie Datei-Schreibvorgänge, robusterer JSON-Parser)
V1.190
✚Dies und das
V1.180
⟳Bugfixes und Verbesserungen
V1.170
⟳Bugfixes und Verbesserungen
V1.160
⟳Bugfixes und Verbesserungen
V1.150
⟳Bugfixes und Verbesserungen
V1.140
✚Besuchserfassung: Sortiment IAM / OT / WA pro Kunde auswählbar (Mehrfachauswahl, optional)