STIBS’ Biz-Kick: Touchkassen-Netz mit POSper 1.0

STIBS’ Biz-Kick: Touchkassen-Netz mit POSper 1.0

Tux kassiert

Hans Artmann veröffentlichte POSper 1.0 am 16. Juni 2010. Die Kassensoftware für Touchscreens eignet sich für Einzelhandel und Gastronomie. Lesen Sie, wie Sie Ihren Laden mit POSper und Linux auf Vordermann bringen.

Gute Kassensoftware kostet eine Menge Geld – falsch. POSper kostet nichts. Ähnlich dem OpenBravo POS hat das Programm seinen Ursprung im nicht mehr weiter entwickelten TinaPOS und ist unter der GPL lizensiert. Hans Artmann, Inhaber von Arcasys [1] in München, ist der Hauptentwickler und programmierte viele Anpassungen an deutsche Gegebenheiten und aktuelle Hardware. Trotzdem wird die Java-Software weltweit eingesetzt. Am Bildungsinstitut des Handels in Dresden unterrichten wir zum Beispiel mit POSper Verkäufer in Aus- und Weiterbildung an modernen Touchscreen-Kassensystemen.

Abbildung 1: Die Celeron-Prozessoren der ELO Touchscreen-Rechner mit 512 MB RAM und 40 GB Festplatte genügen für den Einsatz als purer Kassenrechner.

Abbildung 1: Die Celeron-Prozessoren der ELO Touchscreen-Rechner mit 512 MB RAM und 40 GB Festplatte genügen für den Einsatz als purer Kassenrechner.

Welche Hardware?

In diesem Bericht beschränken wir uns auf das Angebot von Jarltech [2], einem der größten Anbieter für Kassensysteme und Zubehör auf dem deutschen Markt. Da Jarltech nur als Großhändler agiert, finden Sie auf der Webseite lokale Vertriebspartner. Als Kassenrechner kommen dank der guten Touchscreen-Unterstützung für Linux die ELOTouch-Systeme in Frage. Zwar listet die Jarltech-Seite etwa den ELO 15A1 mit 861 Euro als empfohlenen Verkaufspreis, auf der Straße bekommen Sie die Einsteigergeräte aber ab rund 700 Euro. Als Bondrucker empfehlen wir den Metapace T1 für 239 Euro, ein einfacher Barcode-Handscanner schlägt mit 80 Euro zu Buche. Eine am Drucker angeschlossene Kassenschublade erhalten Sie ab 65 Euro und ein Kundendisplay Glancetron 8035, seit POSper Version 1.0 direkt unterstützt, kostet 100 Euro. Insgesamt zahlen sie für Hardware etwa 1200 Euro. Ein RFID-Lesegerät könnte noch hinzukommen, falls Sie den Einsatz von Kundenkarten planen. Den Promag PCR 300 für 70 Euro unterstützt POSper ebenfalls direkt.

Datenbank und Client

Richten Sie auf dem MySQL-Server eine neue Datenbank namens posperdb ein. Legen sie einen neuen Benutzer an und geben Sie ihm alle Rechte an der Datenbank von allen Clients Ihres lokalen Netzes aus. Wir gehen davon aus, dass Ihren Netzwerkinfratruktur mit DHCP und DNS sauber funktioniert. Installieren Sie zunächst die recht brustschwachen Kassenrechner mit einem leichtgewichtigen Linux, etwa Lubuntu, und spielen Sie das originale Java Runtime Environment auf. Jede Kasse braucht einen eindeutigen Hostnamen. Außer Tastatur und Maus benötigen Sie derzeit noch keine weitere Hardware. Installieren Sie auf einem Client POSper, indem Sie das von der Webseite [3] heruntergeladene gezippte Paket nach /home/posper auspacken. Nutzen Sie diesen Pfad, sparen Sie sich das Umschreiben der Startskripte. Kopieren Sie dann /home/posper/config und /home/posper/posper in Ihr Heimatverzeichnis. Starten Sie zuerst das Konfigurationsskript. Auf dem Register Datenbank wählen Sie den MySQL Connector Java aus dem POSper-Verzeichnis aus und tragen die Verbindungsdaten zum MySQL-Server ein. Speichern Sie diese Einstellungen und schließen Sie die Konfiguration.

