Verkaufs- Kassensoftware in python

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Leon
User
Beiträge: 9
Registriert: Dienstag 10. Juni 2008, 22:06

Hi,
nach einem Telefonat nun hier das Ergebnis für die Nachwelt: ich kaufe mir gleich das Developer-Kit. Falls es sich lohnt, dann werden wir zusammen die Software, die wir zum Ansteuern verwenden bei github veröffentlichen.
Leon
User
Beiträge: 9
Registriert: Dienstag 10. Juni 2008, 22:06

und hier der Link zu github:
https://github.com/bwurst/python-tse
ddlab
User
Beiträge: 3
Registriert: Donnerstag 26. Oktober 2017, 18:43

Hallo in die Runde.

Ich bin komplett neu hier. Nach längerer Krankheit bin ich einige Jahre raus aus'm coden, nun fange ich grad wieder an, mich da reinzuarbeiten. Habe also mit Sicherheit einige Fragen, die Augenrollen oder andere Unverständnisreaktionen hervorrufen könnten. Ich bitte das zu entschuldigen.
Warum bin ich hier ? Was ist mein background ?

In den 2000ern begann ich mich mit Webseiten zu befassen, nachdem ich einige Zeit ein kleines Internetcafé betrieben hab.
Ich war da nicht sonderlich aktiv, die Aufträge und der output waren eher sehr überschaubar.
Durch einen Job in einer Internetagentur kam ich dann erst richtig zum Programmieren, GUI, DB, MySQL, JS, JQuery etc... für die kollaborative Zusammenarbeit mehrerer Büros in der Aquise mit CRM etc.

2013 sollte ich für einen Bekleidungsladen einen Online-Shop aufsetzen. Es stellte sich schnell heraus, daß die vorher erst mal von Ihrer Excel-Kassen-Lösung weg müssen. Und so startete ich die Entwicklung eines PHP-basierten Tabletkassensystems (iPad + lokaler Apple-Server, mit angeschlossenen Druckern)
Zwei Jahre später 2015/16 sollte der Laden eine zweite Filiale in einer anderen Stadt eröffnen. Also PHP und MySQL ins Internet gepackt, etwas umgearbeitet, und somit filialfähig geworden. Die lokalen Rechner sind parallel zu der Bedienung übers iPad weiterhin notwendig, für die Drucker (von sowas wie HTML5-printing oder WLAN hatte ich noch keinen Plan). Die Apple-Server habe ich dann noch durch Raspberrys ersetzt, die sich von nun an mit python um die periphere Hardware und um Druckaufträge kümmern (per Cross Domain AJAX). Damit wurde das Kassensystem extrem schnell, weil zeitaufwändige Prozesse ausgelagert wurden (Bon-Druck auf EPSON, Strichcode-Klebe-Labels auf DYMO)
Soweit der Stand seit Jahren...

Jetzt kommt TSE ins Spiel.
Ich hatte dem Kunden quasi meine Zusammenarbeit gekündigt, aufgrund meiner Krankheit konnte ich mir nicht vorstellen, mein Kassensystem auf dieses next level zu heben.
Nachdem dieser sich aber verschiedene andere Kassensystem angesehen hat, und auch verschiedene Vertreter da hatte, hat er mir signalisiert, keines der marktüblichen iPad-Systeme biete ihm die Möglichkeiten und die Flexibilität, die mein Kassensystem ihm geboten hat. Ob ich nicht doch weitermachen könnte.
Hmm, na gut. Nach dem eingängigen Studium der Gesetze stellt sich also heraus, daß es für Computer-Kassen, die in einem bestimmten Zeitraum angeschafft worden sind, aber nicht direkt mit TSE nachrüstbar sind, eine Nachfrist bis Ende 2022 gibt.
So. Jetzt bin ich hier. Und es gibt diese Bibliothek https://github.com/bwurst/python-tse die mich in diesem Zusammenhang sehr interessiert.

Bevor ich mich ans Ausprobieren mache folgende Fragen:
- Muß auf einem LINUX / python System nicht noch irgendein Treiber installiert werden, oder doch ?
- Ist die Funktion auf SWISSBIT beschränkt, oder geht auch z.b. Diebold Nixdorf ?
- Wie lässt sich ein Nutzung für mehrere Client-IDs realisieren (mehrere POS in einer Filiale) ?

Freue mich auf Eure Antworten, Grüße von ddlab
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Vorweg: ich kenne mich mit TSE an sich nicht aus.

