Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten.
Druckvorgang starten.
Zur Standardansicht zurückkehren.
Schnittstellen
Schnittstellen zu deinem Kieselstein-ERP System
Nachfolgend eine lose Sammlung von teilweise praktischen Schnittstellen zu deinem Kieselstein ERP-System
Telefonanlage
Einfache Übergabe der im Kieselstein ERP erfassten Telefonnummern, sodass die Telefonanlage dies automatisch einliest. Womit du auf dem Telefon den Namen des Anrufers siehst.
Baut natürlich auf den sauber erfassten Telefonnummern auf. Siehe wie Telefonnummern erfassen .
Schnittstellen
In Kieselstein ERP sind eine Vielzahl von Schnittstellen und Datenanbindungen enthalten, welche auch laufend erweitert werden.
Dies beginnt bei Importschnittstellen für Artikel, Stücklisten, Partner, Kunden, Lieferanten und geht bis zu komplexen Anbindungen an verschiedenste weitere vor- oder nachgelagerte Systeme.
Importe
- Kassen Importer Oscar und ADS3000
- TrumpfTops
- Sachkonten Import in der integrierten Finanzbuchhaltung im CSV Format.
Musterdaten für Österreich und Deutschland siehe Fibu_DE_Muster.csv. Für Schweiz und Liechtenstein siehe Fibu_CH_Muster.csv
Web-Shop Importe
Fileimporter
Exporte
Bitte beachte ergänzend zu den Exporten, dass grundsätzlich jeder Druck aus Kieselstein ERP auch für Exporte, insbesondere im CSV bzw. XLS Format und natürlich im allseits beliebten PDF Format erzeugt werden können.
Bitte beachte den Unterschied zwischen den direkten Exporten der angelieferten Daten (Fields) und dem Export mittels speichern unter.
Beim direkten Export im CSV Format bzw. Export in die Zwischenablage
werden die Daten, so wie sie vom Applikationsserver angeliefert werden, exportiert. D.h. hier können auch Datenfelder enthalten sein die auf deinem Report nicht sichtbar sind, aber vom Applikationsserver angeliefert werden.
Andererseits:
Hier können keine errechneten Daten enthalten sein. Egal ob es sich dabei um Summen handelt oder um direkte Datenbankabfragen. Insbesondere wenn Reportvarianten verwendet werden, ist es meist von Vorteil, wenn der Export über den Speichern Dialog
erfolgt. Hier kann aus folgenden Formaten

ausgewählt werden.
| Format |
Beschreibung |
| PDF |
Portable Document Format |
| CSV |
Comma Separated Value, Felder sind mit Komma getrennt |
| XLS |
|
| ODT |
|
Bitte beachte, dass bei diesen Exporten versucht wird, das Druckbild des Reports zu erhalten. Hier kann es von Vorteil sein, wenn man sich einen speziellen Druck für z.B. den XLS Export zusammenstellt. Siehe auch
Darüber hinaus gibt es noch weitere spezielle Anbindungen die nachstehend beschrieben sind.
Bitte beachte ergänzend zu den Exporten, dass grundsätzlich jeder Druck aus Kieselstein ERP auch für Exporte, insbesondere im CSV bzw. XLS Format und natürlich im allseits beliebten PDF Format erzeugt werden können. Darüber hinaus gibt es noch weitere spezielle Anbindungen, die hier beschrieben sind.
Bidirektionale Schnittstellen
Bidirektionale Schnittstellen bestehen meist aus einer Kombination von Modulen bzw. Vorgehensweisen, die erst in Ihrer Gesamtheit den tatsächlichen Nutzen ergeben.
Schnittstellen zu Elektronik Distributoren
Nachfolgend eine Beschreibung der derzeit realisierten Schnittstellen zu den verschiedenen Distributoren.
Bitte betrachten Sie dies auch als eine Auflistung von Möglichkeiten, die bereits bestehen, welche wir, für Ihren bevorzugten Distributor gerne erweitern.
Farnell
Für Farnell wurde die Abfrage der kundenspezifischen Artikelpreise und des Versandes von Bestellungen realisiert.
Abfrage der Artikellieferantenpreise
Grundsätzliches:
Voraussetzungen
- Zusatzfunktionsberechtigung WEB_BAUTEIL_ANFRAGE
- Parameter ARTIKELWIEDERBESCHAFFUNGSZEIT in Tage
- API-Request werden am Server getätigt. Das bedeutet Ihr Kieselstein ERP Server muss eine Verbindung zum Farnellserver aufbauen dürfen.
- Gepflegte Daten:
Lieferantenartikelnummer und gegebenenfalls Herstellernummer.
Hinweis: Als Lieferantenartikelnummer soll auch wirklich diese und nicht z.B. die Herstellernummer angegeben sein.
- mind. Java 1.8.0_101 am Server
Einstellung im Lieferanten
-
Reiter Webabfrage im Lieferanten
-
Default ist => kein Eintrag als Weblieferant
-
Auswahl von “Farnell API”
-
Angabe der Mindestparameter:
-
Für kundenspezifische Preise
- Customer ID (Kundennummer bei Farnell)
- Secret Key (erhält man nach Anforderung über Farnell)

-
Webabfrage-Eintrag kann wieder entfernt werden, indem auf <LEER> zurückgesetzt wird

Abfrage im Artikellieferanten Ist ein selektierter Lieferant im Artikellieferant ein Weblieferant (= hat einen Eintrag im Lieferant, Webabfrage <> LEER) so erscheint im Detail ein neuer Button
“Webabfrage” und die Felder “Letzte Webabfrage” und “Bestand”. Mit Klick auf die Weltkugel werden die aktuellen Preise und weitere Daten abgefragt.
Suchparameter
- Artikelnummer Lieferant (des Artikellieferanten, der zum Zeitpunkt der Abfrage gültig ist bzgl. des Gültig-Ab Datums)
- Herstellerartikelnummer
Sobald und nur wenn ein eindeutiges Ergebnis erzielt wird, werden die Daten des Artikellieferanten aktualisiert. Geht der API-Request nicht durch (Service derzeit nicht verfügbar, fehlerhafte Parameter,…) wird auch nicht aktualisiert, es erscheint eine entsprechende Meldung.
Aktualisierung Artikellieferant - Regeln
- Maßgebend ist jener Artikellieferant, der zum Zeitpunkt der Abfrage gültig ist bzgl. des Gültig-Ab Datums
- Blieb der Einzelpreis unverändert, so werden die Daten dieses Eintrags aktualisiert. Sonst wird ein neuer Eintrag des Artikellieferanten erzeugt mit Gültig-Ab des Abfragezeitpunkts
Aktualisierung Artikellieferant - Daten - Letzte Webabfrage
- Webabfrage Bestand
- Einzelpreis
- Nettopreis: bei Neuerzeugung = Einzelpreis, bei Update entsprechend Rabatt
- Rabatt = 0, bei Neuerzeugung
- Artikelnummer Lieferant
- Wiederbeschaffungszeit (in Tagen)
- Weblink
- Staffelpreise
Bitte beachten Sie, dass es zwischen Ihrer lagergeführten Mengeneinheit und der bei Farnell verwendeten Mengeneinheit durchaus Unterschiede geben kann. Das bedeutet, dass z.B. ein Schrumpfschlauch mit 5 m bei Farnell als 1 Stk mit 5 m geführt wird, Sie dies in Ihrem Artikelstamm in aller Regel in m (und damit in der Stückliste in mm) bewirtschaften werden. Das bedeutet nun, dass diese Übersetzung der Menge auf die Verpackungseinheit beim Artikellieferanten durch den Anwender selbst gepflegt werden muss. Weiters bedeutet dies, dass der Bestand und die Staffelmengen von den Farnell-Mengen (die auf Basis der Verpackungseinheit sind) in die lagergeführten Mengeneinheiten Ihres Artikelstamms umgerechnet werden. Bitte vermeiden Sie daher an dieser Stelle Definitionen wie 1Stk = 1Stk, denn andererseits benötigen Sie sicherlich 1Stk (Farnell Gebinde) = 1Liter z.B. einer Reinigungslösung.
Da die von Farnell vorgegebene Mindestbestellmenge nicht unbedingt einen festen Zusammenhang mit der von Ihnen gewünschten Mindestbestellmenge haben muss, wird auch diese nicht auf die Daten der Schnittstelle gesetzt.
Um Missverständnisse in der Mengendefinition zu vermeiden, raten wir daher von Farnell die (bekannte) Regelung zu verlangen, dass bei unklaren Einheiten Ihre Bestellung auf Halt gesetzt wird, um zu einer Abklärung der Ungenauigkeit von Seiten Farnell abgefordert zu werden.
Aktualisierung Staffelpreise - Regeln
- Maßgebend ist jener Eintrag, der für die aktuell geprüfte Menge zum Zeitpunkt der Abfrage gültig ist
- Bleibt Menge und Preis unverändert, dann auch der Eintrag
- Bleibt Menge bestehen und Preis ändert sich, dann
- a) Gültig Ab < Abfragetag: Bisheriger Eintrag mit Gültig Bis = Abfragetag - 1 und neuer Eintrag mit aktuellem Preis und Gültg Ab = Abfragetag
- b) Gültig Ab = Abfragetag: Bisheriger Eintrag wird mit neuem Preis aktualisiert
- Neue Menge führt zu einem neuen Eintrag mit Gültig Ab = Abfragetag
- Gibt es eine eingetragene Menge nicht mehr, so wird ihr das Gültig Bis = Abfragetag - 1 gesetzt
Automatikjob Webabfrage Artikellieferant
Um nun nicht jeden Artikel einzeln aktualisieren zu müssen, gibt es den Automatikjob Webabfrage Artikellieferant.
Die Definition dafür finden Sie im Modul System, unterer Modulreiter Automatik.
Dieser muss aktiviert werden und wird dann zum gewünschten Zeitpunkt einmal täglich, z.B. in der Nacht ausgeführt.
Es werden dabei folgende Funktionen durchgeführt:
- Es werden alle Artikel eines Weblieferanten abgefragt und aktualisiert
Weblieferant = Lieferant mit einem Eintrag im Reiter Webabfrage
- Es gelten bzgl. Aktualisierung die gleichen Regeln wie über den Button im Artikellieferanten
- Wird im Detail des Automatikjobs eine E-Mail-Adresse definiert, so wird nach Durchführung an diese E-Mail-Adresse ein Protokoll gesendet.
Protokoll Beispiel:
Protokoll der Durchführung des Automatikjobs Webabfrage Artikellieferant.
Für Lieferant 'Farnell GmbH':
Artikel '1000394NXP': Aktualisiert
Artikel '1000208YAG': Aktualisiert
Artikel '1000795AVX': KEIN ERGEBNIS
Suchparameter: Lieferantenartikelnummer '1657939', Herstellernummer 'null'
Artikel '1000422NXP': MEHRFACHE ERGEBNISSE
Suchparameter: Lieferantenartikelnummer '1301304', Herstellernummer '74HCT14D'
...
Mögliche Fehlermeldungen
-
Die Webabfrage für Artikel ‘0815’ wurde vom API-Server nicht zugelassen. Bitte prüfen Sie die Webabfragezugangsdaten im Lieferanten ‘XY’
=> Lösung: wahrscheinlich stimmen die Parameter im Weblieferanten nicht.
-
Die Webabfrage für Artikel ‘0815’ führte zu keinem (od. mehrfachen) Ergebnis.
Folgende Suchparameter wurden verwendet: Lieferantenartikelnummer ‘AB’, Herstellernummer ‘CD’
=> Lösung: Prüfung der Lieferantenartikel- und Herstellernummer, z.B. ist keine Lieferantenartikelnummer angegeben oder es wurde darin die Herstellernummer angegeben. Achtung, das sind zwei unterschiedliche Calls gegen den API-Server!
-
Die Webabfrage für Artikel ‘0815’ enthielt ungültige Parameter.
Bitte prüfen Sie die Einstellungen im Lieferanten oder wenden Sie an Ihren Kieselstein ERP Betreuer. Bitte senden Sie uns dazu auch die Protokolldatei.
-
Die Webabfrage für Artikel ‘0815’ führte zu einer unerwarteten Antwort: <HTTP Statusnachricht>
=> Lösung: Warten und später wieder probieren. Vor allem bei 503 Service unavailable oder 500 Internal Server Error
Für Farnell steht mit dieser Anbindung auch das Versenden von Bestellungen im XML Format zur Verfügung.
D.h. wenn bei einem Lieferanten die API zu Farnell aktiviert ist, so steht beim E-Mail-Versand der Bestellung neben dem normalen E-Mail-Versand auch der Versand per XML zur Verfügung.
D.h. um die Bestellung im für Farnell lesbaren Format (OpenTrans1.0) zu senden, klicken Sie bitte auf Mit XML senden.
Das bedeutet, dass wie bisher die Bestellung als PDF Datei an das E-Mail angefügt wird und zusätzlich die XML Datei als weitere Anhang dazugegeben wird. Beide Dateien werden auch in der Dokumentenablage dieser Bestellung abgelegt.
Es sind dazu folgende Daten erforderlich:
- im Lieferanten muss die Kundennummer hinterlegt sein
- für jeden Artikel muss die “Artikelnummer des Lieferanten” (aus Artikellieferant) gesetzt sein.
Bitte beachten Sie, dass bei den Mengeneinheiten derzeit nur Stk, Meter, Kg, Liter, Stunde und Rolle in das OpenTransFormat übersetzt werden.
Um die E-Mail-Adresse der Bestellung entsprechend vorzubesetzen, nutzen Sie bitte die Übersteuerungsmöglichkeit der Ansprechpartnerfunktion.
Für die richtige Empfänger-E-Mail-Adresse stimmen Sie sich bitte mit Ihrem Lieferanten ab. Für den Test der Funktion sollte eine E-Mail-Adresse verwendet werden, die auch von Ihrem Lieferanten klar als Test deklariert ist.
Wieso werden bei “jeder” Abfrage neue Artikellieferanteneinträge gemacht?
Wie oben beschrieben werden bei Preisänderung zur Dokumentation der Preisentwicklung neue Gültig-ab Einträge angelegt.
Was bedeutet Wiederbeschaffungszeit gegenüber der Lieferdauer?
In der Farnell Schnittstelle werden zwei Informationen übergeben.
Einerseits der aktuelle Lagerstand und
andererseits die Wiederschaffungszeit. Hier ist mit Wiederbeschaffungszeit jene Zeit (in Tagen) gemeint, die Farnell / das Werk benötigt, um diesen Artikel wieder zu beschaffen.
Schnittstellen zu Kassenanbietern
Gerade im Handel sind die Übertragung der Artikel an die Kasse(n) und die Übernahme des Tagesprotokolls für die Verbrauchsbuchungen von der Kasse nach Kieselstein ERP vor allem zur Aktualisierung des Lagerstandes wesentlich. Sollten Sie weitere Schnittstellen / Funktionen benötigen, so bitten wir um Ihre Anfrage. Wir unterstützen Sie gerne.
Gastrosoft
Die Schnittstelle zu Gastrosoft besteht im Wesentlichen aus zwei Teilen:
- a.) Export der Artikel mit Beschreibungen und Verkaufspreisen. Dies wird durch eine spezielle Preisliste aus dem Artikelstamm realisiert, mit der die Daten im XLS Format übergeben werden.
- b.) CSV-Kassenimport
Diesen Import finden Sie im Modul Los, Menü Los -> Import -> CSV-Kassenimport.
Auswahl eines Ordners, in dem die zu importierenden CSV-Dateien abgelegt sind. Es werden alle CSV-Dateien darin berücksichtigt.

Folgende Spalten werden benötigt:
- Artikel (= Bezeichnung des Artikels)
- Artikel-Nr.
- Menge
- Rech.-Datum
- Rech.-Nr.
- Pos.-Nr.
- Datum (= Abschlussdatum)
- E-Preis (= Einzelpreis)
- G-Preis (= Gesamtpreis)
- Zahlungsart
- PLU
- Hauptwarengruppe
Es wird jede Datei nacheinander manuell importiert. Es empfiehlt sich vor dem Import eine Prüfung zu machen. Etwaige Fehler werden im Importfenster aufgelistet - wenn es eine spezielle Zeile betrifft mit Zeilennummer. Es wird davon ausgegangen, dass es pro Tagesabschluss eine Datei gibt. Es wird für jeden Dateiimport ein neues Los als freie Materialliste angelegt, mit dem Abschlussdatum des ersten Artikels des Imports als Beginn- und Ende-Datum. Im Projektfeld wird der Tagesabschluss textuell erfasst. Kostenstelle (mit definiertem Sachkonto), Fertigungsgruppe, Montageart muss gegeben sein. Es wird davon jeweils die 1. verwendet. Als Loslager wird jenes mit niedrigstem Loslager-Sort verwendet.
Jede Zeile (also jeder Artikel) wird als Lossollmaterial im Los angelegt. Ist der E-Preis eines Artikels negativ, wird das Sollmaterial als Lagerzugang gebucht, d.h. die angegebene Menge wird mit negativem Vorzeichen berücksichtigt. Ist ein Artikel lagerbewirtschaftet, muss genügend im Lager verfügbar sein. Ist keine Artikelnummer angegeben, wird jene Artikelnummer für diese Zeile verwendet, die über den Mandantenparameter KASSENIMPORT_LEERE_ARTIKELNUMMER_DEFAULT_ARTIKEL definiert wurde. Im Kommentarfeld des Sollmaterials wird die Rech.-Nr., der G-Preis und die Zahlungsart geschrieben. Zusätzlich wird bei Verwendung des Defaultartikels die PLU und Artikelbezeichnung hinzugefügt.
Ist ein zu importierender Artikel ein Setartikel, so wird nicht der Artikel selbst, sondern seine Positionen als Lossollmaterial importiert. Die Menge in der Setartikelposition wirkt dabei als Faktor zur Menge aus dem CSV. Als Text des Kommentars wird neben der Rech.Nr., G-Preis und Zahlungsart auch angegeben aus welchem Setartikel dieses Lossollmaterial ein Bestandteil war.
Beginnt die Hauptwarengruppe mit “Pfand” (Groß-/Kleinschreibung nicht relevant), so werden diese Artikel beim Import nicht berücksichtigt.
Mögliche Fehlerfälle sind:
- Unbekannter Artikel
- erforderliche Spalte nicht gefunden
- zu geringer Lagerstand für bestimmten Artikel
- Wert einer Spalte konnte nicht in erwartetes Datum oder erwartete Zahl umgewandelt werden
- es konnte keine Montageart, Fertigungsgruppe, Kostenstelle mit definiertem Sachkonto oder ein Lager mit Loslager Sortierung gefunden werden
- Defaultartikel für leere Artikelnummer nicht definiert
- Setartikel enthält keine Positionen