Abbildung 2: Richten Sie bei MySQL unbedingt einen Extra-Benutzer für die Datenbank von POSper ein. Unser Root-Benutzer im Bild dient nur für Testzwecke.

Abbildung 2: Richten Sie bei MySQL unbedingt einen Extra-Benutzer für die Datenbank von POSper ein. Unser Root-Benutzer im Bild dient nur für Testzwecke.

Server feintunen

Starten sie dann POSper-Skript. Haben Sie alles richtig gemacht, meldet das Programm nun eine leere Datenbank und schlägt die Installation der Tabellenstruktur vor. Dazu müssen sie das Passwort setup eingeben. Die nachfolgenden Beispieldaten lassen Sie bei einem Produktivsystem weg. Hat alles funktioniert sehen Sie den Anmeldebildschirm von POSper vor sich. Keiner der eingerichteten Benutzer hat bisher ein Passwort und so erkunden Sie das System nach Belieben. Schalten sie aber zunächst POSper wieder aus. Mit zum Beispiel dem MySQL Administrator ändern Sie nachträglich den Typ des Feldes reference in der Tabelle posper_product auf int(20) oder double. Installieren sie den MySQL Query Browser und verbinden Sie sich zur Datenbank. Für die automatische Inkrementierung von Produkten und Kategorien sowie wichter, der einzelnen Zahlungsvorgänge, muss noch ein SQL-Skript laufen. Kopieren Sie den Quelltext von /home/posper/mysqlTriggers.sql in die Zwischenablage. Setzen Sie posperdb im Query Browser als Default-Schema. Wählen Sie aus dem Skript-Menü Create Stored Procedure, geben Sie einen Namen an und klicken Sie den Button Create Function. Ersetzen Sie den erzeugten Code durch den Inhalt der Zwischenablage und führen Sie die Funktion aus. Damit ist serverseitig alles vorbereitet.

Abbildung 3: Alte Kernel unerwünscht: Kernel bis 2.2.26 erkennen serielle USB-Geräte als /dev/usb/ttyUSB0. Die RXTX-Bibliothek kann damit leider nichts anfangen.

Abbildung 3: Alte Kernel unerwünscht: Kernel bis 2.2.26 erkennen serielle USB-Geräte als /dev/usb/ttyUSB0. Die RXTX-Bibliothek kann damit leider nichts anfangen.

Hardware und Treiber

Alle weiteren Kassen sollten nach Installation von POSper und Abarbeiten der Konfiguration ohne Probeme mit der eingerichteten Datenbank funktionieren. Kassenhardware ist etwas speziell und dünn gesät die Treiber für Linux. Der Barcode-Leser funktioniert erfreulicherweise sofort am USB-Anschluss. Er wird als Tastatur erkannt. Schwieriger wird schon der Touchscreen. ELO ist einer der wenigen Hersteller, die eigene Linux-Treiber anbieten. Jede moderne Distribution liefert auch den freien Treiber evtouch mit, so etwa Ubuntu. Die Hardwareerkennung sollte den Touchscreen als Zeigegerät erkennen. Finden Sie mit Hilfe von cat /proc/bus/input/devices das erkannte Gerät heraus. Ihr Ergebnis könnte so aussehen:

I: Bus=0003 Vendor=04e7 Product=0007 Version=0100
N: Name="Elo TouchSystems, Inc. Elo TouchSystems IntelliTouch 2500U"
P: Phys=usb-0000:00:02.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:02.0/usb2/2-4/2-4:1.0/input/input6
U: Uniq=070kodak
H: Handlers=mouse2 event6 js0
B: EV=1b
B: KEY=10000 0 0 0 0
B: ABS=10000000003
B: MSC=10

