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
Stundenpläne, Schichtpläne, Lieferfenster oder ein Veranstaltungsprogramm stehen oft in einer Google Tabelle, und sie einzeln in Google Kalender zu übertragen, ist langsam und fehleranfällig. Dieses Google Apps Script liest Ihre Zeilen und erstellt für jede einen Termin im Kalender Ihrer Wahl: Titel, Beginn und Ende, Ort und Beschreibung aus Ihren Spalten. Es speichert die ID des Termins in der Zeile, sodass der Termin sich verschiebt, statt doppelt angelegt zu werden, wenn Sie eine Uhrzeit ändern und es erneut starten. Premium kann Termine auf mehrere Kalender verteilen, etwa einen pro Lehrkraft oder Raum. Gäste erhalten Einladungen nur, wenn Sie das einschalten. Die Termine landen in Ihrem eigenen Google-Konto, in dem Sie das Skript installieren und starten; es prüft keine Überschneidungen und bucht nichts für andere.
Was enthalten ist
- Das erhalten SieEin ZIP-Archiv mit dem Apps-Script-Code und einer README, die zeigt, wie Sie ihn zu Ihrer Tabelle hinzufügen, den Kalender wählen und ihn starten; der Code wird auch auf der Bestellseite angezeigt.
- Ihre SpaltenTitel, Datum, Beginn, Ende, Ort und Beschreibung
- Keine DoppelungenDie Termin-ID in der Zeile verknüpft sie mit ihrem Termin
- Ihre ZeitzoneUhrzeiten werden in der festgelegten Zeitzone gelesen
- Einladungen nur auf WunschGäste werden nur eingeladen, wenn das eingeschaltet ist
- Lesbarer CodeMit Kommentaren, eine Spalte lässt sich später leicht ergänzen
So funktioniert es
- 1AufgabeSie schicken die Spalten der Tabelle und welcher Kalender verwendet wird
- 2CodeWir schreiben das Skript und die Installationsanleitung
- 3AusprobierenSie führen es mit einer Kopie der Tabelle in einen Testkalender aus
- 4ÜberarbeitungenSie wünschen Überarbeitungen im Rahmen Ihres Pakets und schicken etwaige Fehlermeldungen
Was wir von Ihnen brauchen
Die Spaltennamen Ihrer Tabelle und ein paar Zeilen (erfundene Namen sind in Ordnung), wie Datum und Uhrzeit darin geschrieben sind, Ihre Zeitzone und der Kalender, in den die Termine sollen (oder für Premium die Spalte, die den Kalender bestimmt). Was passieren soll, wenn eine Zeile geändert oder gelöscht wird, und ob Gäste aus einer Spalte Einladungen erhalten sollen. Ungefähr wie viele Zeilen und wie oft sich die Tabelle ändert.
Wir fragen Sie:
- Was steht in der Tabelle?
- In welchen Kalender sollen die Termine?
- Was soll passieren, wenn sich Zeilen ändern?
- Sollen Gäste eingeladen werden?
Pakete vergleichen
| Pakete | BasisZeilen zu Terminen15 € | StandardTermine mit Einstellungen30 € | PremiumKalendertool60 € |
|---|---|---|---|
| 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 | Google Apps Script | Google Apps Script | Google Apps Script |
| 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
Was, wenn ich eine Zeile ändere, nachdem der Termin erstellt wurde?
Ab Standard findet das Skript den Termin über die in der Zeile gespeicherte ID und aktualisiert ihn. Im Basis-Paket werden Zeilen, die schon einen Termin haben, übersprungen, Sie ändern den Termin also selbst im Kalender.
Löscht es Termine?
Nur im Premium-Paket und nur nach der Regel, die Sie vorgeben, etwa den Termin zu entfernen, wenn die Zeile als „Abgesagt“ markiert ist. Termine, die es nicht erstellt hat, werden nie angefasst.
Kann es Termine in die Kalender meiner Kollegen eintragen?
In Kalender, die Sie bearbeiten dürfen, etwa freigegebene, ja. Andernfalls können Sie sie aus einer Spalte als Gäste einladen, wenn Sie Einladungen einschalten.
Bekommen Sie Zugriff auf meinen Kalender?
Nein. Sie fügen das Skript selbst zu Ihrer Tabelle hinzu und erlauben ihm den Zugriff. Wir melden uns nie in Ihrem Google-Konto an.
Keine Antwort gefunden?


