EntwicklungZahlungsschutzMehr dazu
- Überarbeitungen im Rahmen des Pakets sind kostenlos.
- Reagieren Sie nicht innerhalb von 3 Tagen nach der Lieferung, gilt die Arbeit automatisch als abgenommen.
Das Geld wird bei der Zahlung reserviert und erst freigegeben, wenn Sie die Arbeit abnehmen.

Beispielergebnis
Monatliche Verkaufsdateien von 9 Läden in einem Excel-Bericht zusammenführen
So wird es gestartet
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Ordner: sales/2026-10, 9 Dateien gefunden
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 Zeilen
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 Zeilen
2026-11-02 09:14:04 WARN shop-07.csv: 3 Zeilen ohne Preis übersprungen (Zeilen 88, 412, 913)
2026-11-02 09:14:05 INFO Fertig: 10.412 Zeilen -> report-2026-10.xlsx (Tabellenblätter „Verkäufe“ und „Summen“)
Einstellungen statt Code
Die Spaltennamen jedes Ladens stehen in settings.ini, daher ist ein neuer Laden oder eine umbenannte Spalte nur eine Zeile dort:
[columns]
date = Datum, Verkaufsdatum, Tag
product = Artikel, Produkt, Bezeichnung
quantity = Menge, Anzahl, Stk.
price = Preis, Einzelpreis
Ein Teil des Codes
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Liest die Datei eines Ladens ein und gibt ihr die Spaltennamen des Berichts."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: keine Spalte für '{name}' (gesucht wurde nach {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Dateien: ein ZIP-Archiv mit merge_sales.py (310 Zeilen), settings.ini, requirements.txt und einer README dazu, wie man Python installiert, das Skript startet und was jede Meldung im Protokoll bedeutet. Der Kunde startet es auf seinem eigenen Computer.
Kunde: eine kleine Kette von 9 Schreibwarenläden; jeder Laden schickt seine Monatsverkäufe als CSV- oder Excel-Datei, mit leicht unterschiedlichen Spaltennamen. Aufgabe: ein Skript, das jede Datei in einem Ordner einliest, die Spalten in eine einheitliche Form bringt und einen einzigen Excel-Bericht mit allen Verkäufen und einem Tabellenblatt mit Summen pro Laden schreibt.
Kunde und alle Angaben sind erfunden.
Über diese Leistung
WooCommerce hat einen eigenen Produktimporter, erwartet aber seine eigenen Spalten: Type, SKU, Name, Regular price, Categories mit > zwischen den Ebenen, Bilder als Links und für Kleidung oder andere Optionen ein übergeordnetes Produkt plus eine Zeile pro Variante, verknüpft über Parent. Dieses Python-Skript macht aus der Preisliste Ihres Lieferanten, einem Export aus einem anderen Shop oder Ihrer eigenen Tabelle genau diese Datei. Es ordnet Ihre Spalten zu, baut Kategorien und ab Standard variable Produkte mit Attributen wie Größe und Farbe auf und listet Zeilen ohne Preis, Artikelnummer oder Bild auf. Bilder müssen unter Links liegen, die Ihre Website herunterladen kann. Den Importer starten Sie selbst in Ihrem WordPress-Admin; wir melden uns nie auf Ihrer Website an. Testen Sie zuerst ein paar Produkte und behalten Sie ein Backup Ihres Shops.
Was enthalten ist
- Das erhalten SieEin ZIP-Archiv mit dem Python-Skript, einer README mit Schritt-für-Schritt-Anleitung und ab Standard einer Einstellungsdatei mit der Spaltenzuordnung; der Code wird auch auf der Bestellseite angezeigt.
- Die Spalten von WooCommerceSo, wie der integrierte Produktimporter sie erwartet
- Varianten verknüpftAb Standard übergeordnete Produkte mit Größen und Farben
- Verschachtelte KategorienKleidung > Damen > Kleider, so wie WooCommerce sie liest
- Probleme aufgelistetZeilen ohne Preis, Artikelnummer oder Bild werden gemeldet
- Lesbarer CodeMit Kommentaren, eine Spalte lässt sich später leicht ergänzen
So funktioniert es
- 1DateienSie schicken einen Ausschnitt Ihrer Produktdatei und sagen, was wohin gehört
- 2CodeWir schreiben das Skript und die Anleitung zum Ausführen
- 3AusprobierenSie importieren ein paar Produkte in eine Kopie Ihres Shops oder eine Testseite
- 4ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen
Was wir von Ihnen brauchen
20–30 Zeilen Ihrer Produktdatei, wie Optionen darin stehen (eine Zeile pro Größe oder Größen in einer Zelle), Ihr Kategoriebaum, wo die Bilder liegen (Links oder Dateien, die schon in Ihrer WordPress-Mediathek sind) und wie Preise festgelegt werden sollen. Ein Export einiger Produkte aus Ihrem WooCommerce-Shop hilft, damit die Spalten genau passen. Ihr System: Windows, macOS oder Linux.
Wir fragen Sie:
- Welche Datei haben Sie derzeit?
- Haben Ihre Produkte Optionen?
- Wie sieht Ihr Kategoriebaum aus?
- Wo liegen die Bilder?
Pakete vergleichen
| Pakete | BasisEinfache Produkte15 € | StandardVariable Produkte30 € | PremiumProduktimport-Tool60 € |
|---|---|---|---|
| Lieferzeit | 1 Tag | 2 Tage | 3 Tage |
| Überarbeitungen | 1 | 2 | 3 |
| Code | bis zu 150 Zeilen | bis zu 400 Zeilen | bis zu 1.000 Zeilen |
| Code-Dateien | 1 | bis zu 3 | bis zu 8 |
| Einstellungsdatei | Nein | Ja | Ja |
| Verständliche Fehlermeldungen und ein Protokoll | Nein | Ja | Ja |
| Startoptionen und eine Anleitung für den zeitgesteuerten Start | Nein | Nein | Ja |
| Anleitung zu Installation und Start (README) | Ja | Ja | Ja |
| Sprache | Python | Python | Python |
| Bestellen Basis | Bestellen Standard | Bestellen Premium |
Zahlungsschutz
Sie bezahlen bei der Bestellung, aber das Geld wird nur für abgenommene Arbeit freigegeben.
- FestpreisDer Paketpreis ändert sich nach der Zahlung nicht mehr.
- Das Geld wird reserviertBei der Zahlung wird der Betrag nur reserviert. Freigegeben wird er erst, wenn Sie die Arbeit abnehmen.
- Vor der Lieferung geprüftJedes Ergebnis durchläuft eine Qualitätsprüfung, bevor es Sie erreicht, und Sie sehen es auf der Bestellseite, bevor Sie es abnehmen.
- Kostenlose ÜberarbeitungenFordern Sie Überarbeitungen im Rahmen Ihres Briefings so oft an, wie das Paket es erlaubt.
- Abnahme nach 3 TagenWenn Sie die Arbeit innerhalb von 3 Tagen nach der Lieferung weder abnehmen noch eine Überarbeitung anfordern, gilt sie automatisch als abgenommen. Schreiben Sie nach der Lieferung im Bestell-Chat, wartet die Bestellung; sobald wir antworten, können wir die 3 Tage neu starten und teilen das im Chat mit.
- Neuanfertigung oder volle RückerstattungWenn das Ergebnis nicht Ihrem Briefing entspricht und die Überarbeitungen das nicht behoben haben oder die Arbeit mehr als doppelt so lange dauert wie die Frist, schreiben Sie im Bestell-Chat: Wir erstellen die Arbeit neu oder erstatten die Zahlung vollständig.
Fragen und Antworten
Brauche ich ein kostenpflichtiges Import-Plugin?
Nein. Die Datei ist für den Produktimporter gemacht, der mit WooCommerce geliefert wird (Produkte, dann Importieren). Andere Import-Plugins verwenden andere Aufbauten; sagen Sie uns, wenn Sie eines nutzen.
Kann es vorhandene Produkte aktualisieren?
Ja: WooCommerce kann Produkte mit passender Artikelnummer oder ID aktualisieren, wenn Sie beim Import die Option zum Aktualisieren anhaken. Premium bereitet Aktualisierungsdateien nach Artikelnummer aus der neuen Preisliste Ihres Lieferanten vor.
Was, wenn der Import schiefgeht?
Deshalb testen Sie zuerst ein paar Produkte, am besten in einer Kopie des Shops, und behalten ein Backup. Der Importer kann einen Import nicht von selbst rückgängig machen.
Importieren Sie die Produkte für mich?
Nein. Wir melden uns nie auf Ihrer Website an. Sie starten den Importer selbst, und die README zeigt jeden Schritt.
Keine Antwort gefunden?


