4.4. Beleg API
Die API für Belege beruht auf die Annahme dass eine externe Applikation, z.B. ein WebShop, seine eigene Datenhaltung hat. Belege sollen in die Sage 100 zur Verbuchung übertragen werden. Die Relation zwischen den externen und den Sage 100 internen Belegen muss auf dem externen System verwaltet werden.
Die API bietet die Möglichkeit initiale Einkaufs- und Verkaufsbelege zu erzeugen, zu lesen oder zu löschen.
Die Nutzung der Beleg-API erfordert, dass die “Sage 100 Oberfläche” für die “Belegerfassung Einkauf und Verkauf” im den Dialogeinstellungen des Administrators aktiviert ist. Die Nutzung der API iin Verbindung mit der Access-Oberfläche ist nicht möglich.
Ein Ändern oder eine Beleg-/Vorgangsübernahme ist nicht vorgesehen.
Besonderheiten Belegkopf
Nur Neuerstellung, Lesen, Löschen (sofern erlaubt) - Kein Ändern, keine Vorgangsübernahme
Es können nur Belege gelöscht werden, die über die API angelegt wurden.
Eines Belegsuche ist separat über die folgenden Endpunkte eptVKBelegSuche und eptEKBelegSuche möglich.
Es wird immer nur ein Beleg mit neuem Vorgang erstellt. Über die API können nicht mehrere Belege zum Vorgang angelegt werden (keine Beleg-/Vorgangsübernahme)
Zulässige Belegarten (siehe Tabelle unten)
Nur Initialbelegarten
Keine Schlussrechnung, kein Sammelbeleg, keine XRM-Belegarten, keine Rahmenvertragsart, Keine Projektbelegarten (Anzahlungsrechnungen, Projektschlussrechnung)
Achtung: Die Erstellung eines Lieferscheins erzeugt neuen Vorgang
XRM-Sonderfunktionalitäten nach Beleg speichern wird für die API nicht unterstützt.
Belegworkflow bei Neuanlage von Belegen wird nicht untersützt (Folgebelege, Wiedervorlagen, etc.)
Belegerfassung in Access nicht möglich. Beleganlage via API wird abgelehnt, falls entsprechendes Mandatenproperty gesetzt ist.
Berechtigung zum Anlegen von Belegen in der Sage 100 wird auch über die API geprüft.
D. h. keine Anlage, falls der Nutzer keine Berechtigung hat über die Sage 100 Belege anzulegen.
Besonderheiten Belegpositionen
Varianten
DIe Varianteneingabe (Feld AuspraegungsHandle) ist für die Belegposition optional. Falls das Feld nicht gefüllt ist, so wird bei der Beleganlage das Feld mit 0 gefüllt (Grundvariante bzw. Artikel ohne Variante) - sprich Artikel inkl. Variante können angegeben werden.Zubehörartikel
Die Hauptartikel können per API übertagen werden. Zubehör wir NICHT hinzugefügt (obligatorische Zubehörartikel) und es wird auch keine Auswahl angezeigt (optionale Zubehörartikel).Handelsstücklisten
Handelsstücklisten für Verkaufsbelege sind möglich. Achtung: Im Response sind die Unterpositionen nicht ersichtlich.
Handelsstücklisten für EK sind nicht möglich, da sie nicht aufgelöst werden können.Mengenberechnung
Nutzung von Artikel mit Mengenberechnung ist nicht möglich, da z. B. LxBxH eingegeben werden müssten. Immer wenn das Mengenfeld über die Sage 100 Oberfläche nicht änderbar ist, kann der Beleg nicht erstellt werden.Änderung Einzelpreis
Soll der Einzelpreis bei Beleganlage geändert werden, so ist das über die API nur möglich, wenn dies auch in Belegerfassung selbst möglich ist. In gewissen Konstellationen ist das Überschreiben des Einzelpreises bereits in der Belegerfassung selbst nicht möglich und in diesem Fall würde auch die API einen Fehler liefern.Manuelle Einkaufspreise (nur Einkaufbelege)
In den Mandanteneinstellungen gibt es die Auswahl "Manuelle Einkaufspreise". Bei der Auswahl "Auf Anfrage übernehmen" werden die Einkaufspreise nicht in den Artikelstamm übernommen.
Zulässige Belegarten
Wie oben beschrieben, können die folgende Belegarten aus dem Standardlieferumfang der Sage 100 über die API erzeugt werden.
Verkauf
Kennzeichen | Bezeichnung |
---|---|
VFR | Rechnung |
VLL | Lieferschein |
VPA | Angebot |
VPM | Musterbeleg |
VSD | Direktrechnung |
VSL | Sofortrechnung |
VSS | Sofortauftrag |
VVA | Auftragsbestätigung |
Die Belegarten können mit folgender Abfrage ermittelt werden:
SELECT Kennzeichen, Bezeichnung FROM KHKVKBelegarten
WHERE Kennzeichen NOT IN ('VLV') and IstInitialbeleg = -1
AND Kennzeichen NOT IN (SELECT Gruppe FROM KHKGruppen WHERE Typ=44000)
AND IstSammelbeleg=0 AND IstDialoganlage = -1
AND NOT (Projekt <> 0 OR OptionXRM <> 0 OR Kennzeichen = 'VRV')
Einkauf
Kennzeichen | Bezeichnung |
EBB | Bestellung |
ELL | Wareneingang |
EPA | Preisanfrage |
ERD | Direktrechnung |
ERS | Sofortrechnung |
Die Belegarten können mit folgender Abfrage ermittelt werden:
SELECT Kennzeichen, Bezeichnung FROM KHKEKBelegarten
WHERE Kennzeichen NOT IN (SELECT Gruppe FROM KHKGruppen WHERE Mandant=123 AND Typ=44100)
AND IstInitialbeleg = -1 AND IstSammelbeleg=0
AND IstDialoganlage = -1 AND Kennzeichen <> 'ERV'
“DIe” hat einen Typo