- moduł został kompletnie przepisany + dodano masę nowych opcji
Wichtigste Funktionen und Vorteile
- Sammelaktualisierung von Preisen: Eine einzige CSV-Datei kann auf viele Produkte verweisen, wodurch die Notwendigkeit entfällt, deren Produktkarten einzeln zu öffnen und zu bearbeiten.
- Anpassung an die Preisliste des Lieferanten: Die Auswahl des Trennzeichens, die Unterstützung einer Kopfzeile und das Spaltenmapping ermöglichen die Nutzung unterschiedlicher Datenlayouts, ohne jede Spalte manuell umstellen zu müssen.
- Wiederholbare Preisberechnung: Gespeicherte Einstellungen für Aufschlag, Abschlag und Rundung werden bei weiteren Importen von Basisprodukten verwendet.
- Kontrolle vor der Aktualisierung: Die Simulation zeigt die geplanten Entscheidungen, ohne Preise im Katalog zu speichern.
- Übersichtlichkeit des Ergebnisses: Zusammenfassung und Bericht ermöglichen es, Änderungen, übersprungene Positionen, unbekannte Kennungen sowie durch Limits gestoppte Zeilen zu unterscheiden.
- Möglichkeit zur Wiederherstellung gespeicherter Werte: Die Historie ermöglicht das Rückgängigmachen von Durchläufen, für die entsprechende Wiederherstellungsdaten erhalten geblieben sind.
- Unterstützung regelmäßiger Preislistenlieferungen: Dateidownload und Import können durch einen externen CRON-Zeitplan gestartet werden.
CSV-Import und Produktzuordnung
Das Standardformat umfasst zwei Spalten: Kennung und Preis. Auf der Mapping-Seite können andere Spaltenpositionen der Kennung, dem Verkaufspreis und dem Einkaufspreis zugewiesen und die übrigen Felder übersprungen werden. Das Modul zeigt eine Vorschau der hochgeladenen Datei und kann auf Grundlage erkannter Kopfzeilen eine Zuordnung vorschlagen; der Vorschlag muss geprüft und gespeichert werden.
- Kennungen: Produktreferenz, also SKU-Code, EAN13, UPC, Produkt-ID sowie Kombinations-ID im Kombinationsmodus. MPN ist verfügbar, wenn das entsprechende Feld in der Datenbank der jeweiligen Installation vorhanden ist.
- Sich wiederholende Codes im Katalog: Die Einstellung erlaubt die Aktualisierung der ersten Übereinstimmung oder aller Datensätze mit derselben Kennung.
- Zahlenformat: Unterstützt werden Dezimalkomma oder Dezimalpunkt, Leerzeichen in Beträgen sowie Währungssymbole bei der Zahl. Das Entfernen des Währungssymbols bedeutet keine Umrechnung des Wechselkurses.
- Dateiformat: Konfigurierbares Trennzeichen, einschließlich Tabulator, optionale Kopfzeile, Felder in Anführungszeichen und Entfernung des BOM-Markers aus einer UTF-8-Datei.
- Kontrolle des erneuten manuellen Imports: Es kann die Verwendung eines Dateinamens blockiert werden, der zuvor in der Historie der angewendeten manuellen Importe dieses Shops vermerkt wurde. Simulationen und CRON-Durchläufe werden bei dieser Kontrolle nicht berücksichtigt.
Beispiel einer grundlegenden CSV-Preisliste
reference;price
PROD-001;99.90
PROD-002;149,50
PROD-003;219.00
Für dieses Beispiel sollte die Referenz als Kennung, das Semikolon als Trennzeichen gewählt und das Überspringen der ersten Zeile als Kopfzeile aktiviert werden. Die erste Spalte ist die Kennung, die zweite der Preis. Ob Beträge als Netto oder Brutto interpretiert werden, wird separat eingestellt.
Berechnung der Verkaufspreise und Preisregeln
Für Basisprodukte kann der Ausgangspunkt der Preis aus der CSV, der Einkaufspreis aus der zugewiesenen CSV-Spalte oder der bereits im Katalog gespeicherte Einkaufspreis sein. Der aus der Datei gelesene Einkaufspreis dient für Berechnungen; das Modul speichert ihn nicht als neuen Einkaufspreis des Produkts.
- Aufschlag auf den Einkaufspreis: Der Preis wird nach der Formel berechnet: Einkaufspreis × (1 + Prozent / 100). Beispielsweise ergeben Einkaufspreis 100 zł und ein Aufschlag von 30 % einen Preis von 130 zł vor einer eventuellen Rundung.
- Prozentualer Abschlag: Das Modul zieht den gewählten Prozentsatz von dem als Ausgangspunkt angegebenen Wert ab.
- Rundung: Verfügbar sind zwei Nachkommastellen, Endung ,99, volle Einheiten aufrunden, die nächste volle Einheit sowie das Belassen des Ergebnisses ohne zusätzliche Rundung.
- Minimaler Aufschlag auf den Einkaufspreis: Nach der Rundung kann der Preis auf das Niveau angehoben werden, das sich aus dem eingestellten minimalen Aufschlag ergibt, sofern ein positiver Einkaufspreis verfügbar ist.
- Bedingte Regeln: Es kann ein separates Verhalten für Hersteller, den im Produkt angegebenen Lieferanten, die Standardkategorie, den Bereich der Eingabewerte oder alle vom Import erfassten Produkte festgelegt werden. Eine Regel kann Positionen auch von der Aktualisierung ausschließen.
- Reihenfolge der Regeln: Es entscheidet die erste passende aktive Regel. Wenn keine passt, werden die Standardeinstellungen angewendet. Die Regelliste ist dem Zielshop zugeordnet.
Aufschlag und Marge bedeuten hier unterschiedliche Berechnungen. Ein Aufschlag von 30 % auf einen Einkaufspreis von 100 zł ergibt 130 zł, also eine Marge von etwa 23,08 % des Verkaufspreises. In der Zusammenfassung berechnet das Modul die Marge nach der Formel: (Nettoverkaufspreis − Nettokosten) / Nettoverkaufspreis. Die Übersicht betrifft Positionen, für die die für die Berechnung erforderlichen Kosten verfügbar sind.
Nettopreise, Bruttopreise und Produktkombinationen
Der Import von Nettopreisen speichert Werte ohne Steuerumrechnung. Für Bruttopreise kann ein fester MwSt.-Satz oder eine Umrechnung nach der Steuerregel des Produkts für das Standardland des Zielshops gewählt werden. Bei einer Bruttodatei wirken Preisregeln und Rundung auf Bruttobeträge, und erst das Ergebnis wird in Netto umgerechnet. Das Fehlen des für die Umrechnung erforderlichen Satzes wird in der Zusammenfassung ausgewiesen.
Im Kombinationsmodus bestimmt die Datei den Einfluss der Variante auf den Basispreis des Produkts. Bei einem Basispreis von 100 zł und einem Kombinationseinfluss von 20 zł beträgt die Summe 120 zł netto vor Steuern und anderen Preismechanismen des Shops. Es kann auch das Zurücksetzen des Basispreises von Produkten aktiviert werden, deren Kombinationen aktualisiert wurden; eine solche Änderung wirkt sich auf die übrigen Varianten desselben Produkts aus. Regeln für Aufschlag, prozentualen Abschlag und Rundung sowie das Erstellen von Abschlägen als spezifische Preise betreffen den Import von Basisprodukten.
Simulation, Änderungslimits und Abschläge als Rabatte
Mit der Simulation kann geprüft werden, wie das Modul die Preisliste einliest und welche Entscheidungen es trifft, ohne Produktpreise zu speichern. In den Limiteinstellungen können der maximale prozentuale Anstieg und Rückgang, ein Nullpreis sowie bei Basisprodukten mit gespeichertem Einkaufspreis auch der Verkauf unter Einkaufspreis und der minimale Aufschlag über den Katalogkosten kontrolliert werden.
- Überspringen einer Zeile: Eine Position, die ein Limit verletzt, wird in den Bericht aufgenommen, und die übrigen Positionen können aktualisiert werden.
- Stoppen des gesamten Durchlaufs: Die der Speicherung vorausgehende Analyse prüft aktive Limits; deren Verletzung führt zur Ablehnung des Imports vor der Preisänderung.
- Limit für nicht zugeordnete Positionen: Das Erreichen des eingestellten Schwellenwerts für den Anteil nicht zugeordneter Zeilen stoppt den Durchlauf vor dem Speichern.
- Umgang mit fehlerhaften Daten: Fehlende erforderliche Spalten, eine leere Kennung oder ein ungültiger erforderlicher Preis werden als übersprungene Positionen gemeldet.
Die Option Abschläge als Rabatte behält den Katalogpreis des Basisprodukts bei und speichert die Differenz zwischen diesem und dem niedrigeren Ergebnispreis als betragsmäßigen spezifischen Preis von PrestaShop. Weitere Importe verwalten die vom Modul gespeicherten Rabatte. In Installationen, die aus der Linie 1.1.x aktualisiert wurden, kann der Mechanismus zur Bereinigung älterer Rabatte auch den früheren, bedingungslosen manuellen Betragsrabatt für diesen Shop umfassen.
Berichte, Historie und Rückgängigmachen von Aktualisierungen
Die Zusammenfassung zeigt die Anzahl gelesener Zeilen, geänderter Produkte und Kombinationen, unveränderter Preise, Überspringungen, Nichtzuordnungen und Sperren. Sie enthält auch Informationen über Preissteigerungen und -senkungen, die größten Änderungen sowie die Ergebnisse der Anwendung von Preisregeln.
- CSV-Bericht: enthält die Entscheidung für die Position, den Grund, die Zeilennummer, die Kennung, die Produkt- oder Kombinations-ID sowie die verfügbaren Werte vor und nach der Änderung.
- Vorschau der Unterschiede im Panel: ermöglicht das Filtern nach Ergebnis, Änderungsrichtung und minimaler prozentualer Änderung. Der vollständige Bericht kann in eine Datei heruntergeladen werden.
- Historie der Durchläufe: stellt gespeicherte Ergebnisse von Importen und Simulationen, Berichte sowie Aktionen zum Wiederherstellen und Löschen von Einträgen bereit.
- Speicherung vorheriger Preise: Nach Aktivierung dieser Option können die vor dem jeweiligen Durchlauf gespeicherten Werte wiederhergestellt werden. Standardmäßig werden die Daten zum Rückgängigmachen der letzten 10 Durchläufe getrennt pro Shop gespeichert.
- E-Mail-Zusammenfassung: Nach einer angewendeten Aktualisierung kann eine Nachricht an die angegebene Adresse gesendet werden. Ein Bericht kleiner als 2 MiB wird der Nachricht beigefügt; ein größerer bleibt im Panel zum Download verfügbar.
Das Rückgängigmachen kann auch die durch den Durchlauf erstellten Rabatte entfernen und entfernte Rabatte wiederherstellen, wenn deren Aufzeichnung erhalten geblieben ist. Die Wiederherstellung eines früheren Preises kann eine spätere Bearbeitung desselben Feldes überschreiben. Die Verfügbarkeit dieses Vorgangs hängt von den erhaltenen Historiendaten ab und ersetzt keine Sicherung der Shop-Datenbank.
Herunterladen von Preislisten, Lieferantenprofile und CRON
Die Quelle der Preisliste kann eine vom Computer hochgeladene Datei oder eine Lieferantenadresse sein. Der Remote-Download unterstützt HTTP/HTTPS, FTP mit FTPS-Option sowie SFTP, wenn die cURL-Bibliothek auf dem Server dieses Protokoll bereitstellt. Die Verbindungsdaten umfassen entsprechend Adresse, Host, Port, Pfad, Login und Passwort.
Ein Lieferantenprofil speichert unter einem Namen die Import- und Exporteinstellungen, das Spaltenmapping, die Standard-Einstellungen für die Preisberechnung, Limits und die Dateiquelle. Profile gehören zum Zielshop, speichern jedoch weder dessen Auswahl noch die hochgeladene Datei, das CRON-Geheimnis oder das Lieferantenpasswort. Die Liste der bedingten Regeln bleibt dem Shop zugeordnet. Nach einem Lieferantenwechsel müssen die Authentifizierungsdaten geprüft werden.
Das Modul stellt eine durch ein Geheimnis geschützte CRON-Adresse sowie die Vorgänge Dateidownload, Import, mit Import kombinierter Download und Statusabfrage bereit. Der Zeitplan wird auf dem Server oder in einem Dienst eingerichtet, der die Adresse zyklisch aufruft. Der Aufruf kann ein Profil angeben, und nachfolgende Aufrufe setzen einen begonnenen Import fort. Profile dienen nicht als Speicher getrennter Passwörter für viele Lieferanten; die Übereinstimmung des aktuellen Passworts mit dem Profil wird bei einem automatischen Aufruf geprüft, der eine Authentifizierung erfordert.
Preisexport, größere Dateien und Multistore
Der Export erzeugt eine CSV mit Kennungen und aktuellen Nettopreisen des ausgewählten Shops. Es können Basisprodukte oder Kombinationen, die Art der Kennung und das Trennzeichen gewählt werden. Bei Kombinationen wird der Einfluss auf den Basispreis exportiert. Ein erneuter Import erfordert die Prüfung des Mappings, die Auswahl von Nettopreisen sowie der Regeleinstellungen, damit bereits vorbereitete Beträge nicht erneut umgerechnet werden.
Dateien mit einer Größe von mindestens 512 KiB, die im Panel gestartet werden, werden schrittweise mit Fortschrittsanzeige verarbeitet. Nach dem Schließen der Registerkarte werden die nächsten Schritte nicht vom Browser ausgeführt; die Rückkehr zur Importseite ermöglicht die Fortsetzung ab der gespeicherten Stelle. Das Dateilimit im Modul beträgt 32 MiB, und PHP-Einstellungen können die Größe der hochgeladenen Datei zusätzlich begrenzen.
In einer Multistore-Installation werden der Zielshop für den Import und der Shop für den Export ausgewählt. Die Preise werden im ausgewählten Shop aktualisiert, während die grundlegenden Moduleinstellungen für die Installation gemeinsam sind. Profile, bedingte Regeln und Historiendaten sind mit dem Shop verknüpft.
Wie bereitet man eine Preisaktualisierung vor?
- Wählen Sie den Zielshop, den Aktualisierungsumfang und eine Kennung, die mit den Katalogdaten übereinstimmt.
- Laden Sie die Datei hoch oder herunter und prüfen Sie Vorschau, Trennzeichen, Kopfzeile und Spaltenmapping.
- Stellen Sie Netto oder Brutto, die erforderlichen Preisregeln, Änderungslimits und die Speicherung vorheriger Preise ein.
- Starten Sie die Simulation und prüfen Sie die Zusammenfassung sowie den Differenzbericht.
- Starten Sie die Aktualisierung bei deaktivierter Simulation und prüfen Sie anschließend das Ergebnis in der Historie.
Funktionsumfang und Anforderungen
CSV Pro Preisimport aktualisiert die Preisdaten bestehender Produkte und Kombinationen. Es erstellt keine neuen Produkte und importiert keine Lagerbestände, Beschreibungen, Bilder, Gewichte oder Identifikationscodes in Produktkarten. Excel und andere Tabellenkalkulationen können zur Vorbereitung der Preisliste verwendet werden, aber die Datei muss im CSV-Format gespeichert werden; das Modul importiert weder XLSX noch XML direkt.
Für Version 1.4.0 deklariert das Modul die Unterstützung von PrestaShop von 1.7.6 bis 9.x. Die Dokumentation gibt einen PHP-Bereich von 7.0–8.5 an, wobei die PHP-Version gleichzeitig die Anforderungen der verwendeten PrestaShop-Version erfüllen muss. Der Remote-Download erfordert cURL, und Aktualisierungen nach Zeitplan erfordern die Konfiguration eines externen CRON.
Link zur Modul-Demo:
Demo-Administrationsbereich:
https://moduly-prestashop.eu/masowa-aktualizacja-csv-cen/admin-dev
Demo-Frontend:
https://moduly-prestashop.eu/masowa-aktualizacja-csv-cen