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
| Nr | Feld | Typ | Größe | Def. | Mand. | Anmerkung |
|---|---|---|---|---|---|---|
| 1 | ExtNUMCode | VC | 4 | M | Nummernkreis des Beleges (ERP System) | |
| 2 | ExtCONSNr | I | M | Belegnummer (fortlaufend) (ERP Referenz Nummer) | ||
| 3 | MARCode | VC | 4 | Marktcode | ||
| 4 | POSCode | VC | 4 | M | Kassennummer, für die der Beleg erstellt wird | |
| 5 | CUSCode | VC | 20 | Kundennummer | ||
| 6 | TotalAmount | F | M | Gesamtpreis (Brutto), inkl. aller Abzüge | ||
| 7 | TotalTax | F | 0 | M | Gesamtsteuern des Beleges | |
| 8 | TotalNetAmount | F | 0 | M | Gesamtpreis (Netto), inkl. aller Abzüge | |
| 9 | ConsNr | I | Nummer des Beleges nach dem Belegabschluss in der Kassa | |||
| 10 | ConNumCode | VC | 4 | Nummernkreis des Beleges nach dem Belegabschluss in der Kassa | ||
| 11 | ProcessState | C | 1 | 'N' | M | Verarbeitungskennzeichen |
| 12 | Salutation | VC | 10 | Anrede Rechnungsadresse | ||
| 13 | Title | VC | 20 | Titel Rechnungsadresse | ||
| 14 | FirstName | VC | 20 | Vorname Rechnungsadresse | ||
| 15 | LastName | VC | 40 | Nachname Rechnungsadresse | ||
| 16 | Street | VC | 40 | Adresse Rechnungsadresse | ||
| 17 | City | VC | 40 | Stadt Rechnungsadresse | ||
| 18 | Zip | VC | 20 | PLZ Rechnungsadresse | ||
| 19 | Country | VC | 20 | Land Rechnungsadresse | ||
| 20 | ISOCC | VC | 20 | ISO Ländercode Rechnungsadresse | ||
| 21 | CreateDate | DT | M | Datum/Uhrzeit der Erzeugung des Beleges in der Schnittstelle | ||
| 22 | UIDNr | VC | 40 | UID 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.
| Nr | Feld | Typ | Größe | Def. | Mand. | Anmerkung |
|---|---|---|---|---|---|---|
| 1 | ExtNUMCode | VC | 4 | M | Nummernkreis des Beleges (ERP System) | |
| 2 | ExtCONSNr | I | M | Belegnummer (ERP Referenz Nummer) | ||
| 3 | ExtLineNr | I | M | Positionsnummer innerhalb des Beleges | ||
| 4 | ARTCode | VC | 20 | M | Artikelcode | |
| 5 | Quantity | F | 15 | M | Menge der Position | |
| 6 | ArtDesc | VC | 40 | M | Kurzbezeichnung des Artikels für Kassen-Beleg | |
| 7 | PriceCond | F | 15 | M | Preis inkl. Abzüge (Brutto) | |
| 8 | TAXCode | VC | 4 | M | Steuercode (0, 1, 2, 3 für MwSt. 0%, MwSt. 10%, MwSt. 20%, MwSt. 13%) | |
| 9 | AddTxt | VC | 255 | Zusatztext(e) der Position, max. 48 Zeichen pro Zeile | ||
| 10 | IdNr | VC | 40 | Seriennummer | ||
| 11 | ProcessState | C | 1 | 'N' | M | Verarbeitungskennzeichen |
| 12 | ClerkCode | VC | 8 | Kassierer Code |
Tabelle VP_PAYJOUR_T
Bitte beachten Sie, dass es zu einem Beleg N Zahlungen geben kann (Splitzahlungen).
| Nr | Feld | Typ | Größe | Def. | Mand. | Anmerkung |
|---|---|---|---|---|---|---|
| 1 | ExtNUMCode | VC | 4 | M | Nummernkreis des Beleges (ERP System) | |
| 2 | ExtCONSNr | I | M | Belegnummer (ERP Referenz Nummer) | ||
| 3 | ExtLineNr | I | M | Positionsnummer innerhalb des Beleges | ||
| 4 | PMECode | VC | 4 | M | Code der Zahlungsart (muss mit ERP System Hersteller abgestimmt werden) | |
| 5 | PmeDescription | VC | 20 | Bezeichnung der Zahlungsart | ||
| 6 | Amount | F | 15 | M | Betrag der Zahlung | |
| 7 | TYP | VC | 10 | M | PAY = Zahlung, CHANGE = Wechselgeld, es muss mindestens PAY angegeben werden | |
| 8 | Memo | VC | 1024 | Allgemeine Daten zur Zahlung, z.B. BK/KK Texte | ||
| 9 | ProcessState | C | 1 | 'N' | M | Verarbeitungskennzeichen |