Kassen Importer
Schnittstellen zu MES Systemen
Manche Anwender sind der Meinung, dass MES Systeme an Kieselstein ERP angebunden werden sollten. Manchmal gibt es auch die Situation, dass verschiedene Maschinenhersteller die erforderlichen Kommunikationsdaten nicht bzw. nur gegen Einsatz von sehr viel Geld, herausgeben.
Auch wenn wir der Meinung sind, dass eine direkte Integration der vollständigen Fertigungssteuerung in Kieselstein ERP deutliche Vorteile bringt, die Komplexität und Mühsamkeit der Abstimmung bestätigt dies, so unterstützen wir unsere Kieselstein ERP Anwender selbstverständlich auch in diesen Dingen.
Hydra
Mit der Hydra-Schnittstelle wurde eine bidirektionale Verbindung zwischen den Losen aus Kieselstein ERP und den (Fertigungs-) Aufträgen von Hydra geschaffen.
Bitte beachten Sie bei der Definition Ihrer Kieselstein ERP Daten die zahlreichen Beschränkungen, die durch das Hydra System grundsätzlich gegeben sind.
Nachfolgend eine kompakte Beschreibung zur Verbindung mit dem Hydra System. Für weitere Details wenden Sie sich bitte vertrauensvoll an Ihren Kieselstein ERP Betreuer.
Das Hydra-Microservice läuft als eigenständiger HTTP-Server (Host + Port in Mandantenparameter HYDRA_SERVER definieren), idealerweise direkt auf dem Rechner auf dem auch Ihr Hydraserver läuft.
Wechselt ein Los in den Status “In Produktion” und entspricht es weiteren Hydra-Kriterien, wird die Ausgabe per HTTP-POST dem Microservice bekanntgegeben. Folgende Kriterien müssen dabei erfüllt werden:
- Zusatzfunktionsberechtigung “Hydra”
- Mandantenparameter HYDRA_SERVER beinhaltet mit Host:Port das darüber erreichbare Microservice
- Los-Fertigungsgruppe ist jene wie in Mandantenparameter HYDRA_FERTIGUNGSGRUPPE definiert
Das Hydra-Microservice holt sich daraufhin selbständig über die Rest-API alle Daten des Loss und wandelt die erhaltenen Daten in die vorgegebene Hydra-Datenstruktur als Hydra-Auftragsdaten um. Diese beinhalten derzeit drei verschiedene Daten-Segmente:
- Auftragskopf: Losnummer, Zusatzstatus, Stücklistenartikelinformation, Kunde, Losgröße, Beginn- und Ende-Termin
- Langtexte des Auftragskopfes: Projekt und Kommentar
- Arbeitsgänge, die wiederum in drei Segmente (AG, AG-Komponenten, AG-Langtexte) unterteilt sind. U.a. mit AG-Nr., AG-Namen, Rüstzeit, Stückzeit, Maschine, Material…
Es werden dabei nur jene Arbeitsgänge berücksichtigt, die als AG-Art jene definiert haben, wie sie in der Konfiguration des Microservices definiert ist.
Pro Los erzeugt das Microservice somit eine temporäre Datei mit den zugehörigen Hydra-Auftragsdaten. Hydra nimmt die Daten über eine definierte Zieldatei entgegen, die von beiden Systemen (Hydra, Microservice) erreichbar ist. Ist diese Zieldatei nicht vorhanden (= Hydra hat die letzte eingelesen bzw. übernommen), schreibt das Microservice eine neue und fasst damit alle bis dahin erzeugten temporären Auftragsdaten darin zusammen und stellt sie so Hydra wieder zur Verfügung.
Schnittstellen zu Exchange / Outlook
Steht aktuell für Kieselstein ERP nicht zur Verfügung. Solltest du einen entsprechenden Bedarf haben, freuen wir uns über deine Anfrage.
-
Mit dem Zusatzservice HV-EST, HELIUM V Exchange Synchronisations Tool, können die Daten aus Ihrem Partnerstamm nach Exchange übertragen werden.
Im Wesentlichen werden hier die Firmen, Ansprechpartner mit deren Adressdaten, sowie Telefonnummern und E-Mail-Adressen in einer strukturierten Form in die zentralen Adressdaten des Exchange (LDap-Verzeichnis) importiert.
Der Import ist so aufgebaut, dass portionsweise die Adressen vom HELIUM V Exchange Synchronisations Tool vom Kieselstein ERP Server abgeholt und in das Exchange übertragen werden. Da Exchange nur auf Microsoft-Betriebssystemen zur Verfügung steht, ist die HV-EST auch ein Windows-Programm.
Die Gliederung / Erkennung, ob eine Partneradresse eine Firma oder ein Ansprechpartner einer Firma ist, erfolgt daran, wenn eine Adresse ein Ansprechpartner einer Firma ist, so wird dies in dieser Struktur im Exchange abgelegt. Ist eine Adresse nicht Mitglied / Ansprechpartner einer anderen Adresse wird dies als reine Firmenadresse betrachtet.
Zusätzlich werden die übertragenen Adressen gegenseitig gekennzeichnet, sodass Änderungen in Ihren Kieselstein ERP Adressdaten beim nächsten Lauf im Exchange aktualisiert werden.
Da dieser Dienst, wie beschrieben, immer nur Teile überträgt, kann es, je nach Umfang, einige Zeit dauern, bis die Daten synchron sind.
Bitte beachten Sie, dass aufgrund dessen, dass nur Adressdaten übertragen werden, keine wie immer geartete Unterscheidung zwischen den Mandanten gemacht werden kann.
-
Mit dem Zusatzprogramm HV-OST, HELIUM V Outlook Synchronisations Tool, können die Daten aus Ihrem Partnerstamm über Office365 nach Outlook übertragen werden.
Die Einrichtung dieser Funktion setzt administrative Rechte für Ihren Office365 Zugang voraus.
Das entsprechende Programm (HV-OST.exe) fordern Sie bitte mit der genauen Einrichtungsbeschreibung bei Ihrem Kieselstein ERP Betreuer an.
Die Verbindung zwischen Kieselstein ERP und Ihrem Office365 Adressbuch stellt die im Personal des jeweiligen Benutzers eingerichtete E-Mail-Adresse dar.
Es werden die Kontaktdaten anhand folgender Logik ermittelt:
- Projekte, in denen der Benutzer als Mitarbeiter oder als “wird durchgeführt von” im Detail eingetragen ist.
- Angebote, in denen der Benutzer der Vertreter ist
- Aufträge, in denen der Benutzer als Vertreter oder Auftragsteilnehmer eingetragen ist
- Rechnungen, in denen der Benutzer als Vertreter eingetragen ist.
- Kunden, in denen der Benutzer als Provisionsempfänger oder als Sachbearbeiter eingetragen ist.
Bitte beachten Sie auch den Personal-Parameter “Alle Kontakte” synchronisieren. Mit diesem werden, entgegen obiger Logik, alle Partner in Ihre Outlook-Kontakte übertragen.
Webshop
Nachfolgend eine Sammlung von nützlichen / wichtigen Informationen rund um das Thema Webshop.
Zum Thema CleverCure siehe bitte
Lieferschwelle / Lieferung an Endkunden im EU-Ausland
Mit der Lieferung an Endkunden (B2C Geschäft) im EU-Ausland sind je nach Empfänger-Land verschiedene Lieferschwellen verbunden, bei denen Sie gezwungen werden, die Umsatzsteuer mit dem Steuersatz des Empfängerlandes anzugeben und auch die einbehaltene Umsatzsteuer beim jeweiligen Empfängerfinanzamt abzuführen.
Dafür, also die Lieferung an Endkunden, steht das OSS Verfahren zur Verfügung. Siehe dazu bitte
Dies betrifft nur die Umsätze mit Endkunden. Für die Umsätze zwischen Unternehmen (B2B) gilt die Regelung der innergemeinschaftlichen Lieferungen.
Das bedeutet wiederum, dass es für Neukunden im Webshop wichtig ist, dass dieser seine UID-Nummer angibt.
Eine Aufstellung der Lieferschwellen finden Sie z.B. im Portal der österreichischen Wirtschaftskammer.
Wo kann ich definieren, ob Kundensonderkonditionen an den Webshop übermittelt werden?
In System - Parameter finden Sie den Parameter “KUNDESONDERKONDITIONEN_WEBSHOP_VERWENDEN”.
Wenn Sie diesen Parameter auf 0 stellen, so werden die Kundensonderkonditionen nicht an den Webshop übermittelt. Bei 1 werden die Sonderkonditionen übermittelt.
1 - CleverCure
Infos rund um CleverCure
Eine Sammlung unserer Informationen rund um die EDI Schnittstelle CleverCure
Rest-Einsprungspunkt
Der Einsprungspunkt über das https: Protokoll (achte darauf, dass für den https-Port NUR dein externer Partner freigeschaltet ist) ist:
https://deine_externe_EP-Adresse/kieselstein-restapi/services/rest/api/beta/cc?companycode=nnnnn&token=tttttttttttt
- Companycode siehe
- token siehe
Error 417
Bedeutet, dass (noch) kein Versandweg eingetragen ist. Diesen nachtragen. Dabei darauf achten, dass in der lp_versandwegpartnercc und in der lp_versandwegpartner die gleiche Anzahl an Definitionen gegeben ist.
Die jeweilige ID ist der gemeinsame Schlüssel.
select * from lp_versandwegpartnercc
select lp_versandwegpartnercc.c_kundennummer, part_partner.c_uid, i_soko_adresstyp, * from lp_versandwegpartner
inner join part_partner on lp_versandwegpartner.partner_i_id=part_partner.i_id
left outer join lp_versandwegpartnercc on lp_versandwegpartnercc.i_id=lp_versandwegpartner.i_id
order by part_partner.c_kbez
- Üblicherweise per Hand die neue ID in der lp_versandwegpartner nachtragen
- Irgendwie spielen da die UID Nummern auch noch mit, zumindest für die Zuordnungen
- Knd Lieferantennummer = Werkskennung
- Verkettung im lp_versandwegpartner
- Es muss die Lieferadresse zugeordnet werden
Auftrag xxx existiert bereits
Diese Fehlermeldung (Error 417) kann leider auch bedeuten, dass ein Auftrag mit dieser Bestellnummer bereits in deinem Kieselstein ERP angelegt ist.
- Im Tomcat-Log findest du dazu “nur”
IP-Adresse - - [14/Sep/2023:16:15:05 +0200] “POST /kieselstein-rest/services/rest/api/beta/cc?companycode=12345&token=20ETMCCMVH13 HTTP/1.1” 417 -
Wichtig ist hier der Zeitpunkt.
- Im server.log findest du dazu:
2023-09-14 16:15:05,665 WARN [com.lp.server.auftrag.ejbfac.WebshopOrderServiceEjb] (default task-3) Der Auftrag ‘JJ/nnnnnnn’ existiert mit der Bestellnummer ‘xxxxxxxx’. Kein weiterer Auftrag angelegt!
Das bedeutet nichts anderes, dass versucht wurde einen Auftrag erneut einzuspielen, obwohl dieser bereits übermittelt wurde.
Info: Die Schnittstelle ist so vereinbart, dass einmal übertragene Aufträge vom CleverCure-Sender nicht mehr geändert werden dürfen.
Warum? Wie willst du denn deine Fertigung steuern, wenn dir der Kunde laufend die Auftragsdaten verändert?
zu klären
Werden versteckte Artikel trotzdem in die AB übernommen, oder kommt deswegen ein Fehler, weil nicht ordentlich unterstützt?
Anbindung Clever Cure
Mit der Anbindung an CleverCure (siehe dazu auch CureComp.com) wurde eine praktische Schnittstelle für einen Teil der Supplychain geschaffen.
Die im Wesentlichen abgebildeten Funktionen sind:
- Übertragen einer Bestellung aus dem Kundensystem in Ihr Kieselstein ERP
- Senden der Auftragsbestätigung aus Ihrem Kieselstein ERP an den Kunden
- Senden eines Lieferavisos
Voraussetzungen: (Konfiguration siehe unten)
- Kieselstein ERP Webservices
- Kieselstein ERP RestAPI Server
- HTTPS Zugang bidirektional, abgesichert durch Zertifikate. Eine entsprechende Parametrierung der Firewall ist erforderlich.
- Parameterdaten wie Kundennummern, Lieferantennummern usw.
- Kunden-Sonderkonditionen zur Pflege der Kundenartikelnummern
Ablauf:
Nach erfolgter Parametrierung und Einrichtung des Systems sieht der Ablauf wie folgt aus:
-
Vom Kundensystem wird eine Bestellung mit Auftrags-, Rechnungs- und Lieferadresse und den inhaltlichen Positionen gesandt.
Von der Kieselstein ERP CleverCure Schnittstelle werden diese Daten, soweit sie technisch (Achtung: Nicht inhaltlich) in Ordnung sind, gültig entgegengenommen.
-
Diese Daten werden konvertiert und als Auftragsbestätigung in Ihrem Kieselstein ERP angelegt. Zugleich wird ein E-Mail an den CleverCure E-Mail-Empfänger über den Auftragseingang gesandt.
Details zur Datenzuordnung siehe unten.
-
Von Ihnen wird die Auftragsbestätigung geprüft und gegebenenfalls korrigiert.
Bitte achten Sie darauf, dass –> Positionensplitt ….
-
Drucken Sie nun die Auftragsbestätigung, zumindest in die Vorschau, aus. Entspricht die AB Ihren Vorstellungen, so
-
senden Sie diese per CleverCure an Ihren Kunden, durch Klick auf den Knopf Auftrag übermitteln
in den Auftrags-Kopfdaten.
Wurden bereits Daten an Ihren Kunden gesandt, so:
- wird dies durch einen grünen Hintergrund im Knopf angezeigt
und der Zeitpunkt des Versands wird in der Fußzeile angezeigt.
- sollte die Auftragsbestätigung erneut an den Kunden gesandt werden, so wird nach dem Klick auf den Auftrag übermitteln Knopf die Meldung
angezeigt, welche mit Ja bestätigt werden muss. Bitte beachten Sie, dass damit eine entsprechende Änderung der Auftragsdaten auch bei Ihrem Kunden vorgenommen wird.
Info: Neben den üblichen Daten aus Kieselstein ERP wird auch das Ursprungsland, welches im jeweiligen Artikel hinterlegt ist, in der Auftragsbestätigung mit zurückgesandt.
-
Nach erfolgter Beschaffung / Produktion erfolgt die Lieferung der Ware, in der in Kieselstein ERP üblichen Art und Weise, Auftragsbezogener Lieferschein, Sicht Auftrag.
-
Ist die Lieferung fertig zusammengestellt und der Lieferschein ausgedruckt, so senden Sie Ihrem Kunden eine Lieferaviso. Klicken Sie dazu im Lieferschein, Kopfdaten auf Lieferaviso übermitteln
. Auch hier gilt, wenn ein Lieferaviso bereits versandt wurde, wird dies durch den grünen Hintergrund im Lieferaviso Knopf angezeigt. Auch das Lieferaviso kann erneut versandt werden.
Zuordnung der Daten zwischen CleverCure und Kieselstein ERP
| Clever Cure |
Kieselstein ERP |
Bemerkung |
| <BUYER_PARTY> <PARTY_ID> |
Auftragsadresse |
Diese muss im Kunden als Lieferantennummer hinterlegt sein. Bitte überprüfen Sie auch die im Kunden hinterlegten UID. Dies ist zugleich auch die Basis für die Zuordnung der Kundenartikelnummern zu Ihren eigenen Artikelnummern. |
| <SHIPMENT_PARTIES> <DELIVERY_PARTY> |
Lieferadresse |
Es muss dazu die Adresse im Wortlaut übereinstimmen. D.h. die ersten beiden Zeilen der Adresse und die Straße. Gegebenenfalls nicht konvertierbare Zeichen werden ignoriert |
| <INVOICE_PARTY> |
Rechnungsadresse |
Dazu muss im Kunden die UID Nummer hinterlegt sein. Wenn diese UID nicht übereinstimmt, so wird die Auftragsadresse verwendet. |
| <CC_DRAWING_NR> <CC_INDEX_NR> |
Kundenartikelnummer + Revisions- nummer |
In der Rechnungsadresse werden in den Soko die Kundenartikelnummern gesucht. Parallel zur Zuordnung wird auch die Revision zwischen CC und dem Feld Revision im Kieselstein ERP Artikelstamm geprüft. |
| <LINE_ITEM_ID> |
Positions-ID |
Essentielle Nummer für die Zuordnung der Position zwischen den CC-Partnern. Für die Durchgängigkeit des Ablaufs von Bestellung bis zum Lieferaviso. Diese muss genau übereinstimmen! Sie finden die Information in der Texteingabe zur Position in Kieselstein ERP. |
| <CC_ORDER_UNIT> |
Mengeneinheit |
Diese muss mit der in Kieselstein ERP eingetragenen Kennung übereinstimmen. Siehe dazu: System, Sprache, Einheit. Wenn diese Kennung hier nicht vorhanden ist, so wird die Mengeneinheit Stk. verwendet. Die Information, welche Mengeneinheit bestellt wurde, finden Sie in der darüberliegenden Information. Ändern Sie diese entsprechend ab, um im Lieferavisio eine Übereinstimmung zu erzielen. |
| |
Lieferart |
Auch die Lieferart muss mit der in Kieselstein ERP eingetragenen Kennung übereinstimmen. Siehe dazu Lieferadresse, Konditionen, Lieferart bzw. System, Mandant, Lieferart, Kennung. Siehe dazu auch Incoterms im Modul System unterer Modulreiter Mandant oberer Reiter Lieferart. |
| <DELIVERY_START_DATE> <DELIVERY_END_DATE><ORDER_DATE> |
Auftragstermine |
In den Kopfdaten des Auftrags in Kieselstein ERP wird in den Liefertermin der früheste Positionstermin und in den Finaltermin der späteste Positionstermin eingefügt. Das Bestelldatum entspricht der Information, die im Order-Date. |
| <DELIVERY_START_DATE> |
Positionstermin |
Dieser Termin ist der “Wunschtermin” aus der Bestellung des Kunden und kann der Liefersituation entsprechend für das Lieferavisio angepassst werden. |
| <PRICE_AMOUNT> |
Nettopreis |
Der erhaltene Preis, welcher mit dem im Artikelstamm / Kundensonderkonditionen für diese Auftragsadresse hinterlegten Preis übereinstimmen muss. |
Infos / Fehlermeldungen beim Auftragsimport:
Werden Unstimmigkeiten zwischen den in Ihrem System hinterlegten Daten und den erhaltenen Daten festgestellt, so werden entsprechende Info: Texteingaben in die Auftragsbestätigung vor der jeweiligen Ident/Handeingabe eingefügt. Prüfen Sie diese Fehler, beseitigen Sie diese im Auftrag und vor allem in der Definition Ihrer Daten. So erhalten Sie sehr rasch ein zu / mit Ihrem Kunden abgestimmtes System.
Ein Beispiel hierfür ist, dass eine Artikelnummer in Kieselstein ERP gefunden wird, aber keine der CC-Bestellung entsprechende Revisionsnummer vorhanden ist. Diese Information wird als Texteingabe in den Auftrag geschrieben. Eine Vorgehensweise dazu wäre, dass Sie nun einen neuen Artikel anlegen mit der aktuellen Revisionsnummer und diesen in der Position im Auftrag abändern.
Wenn eine Position (Ident) über die Sonderkonditionen nicht gefunden wird, so wird nach der Artikelnummer gesucht, wenn auch hier keine Übereinstimmung besteht, so wird eine neue Position mit der Art Handeingabe angelegt, die alle Informationen zur Bestellposition enthält (Bezeichnung, Menge, Mengeneinheit, LINE_ITEM_ID, Mwst-Sätze, gesuchte Artikelnummer).
Wenn keine Preise/Verkaufspreisbasis für einen Artikel hinterlegt sind, wird der Betrag “0.00” für die Auftragsposition verwendet. Zusätzlich gibt es eine Textposition mit der Mitteilung, dass der Preis nicht ermittelt werden konnte und deshalb auf 0 gestellt wurde.
ACHTUNG: Die LINE_ITEM_ID muss in jeder Position des Auftrags als Texteingabe in folgender Form {“lineitemid” : “1”} enthalten sein!
Verwenden Sie für die Umwandelung einer Handeingabe in einen Artikel den Menüpunkt Bearbeiten, Handartikel in Artikel umwandeln, so bleibt diese Information erhalten.
Welche Daten werden von der Schnittstelle in der Dokumentenablage des jeweiligen Auftrages abgelegt?
-
Import Clevercure XML Import_Clevercure
Dies sind die Originaldaten, die Kieselstein ERP von CleverCure erhalten hat
-
Export Clevercure XML Auftragbestätigung_osa_Clevercure
Diese Daten wurden als Auftragsbestätigung an CleverCure gesandt
Daten, die zum Export des Lieferavisos abgelegt werden sind:
- Export Clevercure XML Lieferaviso_Clevercure
Diese Daten wurden als Lieferaviso an CleverCure gesandt
Ergänzende Infos in den Formularen zu CleverCure
-
Auftragsbestätigung
Parameter java.lang.String P_VERSANDWEG_BESTAETIGUNG_TERMIN, der Zeitpunkt (Datum&Uhrzeit) an dem die Bestätigung gesendet wurde als Datum formatiert. Null wenn noch nicht bestätigt
Parameter java.lang.Boolean P_VERSANDWEG, “true” wenn für diesen Auftrag ein Versandweg (Clevercure) festgelegt ist, “false” wenn nicht
-
Lieferschein
Parameter java.lang.String P_VERSANDWEG_AVISO_TERMIN, der Zeitpunkt (Datum&Uhrzeit) an dem das Aviso gesendet wurde als Datum formatiert. Null wenn noch nicht avisiert
Parameter java.lang.Boolean P_VERSANDWEG, “true” wenn für diesen Auftrag ein Versandweg (Clevercure) festgelegt ist, “false” wenn nicht
Feld java.lang.String F_AUFTRAG_BESTAETIGUNG_TERMIN der Zeitpunkt (Datum&Uhrzeit) an dem die Bestätigung gesendet wurde als Datum formatiert. Null wenn noch nicht bestätigt
Feld java.lang.BOOLEAN F_AUFTRAG_VERSANDWEG “true” wenn für diesen Auftrag ein Versandweg (Clevercure) festgelegt worden ist, ansonsten “false”
Konfiguration zu Beginn
- Kieselstein ERP Webservices
- Kieselstein ERP RestAPI Server
Sind beide in der Standard-Installation von Kieselstein ERP enthalten.
Siehe Grundeinstellung und Definition RestAPI
Zusätzlich gibt es einen Kieselstein ERP Benutzer, der die Interaktion von Kieselstein ERP und dem RestAPI-Webserver durchführt. Dieser muss auf beiden Seiten definiert werden.
Im Tomcat passen Sie die Definition restapi.xml nach folgendem Vorbild an:

Weitere Definitionen in Kieselstein ERP
Legen Sie dazu im Modul Benutzer einen neuen Benutzer an und geben Sie ihm eine Benutzerrolle und hinterlegen den Mandanten. Die Benutzerrolle muss die Rechte AUFT_AUFTRAG_CUD, AUFT_AUFTRAG_R, PART_LIEFERANT_R, PART_PARTNER_R, WW_ARTIKEL_R besitzen. Hinterlegen Sie beim Benutzer je nach Anforderung eine neue Person (Modul Personal Neu) oder eine bestehende.
Geben Sie im Modul Personal oberer Reiter Daten jene E-Mail Adresse ein, an die eine Nachricht gesendet wird, wenn in Kieselstein ERP ein neuer Auftrag angelegt wurde. Um die Nachricht an mehrere E-Mail Adressen zu verschicken, geben Sie die Adressen mit einem Semikolon (;) getrennt ein.
Im oberen Reiter Detail muss im Feld Ausweis die Identifikationsnummer für das Clevercure-Portal eingegeben werden.
Im Modul Artikel unterer Reiter Grunddaten legen Sie im oberen Reiter Webshop einen neuen Webshop an. Der Name muss ebenso der Definition im restapi.xml entsprechen.
Im Modul System unterer Reiter Sprache, oberer Reiter Einheiten legen Sie die Einheiten PCE (Stück) und KGM (kg) an. Bitte bedenken Sie, falls weitere Übersetzungen der Einheiten aus der Auftragsübermittlung nötig sind, diese hier anzulegen.
HTTPS Zugang bidirektional, abgesichert durch Zertifikate. Eine entsprechende Parametrierung der Firewall ist erforderlich.
Parameterdaten wie Kundennummern, Lieferantennummern usw.
Für die Definition, für welche Kunden Sie die Clevercure-Schnittstelle verwenden, wenden Sie sich dazu derzeit an Ihren Kieselstein ERP Betreuer.
Für die Definition im Clevercure-Portal, für welchen Kunden Sie eine Auftragsbestätigung/Lieferaviso schicken, geben Sie im Modul Kunde, oberer Reiter Konditionen Ihre eigene Kundennummer im Feld Lieferantennummer ein.
Kunden-Sonderkonditionen zur Pflege der Kundenartikelnummern
Tragen Sie die Artikelnummern für die Kunden jeweils im Modul Kunde - oberer Reiter Sonderkondition ein. Klicken Sie dazu auf neu, wählen Ihren Artikel aus und geben die kundenspezifische Ident ein. Achtung: Beachten Sie das Feld Gültig ab und tragen hier das gewünschte Datum ein.
Zusätzlich definieren Sie im Modul Artikel bei diesem Artikel die Revisions-Nummer.
VMI Artikel
Es kommt immer wieder die Frage, wie ist im Rahmen von CleverCure mit den VMI Artikel (Vendor Managed Inventory) umzugehen.
Die Antwort dazu ist eigentlich, es ist dies durch entsprechende Verträge zu regeln.
Die Bedeutung von VMI ist im Sinne von CleverCure, dass Artikel quasi sofort, spätestens am nächsten Tag geliefert werden müssen.
Da bedingt, dass Sie als Lieferant an Ihren CleverCure Kunden wissen müssen, welche Artikel das sind. Sie müssen auch wissen, welche Menge Sie zu bevorraten haben.
Sind diese Artikel, durch Ihren Kunden, definiert so müssen im Kieselstein ERP entsprechende Lagermindeststände dafür hinterlegt werden, damit Sie immer lieferfähig sind.
Kommt nun ein neuer/zusätzlicher Artikel, aus dem Sinne des VMI über die Schnittstelle, so bedeutet dies nur, dass dieser Artikel nicht Vertragsbestandteil der VMI Vereinbarung ist. D.h. es hätte Ihnen Ihr Kunde rechtzeitig mitteilen müssen, dass er einen weiteren Artikel in die VMI Logik mit aufnimmt. In diesem Falle muss die weitere Vorgehensweise direkt (telefonisch) mit Ihrem Kunden geklärt werden. Dass Sie natürlich versuchen den Kunden entsprechend rasch zu beliefern, ist für alle Beteiligten sicherlich nachvollziehbar.
2 - Blech-Laser-Daten Schnittstellen
Blech-Laser-Daten Schnittstellen
Mit der Funktionalität der Blech-Laser-Daten Schnittstellen (kurz BLDS) steht eine komfortable Anbindung an verschiedene Systeme zur Verfügung.
In gewissen Grenzen kann bei diesen Schnittstellen, dass Austauschformat frei definiert werden.
Aktuell wurden damit die nachfolgend aufgeführten Anbindungen umgesetzt.
Weitere Anbindungen auch mit einer entsprechend breiteren Datenbasis können nach ausführlicher Spezifikation umgesetzt werden.
Damit die BLDS(Blech-Laser-Daten Schnittstelle) funktioniert muss die Zusatzfunktionsberechtigung TRUTOPS_BOOST aktiviert sein.
Bei der Definition der Datenübergaben wird auch immer von Import und Export gesprochen.
Beachte bitte, dass dies immer aus Sicht deines Kieselstein-Servers zu sehen ist. D.h. wenn du Daten z.B. aus deinen Losen an das andere (MES) System senden möchtest, ist dies aus Sicht der BLDS ein Export. Diese Daten werden dann vom anderen System importiert.
Vorgehensweise für die Definition der Export- und Importfunktionen
Die Definition der Export- bzw. Importfunktionen erfolgt in zwei Schritten:
- a.) Anlegen der Datenstruktur(en) mit eventuellem Werte-Mapping
- b.) Festlegen der Kommunikationsarten und Pfade
Editor
Die BLDS kommt ab der Version Kieselstein ERP Version 1.1.2 auch mit einem Editor, mit dem die Parametrierung durchgeführt werden kann.
Voraussetzung ist, dass die oben genannte Zusatzfunktionsberechtigung (TRUTOPS_BOOST) aktiviert ist. Weiters steht dieser Editor nur für den Admin zur Verfügung.
Der Editor gliedert sich in zwei Bereiche.
- a.) Definition der Datenstrukturen
- b.) Definition der Kommunikationspfade
Du findest diesen im Modul System, unterer Reiter
Datenstruktur bzw. BLDS.
Datenstruktur
Um die verschiedensten Daten in der eigentlichen Definition der BLDS(Editor) verwenden zu können, müssen diese definiert werden. Diese werden im Modul System im unteren Modulreiter Datenstruktur definiert.
D.h. hier wird die Zusammenstellung / Übersetzung der ERP-Felder in die Werte(-Strukturen) des Zielsystems definiert.
Festlegen der Quelle / des Bereiches der Daten
Im Reiter Detail muss mit Bereich ausgewählt werden welche Daten verarbeitet werden sollten. Je nach Bereich stehen unterschiedliche ERP-Felder zur Verfügung.
Aktuell gibt es folgende Bereiche:

- ww_artikel
- fert_losarbeitsplan
- fert_lossollmaterial
Wichtig: Mit dem Bereich wird bestimmt welche Daten für den Export zur Verfügung stehen.
Struktur des Datenexportes
Im Reiter Struktur definierst du nun wie deine Daten zusammengestellt werden.
Vom Grundgedanken her wird von einer XML Struktur ausgegangen. D.h. du definierst wie sich der XML-Baum zusammensetzt und welche Felder aus deinen Los- / Artikeldaten in welche Felder der XML Definitionen übertragen werden.
Das könnte z.B. wie folgt aussehen:

Zusätzlich steht noch das Mapping zur Verfügung.
Der technische Aufbau
Siehe bitte
In anderen Worten
Der Trick liegt darin, dass der XML Baum für jedes XML-Feld (jeden XML Wert) in c_list_item_pfad eingetragen wird, wobei immer der gesamte Baum abzubilden ist und jeder weitere Ast(Verzweigung) mit einem / beginnt. Somit kann die gewünschte XML Struktur dargestellt werden.
Blech-Laser-Daten Schnittstelle
Hat man nun die gewünschten Datenstrukturen definiert, so wird im unteren Modulreiter “BLDS” die Art der Datenübertragung definiert.
Mit neu wird eine Neue Definition angelegt und im Reiter Detail definiert.


Bitte beachte, dass nur Datenstrukturen ausgewählt werden können, welche noch keine Export/Import-Definition hinterlegt haben.
Es gibt folgende Auslöser
| Auslöser |
Bemerkung |
| Los_Ausgabe |
|
| Los_Anlage |
|
| SHOP_TIMER |
Automatikjob, Export bzw. Import Schnittstellen
 |
| REST_CALL |
Generieren der Daten auf Anforderung durch einen RestCall. [Siehe???] |
Wichtig
Die Übertragung der Daten, ob erfolgreich oder nicht, werden in der Datenbank in der Tabelle lp_sst_lauf protokolliert.
Das bedeutet einerseits, sollte ein Lauf nicht erfolgen, findest du hier die Ursache, warum der Lauf nicht funktioniert hat.Siehe
Andererseits wächst damit die Datenbank an und der Inhalt der Tabelle sollte regelmäßig reduziert werden.
Bitte beachte die Filterart. D.h. es wird mit der Filterart entschieden, ob alle Materialartikel aus dem Los übergeben werden, oder ob nur die Artikel übergeben werden, bei denen eine Artikelklasse hinterlegt ist, bei der TOPS
angehakt ist.
Solltes du von früheren Installationen kommen, muss eventuell die Filterart angepasst werden.
Leeren des Protokolls
Um die Protokolldatei der BLDS zu leeren, kannst du z.B. folgendes Script verwenden.
delete from lp_sst_lauf
where extract(day from now() - t_zeitstempel_ende) >62;
Damit werden alle Einträge die älter als 62Tage sind gelöscht.
Verfügbare Anbindungen
Trumpf
Übergabe der Los und Artikeldaten, inkl. der dazugehörenden Zeichnungen an das Lasersystem der Firma Trumpf.
Damit verbunden das Rücklesen der Gestehungspreise der gelaserten / zu lasernden Teile
Die Blech-Laser-Daten Schnittstelle im Client
Aktivierung der BLDS und der Datenstrukturen im Client
Damit im Client die Möglichkeit besteht, die BLDS zu konfigurieren, muss die Zusatzfunktion “TRUTOPS_BOOST” aktiviert werden.
Pro Mandant (mandant_c_nr) muss der Wert “TRUTOPS_BOOST” (zusatzfunktion_c_nr) in der Tabelle ’lp_zusatzfunktionberechtigung’ hinzugefügt werden. Dies erfolgt wie gewohnt direkt in der Datenbank.
Konfigurationsablauf im Client
Damit man eine BLDS erstellen kann, benötigt man zunächst eine Datenstruktur und ein oder mehrere Datenstrukturfelder, die verknüpft werden müssen.
Dazu findet man die jeweiligen Reiter im System die jeweiligen Untermenupunkte.
Optional kann man sich bereits ein Mapping erstellen und ein paar Mappingfelder hinzufügen, um bestimmte Felder aus einem XML-File-Attribut auf einen anderen Wert zu ändern. Dieses Mapping kann dann diesem bestimmten Datenstrukturfeld zugewiesen werden.
Wichtig: Bei der Wahl des c_bereich der Datenstruktur ist darauf zu achten, dass dieser nur für eine BLDS mit dem gleichen Bereich verwendet werden kann.
Bei der Wahl der Datenstrukturfelder unbedingt berücksichtigen, dass bestimmte “erp_feld”-Einträge nur für Import und andere für Export zur Verfügung stehen. Sollte man Werte für den Export verwenden, die nur für den Import unterstützt werden oder umgekehrt, werden diese Felder ignoriert und nicht eingelesen oder ausgelesen. Eine genaue Auflistung befindet sich im Untermenupunkt Einteilung der ERP-Felder für Import/Export.
Sobald eine gültige Datenstruktur und beliebige Datenstrukturfelder verknüpft sind, kann man im Untermenupunkt ‘BLDS’ einen neuen Eintrag erstellen und mit der vorherigen Datenstruktur verknüpfen.
——— Old
Die Generische Schnittstelle und ihre Anwendungsbereiche
Allgemein
Die generische Schnittstelle definiert, wie eine bestimmte Datenstruktur “verwendet” werden kann, um einen Datenaustausch zu gewährleisten. Dies kann sowohl für eine Maschinenanbindung in Form von XML sein als auch zum Austausch bestimmter Daten mit anderen Fremdsystemen.
Beim Import:
Hier wird die verknüpfte Datenstruktur als Vorlage für das Auslesen einer Datei verwendet. In den jeweiligen Datenstrukturfeldern wird definiert, wo der jeweilige Wert z.B. in der XML-Datei zu finden ist (‘c_pfad’) und wohin im Kieselstein ERP der Wert gespeichert werden soll (’erp_feld’).
Beim Export:
Hier wird die verknüpfte Datenstruktur als Vorlage für die Erstellung einer Datei verwendet. In den jeweiligen Datenstrukturfeldern wird definiert, wo alle konfigurierten Werte (’erp_feld’) aus dem Kieselstein ERP in die Datei geschrieben werden müssen (‘c_pfad’). Alle Datenstrukturfelder mit gleichen Elternknoten (‘c_pfad’) werden zusammengefasst und verschachtelt.
Somit können beliebige Daten (nur begrenzt durch die aktuelle Auswahlmöglichkeiten an ERP-Feldern) aus dem Kieselstein ERP und Fixwerte in ausgewählte Datenformate (aktuell verfügbar: nur XML aber weitere Formate modular erweiterbar) als Dateien exportiert oder importiert werden. Spätere Anpassungen für bestimmte Anbindungen können direkt über den Client umgesetzt werden.
Aktuelle Einschränkungen
- Es gibt noch keine Authentifizierungsmöglichkeit bei der REST-Anbindung
- Es gibt beim Export großer Datenmengen noch keinen Paging-Mechanismus. Sollten gewisse Timeouts passieren, kann man diese aktuell nur durch Anpassung der Timeouts im System regulieren.
- Das Logging der generischen Schnittstelle kann aktuell nur direkt aus der Datenbank ausgelesen werden. Einfach in ’lp_sst_lauf’ nach der ‘sst_id’ des gesuchten generischen Schnittstelleneintrags suchen und dann sollte man die bisherigen Durchläufe und deren Status sehen. Sollte hier ein Fehler passiert sein sollte der Status + Fehlermeldung hier ersichtlich sein.
Anzeige des Protokolls
In der Übersicht der generischen Schnittstelle