Sie benötigen die Event-Nummer in der Handlers= Zeile. Installieren Sie nun den Input-Treiber für den X-Server:

sudo apt-get install xserver-xorg-input-evtouch

Die /etc/X11/xorg.conf ergänzen Sie im oberen Bereich um folgende Zeilen:

Section "InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "device" "/dev/input/event6"
# Option "device" "/dev/input/touchscreen"
Option "MinX" "0"
Option "MinY" "0"
Option "MaxX" "4096"
Option "MaxY" "4096"
Option "MoveLimit" "1"
Option "sendCoreEvents" "On"
Option "SwapY" "On"
Option "SwapX" "On"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
screen "Default Screen"
InputDevice "touchscreen" "SendCoreEvents"
EndSection

Nach Neustart des X-Servers sollte Ihr Finger die Mausbewegung auslösen. Mit Anpassungen an MaxX, MaxY, SwapX und SwapY konfigurieren Sie Auflösung und Bewegung in die richtige Richtung.

Kundendisplay an USB

Weitere Hardware wie Kundendisplays schließen Sie über serielle oder USB-Schnittstellen an. Für diesen Fall benötigen Sie eine zusätzliche RXTX-Bibliothek von http://rxtx.qbang.org. Laden Sie die stabile Version herunter, entpacken Sie die ZIP-Datei und kopieren Sie librxtxSerial.so in den POSper-Programmordner. Achten Sie darauf, dass Sie mit eventuell vorhandenen DIP-Schaltern das Display auf den ESC POS Modus einstellen. Zwingen Sie den Kernel beim Anschluss der Geräts über USB, das Modul usbserial zu laden. Es emuliert die serielle Kommunikation über die USB-Schnittstelle. Finden Sie mit Hilfe von Kommandos wie lspci, lsusb und weiteren Hardware-Erkennungstools Ihrer Distribution heraus, an welcher seriellen Schnittstelle das Kundendisplay klemmt.

Der Gerätename hat die Form /dev/ttySX, wobei X für die Nummer des Geräts steht, etwa /dev/ttyS3. Wechseln Sie dann in POSper über die Menü-Taste in die Einstellungen. Auf dem Register Geräte wählen Sie für das Kundendisplay zum Beispiel als Treiber 8035 für Jarltech/Glancetron 8035, Kommunikation über rxtx und den passenden Anschlussnamen aus. Falls er nicht vorhanden ist, tragen Sie ihn von Hand ein. Nach einem POSper-Neustart zeigt das Display den voreingestellten Text an. Für den Bondrucker verfahren Sie ähnlich. Ein eventuelles Drucksystem umgehen Sie, da die Treiber in POSper integriert sind. Für den Metapace T1/T2 stellen Sie bei Drucker den Treiber “epson”, Modus “rxtx” und wieder die passende Schnittstelle /dev/ttySX ein. Die Kassenlade schließen Sie per Westernstecker am Bondrucker an; mit jedem Bondruck öffnet dann die Lade. Konfigurieren Sie alle POSper-Kassen in Ihrem Netz mit der Hardware und der Datenbank. Der Dialog für das Anlegen einer neuen Datenbank darf nicht mehr auftreten. In dem Fall stimmt Ihre Datenbank-Konfiguration nicht.

Abbildung 4: Die ELO-Rechner verstecken unter einer Abdeckung an der Gehäuseunterseite jede Menge Schnittstellen. PS/2-Anschlüsse für Tastatur und Maus fehlen aber.

Abbildung 4: Die ELO-Rechner verstecken unter einer Abdeckung an der Gehäuseunterseite jede Menge Schnittstellen. PS/2-Anschlüsse für Tastatur und Maus fehlen aber.

Benutzerverwaltung und Kaufmännisches

