Zum Hauptinhalt springen

ViPOS ODBC Online SQL Receipt Interface (Registrierkassenpflicht 2015)

Allgemeines

Dieses Dokument beschreibt die Tabellen und das Datenaustauschverfahren für Auftragsbearbeitungs- bzw. ERP Systeme, die dem ViPOS Kassensystem einen Beleg zum Kassieren übergeben. Damit kann das ViPOS Kassensystem den Beleg gemäß den Anforderungen der Registrierkassenpflicht 2015 abschließen und ab dem 1.1.2017 einen signierten Beleg erstellen.

Der Inhalt dieses Dokumentes ist streng vertraulich zu behandeln, eine Weitergabe, gesamt oder auszugsweise, ist nur mit ausdrücklicher, schriftlicher Zustimmung von SynCore Systems gestattet.

Technische Voraussetzungen

Der Zugriff auf die SQL-Datenbank des ERP Systems erfolgt über ODBC. Für den Zugriff wird ein ODBC - Einträge (System DSN) mit dem Namen VP30REC eingerichtet.

Der ViPOS Kassensystem ist das pollende System, d.h. es wird alle 3 Sekunden in einer Schnittstellendatei nachgesehen, ob ein neuer Verkaufsbeleg verfügbar ist. Wird gerade ein Beleg bearbeitet, so wird nicht weiter in den Schnittstellentabellen geprüft. Die Belege, die in der Schnittstellentabelle enthalten sind, werden nach chronologisch nach dem Erstelldatum/Uhrzeit abgearbeitet.

Das Polling wird von einem Programm ausgeführt, welches als geplanter Task aufgerufen wird, die Pollingintervalle sind über eine INI Datei der Schnittstelle steuerbar.

Prozessgrundlagen

Grundsätzlicher Schnittstellenaufbau

Der ERP System Hersteller integriert die in einer Schnittstellenspezifikation vorgesehen Tabellen und Views in SQL-Serverdatenbank des ERP Systems und sorgt dafür, dass die Tabellen für einen gemeinsam definierten Benutzer „VIPOS“ les- und beschreibbar sind.

Namenskonvention Tabellen/Views

Die Schnittstellentabellen haben den Prefix „VP_“ und den Postfix „_T“ (bei Tabellen) bzw. „_V“ bei Views. Tabellen/Views werden immer in Großbuchstaben angegeben.

Z.B. Belegkopf: VP_DOCUMENTEXT_T

Da viele SQL-Datenbanken editierbare Views beherrschen, können alle Schnittstellenstrukturen als Views angelegt werden. Sollten die Namenskonventionen nicht eingehalten werden, so bietet die Standard ODBC SQL Receipt Schnittstelle die Möglichkeit, die Namen der Tabellen/Views und deren Felder über eine Schnittstellen-Ini Datei zu mappen. Die Feldinhalte müssen jedoch erhalten bleiben.

Primärschlüssel

Die Primärschlüssel (fett markierte Felder) müssen eingehalten werden.

Verarbeitungskennzeichen (ProcessState)

Folgende Verarbeitungskennzeichen sind für die Schnittstelle möglich:
• Q = Quellsystem erzeugt Datensatz gerade
• N = Neuer Datensatz
• R = Datensatz in Arbeit, nicht abgeschlossen
• O = Datensatz erfolgreich verarbeitet
• E = Datensatz wurde als fehlerhaft erkannt und markiert

Über einen Parameter im INI-File des Schnittstellenprogramms kann definiert werden, ob „E“/“R“ Datensätze im nächsten Schnittstellenzyklus erneut gelesen oder diese zur Fehlerbehandlung ignoriert werden.

Der Name des Verarbeitungskennzeichens in jeder Tabelle ist „ProcessState“.

Grundsätzlich werden alle Datensätze gelesen, die als Verarbeitungskennzeichen 'N' haben. Es ist daher notwendig, dass in den Tabellen das Verarbeitungskennzeichen indiziert wird.

Belegschnittelle (Offline)

Allgemeines