Was die Bibliothek & deine Frage angeht:

1) ja, sagt er ja: "Voraussetzung für die Nutzung dieses Moduls ist eine binäre Bibliothek, die mit der TSE kommuniziert. Die Weitergabe-Auflagen dieser Bibliothek sind restriktiv, daher ist diese Bibliothek nicht hier im Repository enthalten. Käufer der Entwickler-Version erhalten diese Daten vom Händler."

Diese Bibliothek scheint libWormAPI.so zu sein. Die muss also bezogen werden. Ob es die auch fuer den PI gibt (ARM!) statt "nur" fuer x86 musst du auch beim Hersteller erfragen.

2) Ich behaupte mal nein. Ich kann mir nicht vorstellen, dass Spezifikation auf der Ebene eines ABI stattgefunden hat, sondern das System hat Anforderungen, fuer die es zertifiziert ist. Wie die dann umgesetzt werden, entscheidet der Hersteller.

3) Da steht 'Das TSE-Modul kann mehrere Client-IDs verwalten und parallel betreiben, das ist in dieser Bibliothek aber nicht implementiert'. Also wohl nicht.
bwurst
User
Beiträge: 6
Registriert: Sonntag 22. Dezember 2019, 06:44

Ich habe mit Leon zusammen diese Bibliothek erstellt. Ich betreibe eine selbst erstellte Kassen-Software, die nur bei mir im Betrieb läuft (also kein Auftrags- oder Lizenzprodukt), bei Leon ist es soweit ich es verstanden hat ebenso. Wir haben zu Beginn des letzten Jahres in Kontakt gestanden, mittlerweile eigentlich nicht mehr. Die TSE habe ich jetzt einige Monate mit genau diesem Code in Benutzung, eine Kassen- oder Betriebsprüfung damit gab es bisher nicht. Die Export-Funktionen nutze ich selbst bisher gar nicht, die sind daher nicht praxiserprobt.

@__deets__ hat deine Fragen bereits korrekt beantwortet, Danke dafür!

Die binäre Bibliothek ist Teil der Zertifizierung. Es gab im Swissbit-Forum auch Anwender, die direkt auf die SD-Card schreiben. Technisch spricht da scheinbar nichts dagegen, aber damit entspricht das Gesamtprodukt nicht der Zertifizierung. Ich habe diesen Ansatz daher nur als Notlösung gesehen und war froh, dass ich es mit der Bibliothek hinbekommen habe. Ich gehe davon aus, dass diese Bibliothek Swissbit-spezifisch ist, auch wenn ich keine andere TSE kenne.

Da die Entwicklung meinem Eigenbedarf dient und mir niemand dafür irgendwelches Gehalt zahlt (und ich auch kein professioneller Entwickler bin), bildet mein Code nur das ab, was ich benötige. Ich bin natürlich gerne bereit, weitere Entwicklung in Form von Pull-Requests zu akzeptieren, auch einen fork auf github zu machen ist natürlich jederzeit möglich.
ddlab
User
Beiträge: 3
Registriert: Donnerstag 26. Oktober 2017, 18:43

@bwurst und @__deets__

Danke für Eure Erläuterungen, die ich soweit verstehe.
Bwurst, ich werde das mal mit dem AG besprechen, inwieweit er mit open source Entwicklungen als Auftrag klarkäme. Ich meine damit vor allem die Frage der Zertifizierung...
Ich selbst würde damit klarkommen, diesen part der TSE-Einbindung mittels eines völlig autarken RaspPi komplett auszulagern, und eben ggf. in Auftrag zu geben. Dann kann ich mich besser auf das eigentliche Kassensystem konzentrieren, was ich auch völlig überarbeiten möchte, immerhin ist es auf dem Stand von 2014, von ein paar Nachbesserungen abgesehen. Vor allem neue periphere Hardware einbinden.
Ggf. sende ich Dir später eine PM
Liebe Grüße
bwurst
User
Beiträge: 6
Registriert: Sonntag 22. Dezember 2019, 06:44

Damit wir uns hier nicht falsch verstehen: Ich stehe als Auftragsentwickler nicht zur Verfügung. :)
ddlab
User
Beiträge: 3
Registriert: Donnerstag 26. Oktober 2017, 18:43

bwurst hat geschrieben: Samstag 15. Mai 2021, 20:58 Damit wir uns hier nicht falsch verstehen...
Ooops, hab ich offenbar, sorry
Antworten