Setzen Sie sich dann an eine der Maschinen und melden Sie sich als Admin an. Nächster Schritt sollte das Einrichten von Benutzern und Vergabe von Passworten sein. Sie finden diese im Menü unter Verwaltung | Benutzer und Vorlagen für Benutzerrechte unter Verwaltung | Rechte. Vorbereitet existieren bereits Admin, Manager, Employee (Angestellter) und Guest (Aushilfe). Die Änderung der Bezeichnungen bereitet keine Schwierigkeiten. Dem Benutzer weisen Sie beim Anlegen eine Rolle und dadurch die für die Rolle vorgesehenen Rechte zu. Legen Sie danach Steuersätze an und, sollten Sie mehrere besitzen, auch Warenlager. Alle Schalter stecken im Verwaltungsmenü. Führen Sie ein Restaurant, verwalten Sie hier auch mehrere Etagen und legen einen Tischplan mit Nummerierung an. Nehmen Sie Bestellungen entgegen, wenn etwas nicht am Lager ist, empfehlen wir das Anlegen von Kundengruppen. Damit sind Sie auch in der Lage, Stammkunden von normalen zu unterscheiden. Erfassten Kunden können Sie Sonderpreise einräumen. In den Artikel-Stammdaten richten Sie Warengruppen ein (Kategorien), etwa Lebensmittel oder Kosmetik, dann die einzelnen Artikel selbst (Button Artikel bearbeiten). Im unteren Bereich dieses Dialogs legen Sie neue Artikel an. Vergeben Sie den Namen, scannen Sie dann den Barcode in das zugehörige Feld. Legen Sie den Verkaufspreis fest und wählen Sie Steuersatz und Hauptkategorie. Ein vorbereitetes Produktbild ordnen Sie per Dateiauswahl ebenfalls auf dem Register “Allgemein” zu. Weitere Kategorien und Lagerbestand erwartet POSper nicht zwingend. Im Eigenschaftsregister legen Sie noch fest, ob das Produkt per Schnellwahltaste erreichbar ist (Checkbox Im Katalog) und ob es gewogen werden muss – der Preis bezieht sich dann auf die Preisbasis in Kilogramm. Alternativ zur Erfassung der Produkte per Hand bietet sich natürlich ein Import vorhandener Daten in MySQL an. Den Ablauf des Imports für unsere Ausbildungskassen am BdH Dresden aus dem Büro 3+ WWS finden sie auf dieser Webseite [4] in englischer Sprache.

Individuell per XML

Fast alle Ausgaben von POSper legen Sie mit Hilfe von Vorlagen fest. Diese sind in XML geschrieben und wer ein wenig Englisch beherrscht, kommt problemlos damit zurecht. Wechseln Sie im Verwaltungsmenü auf den Button Vorlagen. Arbeiten Sie sich dann Schritt für Schritt durch die einzelnen Punkte der linken Spalte. Da der Editor in POSper nicht sonderlich komfortabel ist, empfehlen wir Ihnen, den Text einem besseren Editor, etwa Gedit, zu bearbeiten. Ein Beispiel: In POSper stehen Rabattknöpfe für 10%, 20% und 50% Nachlass bereit. Diese Rabatte sind einstellbar. Wechseln Sie in Verwaltung | Vorlagen. Wählen Sie den Eintrag Ticket.Modifiers und ändern Sie die drei Zeilen passend nach Ihren Rabattvorstellungen.

<modifier id="0" name="Discount 10%" display="10%" mask="1" function="discount(10)" exclude="22"/>
<modifier id="1" name="Discount 20%" display="20%" mask="2" function="discount(20)" exclude="21"/>
<modifier id="2" name="Discount 50%" display="50%" mask="4" function="discount(50)" exclude="19"/>