erhältst du durch Klick auf den Button Auswahlliste Anzeigen, auch eine Übersicht über alle Einträge in der Protokollierung der Kommunikation.

Eventuelle Fehler werden rot hinterlegt angezeigt.
2.1 - BLDS, Parametrierung
Blech-Laser-Datenschnittstelle, Parametrierung
Nachfolgend eine Beschreibung, wie man die BLDS parametrieren kann.
Das Ziel ist, die Dateistruktur für den Export (für den Import siehe) entsprechend der Vorgaben des Zielsystems zusammenzustellen.
Idealerweise bekommst du dafür eine Musterdatei welche am Zielsystem eingelesen werden kann.
Hinweis:
Die nachfolgende Beschreibung geht immer anhand einer Filestruktur vor. Egal ob dies dann tatsächlich in einer Datei mündet, oder z.B. per RestAPI an einen Endpunkt gesandt wird.
Die für die Parametrierung erforderlichen Einstellungen findest du im Modul System.
Diese teilen sich in die grundsätzliche Beschreibung der Datenstruktur, siehe unterer Modulreiter Datenstruktur und in die eigentliche BLDS, in der die Abarbeitung definiert wird.
Definition der Datenstruktur
Im Reiter Datenstruktur definierst du den grundsätzlichen Aufbau für die verschiedenen Exportdateien, welche erzeugt werden sollten.
Je Export- bzw. Importdatei muss eine eigene Definition angelegt werden.
Der ItemPfad wird nur für den Import benötigt.
Die Export-Dateien werden auf den unter Quellname in der BLDS angegebenen Basispfad exportiert.
Für eventuelle Daten-Übersetzungen siehe Mapping.
Definition Mapping
Hier ist die Idee, Werte entsprechend zu übersetzen. So können z.B. kryptische Fehlermeldungen in sprechende / Menschen lesbare Texte übersetzt werden.
Beispiel:
| Quellwert |
Zielwert |
| -1 |
Unbekannter Fehler |
| 0 |
alles Ok |
Die Verwendung des Mappings muss in der Definition der Datenstruktur unter Mapping angegeben werden, womit der aus dem ERP Feld erhaltene Wert durch das Mapping verändert wird, bzw. beim Import der Wert aus dem externen System in entsprechend Kieselstein ERP konforme Werte übersetzt wird.
Dateistruktur Export
c:\kieselstein\muster\Los@@LOS_CNR@@_@@ZEITSTEMPEL_STR1@@.xml
| Feld |
Parametrierung |
| Quellname |
Beim Export ist hier der Dateiname der erzeugten Datei anzugeben. Es stehen hier auch die Felder aus … zur Verfügung. Diese müssen in @@ eingeschlossen sein. Beispiel: @@LOS_CNR@@ setzt an diese Stelle die Los Nummer. ACHTUNG: Derzeit wird / auf \ übersetzt, womit für das jeweilige Jahr entsprechende Unterverzeichnisse existieren müssen. ZEITSTEMPEL_STR1 … aktuelles Datum und Uhrzeit in Millisekunden |
Dateistruktur Import
Mit der Funktionalität der BLDS steht eine komfortable Anbindung an die verschiedensten Systeme zur Verfügung.
Aktuell wurden damit die nachfolgend aufgeführten Anbindungen umgesetzt.
Weitere Anbindungen auch mit einer entsprechend breiteren Datenbasis können nach ausführlicher Spezifikation umgesetzt werden.
Damit die BLDS (Blech-Laser-Daten-Schnittstelle) funktioniert muss die Zusatzfunktionsberechtigung TRUTOPS_BOOST aktiviert sein.
- Ergänzend siehe dazu auch ( /fertigung/losverwaltung/trumpf_fab/ )
- Automatikjob Export-Schnittstellen
- Automatikjob Import-Schnittstellen
Editor
Die BLDS kommt ab der Version 1.0.27 auch mit einem Editor, mit dem die Parametrierung durchgeführt werden kann.
Voraussetzung ist, dass die oben genannte Zusatzfunktionsberechtigung (TRUTOPS_BOOST) aktiviert ist. Weiters steht dieser Editor nur für den Admin zur Verfügung.
Du findest diesen Editor im Modul System, unterer Reiter
BLDS.
Es gibt folgende Auslöser
| Auslöser |
Bemerkung |
| Los_Ausgabe |
|
| SHOP_TIMER |
Automatikjob, Export bzw. Import Schnittstellen |
| REST_CALL |
Generieren der Daten auf Anforderung durch einen RestCall. [Siehe???] |

Datenstruktur
Um die verschiedensten Daten in der eigentlichen Definition der BLDS(Editor) verwenden zu können, müssen diese vorher definiert werden. Dafür kommt mit der Zusatzfunktionsberechtigung im System auch der untere Reiter Datenstruktur. Hier kannst du deine Datenstrukturen (beliebig) zusammenstellen.
D.h. mit
Aufbau
Der Grundgedanke der BLDS ist, dass damit, im Rahmen der vorhandenen Funktionen, die Kommunikation mit einem Fremdsystem sehr flexibel definiert ist.
Daher wurde die Kommunikation in Tabellen abgebildet.
| Tabelle |
Funktion |
| lp_daten_struktur |
Definiert die Struktur der Dateninhalte, also wie sind die Daten zu importieren bzw. exportieren im Kontext zu den Kieselstein Informationen |
| lp_daten_struktur_feld |
Definiert für eine Struktur die Felder welche Importiert bzw. exportiert werden sollen |
| ERP Felder |
|
| lp_mapping |
Definiert ein Mapping welches es erlaubt bestimmte Werte für die Schnittstellen zu ersetzen |
| lp_mapping_wert |
Hier werden die Werte für die jeweiligen Mappings gespeichert |
| lp_sst_parameter |
Definiert die Schnittstelle selbst, also Typ, Format, Auslöser etc. |
| lp_sst_lauf |
Protokolliert jeden Lauf einer Schnittstelle |
Beispieldaten
lp_daten_struktur

| Spalte |
Datentyp |
Kommentar |
| i_id |
int4 |
fortlaufende ID |
| c_bezeichnung |
varchar(64) |
|
| c_bereich |
varchar(32) |
Definiert den Bereich (quasi die Ziel/Quell Tabellen/Datenstrukturen) für den die Struktur gültig ist. Aktuell unterstützte Werte: - fert_lossollmaterial - ww_artikel Diese Bereich können programmtechnisch entsprechend ergänzt werden. |
| c_list_item_pfad |
varchar(128) |
Definiert das Item in einer XML-Datei wenn mehrere Datenzeilen in einer XML-Datei exportiert werden sollen, welches der Elternknoten ist. Also wo alle Datensätze wiederholt werden sollen. Hinweis: Dieses Feld wird bei JSON die Definition der Array-Feldern beinhalten. |
| c_default_datum_format |
Varchar(32) |
Die Formatmaske vom Datums-Werten damit eine Umwandlung von bzw. in einem Text erfolgen kann. Diese Formatmaske wird für die Werte verwendet, solange für das jeweilige Feld die Formatmaske nicht überschrieben wurde. Hierfür wird die Java SimpleDateFormat Maske berücksichtigt. |
| c_default_nummer_format |
varchar(16) |
Die Formatmaske vom Zahlen-Werten damit eine Umwandlung von bzw. in einem Text erfolgen kann. Diese Formatmaske wird für die Werte verwendet, solange für das jeweilige Feld die Formatmaske nicht überschrieben wurde. |
| personal_i_id_anlegen |
int4 |
|
| personal_i_id_aendern |
int4 |
|
| t_anlegen |
timestamp |
|
| t_aendern |
timestamp |
|
lp_daten_struktur_feld

| Spalte |
Datentyp |
Kommentar |
| i_id |
int4 |
fortlaufende ID |
| struktur_daten_i_id |
int4 |
|
| c_erp_feld |
varchar(64) |
Für eine Export-Schnittstelle der Wert welcher exportiert werden soll.Für eine Import-Schnittstelle in welches Feld der Kieselstein Datenbank bzw. wie der Wert interpretiert werden soll.Welche Felder hier zur Verfügung stehen ist abhängig des Bereich von der Struktur, siehe unten die aktuellen Möglichkeiten. |
| c_fix_wert |
varchar(128) |
Für eine Export-Schnittstelle der Wert welcher exportiert werden soll wenn kein ERP-Feld definiert wurde.Für eine Import-Schnittstelle der Wert welcher importiert werden soll, wenn in der Quelle (Beispiel XML-Datei), der Wert nicht enthalten oder leer ist. |
| c_pfad |
Varchar(128) |
Der Pfad in einer XML-Datei wo sich der entsprechende Wert befindet. |
| c_attribut_name |
varchar(128) |
Wenn der Wert als XML-Exportiert bzw. Importiert werden soll, kann hier ein Attribute-Name definiert werden welcher sich auf die Daten bezieht. |
| i_sort |
int4 |
|
| c_format_maske |
varchar(32) |
Die Format-Maske wie das jeweilige Feld wenn es sich um eine Zahl oder Datum handelt, von bzw. in einen Text-Wert umgewandelt werden kann. |
| mapping_i_id |
int4 |
Das eventuelle Mapping, das die Übersetzung eines Quell-Wertes in einen Zielwert definiert. Siehe lp_mapping bzw. lp_mapping_wert |
| personal_i_id_anlegen |
int4 |
|
| personal_i_id_aendern |
int4 |
|
| t_anlegen |
timestamp |
|
| t_aendern |
timestamp |
|
ERP Felder
To be described
lp_mapping
Die Beschreibung der Werte-Übersetzungen (Mappings).

| Spalte |
Datentyp |
Kommentar |
| i_id |
int4 |
fortlaufende ID |
| c_bezeichnung |
varchar(64) |
|
| personal_i_id_anlegen |
int4 |
|
| personal_i_id_aendern |
int4 |
|
| t_anlegen |
timestamp |
|
| t_aendern |
timestamp |
|
lp_mapping_wert

| Spalte |
Datentyp |
Kommentar |
| i_id |
int4 |
fortlaufende ID |
| mapping_i_id |
int4 |
|
| c_quellwert |
varchar(64) |
|
| c_zielwert |
varchar(128) |
|
| personal_i_id_anlegen |
int4 |
|
| personal_i_id_aendern |
int4 |
|
| t_anlegen |
timestamp |
|
| t_aendern |
timestamp |
|
lp_sst_parameter

| Spalte |
Datentyp |
Kommentar |
| i_id |
int4 |
fortlaufende ID |
| c_transfer_typ |
varchar(64) |
Der Typ wie die Daten übertragen werden, wie: REST-DISPATCHER: Es werden Daten über einen HTTP-Post Request an einen anderen Webserver versendet/exportiert bzw. über einen HTTP-Get Request von einem anderen Webserver abgefragt/importiert. REST-RECEIVER: Es können über die Kieselstein-REST Api Daten importiert bzw. exportiert werden. Hierfür gibt es folgende neue Endpunkte: /api/v1/interfaces/{interfaceID}/get-data und /api/v1/interfaces/{interfaceID}/store-data. FILE: Die Schnittstelle importiert bzw. exportiert Daten von/in Dateien. |
| struktur_daten_i_id |
int4 |
Die Referenz auf die Struktur welche bestimmt wie die Daten aufbereitet werden sollen. |
| i_ausloeser |
smallint |
Hier wird gesteuert bei welchen Aktionen die Schnittstelle ausgelöst wird. Aktuell: 1 = Shop Timer (System/Automatik). 2 = Los-Ausgabe 3 = REST-Endpunkt |
| c_quellname |
Varchar(256) |
Der Quellname (abhängig je Transfer-Typ) wo die Daten exportiert oder von wo die Daten importiert werden sollen. Dies kann ein Dateiname (mit eventuellen Platzhaltern) oder auch eine URL sein. |
| c_typ |
varchar(1) |
Der Typ steuert ob Daten aus dem Kieselstein exportiert oder ins Kieselstein importiert werden sollen. I = Import & E = Export |
| i_daten_modus |
smallint |
Steuert bei Export Schnittstellen ob alle betreffende Datensätze oder nur welche die sich seit dem letzten Schnittstellenlauf geändert wurden exportiert werden sollen. Aktuell: 1 = Alle Datensätze 2 = Nur geänderte Datensätze |
| c_format |
varchar(5) |
Das Format in welches die Daten exportiert bzw. importiert werden sollen. Aktuell nur XML und CSV (Testweise) umgesetzt. |
| c_bereich |
varchar(32) |
Der Bereich steuert welche Daten behandelt werden sollen. Aktuell: FERT_TRUMPF_SOLL_MATERIAL = Nur Soll-Materialien welche bei der Artikelklasse das TOPS Kennzeichen gesetzt haben. (Nur Export) WW_ARTIKEL_TOPS = Nur Artikel welche bei der Artikelklasse das TOPS Kennzeichen gesetzt haben. (Import & Export) FERT_TRUMPF_PROD_ORDER = Aktualisiert die Export-Ende Informationen für das Los-Soll-Material (Nur Import). WW_ARTIKEL_TRU_TOPS_LOG = Aktualisiert die Gestehungspreise und Geometriedaten für die Los-Soll-Materialien (Nur Import) |
| i_sort |
Int4 |
Bestimmt die Reihenfolge wie die Schnittstellen welche dem selben Auslöser haben abgearbeitet werden sollen. |
| c_bezeichnung |
varchar(64) |
|
| i_nachverarbeitung_modus |
smallint |
Steuert beim Importieren von Dateischnittstellen wie die importierten Dateien behandelt werden sollen. Aktuelle Möglichkeiten: 0 = Keine Aktion 1 = Importierte Datei löschen 2 = Importierte Datei umbenennen (Wenn der Import erfolgreich war wird die Endung “.bak” hinzugefügt, in einem Fehlerfall wird die Endung “.error” hinzugefügt) |
| b_akitv |
Boolean |
true = Schnittstelle aktiv, false = inaktiv |
| personal_i_id_anlegen |
int4 |
Angelegt von Person |
| personal_i_id_aendern |
int4 |
zuletzt geändert von Person |
| t_anlegen |
timestamp |
angelegt am |
| t_aendern |
timestamp |
zuletzt geändert am |
lp_sst_lauf

| Spalte |
Datentyp |
Kommentar |
| i_id |
int8 |
fortlaufende ID |
| sst_i_id |
int4 |
Die Referenz zur jeweiligen Schnittstelle |
| t_zeitstempel_start |
timestamp |
Der Zeitstempel wann der jeweilige Lauf gestartet wurde. |
| t_zeitstempel_ende |
timestamp |
Der Zeitstempel wann der jeweilige Lauf beendet wurde. |
| i_status |
smallint |
Der Status des jeweiligen Schnittstellenlauf. 0 = Gestartet 1 = Erfolgreich beendet 2 = Fehler |
| i_anzahl_datensaetze |
int4 |
Die Anzahl der Datensätze welche im jeweiligen Schnittstellenlauf behandelt wurden. |
| c_fehlermeldung |
text |
In einem Fehlerfall die entsprechende Fehlermeldung mit dem Java-StackTrace (für das Debugging). |
Dazugehörende Parameter
| Parameter |
Bedeutung |
| Import Schnittstellen |
Durchführen des Automatiklaufes der Import-Daten |
| Export Schnittstellen |
Durchführen des Automatiklaufes der Export-Daten |
Beispiel
Ein Beispiel wie alle Material-Nummern eines Loses als Los-Soll-Materialien hinterlegt werden.
Struktur:
INSERT INTO public.lp_daten_struktur(i_id, c_bezeichnung, c_bereich, c_list_item_pfad, c_default_datum_format, c_default_nummer_format, personal_i_id_anlegen, personal_i_id_aendern, t_anlegen, t_aendern) VALUES
(11, 'Los-Materialien', 'fert_lossollmaterial', 'Materialliste/Daten', NULL, NULL, 11, 11, '2025-01-09 12:51:11.581', '2025-01-09 12:51:11.581');
Struktur Felder:
INSERT INTO public.lp_daten_struktur_feld(i_id, struktur_daten_i_id, c_erp_feld, c_fix_wert, c_pfad, c_attribut_name, i_sort, c_format_maske, personal_i_id_anlegen, personal_i_id_aendern, t_anlegen, t_aendern, mapping_i_id) VALUES
(11, 11, 'LOS_ID', NULL, 'Materialliste/Los/Id', NULL, 1, NULL, 11, 11, '2025-01-15 11:53:24.295', '2025-01-15 11:53:24.295', NULL),
(12, 11, 'LOS_CNR', NULL, 'Materialliste/Los/CNr', NULL, 1, NULL, 11, 11, '2025-01-15 11:53:24.301', '2025-01-15 11:53:24.301', NULL),
(13, 11, 'ARTIKEL_CNR', NULL, 'Materialliste/Daten/Material/CNr', NULL, 2, NULL, 11, 11, '2025-01-15 11:53:24.306', '2025-01-15 11:53:24.306', NULL),
(14, 11, 'ARTIKEL_BEZEICHNUNG', NULL, 'Materialliste/Daten/Material/Caption', NULL, 2, NULL, 11, 11, '2025-01-15 11:53:24.306', '2025-01-15 11:53:24.306', NULL);
Ergebnis als XML-Datei:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Materialliste>
<Los\>
<Id\>16</Id>
<CNr>25/0000003</CNr>
</Los\>
<Daten>
<Material>
<Cnr>25711</Cnr>
<Caption\>Artikel Seitenblech 1</Caption\>
</Material>
<Material>
In anderen Worten
Der Trick liegt darin, dass der XML Baum für jedes XML-Feld (jeden XML Wert) in c_list_item_pfad eingetragen wird, wobei immer der gesamte Baum abzubilden ist und jeder weitere Ast(Verzweigung) mit einem / beginnt. Somit kann die gewünschte XMl Struktur dargestellt werden.
Verfügbare Anbindungen
Trumpf
Übergabe der Los und Artikeldaten, inkl. der dazugehörenden Zeichnungen an das Lasersystem der Firma Trumpf.
Damit verbunden das Rücklesen der Gestehungspreise der gelaserten / zu lasernden Teile
Wie bei Null beginnen?
1
Im lp_sst_parameter wird beschrieben welche Daten wohin exportiert werden.
D.h. du brauchst zuerst einen gobalen Namen für deinen Export, dieser wird in der lp_daten_struktur angelegt. Hier wird im Bereich auch definiert, was exportiert werden sollte.
2.2 - Blech-Laser-Daten-Schnittstelle: Einteilung der ERP-Felder für Import/Export
Blech-Laser-Daten-Schnittstelle: Einteilung der ERP-Felder für Import/Export
ERP-Felder für Import/Export
Diese Felder gliedern sich einerseits in diejenigen die beim Import unterstützt werden und die die beim Export zur Verfügung stehen.
Beim Export werden diese noch in die verschiedenen Funktionsbereiche getrennt.
WICHTIG:
Welche ERP-Felder zur Verfügung stehen, wird auch vom Bereich definiert.
Der Bereich wird durch Anlage einer Datenstruktur-Definition im Reiter Detail definiert.

