Express Kurier. Direkt.
Auch Overnight.
x25pronto Schweiz bringt Ware direkt ans Ziel. Für kleine Ware fährt ein Auto. Für mehr Platz gibt es Transporter oder XL. Direkt, Express und Overnight fahren von Montag bis Sonntag. Freie Zeiten stehen im Kalender.
Vorlage: CSV-Importschema und Python-Skript für Abrufkontingente
Konkretes CSV-Format und ein Python-Beispiel, um Abrufkontingente zu prüfen und sicher in ein ERP hochzuladen. Fokus: einfache Integration in Swiss-IT-Umgebungen.
Kurzantwort
Hier finden Sie ein klares CSV-Importschema und ein praktisches Python-Skript, das Abrufkontingente lokal validiert und per API in Ihr ERP-System oder Ihr internes Backend hochlädt. Das Beispiel prüft Format, Pflichtfelder, Datentypen und einfache Geschäftsregeln, bevor es die Datei sendet. Es eignet sich für Schweizer Logistik- und Beschaffungsprozesse und lässt sich an eigene ERP-Endpunkte anpassen.
Worum es geht
Viele Firmen verwalten Abrufkontingente in Tabellen. Für Automatisierung brauchen Sie ein klares CSV-Format und robuste Prüfungen. Dieses Tutorial zeigt: ein einfaches Schema, Validierungsregeln und ein Python-Skript für Upload via REST. Ziel: weniger Fehler, schnellerer Import in Ihr ERP in Zürich, Basel oder Genf.
Empfohlenes CSV-Importschema
Kopfzeile (Reihenfolge empfohlen): - contract_id: string, Pflicht - sku: string, Pflicht - supplier_id: string, Pflicht - start_date: ISO-8601 (YYYY-MM-DD), Pflicht - end_date: ISO-8601 (YYYY-MM-DD), optional - quantity_total: integer ≥ 0, Pflicht - quantity_available: integer ≥ 0 ≤ quantity_total, Pflicht - location_code: string (optional, z. B. CH-ZIP oder Standort-ID) - notes: optional Speichern Sie als UTF-8 ohne BOM. Dezimaltrennzeichen: Punkt. Datum im ISO-Format für einfache Parsing und länderverträgliche Verarbeitung.
Kernregeln zur Validierung
Prüfen Sie Datei-Grundlagen: UTF-8, Kopfzeile vorhanden, keine leeren Zeilen. Validieren Sie pro Zeile: - Pflichtfelder vorhanden und nicht leer - Datentypen (integer, string, date) - Zahlenbereiche: quantity_total ≥ 0, quantity_available zwischen 0 und quantity_total - Datumslogik: start_date ≤ end_date (wenn end_date gesetzt) - Eindeutigkeit: Kombination contract_id + sku sollte in einer Batch-Datei nicht mehrfach vorkommen Fehlerhafte Zeilen melden, nicht automatisch überschreiben.
Python-Beispiel: Struktur und Verhalten
Das Skript ist bewusst einfach und in drei Teile geteilt: 1) Einlesen und Basis-Parsing mit csv.DictReader 2) Validierung mit klaren Fehlermeldungen pro Zeile 3) Zusammensetzen eines JSON-Payloads und Upload per HTTP POST mit Requests Das Skript gibt bei Validierungsfehlern eine Zusammenfassung aus und sendet nur, wenn alle Zeilen valide sind. Sie können Hooks einbauen, z. B. Vorab-Checks gegen Ihr ERP via API.
Sicherheit, Fehlerbehandlung und Idempotenz
Nutzen Sie HTTPS für Uploads und API-Keys oder OAuth für Authentifizierung. Implementieren Sie Idempotenz-Keys (z. B. batch_id und timestamp) beim POST, damit wiederholte Requests nicht zu doppelten Kontingenten führen. Protokollieren Sie Sendeversuche und Antworten. Bei 4xx-Fehlern prüfen Sie Nutzdaten; bei 5xx-Fehlern planen Sie Retry mit Exponential Backoff.
Anpassung an Ihr ERP in der Schweiz
ERP-Systeme (z. B. Abacus, SAP Business One, Bexio oder ein internes System) verlangen oft leicht andere Feldnamen oder Endpunkte. Passen Sie Header-Namen, Felder und den JSON-Wrapper an. Bauen Sie einen Mapping-Layer: CSV-Feld → internes Feld → API-Feld. Testen Sie zuerst in einer Staging-Umgebung, z. B. einem lokalen Test-Endpoint oder einer Sandbox Ihres Anbieters.
Häufige Fragen
Wie teste ich das Skript lokal bevor ich in Produktion sende?
Führen Sie das Skript gegen eine lokale Mock-API, etwa ein kleines Flask- oder FastAPI-Endpoint, das erwartete JSON prüft. Alternativ nutzen Sie Tools wie Postman oder eine Sandbox Ihres ERP-Anbieters.
Was tun bei fehlenden Pflichtdaten in vielen Zeilen?
Exportieren Sie die fehlerhaften Zeilen in eine separate Datei, ergänzen die fehlenden Werte manuell oder per Skript und führen die Validierung erneut aus. Automatisches Auffüllen ist nur sinnvoll, wenn Regeln zuverlässig sind.
Wie verhindere ich doppelte Uploads derselben Datei?
Generieren Sie eine Batch-ID (z. B. Hash der Datei + Timestamp) und senden diese mit. Ihr ERP kann damit wiederholte Uploads erkennen. Zusätzlich: prüfen Sie auf serverseitige Idempotenz-Logik.
Kann ich mehrere Standorte in einer Datei verwalten?
Ja, verwenden Sie das Feld location_code und dokumentieren die gültigen Standort-IDs. Validieren Sie location_code gegen eine Referenztabelle, um Tippfehler zu vermeiden.