Schalten Sie dann zurück in den Kassenmodus, sind die Rabattknöpfe richtig beschriftet. Vorlagen dürfen Sie auch selbst anlegen. POSper unterstützt etwa Logos auf Kassenbons. Halten Sie Ihr Firmenlogo als PNG-Datei mit einer maximalen Breite von 256 Pixeln bereit. Klicken Sie oben auf den Button mit dem gelben Sternchen für eine neue Vorlage, füllen Sie den Namen der Vorlage mit Printer.Ticket.Logo aus und wählen Sie Bild aus der Klappliste. Am rechten Rand erscheint der Button zur Dateiauswahl. Über diesen laden Sie die PNG-Datei mit dem Logo in die Datenbank. Zum Speichern nutzen Sie den Button mit dem Disketten-Symbol. POSper speichert alle Bilder in MySQL-Blobs, nicht im Dateisystem.

Abbildung 5: Das Register "Bestand" erlaubt Ihnen detaillierte Lagerverwaltung unter anderem mit einer Mindestmenge, die unbedingt im Lager sein muss, Bestellvorschlägen und Verkaufsstatistiken pro Artikel.

Abbildung 5: Das Register “Bestand” erlaubt Ihnen detaillierte Lagerverwaltung unter anderem mit einer Mindestmenge, die unbedingt im Lager sein muss, Bestellvorschlägen und Verkaufsstatistiken pro Artikel.

Kasse machen

Nach Abschluss aller Vorarbeiten dürfen Sie kassieren. Das Menü “Verkauf” lädt nach dem Anmelden automatisch. Unten im Fenster finden Sie Schalter für Kategorien und Artikel, die in der Datenbank mit Haken bei “Im Katalog” gekennzeichnet wurden. Oben steht der Bereich mit den Bonzeilen, rechts eine Zifferntastatur und verschiedene Funktionstasten. Artikel mit Barcode scannen Sie direkt ein. Nachträgliche Änderungen der Anzahl für einen Artikel machen Sie mit den Tasten Plus und Minus oder Sie geben die gewünschte Anzahl mit zum Beispiel “*” “4” “+” ein, in diesem Beispiel für vier Artikel. Freie Preiseingaben sind erlaubt: Betrag eintippen, dann “+”, optional auch mit dem Namen der Kategorie als Beschreibung in der Bonzeile (Kategorietaste drücken anstelle von “+”). Vergessen Sie nicht, unter dem Zahlenfeld den richtigen Steuersatz des freien Artikels auszuwählen. Der Button mit dem schwarzen Kreuzchen löscht die eben erfasste Position. Den Abschluss des Kassiervorgangs löst die “=”-Taste aus.

Der Dialog zur Eingabe der Zahlung öffnet sich. Über Register am linken Rand wählen Sie die Zahlungsart aus Bar, Scheck, Anschreiben (Notiz), Wertbon, Magnetkarte und Kundenkarte sowie der Option Gratis. Die Summen für die einzelnen Bezahlarten weist POSper beim Kassenabschluss getrennt aus. Kreditkarten- und EC-Zahlungen über deutsche Provider sind derzeit nur offline möglich, das heißt in POSper als Kartenzahlung erfasst und über einen externen Kartenleser abgewickelt. Dafür kann POSper eigene Kundenkarten, zum Beispiel Barcode-Karten, Magnetkarten oder mit RFID, verarbeiten und damit zum Beispiel automatisch einen Stammkundenrabatt gewähren. Kundenkarten laden Sie in der Kundenverwaltung auf und POSper bucht vom Betrag in der Datenbank bei Vorlage der Karte ab ähnlich einer einer Prepaid-Telefonkarte.

Reklamationen, Wechselgeld, Entnahmen

Oft genug kommt es vor, dass ein Kunde sein Geld zurück bekommt. POSper erlaubt, Bons nachträglich zu bearbeiten. Manager oder Admin dürfen zurückzahlen. Der Benutzer meldet sich über den Login-Menüpunkt gleichzeitig zum Kassierer an, wechselt zu Bon bearbeiten und gibt rechts die laufende Nummer des vorgelegten Kassenbons gefolgt vom grünen Haken ein. Bearbeiten am oberen Rand ändert Positionen, Zurückzahlen erstattet die einzelne Position oder den Gesamtbetrag. Die Lagerbestände korrigiert POSper dabei automatisch. In jeder Kasse liegt ein gewisser Grundbetrag an Wechselgeld. In den Programmeinstellungen auf dem Register Optionen legen Sie einen fixen Betrag für den Wechselgeldbestand fest. Dann schlägt der Kassensturzdialog die passende Geldentnahme vor. Tragen Sie Null ein, legen Sie die Entnahme selbst fest und arbeiten mit schwankenden Wechselgeldbeständen. Das ist vorteilhaft, weil so meist mehr Kleingeld in der Kasse verbleibt.