Für eine detaillierte Beschreibung der Bedeutung jedes einzelnen Feldes siehe bitte
Beim Import berücksichtigte Felder:
- LOSSOLLMATERIAL_ID
- LOS_ID
- LOS_CNR
- LOSSOLLMATERIAL_TRUTOPS_ORDERNO
- ARTIKEL_ID
- LOSSOLLMATERIAL_SORT
- LOSSOLLMATERIAL_TRUTOPS_EXPORT_ENDE
- LOSSOLLMATERIAL_TRUTOPS_EXPORT_FEHLER_CODE
- LOSSOLLMATERIAL_TRUTOPS_EXPORT_FEHLER_TEXT
Für den Export verfügbare Felder
Felder aus dem Bereich ww_artikel


- ZEITSTEMPEL_STR1
- @@IMPORT_ZEITSTEMPEL@@
- @@IMPORT_FILE_NAME@@
- ARTIKEL_ID
- ARTIKEL_CNR
- ARTIKEL_BEZEICHNUNG
- ARTIKEL_KURZ_BEZEICHNUNG
- ARTIKEL_TRUTOPS_NR
- ARTIKEL_MATERIAL_TRUTOPS_INFO
- ARTIKEL_TRUTOPS_METADATEN_PFAD
- ARTIKEL_TRUTOPS_METADATEN_HASH
- ARTIKEL_TRUTOPS_METADATEN_GROESSE
- ARTIKEL_TRUTOPS_METADATEN_ERSTELLT
- ARTIKEL_TRUTOPS_METADATEN_MODIFIZIERT
- ARTIKEL_TRUTOPS_EXPORT_ENDE
- ARTIKEL_TRUTOPS_FEHLER_CODE
- ARTIKEL_TRUTOPS_FEHLER_TEXT
- TRU_TOPS_LOG_MATERIAL_ARTIKEL_KURZBEZEICHNUNG
- TRU_TOPS_LOG_TEIL_GEWICHT
- TRU_TOPS_LOG_BEARBEITUNG_DAUER_MINUTE
- TRU_TOPS_LOG_LASERKOSTE_STUNDE
- TRU_TOPS_LOG_LAGER_ID
- TRU_TOPS_LOG_BREITE_ARTIKEL
- TRU_TOPS_LOG_LAENGE_ARTIKEL
- TRU_TOPS_LOG_HOEHE_ARTIKEL
- TRU_TOPS_LOG_MEHRVERBRAUCH_LASER_IN_MM
Felder aus BEREICH_LOS
Diese Felder stehen sowohl für den Bereich fert_lossollmaterial als auch fert_lossollarbeitsplan zur Verfügung.
- LOS_LOSGROESSE
- LOS_PRODUKTIONSBEGINN
- LOS_PRODUKTIONSENDE
- LOS_FERTIGUNGSGRUPPE
- LOS_MANDANT_CNR
- LOS_STUECKLISTE_ARTIKEL_CNR
- LOS_STUECKLISTE_ARTIKEL_BEZEICHNUNG
- LOS_TRUMPF_FAELLIG_DATUM
fert_lossollmaterial



- LOSSOLLMATERIAL_MENGE
- LOSSOLLMATERIAL_EINHEIT
- LOSSOLLMATERIAL_POSITION
- LOSSOLLMATERIAL_MONTAGEART
- LOSSOLLMATERIAL_ARTIKEL_CNR
fert_losarbeitsplan



- LOSARBEITSPLAN_ARBEITSGANGNUMMER
- LOSARBEITSPLAN_TATIGKEIT_BEZEICHNUNG
- LOSARBEITSPLAN_MASCHINE_IDENTIFIKATIONSNR
- LOSARBEITSPLAN_ARTIKEL_CNR
- LOSARBEITSPLAN_RUESTZEIT
- LOSARBEITSPLAN_STUECKZEIT
- LOSARBEITSPLAN_X_TEXT
- LOSARBEITSPLAN_KOMMENTAR
2.3 - Strukturen in der Datenbank
Die Strukturen in der Datenbank für die Blech-Laser-Daten-Schnittstelle
Der Grundgedanke der Blech-Laser-Daten-Schnittstelle ist, dass damit, im Rahmen der vorhandenen Funktionen, die Kommunikation mit einem Fremdsystem sehr flexibel definiert ist.
Daher wurde die Kommunikation in Tabellen abgebildet.
Strukturen in der Datenbank
Nachfolgend eine ergänzende Beschreibung des Aufbaues der Definition Datenstruktur.
| Tabelle |
Funktion |
| lp_daten_struktur |
Definiert die Struktur der Dateninhalte, also wie sind die Daten zu importieren bzw. exportieren im Kontext zu den Kieselstein Informationen |
| lp_daten_struktur_feld |
Definiert für eine Struktur die Felder welche Importiert bzw. exportiert werden sollen |
| ERP Felder |
|
| lp_mapping |
Definiert ein Mapping welches es erlaubt bestimmte Werte für die Schnittstellen zu ersetzen |
| lp_mapping_wert |
Hier werden die Werte für die jeweiligen Mappings gespeichert |
| lp_sst_parameter |
Definiert die Schnittstelle selbst, also Typ, Format, Auslöser etc. |
| lp_sst_lauf |
Protokolliert jeden Lauf einer Schnittstelle |
Zusätzlich werden alle erfolgreichen Datenübertragungen protokolliert. Die Beschreibung der Felder findest du unter
Blech-Laser-Daten-Schnittstelle (lp_sst_parameter)

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
integer |
Ja |
Fortlaufende ID |
| c_transfer_typ |
varchar(12) |
Ja |
Der Typ wie die Daten übertragen werden, wie: REST-DISPATCHER: Es werden Daten über einen HTTP-Post Request an einen anderen Webserver versendet/exportiert bzw. über einen HTTP-Get Request von einem anderen Webserver abgefragt/importiert.
REST-RECEIVER: Es können über die Kieselstein-REST Api Daten importiert bzw. exportiert werden. Hierfür gibt es folgende neue Endpunkte: /api/v1/interfaces/{interfaceID}/get-data und /api/v1/interfaces/{interfaceID}/store-data .
FILE: Die Schnittstelle importiert bzw. exportiert Daten von/in Dateien. |
| struktur_daten_i_id |
integer |
Ja |
Die Referenz auf die Datenstruktur, welche bestimmt wie die Daten aufbereitet werden sollen. |
| i_ausloeser |
smallint |
Ja |
Hier wird gesteuert bei welchen Aktionen die Schnittstelle ausgelöst wird: • 1 = Shop Timer (System/Automatik) • 2 = Los-Ausgabe • 3 = REST-Endpunkt |
| c_quellname |
varchar(256) |
Nein |
Der Quellname (abhängig je Transfer-Typ) wo die Daten exportiert oder von wo die Daten importiert werden sollen. Dies kann ein Dateiname (mit eventuellen Platzhaltern) oder auch eine URL sein. Mögliche Platzhalter: • ZEITSTEMPEL_STR1 (Format: “yyyyMMddHHmmss) • @@IMPORT_ZEITSTEMPEL@@ • @@IMPORT_FILE_NAME@@ • Felderinhalte können mit @@FELD_NAME@@ ebenfalls verwendet werden |
| c_typ |
varchar(1) |
Ja |
Steuert ob Daten aus dem Kieselstein ERP oder ins Kieselstein ERP importiert werden sollen: • I = Import • E = Export |
| i_daten_modus |
smallint |
Ja |
Steuert ob alle betreffende Datensätze, oder nur welche die sich seit dem letzten Schnittstellenlauf geändert haben, exportiert werden sollen: • 1 = Alle Datensätze • 2 = Nur geänderte Datensätze |
| c_format |
varchar(5) |
Ja |
Das Format in welches die Daten exportiert bzw. importiert werden sollen: • XML • CSV (Beta-Status) |
| c_bereich |
varchar(32) |
Ja |
Der Bereich steuert welche Daten behandelt werden sollen:
FERT_TRUMPF_SOLL_MATERIAL Nur Soll-Materialien welche bei der Artikelklasse das TOPS Kennzeichen gesetzt haben. (Nur Export)
WW_ARTIKEL_TOPS Nur Artikel welche bei der Artikelklasse das TOPS Kennzeichen gesetzt haben. (Import & Export)
FERT_TRUMPF_PROD_ORDER Aktualisiert die Export-Ende Informationen für das Los-Soll-Material. (Nur Import)
WW_ARTIKEL_TRU_TOPS_LOG Aktualisiert die Gestehungspreise und Geometriedaten für die Los-Soll-Materialien. (Nur Import) |
| i_sort |
integer |
Ja |
Bestimmt die Reihenfolge in welcher die Schnittstellen mit den selben Auslöser abgearbeitet werden sollen. |
| c_bezeichnung |
varchar(64) |
Ja |
Bezeichnung der Datenstruktur, welche auch als Anzeige im Client dient |
| i_nachverarbeitung_modus |
smallint |
Nein |
Steuert beim Importieren von Dateischnittstellen wie die importierten Dateien behandelt werden sollen: • 0 = Keine Aktion • 1 = Importierte Datei löschen • 2 = Importierte Datei umbenennen (Wenn der Import erfolgreich war wird die Endung „.bak“ hinzugefügt, in einem Fehlerfall wird die Endung „.error“ hinzugefügt) |
| b_aktiv |
boolean |
Ja |
Damit kann die Blech-Laser-Daten-Schnittstelle aktiviert oder deaktiviert werden. |
| personal_i_id_anlegen |
integer |
Ja |
ID des Benutzers, der/die den Parameter erstellt hat |
| personal_i_id_aendern |
integer |
Ja |
ID des Benutzers, der/die den Parameter zuletzt geändert hat |
| t_anlegen |
timestamp |
Ja |
Zeitpunkt der Erstellung des Parameters |
| t_aendern |
timestamp |
Ja |
Zeitpunkt der letzten Änderung des Parameters |
Wichtig: Wenn “Shop Timer” als Auslöser gewählt wird, gibt es im Tab “Automatik” für Export und Import 2 getrennte Parameter (Import Schnittstellen und Export Schnittstellen) um die Intervalle zu setzen.
Logging der Blech-Laser-Daten-Schnittstelle (lp_sst_lauf)
Jedes Mal, wenn ein Schnittstelleneintrag durch einen bestimmten Auslöser (Shop-Timer, Los-Ausgabe oder Rest-Endpunkt) gestartet wird, wird ein Loggingeintrag erstellt.
Am Ende wird ein Endzeitpunkt und der jeweilige Status gesetzt. Im Fehlerfall wird zusätzlich eine Fehlermeldung mitgeloggt.

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
int |
Ja |
Fortlaufende ID |
| sst_i_id |
int |
Ja |
Referenz auf eine BLDS (SST_Parameter) |
| t_zeitstempel_start |
timestamp |
Ja |
Startzeitpunkt eines Durchlaufs einer BLDS |
| t_zeitstempel_ende |
timestamp |
Nein |
Endzeitpunkt eines Durchlaufs einer BLDS |
| i_status |
smallint |
Ja |
Status des Durchlaufs: 0 = STARTED 1 = FINISHED -1 = ERROR |
| i_anzahl_datensaetze |
integer |
Nein |
Anzahl der bearbeiteten Datensätze im Lauf |
| c_fehlermeldung |
text |
Nein |
Fehlermeldung, falls der Lauf fehlschlägt |
Datenstruktur (lp_daten_struktur)
Definiert die Struktur der Dateninhalte, einschließlich der Informationen darüber, wie die Daten zu importieren bzw. exportieren sind, im Kontext der Kieselstein-Daten.
Aktuell werden die Datenstrukturen ausschließlich für die Blech-Laser-Daten-Schnittstelle.

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
integer |
Ja |
Fortlaufende ID |
| c_bezeichnung |
varchar(64) |
Ja |
Bezeichnung der Datenstruktur, welche auch als Anzeige im Client dient |
| c_bereich |
varchar(32) |
Ja |
Definiert den Bereich (die Ziel/Quelltabellen) für den die Struktur gültig ist. • Fert-Lossollmaterial • WW-Artikel Wenn die Datenstruktur in einer BLDS verwendet wird, muss der Bereich mit diesen übereinstimmen bzw. können nur Datenstrukturen mit dem gleichen Bereich ausgewählt werden. |
| c_list_item_pfad |
varchar(128) |
Nein |
Definiert die Item in einer XML-Datei wenn mehrer Datenzeilen in einer XML-Datei exportiert werden sollen, welches der Elternknoten ist. Also wo alle Datensätze wiederholt werden sollen. |
| c_default_datum_format |
varchar(32) |
Ja |
Die Formatmaske die für alle Datumswerte aller zugewiesenen Datenstrukturfelder als Default für eine Umwandlung von bzw. in einen Text verwendet wird. Hierfür wird Java SimpleDateFormat verwendet. |
| c_default_nummer_format |
varchar(16) |
Nein |
Die Formatmaske die für alle Zahlenwerten aller zugewiesenen Datenstrukturfelder als Default für eine Umwandlung von bzw. in einen Text verwendet wird. Hierfür wird Java String format() Method verwendet. |
| personal_i_id_anlegen |
integer |
Ja |
ID des Benutzers, der die Datenstruktur erstellt hat |
| personal_i_id_aendern |
integer |
Ja |
ID des Benutzers, der zuletzt die Datenstruktur geändert hat |
| t_anlegen |
timestamp |
Ja |
Zeitpunkt der Erstellung der Datenstruktur |
| t_aendern |
timestamp |
Ja |
Zeitpunkt der letzten Änderung der Datenstruktur |
Datenstrukturfeld (lp_daten_struktur_feld)
Eine Datenstruktur besteht aus beliebig vielen Datenstrukturfeldern, in denen genau definiert ist, wohin der Wert in der Dateistruktur geschrieben werden muss bzw. wo er in einer importierten Datei ausgelesen werden kann.
Alle Datenstrukturfelder einer Datenstruktur werden je nach Transfertyp (Export oder Import) in eine Datei geschrieben oder aus einer Datei gelesen.

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
integer |
Ja |
Fortlaufende ID |
| struktur_daten_i_id |
integer |
Ja |
Referenz auf die Datenstruktur |
| c_erp_feld |
varchar(64) |
Nur wenn kein ‘c_fix_wert’ gesetzt ist |
Für eine Export-Schnittstelle: der Wert welcher exportiert werden soll.
Für eine Import-Schnittstelle: in welches Feld der Kieselstein ERP Datenbank geschrieben wird bzw. wie der Wert interpretiert werden soll.
Welche Felder hier zur Verfügung stehen ist durch den Bereich der Struktur und den Transfertyp der verknüpften BLDS (Import / Export) definiert. |
| c_fix_wert |
varchar(128) |
Nur wenn kein ‘c_erp_feld’ gesetzt ist |
Für eine Export-Schnittstelle: der Wert welcher exportiert werden soll wenn kein ERP-Feld definiert wurde.
Für eine Import-Schnittstelle: der Wert welcher importiert werden soll, wenn in der Quelle (Beispiel XML-Datei), der Wert nicht enthalten oder leer ist. |
| c_pfad |
varchar(128) |
Nein |
Der X-Pfad in einer XML-Datei wo sich der entsprechende Wert befindet. Der Operator “/” wird verwendet um Elemente zu verschachteln. Zum Beispiel: Test/Test2/Test3 würde in Test3 den Wert aus dem ‘c_erp_feld’ beim Export eintragen und bei Import auslesen. |
| c_attribut_name |
varchar(128) |
Nein |
Wenn der Wert als XML exportiert bzw. importiert werden soll, kann hier ein Attributename definiert werden, welcher sich auf die Daten bezieht. |
| i_sort |
integer |
Ja |
Sortierposition des Datenstrukturfeldes innerhalb der Datenstruktur. |
| c_format_maske |
varchar(32) |
Nein |
Pro Datenstrukturfeld kann die in der Datenstruktur definierte globale Formatmaske (c_default_datum_format oder c_default_nummer_format) überschrieben werden. Diese spezifische Formatmaske wird für die Umwandlung von bzw. in einen Text verwendet, anstatt die globale Formatmaske. |
| mapping_i_id |
integer |
Nein |
Eine Referenz auf ein Mapping, das steuert, wie ein Quellwert in einen Zielwert übersetzt werden kann. Ein Beispiel hierfür wäre die Umwandlung von Fehlercodes in menschenlesbare Texte. |
| personal_i_id_anlegen |
integer |
Ja |
ID des Benutzers, der dieses Feld erstellt hat |
| personal_i_id_aendern |
integer |
Ja |
ID des Benutzers, der dieses Feld zuletzt geändert hat |
| t_anlegen |
timestamp |
Ja |
Zeitpunkt der Erstellung des Feldes |
| t_aendern |
timestamp |
Ja |
Zeitpunkt der letzten Änderung des Feldes |
Mapping (lp_mapping)
Die Mapping-Klasse ist eine Containerklasse mit einem sprechenden Namen (c_bezeichnung), zu der beliebig viele Mappingwerte verknüpft werden können.
Eine Mapping-Klasse kann auch für mehrere Datenstrukturfelder verwendet werden, was sie besonders flexibel macht.

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
integer |
Ja |
Fortlaufende ID |
| c_bezeichnung |
varchar(64) |
Ja |
Bezeichnung des Mappings, welche auch als Anzeigename dient |
| personal_i_id_anlegen |
integer |
Ja |
ID des Benutzers, der das Mapping erstellt hat |
| personal_i_id_aendern |
integer |
Ja |
ID des Benutzers, der das Mapping zuletzt geändert hat |
| t_anlegen |
timestamp |
Ja |
Zeitpunkt der Erstellung des Mappings |
| t_aendern |
timestamp |
Ja |
Zeitpunkt der letzten Änderung des Mappings |
Mappingwerte (lp_mapping_wert)
Pro Datenstrukturfeld kann eine Mapping-Container-Klasse (1) verknüpft werden.
Die eigentlichen Mappingwerte pro Feld sind in den beliebig vielen Mappingwerte-Einträgen zu finden.