In der Belegschnittstelle werden folgende Informationen verarbeitet:
• Belegkopf (Document): Kopfinformationen zu allen Belegen (Verkauf, Transaktionen)
• Belegpositionen (DocJour): Postionen zu einem Belegkopf (n:1)

Tabelle VP_DOCUMENTEXT_T

NrFeldTypGrößeDef.Mand.Anmerkung
1ExtNUMCodeVC4MNummernkreis des Beleges (ERP System)
2ExtCONSNrIMBelegnummer (fortlaufend) (ERP Referenz Nummer)
3MARCodeVC4Marktcode
4POSCodeVC4MKassennummer, für die der Beleg erstellt wird
5CUSCodeVC20Kundennummer
6TotalAmountFMGesamtpreis (Brutto), inkl. aller Abzüge
7TotalTaxF0MGesamtsteuern des Beleges
8TotalNetAmountF0MGesamtpreis (Netto), inkl. aller Abzüge
9ConsNrINummer des Beleges nach dem Belegabschluss in der Kassa
10ConNumCodeVC4Nummernkreis des Beleges nach dem Belegabschluss in der Kassa
11ProcessStateC1'N'MVerarbeitungskennzeichen
12SalutationVC10Anrede Rechnungsadresse
13TitleVC20Titel Rechnungsadresse
14FirstNameVC20Vorname Rechnungsadresse
15LastNameVC40Nachname Rechnungsadresse
16StreetVC40Adresse Rechnungsadresse
17CityVC40Stadt Rechnungsadresse
18ZipVC20PLZ Rechnungsadresse
19CountryVC20Land Rechnungsadresse
20ISOCCVC20ISO Ländercode Rechnungsadresse
21CreateDateDTMDatum/Uhrzeit der Erzeugung des Beleges in der Schnittstelle
22UIDNrVC40UID Nummer

Tabelle VP_DOCJOUREXT_T

Bitte beachten Sie bei der Erstellung der Belegzeilen, dass der zugeordnete Belegkopf erst nach der vollständigen Anlage aller Belegzeilen den Processstate „N“ erhält.

NrFeldTypGrößeDef.Mand.Anmerkung
1ExtNUMCodeVC4MNummernkreis des Beleges (ERP System)
2ExtCONSNrIMBelegnummer (ERP Referenz Nummer)
3ExtLineNrIMPositionsnummer innerhalb des Beleges
4ARTCodeVC20MArtikelcode
5QuantityF15MMenge der Position
6ArtDescVC40MKurzbezeichnung des Artikels für Kassen-Beleg
7PriceCondF15MPreis inkl. Abzüge (Brutto)
8TAXCodeVC4MSteuercode (0, 1, 2, 3 für MwSt. 0%, MwSt. 10%, MwSt. 20%, MwSt. 13%)
9AddTxtVC255Zusatztext(e) der Position, max. 48 Zeichen pro Zeile
10IdNrVC40Seriennummer
11ProcessStateC1'N'MVerarbeitungskennzeichen
12ClerkCodeVC8Kassierer Code

Tabelle VP_PAYJOUR_T

Bitte beachten Sie, dass es zu einem Beleg N Zahlungen geben kann (Splitzahlungen).

NrFeldTypGrößeDef.Mand.Anmerkung
1ExtNUMCodeVC4MNummernkreis des Beleges (ERP System)
2ExtCONSNrIMBelegnummer (ERP Referenz Nummer)
3ExtLineNrIMPositionsnummer innerhalb des Beleges
4PMECodeVC4MCode der Zahlungsart (muss mit ERP System Hersteller abgestimmt werden)
5PmeDescriptionVC20Bezeichnung der Zahlungsart
6AmountF15MBetrag der Zahlung
7TYPVC10MPAY = Zahlung, CHANGE = Wechselgeld, es muss mindestens PAY angegeben werden
8MemoVC1024Allgemeine Daten zur Zahlung, z.B. BK/KK Texte
9ProcessStateC1'N'MVerarbeitungskennzeichen