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

  1. Artikelnummer Lieferant (des Artikellieferanten, der zum Zeitpunkt der Abfrage gültig ist bzgl. des Gültig-Ab Datums)
  2. 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

  1. Maßgebend ist jener Artikellieferant, der zum Zeitpunkt der Abfrage gültig ist bzgl. des Gültig-Ab Datums
  2. 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

  1. Maßgebend ist jener Eintrag, der für die aktuell geprüfte Menge zum Zeitpunkt der Abfrage gültig ist
  2. Bleibt Menge und Preis unverändert, dann auch der Eintrag
  3. 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
  4. Neue Menge führt zu einem neuen Eintrag mit Gültig Ab = Abfragetag
  5. 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

Versenden der Bestellungen im XML Format

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:

  1. 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.

  2. 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.

  3. Von Ihnen wird die Auftragsbestätigung geprüft und gegebenenfalls korrigiert. Bitte achten Sie darauf, dass –> Positionensplitt ….

  4. Drucken Sie nun die Auftragsbestätigung, zumindest in die Vorschau, aus. Entspricht die AB Ihren Vorstellungen, so

  5. 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.
  6. Nach erfolgter Beschaffung / Produktion erfolgt die Lieferung der Ware, in der in Kieselstein ERP üblichen Art und Weise, Auftragsbezogener Lieferschein, Sicht Auftrag.

  7. 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???]

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.

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):

  1. 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.

  2. 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  
  3. Nun wird gegebenenfalls das entsprechende Angebot in Kieselstein ERP erstellt und an den Kunden übermittelt.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. Nun werden in PROfirst die Bauteile auf die Tafeln geschachtelt.

  10. Die geschachtelten Bauteile, mit der Information welche Tafel für welches Los (= Fertigungsauftrag) vorgesehen ist, wird wiederum von PROfirst exportiert.

  11. 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.

  12. 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.

  13. 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.

  14. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. Importieren Sie alle benötigten Artikel
  2. Legen Sie die Kundenaufträge an
  3. erzeugen Sie die entsprechenden Lose, z.B. mit der internen Bestellung
  4. Bestellen Sie die nötigen Rohartikel, z.B. Blechtafeln
  5. Buchen Sie die Lieferungen im Wareneingang zu.
    Achten Sie darauf, dass die Blechtafeln entsprechend Chargengeführt sind (es muss die Abfrage nach Chargennummern kommen)
  6. Exportieren Sie im Modul Los, unterer Reiter offene AGs oberer Reiter Produzieren.
    Beachten Sie die produzierbaren Lose nach Sortierung
  7. Schachteln Sie die gewünschten Aufträge im PROfirst
  8. Einlesen eines Schachtelplanes in Kieselstein ERP. Damit automatische Zuordnung der Schachtelplannummern zu den Losen.
  9. Schneiden der Schachtelpläne
  10. 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

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.