| Feldname |
Datentyp |
Pflichtfeld |
Bezeichnung |
| i_id |
integer |
Ja |
Fortlaufende ID |
| mapping_i_id |
integer |
Ja |
Referenz auf das Mapping |
| c_quellwert |
varchar(64) |
Ja |
Quellwert, der im Rahmen des Mappings ersetzt werden soll. |
| c_zielwert |
varchar(128) |
Ja |
Zielwert, der im Rahmen des Mappings den ‘c_quellwert’ ersetzt. |
| personal_i_id_anlegen |
integer |
Ja |
ID des Benutzers, der das Mapping-Wert erstellt hat |
| personal_i_id_aendern |
inte ger |
Ja |
ID des Benutzers, der das Mapping-Wert zuletzt geändert hat |
| t_anlegen |
timestamp |
Ja |
Zeitpunkt der Erstellung des Mapping-Werts |
| t_aendern |
timestamp |
Ja |
Zeitpunkt der letzten Änderung des Mapping-Werts |
Beispiel
Ein Beispiel wie alle Material-Nummern eines Loses als Los-Soll-Materialien hinterlegt werden.
Struktur:
INSERT INTO public.lp_daten_struktur(i_id, c_bezeichnung, c_bereich, c_list_item_pfad, c_default_datum_format, c_default_nummer_format, personal_i_id_anlegen, personal_i_id_aendern, t_anlegen, t_aendern) VALUES
(11, 'Los-Materialien', 'fert_lossollmaterial', 'Materialliste/Daten', NULL, NULL, 11, 11, '2025-01-09 12:51:11.581', '2025-01-09 12:51:11.581');
Struktur Felder:
INSERT INTO public.lp_daten_struktur_feld(i_id, struktur_daten_i_id, c_erp_feld, c_fix_wert, c_pfad, c_attribut_name, i_sort, c_format_maske, personal_i_id_anlegen, personal_i_id_aendern, t_anlegen, t_aendern, mapping_i_id) VALUES
(11, 11, 'LOS_ID', NULL, 'Materialliste/Los/Id', NULL, 1, NULL, 11, 11, '2025-01-15 11:53:24.295', '2025-01-15 11:53:24.295', NULL),
(12, 11, 'LOS_CNR', NULL, 'Materialliste/Los/CNr', NULL, 1, NULL, 11, 11, '2025-01-15 11:53:24.301', '2025-01-15 11:53:24.301', NULL),
(13, 11, 'ARTIKEL_CNR', NULL, 'Materialliste/Daten/Material/CNr', NULL, 2, NULL, 11, 11, '2025-01-15 11:53:24.306', '2025-01-15 11:53:24.306', NULL),
(14, 11, 'ARTIKEL_BEZEICHNUNG', NULL, 'Materialliste/Daten/Material/Caption', NULL, 2, NULL, 11, 11, '2025-01-15 11:53:24.306', '2025-01-15 11:53:24.306', NULL);
Ergebnis als XML-Datei:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Materialliste>
<Los\>
<Id\>16</Id>
<CNr>25/0000003</CNr>
</Los\>
<Daten>
<Material>
<Cnr>25711</Cnr>
<Caption\>Artikel Seitenblech 1</Caption\>
</Material>
<Material>
2.4 - Log-Modus für Webservice-Export
Log-Modus Funktion für Webservice-Export
Log-Modus für Webservice-Export
Um nachvollziehen zu können, welche Daten tatsächlich an einen Endpoint übergeben wurden, besteht die Möglichkeit, diese im Log-Modus als Datei auf einem lokalen Serverlaufwerk zu protokollieren. Dies erleichtert die manuelle Prüfung und Analyse der exportierten Inhalte.
Der Log-Modus lässt sich über den Parameter SST_WEBSERVICE_EXPORT_LOGGING jederzeit aktivieren oder deaktivieren.
Zusätzlich kann über den Parameter SST_WEBSERVICE_EXPORT_LOGGING_PATH das Verzeichnis festgelegt werden, in dem die Dateien gespeichert werden. Dabei ist folgendes zu beachten:
- Es muss ein absoluter Pfad angegeben werden.
- Der Pfad muss auf Linux mit einem
/ und auf Windows mit einem \ enden!
- Beispiel für einen gültigen Pfad:
- Linux
/var/log/webservice/debug/
- Windows
C:\webservice\debug\
Benennung der Dateien
Die gespeicherten Dateien folgen dem folgenden Namensschema:
<SSTParameterbezeichnung>_<SSTLaufID>_<SSTLaufStartZeitstempel>.<Dateiformat>
Hinweise zur Funktion
- Diese Funktion ist nur beim Export an einen REST-DISPATCHER oder REST-RECEIVER verfügbar.
- Die Dateien werden nur dann gespeichert, wenn der Export erfolgreich abgeschlossen wurde.
- Im Fehlerfall erfolgt keine Ablage der Exportdaten.
3 - Edifact
Infos rund um Edifact
Eine Sammlung unserer Informationen rund um die EdiFact Schnittstelle
Für die EdiFact Anbindung sind unter anderem folgende Einstellungen/Vorraussetzungen erforderlich:
- Kieselstein-Benutzer mit Kennwort mit passenden Rechten für die RestApi-Systemrolle
- diesem Benutzer ein passendes Personal zuordnen und dort als Ausweisnummer den gewünschten Token eintragen (z.B. BEPS-….)
- EDIFACT_USER -> Environment Variable des Wildflyservers mit Benutzernamen dieses Kieselstein Benutzers
- EDIFACT_PASS -> Environment Variable des Wildflyservers mit Kennwort dieses Kieselstein Benutzers
- einen Wildfly Benutzer für die http-Authentifizierung erstellen mit
add-user.sh -a -u '<benutzername>' -p '<passwort>' -g 'submitter'
Bei der Anmeldung auf der Website gibt man die Daten des Wildfly Benutzers zu verwenden von oben ein.
4 - Woo Commerce Import
Einlesen von Shopdaten in den Auftrag
Im Auftragsmodul steht auch der Shop-Import im WooCommerce Format zur Verfügung.
Laut Informationen von Kieselstein ERP eG Mitgliedern kann dieses Datenformat auch von Shopware mit einer kleinen Anpassungsprogrammierung zur Verfügung gestellt werden.
WooCommerce Import
Dieser Import steht im Modul Auftrag, im Menüpunkt Auftrag, Import, WooCommerce CSV zur Verfügung.
Die Grundidee ist, dass vom Shop täglich Daten abgeholt werden, z.B. über FTP Import und dann täglich diese Daten eingelesen werden.
Da es dabei immer wieder zu erforderlichen Anpassungsarbeiten kommt, sehen wir den manuellen Import als sinnvoller an.
Man findet die Schnittstelle im Modul Auftrag.

Zuordnung der WooCommerce Spaltenname:
Wichtig: Die Spaltenbezeichnungen müssen in Englisch übergeben werden. Bitte übergib die Datei bis auf weiteres ausschließlich mit den englischen Spaltenüberschriften; nur damit werden Anrede, Vorname und Nachname richtig zugeordnet.
Wir gehen davon aus, dass alle Beträge als Nettobeträge übergeben werden.
Zusätzlich haben wir die Logik implementiert, dass der Brutto-Gesamtbetrag = Order Total Amount aus dem Shop exakt dem anhand der Kieselstein ERP Preise errechneten Wert entsprechen muss / sollte. D.h. wenn die Verkaufspreisfindung gleiche Preise ergibt wie die Preise aus dem Shop, so sollten sich die gleichen Summen ergeben.
Hier kommt noch die Herausforderung dazu, dass der Shop ein Brutto rechnendes System ist und Kieselstein ERP netto rechnet. Das bedeutet wiederum, dass es zu geringen Cent-Abweichungen kommen kann.
Diese Differenz wird über eine zusätzliche Position mit dem Rundungsausgleichsartikel ausgeglichen. Beträgt sie mehr als 1,00 €, wird zusätzlich eine Textposition mit dem Hinweis auf die Abweichung eingefügt, damit du den Beleg vor dem Aktivieren prüfen kannst.
Definieren Sie dafür den Parameter RUNDUNGSAUSGLEICH_ARTIKEL mit z.B. RUNDUNG.
Der Artikel RUNDUNG selbst muss, nicht lagerbewirtschaftet sein. Der Mehrwertsteuersatz muss mit steuerfrei definiert werden.
“Order Number”,“Order Status”,“Order Date”,“Customer Note”,Title,“First Name (Billing)”,“Last Name (Billing)”,“Company (Billing)”,“Address 1&2 (Billing)”,“City (Billing)”,“State Code (Billing)”,“Postcode (Billing)”,“Country Code (Billing)”,“Email (Billing)”,“Phone (Billing)”,“First Name (Shipping)”,“Last Name (Shipping)”,“Address 1&2 (Shipping)”,“City (Shipping)”,“State Code (Shipping)”,“Postcode (Shipping)”,“Country Code (Shipping)”,“Payment Method Title”,“Cart Discount Amount”,“Order Subtotal Amount”,“Shipping Method Title”,“Order Shipping Amount”,“Order Refund Amount”,“Order Total Amount”,“Order Total Tax Amount”,SKU,“Item #”,“Item Name”,Quantity,“Item Cost”
| Spalte |
Bedeutung |
Aktion / Beschreibung |
| Order Number |
Bestellnummer |
Bestimmt die Zusammenfassung der Zeilen zu einem Auftrag. Sie wird, mit SHOP- davor, in das Feld Bestellnummer der Auftragskopfdaten übernommen. Gibt es diese Bestellnummer bereits, wird der Import abgebrochen. |
| Order Date |
Belegdatum |
Wird als Belegdatum des Auftrags übernommen und muss bis auf weiteres im Format JJJJ-MM-TT hh:mm übergeben werden, also z.B. 2026-08-28 09:15. Weicht das Format ab, wird der Import abgebrochen. |
| Customer Note |
Kommentar |
Wird in den externen Kommentar der Auftragskopfdaten übernommen |
| Title |
Anrede |
Die Anrede (Title) aus dem Shop wird wie folgt interpretiert: 1 … Herr 2 … Frau alle anderen werden derzeit auf <leer>, also keine gesetzt. |
| First Name |
Vorname |
Es werden die Spalte First Name in den Vornamen und Last Name in den Familiennamen übernommen |
| Last Name |
Nachname |
|
| EMail |
Kunden Erkennung |
Um zu erkennen, ob ein Kunde schon angelegt ist, wird die RE-E-Mail-Adresse herangezogen. D.h. gibt es für die erhaltene E-Mail-Adresse Email (Billing) bereits einen angelegten Kunden, so wird dieser verwendet und kein neuer Kunde angelegt. Wird die E-Mail-Adresse nicht unter RE-E-Mail-Adresse gefunden, so wird der Kunde neu angelegt. Bitte achten Sie darauf, dass aktuell auch die Groß-/Kleinschreibung für die Zuordnung herangezogen wird. |
| Shipping Method Title |
Lieferart |
Dieser Eintrag wird unter den Lieferarten, genauer einer Bezeichnung aus den Lieferarten gesucht. Wird kein Eintrag gefunden, wird der Import abgebrochen. Hinter der Lieferart muss es auch einen Versandkosten- (Transportkosten)-Artikel geben. Die Versandkosten werden (netto) vom Shop in der Spalte Order Shipping Amount übergeben. Beim Import wird der Verkaufspreis der AB-Position des Versandkostenartikels auf diesen Betrag gesetzt, wodurch die Adresse wie eine Firma behandelt wird. |
| Payment Method Title |
Zahlungsziel |
Dieser Eintrag wird unter den Zahlungszielen gesucht. Wird kein Eintrag gefunden, wird der Import abgebrochen. |
| SKU |
Artikelnummer |
muss mit der Artikelnummer deines Kieselstein-ERP Artikelstamms übereinstimmen. Ist der Artikel im Artikelstamm nicht vorhanden, wird eine Handeingabe mit der Artikelnummer als Bezeichnung und darunter eine Textposition mit dem entsprechenden Hinweis angelegt. |
| Quantity |
Menge |
wird als Positionsmenge in den Auftrag übernommen |
| Item Cost |
netto Verkaufspreis dieses Artikels |
Bei der Anlage der Auftragsposition wird der Verkaufspreis anhand der Verkaufspreisfindung ermittelt. Weichen der ermittelte Verkaufspreis und der vom Shop erhaltene Item Cost um mehr als 0,10 € voneinander ab, wird im Anschluss an die Position eine Textposition mit dem Hinweis auf die Abweichung eingefügt. |
Rechnungsadresse / Lieferadresse
- Die Rechnungsadresse wird anhand der erhaltenen E-Mailadresse ermittelt. D.h. ist im Kieselstein ERP Kundenstamm die RE-E-Mailadresse bereits vorhanden, so wird diese Adresse als Kunde verwendet. Es erfolgt keine weitere Prüfung mehr.
- Sind in den erhaltenen Shop-Daten die Daten für die Rechnungsadresse und die Lieferadresse gleich, so wird als Lieferadresse, des Auftrags, die Rechnungsadresse verwendet, egal ob die erhaltenen Adressdaten davon abweichend sind.
- Sind in den erhaltenen Shop-Daten die Daten für die Rechnungsadresse und die Lieferadresse ungleich, so wird die Lieferadresse neu angelegt und die Adressart als Lieferadresse gekennzeichnet.
ACHTUNG
Die RE-E-Mailadresse darf im gesamten Kundenstamm nur EINMAL vorkommen. Anderenfalls wird die Adresse erneut angelegt. Auch wenn diese E-Mail-dresse bei verschiedenen Ansprechpartnern definiert ist, kann es zu Fehlinterpretationen kommen.
Nutze gegebenenfalls auch die Groß-/Klein-Schreibung bei den E-Mailadressen (nicht getestet).
Info:
Die erweiterte Suche bei der Kundenauswahl prüft leider die RE-EMail-Adresse NICHT!
Was der Import anlegt
- Angelegt wird ein freier Auftrag im Status angelegt. Als Vertreter wird der Kieselstein ERP Benutzer eingetragen, der den Import durchführt.
- Der Liefertermin der Kopfdaten ergibt sich aus dem Belegdatum zuzüglich der im Mandantenparameter DEFAULT_LIEFERZEIT_AUFTRAG hinterlegten Tage. Ist der Parameter nicht gepflegt, werden 14 Tage angenommen.
- Die Projektbezeichnung wird mit der Kurzbezeichnung des Artikels der ersten Zeile der Bestellung vorbesetzt.
- Währung, Spediteur und Abbuchungslager kommen aus den Konditionen des ermittelten Kunden.
- Die Positionstermine entsprechen dem Liefertermin der Kopfdaten.
- Eine Position für die Versandkosten wird nur dann angelegt, wenn in Order Shipping Amount ein Betrag ungleich null steht.
Fehlermeldungen

Bitte die angeführte Lieferart definieren. Siehe oben Lieferart bzw. nachfolgend ein Muster wie die Lieferart angelegt werden könnte.

Bitte beachte die Zuordnung des Frachtkostenartikels

Passiert bei der Vergabe der Debitorennummer für neue Kunden.
ACHTUNG: Bitte die automatische Vergabe der Debitorennummer abschalten.

Dies passiert gerne, wenn manuell der Auftrag aus dem Shop angelegt wird und danach der Import gestartet wird. Um diese Situation zu entschärfen, wird vom Import automatisch SHOP- vor die eigentliche Bestellnummer aus dem Shop gestellt.
Parameter
Mit dem Parameter WOOCOMMERCE_PARTNER_ZUSAMMENZIEHEN kann eingerichtet werden, dass Vorname und Nachname beim Import, wenn keine Company gegeben ist, in den PartnerName1 zusammengezogen wird.
Musterdaten
Musterdaten mit genauer Feldzuordnung siehe als LibreOffice Vorlage mit Beschreibung bzw. als CSV
Zusatzinfo
- Die Partnerart ist fix auf Adresse, so wie bei anderen Kunden auch
- Die Kommunikationssprache ist in der Regel die Sprache, in der sich der Kieselstein ERP Benutzer angemeldet hat
- Der Mehrwertsteuersatz kommt aus dem Land, also Inland mit Allgemeine Waren, alle anderen Länder steuerfrei. Für genauere Definition siehe bitte System, Mandant, Vorbelegungen.
5 - Profirst Anbindung
Profirst Anbindung
PROfirst Anbindung
Mit der PROfirst Anbindung wird eine Verbindung zwischen dem Konstruktions- und Schachtelprogramm ProFirst und Kieselstein ERP geschaffen.
ProFirst wird vor allem in der Blechbearbeitung, wie z.B. Laserschneiden bzw. Plasmaschneiden eingesetzt.
Der grundsätzliche Ablauf ist in der Regel folgender (siehe auch):
-
Vom Kunden wird ein neues Teil angefragt. Dieses wird in PROfirst konstruiert und somit der Fertigungs-Artikel in PROfirst mit all seinen Eigenschaften angelegt.
Ist der Fertigungs-Artikel fertig konstruiert, müssen die PROfirst-Daten von Kieselstein ERP eingelesen werden. Wählen Sie dafür im Artikelmodul, Pflege, PROfirst Import. Bei diesem Import wird ein direkter Zugriff auf Ihre PROfirst Datenbank gemacht und die Bauteile und deren Bildinformationen ausgelesen.
-
Die Verdrahtung der Felder zwischen PROfirst und Kieselstein ERP ist wie folgt:
Es wird dabei auch ein Bild des Artikels aus PROfirst nach Kieselstein ERP mit übernommen.
Verdrahtung:
| ProFirst |
Kieselstein ERP |
Bedeutung |
| Artikelnummer |
Stücklisten-Artikelnummer |
Dies ist die Artikelnummer der Stückliste unter der der Fertigungs-Artikel angelegt wird. Auf die Länge achten, max. 25 Stellen, alphanummerisch |
| Material |
Stkl-Pos-Artikelnummer |
Das Rohmaterial wird in die Stückliste als Materialposition übernommen. Die Abmessungen werden in mm für das umformende Rechteck übergeben. Auf diesen Abmessungen beruhen die Bedarfsberechnungen für das Gesamtmaterial. Die Material-Stärke wird in der Artikelnummer des Materials abgebildet. Das Rohmaterial ist entweder bereits angelegt oder wird beim Import von Kieselstein ERP erzeugt. Der Aufbau der Artikelnummer wird wie folgt errechnet: |
| Maschine |
Stkl-Arbeitsplan-Position |
Erzeugt eine Arbeitsplanposition der Tätigkeit Autogen oder Plasma oder Laser -schneiden unter Angabe der Maschine auf der der Artikel geschnitten werden soll. Rüst- und Stückzeit kommen aus den Feldern …..und werden im Format hh:mm:ss übergeben. Es sind auch Zeiten > 24 Std. möglich. Die dafür erforderlichen Tätigkeiten müssen definiert sein. Die dafür erforderlichen Maschinen müssen ebenfalls definiert sein. Die Arbeitsgangposition wird mit der Materialposition verbunden. |
| Bilddatei |
Artikelkommentar Fertigungsbild |
Es ist im Verzeichnis passend zur Artikelnummer auch eine Bilddatei im xxx (jpg/png) Format abgelegt. Diese wird bei der Stückliste als Artikelkommentar, mit der Markierung bei Fertigung mitdrucken hinterlegt. |
| Bauteilname |
Artikelnummer |
|
| Kunde |
Stückliste Kunde |
|
| Stärke |
Teil der Artikelnummer des Materials |
|
| Werkstoff |
Teil der Artikelnummer des Materials |
Hinterlegen des Werkstoffs beim Material |
| Werkstofftyp |
Teil der Artikelnummer des Materials |
Bezeichnung des Materials |
| Form |
|
wird nicht verwendet |
| Menge |
|
wird nicht verwendet |
| Ändern |
|
wird nicht verwendet |
| Fläche (Brutto) |
Fläche des Materials |
Wird in mm² als Material in die Stücklistenposition eingetragen |
| Preis NettoField 1 |
VK-Preisbasis |
Verkaufspreisbasis. Das Datum gültig ab wird mit dem Importdatum vorbesetzt |
| Knd.Art.Nr.Field 2 |
Kurzbezeichnung |
Wird üblicherweise als Knd.Art.Nr verwendet und auch bezeichnet |
| ZeichnungsNrField 3 |
Referenznummer |
Wird üblicherweise als Zeichnungsnummer verwendet und auch bezeichnet |
| AnarbeitungField 4 |
|
Fremd-arbeitsgang-artikel (siehe unten) |
| KommissionField 5 |
Zusatzbezeichnung2 |
|
| Feld 6 |
Bauform |
Wird üblicherweise als Beschreibung verwendet und auch bezeichnet |
| Bearbeitungszeit |
Stückzeit |
in hh:mm:ss |
| Maschine |
Maschine |
Name (= Inventarnummer) der Maschine auf die die Tätigkeit gebucht werden sollte |
| Schneidart |
Tätigkeit |
Artikelnummer der Tätigkeit des Arbeitsgangs, beginnt mit AZ_ gefolgt von der Schneidart. Muss angelegt sein. Es ist dies die Tätigkeit hinter der dann obige Stückzeit und Maschine hinterlegt werden. Das Material des Arbeitsgangs zeigt auf die Materialposition |
| Gewicht (kg) |
Artikel-Gewicht |
Gewicht im Artikel im Reiter Technik |
| Datum |
wird nicht genutzt |
|
-
Nun wird gegebenenfalls das entsprechende Angebot in Kieselstein ERP erstellt und an den Kunden übermittelt.
-
Der Kunde bestellt, in Kieselstein ERP wird eine Auftragsbestätigung mit dem Kundenartikel, welches der oben übernommene Fertigungsartikel, der wiederum eine Stückliste ist, erstellt. Natürlich können beliebig viele Positionen im Kundenauftrag erfasst werden.
-
Mit dem internen Bestellvorschlag werden die anzulegenden Lose ermittelt und erzeugt.
Nun stehen die zu produzierenden Lose mit deren Arbeitsgängen, in denen wiederum die Maschinen enthalten sind, und den Materialbedarfen in Kieselstein ERP zur Verfügung.
-
Im Modul Los, unterer Reiter offene AGs, oberer Reiter produzieren sind alle angelegten Lose und deren Arbeitsgänge mit Kunde, Los Nr, Material, Maschine und Fortschritt ersichtlich.
Anhand dieser Liste, oder auch anhand des Journals, Maschine + Material, kann der Werker / Arbeitsvorbereiter entscheiden, welche Fertigungsaufträge / Arbeitsgänge er als Arbeitsvorrat für die nächste(n) Tafel(n) an PROfirst übergibt.
In dieser Liste finden Sie auch die Anzeige der jetzt produzierbaren Lose. Und wenn Sie mehrere Lose markieren, so wird oben die Summe der Stunden und der Materialmenge, was in der Regel die Fläche der Tafel sein wird, angezeigt. So bekommen Sie ein Gefühl dafür, ob diese Lose aus der Tafel / den Tafeln geschnitten werden können.
-
Für die Übergabe markiert man nun die gewünschten Lose der Maus und Klick auf
Übergabe an PROfirst.
Damit werden Stkl-Artikelnummer, Losgröße, Kunde, … an PROfirst übergeben.
Zugleich werden die Lose dadurch mit dem Zusatzstatus in PROfirst versehen. Das Los selbst bleibt im Status angelegt.
-
Nun lesen Sie den Arbeitsvorrat in Ihr PROfirst ein.
Bitte achten Sie dabei darauf, dass Ihr PROfirst so eingestellt ist, dass vorhandener Arbeitsvorrat immer ergänzt, also erhöht wird.
-
Nun werden in PROfirst die Bauteile auf die Tafeln geschachtelt.
-
Die geschachtelten Bauteile, mit der Information welche Tafel für welches Los (= Fertigungsauftrag) vorgesehen ist, wird wiederum von PROfirst exportiert.
-
Nun wird der Schachtelplan durch Klick auf …. eingelesen.
Beim Einlesen werden die im Schachtelplan enthaltenen Artikel/Bauteile so auf die Lose verteilt, dass immer das älteste Los eines Bauteiles verwendet wird. Sollte nicht die gesamte Losgröße in diesem Schachtelplan / der Tafel verwendet worden sein, so wird auch das Los gesplittet, damit wiederum die Gesamtmenge dieses Artikels erhalten bleibt und auch die Information, dass im PROfirst noch offene Lose für dieses Bauteil gegeben sind. Beim Splitting eines Loses wird der Zusatzstatus, dass dieses Los bereits in PROfirst ist, mitübernommen.
Die Information, welchem Schachtelplan das Los zugeordnet ist, wird beim Los hinterlegt. Es kann auch nach den Schachtelplannummern gesucht werden. Wir gehen davon aus, dass der Dateiaufbau des Schachtelplans mit csvnnnnn.csv gegeben ist, wobei nnnnn die Schachtelplannummer ist. Wird eine Schachtelplannummer eingegeben, die nicht vorhanden ist, erhalten Sie einen entsprechenden Hinweis.
-
Beim Einlesen des Schachtelplans erhalten Sie eine Liste der laut Kieselstein ERP lagernden Tafeln dieses Materials. Wählen Sie nun das tatsächlich verwendete Material aus.
-
Da im Schachtelplan auch die Menge definiert ist, die nach dem Schneiden als nutzbare Restmenge übrigbleibt, kann eine Restmengenberechnung durchgeführt werden. D.h. es werden die Los-Sollmengen aller Lose des Schachtelplans der laut Schachtelplan verbrauchten Menge gegenübergestellt und daraus ein Korrekturfaktor ermittelt mit dem die Lossollmengen umgerechnet / korrigiert werden. Damit wird erreicht, dass bei jedem Einlesen eines Schachtelplanes die verbleibende Restmenge einer Tafel zwischen Kieselstein ERP und PROfirst übereinstimmt.
Zugleich wird bei diesem Vorgang nach der Korrektur der Sollmengen das gesamte Material der Lose dieses Schachtelplans ausgegeben, vom Lager in die Lose gebucht.
-
Ist die Tafel nun geschnitten, so muss dies ebenfalls in Kieselstein ERP erfasst werden.
Klicken Sie dazu auf ….
Es erscheint erneut die Abfrage nach dem Schachtelplan. Nun werden alle Lose dieses Schachtelplans mit deren Sollmengen angezeigt. Es kann nun bei jedem Los angegeben werden, ob eventuell Ausschuss zu erfassen ist. Geben Sie die unbrauchbaren Mengen für das jeweilige Los an und klicken Sie dann auf Erledigt/Buchen.
Damit werden die angegebenen Lose mit den Losgrößen abzüglich den Ausschussmengen als Ablieferungsbuchung gebucht. Womit die Teile auf Lager sind und z.B. per Lieferschein ausgeliefert werden können.
Anmerkungen:
-
Da von PROfirst der Materialbedarf in x & y Abmessungen übergeben wird, sind die Dimensionen für m² und mm² in den Mengeneinheiten entsprechend auf 2 einzustellen.
-
Beim Erstellen neuer Bauteile in PROfirst achten Sie bitte darauf, dass die Bestellmenge immer 0,00 bleibt. Anderenfalls würden Sie mehr schachteln / produzieren als Sie aufgrund des offenen Auftragsstandes tatsächlich sollten.
-
Sollte ein Kunde einen Auftrag stornieren, so ist neben dem Storno des Loses auch die entsprechende offene Menge des Bauteils zu korrigieren / auf 0,00 zu setzen
Zuordnung der Tafelnummer zur Chargennummer
-
Bei der Buchung des Wareneinganges werden anstelle der Chargennummern, welche in der Regel bei der Anlieferung nicht sichtbar sind, Tafelnummern erfasst. Wichtig ist hier, dass die Tafelnummern bereits jede Tafel vereinzeln, d.h. für jede Tafel ist eine aufsteigende eigene Tafelnummer zu verwenden. Diese werden in der Zubuchung des Wareneinganges durch Klick auf “Tafelnummer” erzeugen generiert und für jede einzelne Tafel hinterlegt. Damit liegen die Tafeln mit diesen Nummern auf Lager. Die Tafelnummer ist der Ersatz für die Chargennummer. Das bedeutet auch, dass Tafeln, die noch nicht in Chargennummern umgewandelt wurden –»> FRAGE: Umwandeln oder Ergänzen, in den Lagerinformationen eindeutig ersichtlich sind.
-
Die Tafelnummer wird in Kieselstein ERP in der Version der Charge abgelegt. Die eigentliche Chargennummer wird mit “noch nicht definiert” vorbesetzt.
Die vergebenen Tafelnummern werden durch die Wareneingangsetiketten ausgedruckt und bei den jeweiligen Tafeln durch Aufkleben auf die Tafeln bzw. deren Begleitpapiere identifiziert. (Z.B. ….) Die Tafelnummer ev. in Kombination mit der Artikelnummer, wird auch in Barcodeform auf der Wareneingangsetikette angedruckt.
-
Zuordnung der Chargennummern zu den Tafelnummern.
Durch die Entnahme der Tafel, welche einige Tonnen hat, wird deren Chargennummer sichtbar. Der Werker geht nun an das BDE-Terminal, identifiziert sich mit seiner Ausweiskarte, und tippt auf Tafelnummern zuordnen. Nun scannt er die Tafelnummer ein und tippt die Chargennummer, welche er sich vorher auf dem Tafelnummernetikett notiert hat, in das Terminal ein. Die Chargennummern sind durch Ziffern und normale Zeichen (keine Umlaute, keine Sonderzeichen (vor allem wiederum wegen Barcode)) definiert.
-
Aus Gründen der Rückverfolgbarkeit sollte die Zuordnung Tafelnummer <-> Chargennummer immer erhalten bleiben. Damit wird, je nach Menge der verarbeiteten Tafeln, die Anzahl der laufenden Stellen der Tafelnummern definiert. Da pro Tag und Schicht und Maschine ca. eine Tafel verarbeitet wird, ist bei drei Maschinen und Dreischichtigem Betrieb von 3285 Tafeln pro Jahr auszugehen. D.h. die Tafelnummern sind mindestens 6-stellig auszulegen. Wir würden der Einfachheit und klareren Zuordnung halber, die Tafelnummern über alle Artikel ziehen. D.h. egal ob das ein Mittelformat mit 2 mm oder ein 4 x 6 m x 10 cm Blech ist, die eine Tafelnummer kommt nach der anderen.
-
Nachdrucken von Tafel-Etiketten.
Diese können im Artikel unter Info, Etikett und Angabe der Chargennummer bzw. Tafelnummer jederzeit nachgedruckt werden.
Parametrierung für PROfirst
Die PROfirst Artikeldaten (Parts) werden als Stücklisten Daten nach Kieselstein ERP importiert.
Dazu wird von Kieselstein ERP direkt auf die Tabellen Ihres PROfirst Servers zu gegriffen. Um diesen Zugriff zu ermöglichen, müssen folgende Parameter definiert werden:
| Parameter |
Bedeutung |
Beispiel |
| PRO_FIRST_DBURL |
Der Pfad zu Ihrer PROfirst Datenbank. Beachten Sie bitte dazu auch die untenstehenden Anmerkungen |
jdbc:jtds:sqlserver://192.168.8.57:1433/profirst |
| PRO_FIRST_DBUSER |
Der Benutzer für den Datenbankzugriff. Die Details dazu erhalten Sie von Ihrem PROfirst Betreuer |
|
| PRO_FIRST_DBPASSWORD |
Das Kennwort, um auf die Datenbank zuzugreifen |
|
| PRO_FIRST_ANZAHL_ZU_IMPORTIERENDE_DATENSAETZE |
Gibt die in einem Importdurchlauf aus PROfirst eingelesenen Stücklisten an. |
Steht Default auf 1 um die Verbindung und den Import testen zu können. Erhöhen Sie diesen nach erfolgreicher Parametrierung auf z.B. 50 Datensätze |
| ARTIKEL_MAXIMALELAENGE_ARTIKELNUMMER |
Erlaubte Länge der Artikelnummer |
25 (Bitte auf Maximalwert stellen) |
| ARTIKEL_LAENGE_HERSTELLERBEZEICHNUNG |
Kein Herstellerbezug |
0 |
| HERSTELLERKURZZEICHENAUTOMATIK |
Abschalten |
0 |
| ARTIKELNUMMER_ZEICHENSATZ |
Definieren Sie die erlaubten Zeichen. Bitte unbedingt ohne Leerzeichen, zu Ihrer eigenen Sicherheit. |
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_. |
| ABMESSUNGEN_STATT_ZUSATZBEZ_IN_AUSWAHLLISTE |
Damit werden die Blechdicken in der Artikelauswahl angezeigt |
|
| PRO_FIRST_LEAD_IN_AZ_ARTIKEL |
Definieren Sie hier bitte die führenden Buchstaben für die Artikel für die Tätigkeit |
AZ_ |
| PRO_FIRST_VERZEICHNIS |
In dieses Verzeichnis werden die von Kieselstein ERP erzeugten Exportdateien für PROfirst abgelegt. Bitte stellen Sie sicher, dass JEDER Benutzer auf dieses Verzeichnis ein entsprechendes Zugriffsrecht besitzt. Wir raten zur Verwendung von UNC Namen, da diese in den Netzwerken eindeutig sind. Achten Sie darauf, dass das angegebene Verzeichnis auch vorhanden ist. |
\server\PROfirst\CSV\ |
| VERPACKUNGSMENGEN_EINGABE |
Da in dieser Branche sehr oft in Tafeln gedacht wird, sollte dieser Parameter auf 1 gestellt werden. Damit erreichen Sie, gemeinsam mit der Hinterlegung der Verpackungsmenge, dass die Tafelanzahl auf den Bestelldaten mit angedruckt werden. |
|
| PRO_FIRST_BILD_PFAD |
Pfad, in dem die von PROfirst automatisch erzeugten Bilder abgelegt werden. Diese werden in die Artikelkommentare der Stücklisten übernommen. Dieser Pfad muss aus Sicht des Kieselstein ERP Servers definiert werden. |
Die Einstellung und die Definition in welchen Pfad Ihr PROfirst dies abspeichert, finden Sie unter Extras, Optionen, Bauteil-BMP. Hier bitte die automatische Speicherung anhaken und den entsprechenden Pfad angeben. Als Dateiformat bitte JPG verwenden. Nutzen Sie für bestehende Daten den Knopf für bestehende Bauteile Bilder erzeugen. Beispiel: \\server\PROfirst\Bilder bedeutet bei einem Linux-Server aus Kieselstein ERP /mnt/profirst/Bilder |
| PRO_FIRST_FREMDFERTIGUNGSARTIKEL |
Im PROfirst können auch Fremdarbeitskosten definiert werden. Diese werden im Zusatzfield5 (siehe unten) angegeben. Geben Sie hier die Artikelnummer an unter der diese Kosten in die Stückliste übernommen werden sollten. |
AZ_FREMD |
| PRO_FIRST_ARTIKELGRUPPE |
Die Artikelgruppe unter der Ihre PROfirst Artikel angelegt werden. Ist insbesondere dann erforderlich, wenn in Kieselstein ERP auch die integrierte Finanzbuchhaltung verwendet wird. |
|
| PRO_FIRST_SCHACHTELPLAN_PFAD |
Pfad in dem die Schachtelplan-CSV-Dateien gefunden werden. Importierte Schachtelpläne werden in das Unterverzeichnis Old verschoben. |
|
| DEFAULT_ARBEITSZEITARTIKEL |
Dieser Arbeitszeitartikel wird in den Arbeitsplänen der Stücklisten für die Tätigkeiten hinterlegt, bei denen in der Bauteildefinition Ihres PROfirst zwar eine Arbeitszeit aber keine Tätigkeit definiert ist. |
|
Die in PROfirst definierbaren Zusatzfelder werden wie folgt übernommen:
- Field1 … Verkaufspreisbasis des Artikels
- Field2 … Artikel Kurzbezeichnung, welche üblicherweise für PROfirst Anwender mit Kundenartikelnummer bezeichnet ist
- Field3 … Artikel Referenznummer, welche üblicherweise für PROfirst Anwender mit Zeichnungsnummer bezeichnet ist
- Field4 … wird für die Darstellung der Fremdarbeitskosten verwendet. D.h. um diesen Zahlenwert zu übernehmen, muss der PRO_FIRST_FREMDFERTIGUNGSARTIKEL definiert sein. Bitte beachten Sie, dass dessen Mengeneinheit EUR € sein sollte, da ja hier nur Kosten übergeben werden. Diese “Menge” = Kosten werden in die Stückliste als zusätzliche Materialposition übernommen.
- Field5 … Artikel Zusatzbezeichnung2
- Field6 … Artikel Bauform, welche für PROfirst Anwender auch als Beschreibung bezeichnet ist
- Field7 … Artikel Verpackungsart -> dieses Feld wird von der PROfirst Version 9 nicht unterstützt
- Field8 … Wird von PROfirst Version 9 nicht unterstützt / verwendet und daher auch in Kieselstein ERP nicht ausgewertet
Damit die PROfirst Funktionen zur Verfügung stehen, muss zumindest die PRO_FIRST_DBURL definiert sein.
Zusätzlich achten Sie bitte am Profirst Server, dass die TCPIP Verbindungen aktiv / erlaubt sind.

Und dass die entsprechenden Ports im SQL Configuration Manager eingestellt sind:

Testen Sie die Verbindung z.B. durch eine Verbindung mit dem SQL-Manager:

Mögliche Fehlermeldungen
Ungültige Zeichen
Grundsätzlich werden bei der Übernahme alle Zeichen auf Großbuchstaben umgesetzt. Sollten trotzdem nicht definierte Zeichen enthalten sein erhalten Sie eine Meldung ähnlich der obigen. Ergänzen Sie in diesem Falle die Definition der erlaubten Zeichen Ihrer Artikelnummer. In obigem Beispiel ist der . Punkt nicht definiert.
Der Import wird abgebrochen. Bitte ergänzen Sie die Artikelnummerndefinition oder ändern Sie den Namen in PROfirst
Kunde nicht definiert
Generell ist die Definition, dass die Verbindung der Kunden zwischen Kieselstein ERP und PROfirst über die Kunden-Kurzbezeichnung erfolgt. Wird kein Kunde mit der in PROfirst eingetragenen Kurzbezeichnung gefunden, so erscheint obige Fehlermeldung und der Import wird abgebrochen. Siehe unten / Kunden Import / ignorieren
Arbeitszeitartikel nicht definiert
Um die Arbeitszeitartikel von PROfirst in die Arbeitspläne von Kieselstein ERP übernehmen zu können, müssen diese definiert sein. Diese werden entsprechend dem Rulecode aus PROfirst übernommen. Diese Artikel müssen als Arbeitszeitartikel in Kieselstein ERP angelegt sein.
PROfirst Bauteile, die im PROfirst keine oder fehlerhafte Arbeitszeit-IDs (kein Rulecode oder Rulecode in Ruletabelle nicht vorhanden) werden auf den im Parameter DEFAULT_ARBEITSZEIT Arbeitszeitartikel gesetzt.
Maschine nicht definiert
Die bedeutet, dass für die angegebene Maschine (aus PROfirst) keine Maschine in Ihrem Kieselstein ERP mit der entsprechenden Inventarnummer gefunden wurde. D.h. bitte entweder die Maschinendefinition in Ihrem PROfirst richtigstellen (siehe Liste der Bauteile der Maschine) oder die Maschine in Ihrem Kieselstein ERP anlegen (Zeiterfassung, unterer Reiter Maschinen). Bitte beachten Sie, dass die Inventarnummer mit der Maschinenbezeichnung in PROfirst übereinstimmen muss. In Kieselstein ERP ist die Inventarnummer auf 15 Stellen begrenzt.
PROfirst Artikel und Stücklisten Import durchführen
Sind alle beschriebenen Einstellungen getroffen, so wählen Sie im Artikelmodul bitte Pflege, PROfirst Import.
Damit wird die jeweilige Anzahl an neuen Datensätzen eingelesen.
Bitte beachten Sie, dass wir, so wie es in der Praxis üblich ist, davon ausgehen, dass die Artikel in PROfirst erst abgespeichert werden, wenn diese eindeutig definiert sind.
Da der Import parallel von mehreren Mitarbeitern angestoßen werden kann, aber nicht sollte, würden unter Umständen nicht fertig definierte Artikel importiert. Wir haben uns daher dazu entschlossen, dass ein Artikel nur einmal eingelesen wird.
Aus dem Namen des PROfirst Artikels werden die Artikelnummern gebildet.
Würde sich daraus eine gleichlautende (doppelte) Artikelnummer ergeben, so werden die letzten Stellen durch _nnn hochgezählt. In die Bezeichnung wird der Originalname eingetragen.
Bitte beachten Sie, dass Artikel, deren Namen eine Artikelnummer ergeben würden, die kürzer als die Mindeststellenanzahl, üblicherweise 5, ist, ignoriert werden.
Der Import wird immer so durchgeführt, dass Artikel für Artikel eingelesen und die Stücklisten daraus erzeugt werden. Kommt es nun zu einem Abbruch, wegen eines Fehlers, eine ungültige Definition, so wurden alle Artikel bis zum Auftreten des Fehlers bereits eingelesen und sind bereits in Ihrem Kieselstein ERP vorhanden. D.h. wenn nun der Fehler korrigiert wird, so wird exakt bei dieser Fehlerbedingung wieder fortgesetzt und erneut eine bestimmte Anzahl an Datensätzen eingelesen.
Um die direkte Verknüpfung der Stücklisten zwischen Kieselstein ERP und PROfirst eindeutig darzustellen, wird die PROfirst PART.IDPART in der Stückliste in den Kopfdaten unter Fremdsystemnr. abgelegt. Damit kann programmtechnisch eindeutig auf den richtigen Artikel in PROfirst zurückgegriffen werden. Für den Import wird von der höchsten in Kieselstein ERP hinterlegten Fremdsystemnr. ausgegangen und die danach kommenden Artikel eingelesen.
Wareneingänge nach PROfirst exportieren
Um die im Wareneingang erfassten Tafeln auch an PROfirst zu signalisieren, wurde diese Funktion geschaffen.
Sie finden diese ebenfalls im Modul Artikel, Pflege, Export Wareneingang nach PROfirst.
Es werden damit alle Wareneingänge seit dem letzten Exportlauf an PROfirst über den Umweg einer CSV Datei übertragen.
Bitte beachten Sie, dass dies ein einmaliger Vorgang ist. Nachträgliche Änderungen an den Warenzugangsbuchungen werden NICHT an PROfirst übergeben.
Die Exportdatei wird ebenfalls im definierten PROfirst Exportverzeichnis abgelegt und beginnt mit WE_AB_Datum-Uhrzeit
Um die Daten nach PROfirst zu importieren, starten Sie bitte Ihr PROfirst, wählen dann
CAM, CAM Medium.
Klicken Sie nun unten auf Blechverwaltung

nun wählen Sie
Tafeln einlesen.
Geben Sie hier den unter PRO_FIRST_VERZEICHNIS definierten Pfad ein und definieren Sie den Import anhand folgender Spalten:
- Tafelnummer
- Material
- ArtikelnummerMaterial
- Staerke
- Breite
- Tiefe
- Chargennummer
- AnzahlTafeln
- Lieferant
- Dokument
- Preis/Kilo
- Werkstoff
Da üblicherweise nicht nur die verschiedenen Standardformate (Klein, Mittel, Groß) sondern auch Sonderformate verarbeitet werden, kann in der Wareneingangsposition die Breite / Tiefe (in mm) angegeben werden. Dazu muss in den Parametern die Dimension der BS-Pos-Einheit auf 2 gestellt werden.
Export der zu schneidenden Lose / Arbeitsgänge
Verwenden Sie für die Signalisierung der von Ihnen gewünschten zu schneidenden Lose bzw. Arbeitsgänge im Modul Los den unteren Modulreiter offene AGs und dann den oberen Reiter Produzieren.
Hier filtern Sie zuerst nach dem Material, das Sie schneiden möchten, z.B. durch Eingabe der Artikelnummer des Materials.

Sortieren Sie nun die Lose in der Reihenfolge, in der diese gefertigt werden sollten. In der Regel wird das der AG-Beginn sein.
Sind hier Spalten OHNE AG-Beginn, so gibt es für diese Lose keine Arbeitsgänge, was bei importierten Stücklisten nicht sein sollte. Siehe oben.
Für die Sortierung klicken Sie nun auf die Spaltenüberschrift AG-Beginn.
Klicken Sie nun die Lose an, die Sie nach PROfirst zum Schachteln übertragen wollen. Damit Sie ein Gefühl dafür bekommen, ob denn die ausgewählten Lose auf die Tafel geschachtelt werden können, zeigen wir oben die Summe der Abmessungen der Materialien der markierten Lose an. Beachten Sie bitte, dass dies nur die mathematische Addition der in den Stücklisten eingetragenen Flächen ist. Es ist dies in keinem Falle ein wie immer gearteter Schachtelversuch. Nutzen Sie auch die Anzeige heute produzierbar, diese zeigt ob überhaupt ausreichend Material auf Lager ist.
Haben Sie nun alle Lose für die Übertragung markiert, so klicken Sie bitte auf
nach PROfirst exportieren. Damit werden alle markierten Lose in die CSV Exportdatei exportiert.
Der Export wird durch
angezeigt.
Der Dateiname hat den Aufbau OAG-Datum-Uhrzeit.csv.
Zusätzlich wird das jeweilige Los mit dem Zusatzstatus P1 markiert.
Hinterlegen Sie hinter diesem Zusatzstatus ein entsprechendes Symbol und den für Sie passenden Begriff. Damit sehen Sie bereits in der Losübersicht, welche Lose zum Schachteln an PROfirst übergeben wurden.
Hinweis: Damit das neue Symbol angezeigt wird, muss der Kieselstein ERP Client neu gestartet werden.
Wann diese Daten an PROfirst übergeben wurden, ist je Los im Reiter Zusatzstatus ersichtlich.
Der Datenaufbau sieht z.B. wie folgt aus:
KundeKbez,Losnummer,StklArtikelnummerProFirst,OffeneLosmenge,MaterialProFirst,MaterialHoehe,,,,
Test,16/0000001,696-419-01-01-05,35,S355,25.0
Importieren Sie diese Daten in PROfirst unter CAM Medium, Fertigungsaufträge
Auftrag von PPS ein(lesen).
Bitte beachten Sie, dass dadurch das Los noch immer im Status angelegt ist. D.h. Buchungstechnisch ist das Material noch im Lager. Erst durch die Rückmeldung der Schachtelung wird das Los ausgegeben und damit das Material vom Lager abgebucht.
Einstellung des PROfirst für den Import

Für den Ablauf ist wichtig, dass die Verwaltung der offenen, d.h. der zu schneidenden Mengen in beiden Systemen gleich ist.
wie können Stücklisten aktualisiert werden?
hierfür stehen zwei Varianten zur Verfügung:
- a.) Aktualisieren einer einzelnen Stückliste. Wechseln Sie dazu im Stücklisten Modul auf die gewünschte Stückliste und wählen nun im Menü Bearbeiten, Stückliste aus PROfirst aktualisieren.
- b.) Aktualisieren aller Stücklisten eines Kunden. Wechseln Sie im Kundenmodul auf den gewünschten Kunden und wählen aus dem Menü, Pflege, PROfirst Import. Bitte beachten Sie, dass hier die Begrenzung auf die maximale Anzahl der zu importierenden Artikel NICHT wirkt. D.h. es werden alle Artikel dieses Kunden eingelesen. Es ist dieser Import jedoch auf ein reines Aktualisieren begrenzt. D.h. es werden nur die bereits in Kieselstein ERP eingetragenen Stücklisten aktualisiert. Das Einlesen neuer Artikel muss bitte immer im Artikelmodul, Pflege, PROfirst Import erfolgen (Hintergrund ist die Verwaltung der noch einzulesenden Artikel).
In anderen Worten ist die Bauteilübernahme aus PROfirst wie folgt definiert:
-
Kunde pflegt die bestehenden Artikel / Stücklisten ausgehend von PROfirst zu Kieselstein ERP
-
Artikel fügt hinzu: Es werden Bauteile die anhand ihrer PROfirst ID noch nicht im Artikel / Stücklistenstamm von Kieselstein ERP sind hinzugefügt = neu angelegt
Wie wird mit Verkaufspreisänderungen umgegangen?
Bei jeder Aktualisierung werden auch die aktuellen Verkaufspreise aus PROfirst übernommen und der Preis gültig ab Datum auf das Importdatum gesetzt. Somit sehen Sie im Artikel unter Info, Verkaufspreisentwicklung, wie sich der Preis im Laufe der Zeit verändert hat.
Können Kunden vom Import ausgenommen werden.
Ja. Wenn über den Import im Artikelmodul die Fehlermeldung Kundenkurzbezeichnung für xyz nicht gefunden, so wählen Sie Kunde für weitere Importe ignorieren. Damit wird der Kunde in die zu ignorieren Liste mit aufgenommen und beim nächsten Importlauf übersprungen. Sollten Sie die Artikel dieses Kunden später trotzdem importieren wollen, so legen Sie bitte den Kunden an bzw. definieren Sie die entsprechende Kundenkurzbezeichnung eines bestehenden Kunden und wählen Sie dann Pflege, PROfirst Import, wie oben beschrieben. Die nun erscheinende Frage beantworten Sie bitte mit Ja.
Einfache Beschreibung des grundsätzlichen Ablaufes
- Importieren Sie alle benötigten Artikel
- Legen Sie die Kundenaufträge an
- erzeugen Sie die entsprechenden Lose, z.B. mit der internen Bestellung
- Bestellen Sie die nötigen Rohartikel, z.B. Blechtafeln
- Buchen Sie die Lieferungen im Wareneingang zu.
Achten Sie darauf, dass die Blechtafeln entsprechend Chargengeführt sind (es muss die Abfrage nach Chargennummern kommen)
- Exportieren Sie im Modul Los, unterer Reiter offene AGs oberer Reiter Produzieren.
Beachten Sie die produzierbaren Lose nach Sortierung
- Schachteln Sie die gewünschten Aufträge im PROfirst
- Einlesen eines Schachtelplanes in Kieselstein ERP. Damit automatische Zuordnung der Schachtelplannummern zu den Losen.
- Schneiden der Schachtelpläne
- Abliefern der Schachtelpläne = Tafel abliefern unter Angabe des eventuellen Ausschusses
Dabei Auswahl der tatsächlich verwendeten Tafel
6 - Shopify
Einlesen von Shopdaten in den Lieferschein
Im Lieferscheinmodul steht der Shop-Import im Shopify Format zur Verfügung.
Shopify Import
Dieser Import steht im Modul Lieferschein, im Menüpunkt Lieferschein, Import, Shopify CSV zur Verfügung.
Die Grundidee ist, dass vom Shop täglich Daten abgeholt werden, z.B. über FTP Import und dann täglich diese Daten eingelesen werden.
Da es dabei immer wieder zu erforderlichen Anpassungsarbeiten kommt, sehen wir den manuellen Import als sinnvoller an.

Zuordnung der Shopify Spaltenname:
Die Definition des Import-Files findet man unter
Bitte beachte die UTF8 Codierung.
Aus der Exportdatei werden die folgenden Spalten gelesen:
| Spalte |
Bedeutung |
Aktion / Beschreibung |
| Name |
Bestellnummer |
Bestimmt die Zusammenfassung der Zeilen zu einem Lieferschein und wird in das Feld Bestellnummer der Kopfdaten übernommen. Gibt es zu dieser Bestellnummer bereits einen Lieferschein, wird die Bestellung mit einem Hinweis übersprungen. |
| Created at |
Belegdatum |
Wird als Belegdatum des Lieferscheines übernommen. Das Datum muss bis auf weiteres im Format JJJJ-TT-MM übergeben werden, also mit dem Tag vor dem Monat. Der 28. August 2026 ist demnach als 2026-28-08 einzutragen. Ausgewertet werden nur die ersten zehn Zeichen der Spalte. |
| Email |
Kunden Erkennung |
Um zu erkennen, ob ein Kunde schon angelegt ist, wird die RE-E-Mail-Adresse herangezogen. Gibt es dazu bereits einen Kunden, so wird dieser verwendet, andernfalls wird der Kunde neu angelegt. |
| Currency |
Währung |
Muss in Kieselstein ERP als Währung definiert sein, sonst wird die Bestellung mit einer Fehlerzeile abgewiesen. |
| Shipping Country |
Land |
Muss als Länderkennzeichen im System vorhanden sein, sonst wird die Bestellung mit einer Fehlerzeile abgewiesen. |
| Shipping Method |
Lieferart |
Wird als Lieferart des Lieferscheines verwendet. |
| Shipping |
Versandkosten |
Wird über den Versandkostenartikel als eigene Position verrechnet. |
| Lineitem sku |
Artikelnummer |
muss mit der Artikelnummer deines Kieselstein ERP Artikelstamms übereinstimmen |
| Lineitem quantity |
Menge |
wird als Positionsmenge in den Lieferschein übernommen |
| Lineitem price |
Verkaufspreis |
wird als Preis der Lieferscheinposition übernommen |
Bitte beachte
Land, Postleitzahl und Ort der Rechnungsadresse werden bis auf weiteres aus den Shipping-Spalten übernommen. Bitte achte daher darauf, dass diese Spalten immer gefüllt sind.
Ein im Shop gewährter Rabatt (Discount Amount) wird bis auf weiteres nicht in den Lieferschein übernommen. Bitte erfasse ihn dort von Hand.
Prüflauf und Import
Der Import läuft in zwei Schritten. Nach der Auswahl der Datei erhältst du zunächst eine Liste mit den erkannten Hinweisen und Fehlern. Erst wenn du diese bestätigst, werden die Lieferscheine tatsächlich angelegt. Damit kannst du eine Importdatei gefahrlos prüfen, bevor du sie übernimmst.
Auswahl des Lagers von dem abgebucht werden sollte
Vor der Auswahl der Importdatei, muss angegeben werden, von welchem Lager der Importlauf abbuchen sollte. Das hat den Zweck, wenn du die Ware von verschiedenen (Außen-) Lagern an deine Kunden versendest, kannst du damit sehr elegant definieren von welchem dies eben durchgeführt werden sollte.
Import Datei
Wähle nun die Datei des Imports aus. Es wird dies in der Regel die orders_export.csv sein.
Fehlermeldung Versandkostenartikel nicht definiert

Bedeutet: Um die Versandkosten verrechnen zu können, wird ein Versandkostenartikel, der nicht lagerbewirtschaftet ist, benötigt. Hinterlege ihn im Modul System, unterer Reiter Parameter, im Mandantenparameter VERSANDKOSTENARTIKEL (Kategorie ALLGEMEIN). Ohne diesen Parameter wird der Import gar nicht erst gestartet.
Fehlermeldung Artikel xxxx nicht vorhanden

Bedeutet schlichtweg dass der aus dem Shop erhaltene Artikel in deinem Kieselstein ERP nicht angelegt ist.
Achte darauf, dass beide Artikelstämme synchron sind.
Fehlermeldung Lagerstand nicht ausreichend

INFO:
Bei chargengeführten Artikeln wird immer die älteste Charge zuerst abgebucht. Maßgeblich ist dabei der Zeitpunkt der Einbuchung in das ausgewählte Lager, nicht die Chargennummer.
Idealerweise organisierst du die Ware in deinem Lager so, dass immer nur eine Charge in dem Auslieferlager vorhanden ist. Erst wenn die gesamte Ware verbraucht ist, füllst du dieses nach. Somit ist eindeutig definiert, welche Chargen verwendet werden.