ich hoffe, ich poste es hier richtig. Ich habe zurzeit ein Programmierprojekt am Laufen, wo ich ein Preisvergleichs-Tool entwickle und wollte euch das kurz und bündig vorstellen.
Mich nervt es, dass Preise nicht einfach so zu vergleichen sind mit Plenty. Z.B. Lieferant sendet neue Preisliste mit EK und UVP, diese ist nächsten Tag schon wirksam - ja danke! 150 Artikel durchgehen und du hast noch nicht mal markiert, wo sich Preise ändern oder neue Artikel dazu gekommen sind oder andere EOL gegangen sind… Danke dafür. Das kennt wohl jeder hier ^^"
Und das ist mir seit Anfang des Jahres zu blöd, als ich 20 EK/UVP-Listen mit Plenty abgleichen musste und diese dann auch noch als PDF-Datei bzw. als Word-Dateien nur vom Hersteller/Lieferant gekommen sind.
Damit ich mir und meinen Kollegen hier die Arbeit erleichtere, habe ich angefangen, das Tool zu entwickeln.
Perfekt ist es nicht und bestimmt auch kein Oberhammer, aber es hilft schon und eine REST-API-Anbindung an PlentyMarkets ist auch vorhanden, um Daten zu ziehen.
Was das Ding kann:
CSV/Excel-Dateien von Lieferanten einlesen und mit Plenty-Daten vergleichen
Direkte Anbindung an die Plenty REST-API (Artikel, Hersteller, Kategorien laden)
Preisänderungen automatisch erkennen und markieren
Plugin-System für eigene Erweiterungen
Wir nutzen es sogar mittlerweile bei uns in der Firma.
Wenn es hier ein paar Leute gibt die Interesse und Lust haben sich das mal genauer anzuschauen gerne bescheid geben, kann dann die README mit allen genauen Infos posten oder weitergeben
Gib dem Thema gern einen sprechenden Namen für das Tool
Sicherlich sind weitere Ausführungen / Details dafür sachdienlich für uns als Externe, um das Tool besser zu verstehen.
ja ich versuche das mal zusammen zufassen so das es verständlich ist und man ein gutes Bild von bekommt
Was genau macht das Tool?
Das Price Comparison Tool ist eine Desktop-Anwendung mit GUI, mit der man Preislisten (z. B. EK/UVP) von Lieferanten automatisiert mit eigenen WaWi-Daten oder PlentyMarkets abgleichen kann. Ziel: Preisänderungen schnell erkennen, neue oder fehlende Artikel identifizieren und direkt reagieren können.
Das Ganze funktioniert mit:
CSV, Excel, PDF-Dateien von Lieferanten
PlentyMarkets-Integration über deren REST API (inkl. OAuth, Webhooks, Caching)
Farbliche Hervorhebung von Preisänderungen
Exportmöglichkeiten in Excel, JSON und CSV
Plugin-System – flexibel erweiterbar
Ein Highlight ist das Plugin-System: Du kannst das Tool modular erweitern, ohne am Kerncode herumzuschrauben. Aktuell sind u. a. diese Plugins enthalten:
lokale SQLite-Zwischenspeicherung nutzen (schneller & offline-fähig)
Metadaten cachen für effizientere API-Nutzung
Plattformübergreifend & leicht installierbar
Das Tool ist mit Python entwickelt und läuft auf:
Windows
macOS
Linux
Exportformate
Du kannst die Ergebnisse in mehreren Formaten ausgeben:
Excel (mit Formatierungen)
CSV (klassisch & robust)
JSON (z. B. für Weiterverarbeitung in anderen Tools)
Open Sorce da ich das Projekt nach Beendigung Irgendwann nicht weiter Pflegen kann ist es Open Sorce und so hat jeder die Möglichkeit es zu erweitern und es anzupassen wie er es brauch.
28k Artikel alleine von einem Lieferanten, da ich aber von Plenty weg gehe leider uninteressant.
Etwas ähnliches hatte ich aber auch gemacht um unsere Listen mit plenty abzugleichen.
Gerade gelesen das es auch einen Datei Export gibt, dann wäre es vielleicht doch wieder interessant.
Also ich müsste dann zwei csv Dateien gegeneinander prüfen.
Export aus jtl gegen Preisliste und dann eine Datei die ich wieder in JTL importieren kann.
Ähnlich mache ich es aktuell mit plenty, allerdings ziehe ich die Daten per elastischen Export per URL.
Werfe die Preisliste des Herstellers gegen und bekomme dann csv raus die ich per elastic sync importieren kann.
die PlentyMarkets REST-API ist als Plugin im Programm integriert - man kann sie nutzen, muss aber nicht. Wenn man selbst programmieren kann und die entsprechende Dokumentation (wie z.B. von JTL) hat, kann man sich ein eigenes Plugin zusammencoden und dieses in das Programm einbinden.
Generell sind bis auf die Grundfunktionen alle erweiterten Features als Plugins realisiert, die man nach Bedarf aktivieren/deaktivieren oder durch neue ergänzen kann. So kann man sich das Tool individuell nach den eigenen Anforderungen anpassen.
Die Grundfunktion funktioniert so:
Du lädst die WaWi-Liste und die Preislisten-Daten (CSV/XLSX) in das Programm. Die Dateigröße ist dabei egal - ich habe bereits erfolgreich mit 35.000 Zeilen getestet, dauert dann nur 3-5 Sekunden länger. Beim Laden der Dateien wird Öffnet sich ein Fenster hier wählt man das Tabellenformat Aus (Zeichenkodierung UTF-8, verwendete Trennzeichen, etc.).
(Werde am Wochenende mal ein Video dazu machen und es hier posten)
Nach dem Start des Vergleichs hat das Programm nicht nur die Daten verglichen, sondern diese auch sortiert und in verschiedene Kategorien aufgeteilt:
Artikel mit Preisunterschieden
Artikel ohne Preisänderung
End-of-Life Artikel (EOL)
Neue Artikel
So erhält man eine schnelle Übersicht und kann Prioritäten setzen, womit man anfangen möchte.
Hallo @Kef_619 ,
die Beschreibung deines Tools klingt richtig gut. Wir würden gerne ausprobieren ob das für uns einsetzbar ist. Wir sind noch ein junges Unternehmen und haben in diesem Bereich noch keinen festen Workflow und tun uns deswegen bei diesen Sachen im Moment echt schwer. Wäre ein Test wert.
was man abgleichen möchte ist frei wählbar, egal ob EAN, V-ID oder Lieferanten-ID.
man wählt die Spalte aus und das Programm bringt die Spalten in ein einheitliches Format so das der Abgleich keine Formatierung Fehler unterbrochen wird oder den Abgleich beeinflussen.
EAN/Barcode sind halt die spalten die gleich sein sollten zwischen der WaWi und der Preisliste dann die Preis Spalte diese kann auch einfach die Spalte mit der Menge von waren sein und so die Mengen abgleichen.
Also alle die sich gemeldet hatten um das Tool zu testen haben es von mir nun bekommen.
Bitte denk dran ich bin kein gelernter Programmiere! <-< behaltet das im Hinterkopf.
sollten Probleme Bugs und co auftauchen berichtet bitte davon und ich schaue das ich es so schnell wie es geht in meiner Freizeit zu beheben!
und wenn ihr selber dran rum coden wollte da sag ich nur haut in die tasten für alle die dann die Original Dateien brauchen gerne noch mal bescheid geben.
Wünsche allen die Morgen nicht ackern müssen schönes Wochenende!
Meine Kollegin aus der Artikelpflege meint „es würden Träume wahr werden“ wenn das tut was es verspricht.
Von daher bin ich nicht nur an einer Nutzung interessiert, sondern würde mich vermutlich auch an der Entwicklung beteiligen (Features beisteuern) wo nötig, und wenn ich Zeit finde. Bin auch kein wirklich ausgebildeter Programmierer, aber hab ein bisschen Erfahrungen im Zusammmen-Hacken von Tools, und Python ist auch die Sprache meiner Wahl.
Die nächsten zwei Wochen werde ich zu gar nichts kommen, von daher warte ich jetzt mal ab ob du dich noch zu einem „richtigen Release“ (Github?) durchringst bis dahin, und wenn nicht melde ich mich noch mal hier
Vielen Dank auf jeden Fall dass du das gebaut hast und mit uns teilen möchtest <3
Als ich gestern die .exe-Datei für Windows exportiert habe und sie abends zu Hause getestet habe, ist mir aufgefallen, dass da etwas schiefgelaufen ist. Ich saß dann noch bis 0 Uhr dran, um den Fehler zu beheben und eine neue portable .exe zu erstellen.
Jetzt sollte das PCT (Price Comparison Tool) bei euch laufen.
Ich habe euch im Drive-Ordner noch eine kurze Anleitung für den Start beigelegt, sowie zwei Beispiel-CSV-Dateien zum Testen – jeweils mit 50.000 Zeilen und 6 Spalten.
Die Dateien sind vielleicht etwas größer - aber gerade zum schnellen Testen ist das ganz praktisch, weil man sieht, wie flott das Tool damit klarkommt.
Da das Wetter heute im Norden leider nicht das schönste ist, nutze ich die Gelegenheit und werde später noch das Video fertigstellen und hier posten.
An dieser Stelle nochmal ein großes Dankeschön für euer Interesse am Tool!
Das hat mich echt positiv überrascht
Ich werde das gesamte Projekt in den nächsten Tagen noch auf GitHub hochladen – dann kann es jeder, der möchte, einsehen.