POsper berücksichtigt das vorhandene Wechselgeld in jedem Fall richtig. Ein- und Auszahlungen erfassen Sie im Menüpunkt “Zahlungen”. Möglich sind Barein- und -auszahlung sowie die Tagesbarentnahme. Weiterhin ist der Kassenabschluss wichtig, auch Z-Bon genannt. Wählen Sie diesen Menüpunkt, öffnet optional der Dialog “Kassensturz”. Hier geben Sie die Anzahl der Scheine und Münzen ein, die sich zum aktuellen Zeitpunkt in der Kasse befinden. Drücken Sie den “Summe”-Button, wenn alle Geldmengen erfasst wurden. Zählen Sie dann die Barentnahme und drücken Sie “Fertig”. Die Zahlen überträgt POSper in das Hauptfenster. Dort schließen Sie die Kasse mit dem “Abschließen”-Schalter ab. Ist eine genaue Waage angeschlossen, vereinfacht das die Münzzählung: Setzen Sie einen Becher auf Tara, geben Sie zum Beispiel alle Ein-Euro-Münzen aus der Kasse in den Becher und tippen Sie das Ein-Euro-Feld an. Automatisch erscheint im Feld die Anzahl der Münzen. POSper unterstützt Waagen von Kern & Sohn[5].

Abbildung 6: Für die EC-Cash-Zahlung verpflichten Sie einen externen Dienstleister, berappen die Karte über sein System und geben den Betrag unter Scheck in POSper ein.

Abbildung 6: Für die EC-Cash-Zahlung verpflichten Sie einen externen Dienstleister, berappen die Karte über sein System und geben den Betrag unter Scheck in POSper ein.

Umfangreiche Profisoftware

Folgendes kleines Szenario verdeutlicht, wie leistungsfähig POSper ist. Ein Unternehmen hat drei Filialen, jede per VPN an einen dedizierten Server mit MySQL-Datenbank verbunden. Der steht im Rechenzentrum oder in der Verwaltung (Backups beachten!). In jeder Filiale arbeiten drei Kassen mit POSper, in der Hauptstelle die Hauptkasse. POSper besitzt übrigens ein webbasiertes Backend [6],[7], das ausschließlich von Hans Artmann gepflegt wird. Es läuft sicher unter Ruby 1.8.7 und Rails 2.2.2. Lagerverwaltung, Bestellungen, Finanzen, Dienstpläne und Arbeitszeiterfassung lassen sich damit komfortabel erledigen. Ein vergleichbares System, und dabei haben wir hier lange nicht alle Funktionen von POSper beschrieben, kostet Sie locker einige Tausender an Lizenzgebühren, wenn Sie mit kommerzieller Software arbeiten. POSper dagegen ist freie Software. Nur Hardware, Installation, Service und Schulung der Mitarbeiter müssen sie einplanen.

Infos

[1] Arcasys Webseite: http://www.arcasys.de

[2] Kassenhardware von Jarltech: http://www.jarltech.de

[3] POSper Projektwebseite: http://sourceforge.net/projects/posper

[4] Datenübernahme aus DBASE (englisch): http://linuxbizbase.org/page.php?7

[5] Waagen, die mit POSper zusammenarbeiten: http://www.kern-sohn.com/index.html

[6] POSper Backoffice-Demo: http://arcasys.dyndns.org

[7] Backoffice zum Checkout per SVN: http://sourceforge.net/projects/posperbackofc

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben