Hallo zusammen, ich habe eine CSV-Datei eines Herstellers, die aber nicht mit dem Gambio Format kompatibel ist. Gibt es ein Modul mit dem man die Daten unkompliziert in das Gambio format implemtieren kann? Vielen dank für eure Tipps.
Ja — es gibt mehrere Wege, CSV-Daten von Herstellern unkompliziert ins Gambio-Format zu bringen bzw. zu importieren — auch wenn deine Datei aktuell nicht dem Standard von Gambio entspricht. 1. Standard-CSV-Import von Gambio selbst Gambio hat eine eingebaute CSV-Import/Export-Funktion, mit der du Produktdaten direkt importieren kannst. Allerdings muss die Datei dafür im Gambio-CSV-Format (korrekte Spalten, Trennzeichen, Pflichtfelder wie XTSOL, p_model etc.) vorliegen und ggf. angepasst werden. ➡️ Das ist aber kein Modul, sondern die vorhandene Funktion im Backend. Nachteile: Du musst das Format selbst anpassen (Spaltennamen) oder per Script umwandeln. Attribute/Eigenschaften und Varianten können komplizierter zu importieren sein. 2. CSV-Import-Module / Connector-Lösungen (externe Tools) Es gibt fertige Module bzw. Dienste, die den Prozess automatisieren, z. B.: Import2Shop – Gambio CSV-Connector Ein externes Tool/Modul, das deine CSV-Dateien automatisch an Gambio überträgt und importiert – inklusive: Produkte anlegen/updaten Varianten & Eigenschaften Bilder, Kategorien, Bestände und mehr. ⚙️ Vorteile: ✔ du musst die CSV nicht erst von Hand auf Gambio-Format umschreiben ✔ automatisierte Kommunikation mit dem Shop ✔ kann Bestände/Preise automatisch aktualisieren ⚠️ Hinweis: Das ist ein kommerzielles Tool/Service – du solltest vorab prüfen, ob es wirklich zu deinen Gambio-Versionen & Workflows passt. 3. Workflow-Module / Integrationen Neben Import2Shop gibt es auch andere Anbieter bzw. Services, die dir helfen können: Import-Connectors von Drittanbietern (oft auch als Middleware) Diese lesen CSV vom Hersteller und konvertieren diese in Gambio-kompatible Formate automatisch. Meist Teil kommerzieller SaaS-Tools oder Agentur-Lösungen. Agenturdienste / Custom-Skripte Wenn du sehr spezielle Datenstrukturen hast, lohnt sich manchmal ein kleines Custom-Tool oder PHP-Script, das die Datei in das richtige Gambio-CSV konvertiert. Das ist bei großen Datenmengen oft schneller, als alles manuell anzupassen. Alternative: CSV-Aufbereitung & Auto-Import Wenn du keine Module installieren möchtest oder die Daten extrem unterschiedlich sind, bieten einige Dienstleister CSV-Mapping/-Aufbereitung an — sie transformieren deine Hersteller-CSV in ein Gambio-CSV, das direkt importierbar ist. Zusammenfassung Lösung Eignet sich für Aufwand Gambio-Standard-Import Kleine Datenmengen, wenn du CSV anpassen kannst gering Import-Module/Connector (z. B. Import2Shop) Automatisierter Import & regelmäßige Updates mittel/hoch (kostenpflichtig) Custom-Script / Agentur Komplexe Datenstrukturen & Großmengen hoch (einmalig) Tipp: Wenn du regelmäßig neue Dateien vom Hersteller bekommst, lohnt sich oft ein Connector oder ein kleines Custom-Tool, das die Daten automatisch in das Gambio-Schema überführt und importiert. Möchtest du, dass ich dir ein konkretes Beispiel für ein CSV-Mapping-Template für Gambio erstelle – also welche Spalten welche benötigen, damit dein Hersteller-CSV kompatibel wird? (Dann kannst du es direkt verwenden oder automatisieren.) es soll ein einmaloger import sein. Für einen einmaligen Import brauchst du in der Regel kein kostenpflichtiges Modul. Das geht am einfachsten über den integrierten CSV-Import von Gambio GX. ✅ Empfohlene Lösung für einmaligen Import Variante 1: CSV an Gambio-Format anpassen (empfohlen) Exportiere zuerst eine Beispiel-Produkt-CSV aus Gambio → Backend → Artikel → Import/Export → Export Öffne diese Datei in Excel oder LibreOffice. Passe die Hersteller-CSV so an, dass: Spaltennamen identisch sind Pflichtfelder vorhanden sind (z. B. p_model, p_name, p_price, categories_name) Zeichensatz UTF-8 ist Trennzeichen stimmt (meist Semikolon) Danach kannst du sie direkt wieder importieren. Das ist bei einem einmaligen Import meist der schnellste Weg. Variante 2: CSV-Mapping mit Excel / LibreOffice Falls die Spalten stark abweichen: Neue Tabelle anlegen Hersteller-Spalten per Formel zuordnen In Gambio-Struktur speichern Als CSV (UTF-8, Semikolon) exportieren Das dauert je nach Datenmenge 30–90 Minuten. Variante 3: Kleines Konvertierungs-Script (nur wenn viele Daten) Wenn du tausende Artikel hast, kann ein kleines PHP- oder Python-Script sinnvoll sein, das: Spalten umbenennt Kategorien strukturiert Preise formatiert Fehlende Pflichtfelder ergänzt Für einen einmaligen Import lohnt sich aber meist kein externes Modul oder Connector. Meine Empfehlung Für einen einmaligen Import: ➡ Beispiel-CSV aus Gambio exportieren und Hersteller-Datei daran anpassen. Das ist am sichersten und verursacht keine Zusatzkosten.
Danke für die ausführliche Info. Über Import2Shop bin ich schon gestolpert. Kostet aber einiges und wenn der Großhändler nicht gelistet ist geht es nicht. Ich habe mehrere Händler mit unterschiedlicher CSV-Struktur. Mir geht es hauptsächlich um den ersten Artikelimport und dann (wahrscheinlich täglich) der Bestandsabgleich. Ich denke, da wäre die Variante 3 am besten. Wo bekommt man sowas und mit welchen Kosten muss ich ca. rechnen?
Ich hätte da auch noch was für dich https://www.agentur-schoelzke.de/daten-tool-mapping-validierung/ nur zur Info, ich kann das auch gern übernehmen wenn es eine einmalige Sache ist.
Ich habe im Netz ein Skript gefundwn. Die Datei wird angelegt, allerdings ist nur der Header enthalten und ohne Texttrennzeichen ". Dahabe ich noch nichts gefunden. Bildschirmmeldung Zusammenführung wurde abgeschlossen, also keine Fehlermeldung. Hier mal das Skript: <?php // Konfiguration $inputFolder = 'csv_files/'; // Ordner mit den Quell-CSVs $outputFile = 'hl_gambio.csv'; // Zieldatei $delimiter = ';'; // Trennzeichen der Eingabedateien (oft , oder $targetDelimiter = '|'; // Trennzeichen für den Shop-Import // Header des Ziel-Shopformats $targetHeader = ['XTSOL', 'p_model', 'p_priceNoTax', 'p_name.de', 'p_desc.de', 'p_cat.de']; // Output-Datei öffnen $fhOutput = fopen($outputFile, 'w'); fputcsv($fhOutput, $targetHeader, $targetDelimiter); // Dateien im Ordner durchlaufen $files = glob($inputFolder . '*.csv'); $headerSkipped = false; foreach ($files as $file) { if (($fhInput = fopen($file, 'r')) !== false) { // Erste Zeile (Header) lesen $header = fgetcsv($fhInput, 1000, $delimiter); // Spalten-Mapping definieren (Quelle -> Ziel) // Beispiel: Quell-CSV hat "Artikelnummer", Ziel ist "sku" $mapping = [ 'Spalte1' => 'XTSOL', 'Item.Modellnummer' => 'p_model', 'Item.Preis(netto)' => 'p_priceNoTax', 'Item.Name' => 'p_name.de', 'Item.Beschreibung' => 'p_desc.de', 'Item.alleKategorien' => 'p_cat.de' ]; // Mapping-Indexe bestimmen $mapIndex = []; foreach ($header as $index => $columnName) { if (isset($mapping[$columnName])) { $mapIndex[$mapping[$columnName]] = $index; } } // Zeilen verarbeiten while (($row = fgetcsv($fhInput, 1000, $delimiter)) !== false) { $newRow = array_fill(0, count($targetHeader), ''); // Daten gemäß Mapping befüllen foreach ($targetHeader as $targetIdx => $targetColName) { if (isset($mapIndex[$targetColName])) { $newRow[$targetIdx] = $row[$mapIndex[$targetColName]]; } } // Sonderfall: Preis formatieren (Komma zu Punkt) $newRow[2] = str_replace(',', '.', $newRow[2]); fputcsv($fhOutput, $newRow, $targetDelimiter); } fclose($fhInput); } } fclose($fhOutput); echo "Zusammenführung abgeschlossen: $outputFile"; ?> Schon mal vielen Dank.
Ich bin in PHP leider nicht so fit. Vieleicht ist im Code ja irgendwo ein Fehler warum die Daten nicht eingelesen werden.