Een kassasysteem bouwen voor Atmosfera

De uitdaging

Als kleine ondernemer met een winkel moet je elke euro omdraaien en afwegen. Dit geldt vooral voor  investeringen die op het oog niets met het verkopen van een product te maken hebben zoals een kassasysteem. En al zeker niet met ook nog iets als voorraadsysteem erbij. Deze kosten lopen al gauw in de duizenden euro’s.

De CBD- en dampwinkel van Atmosfera liep een paar jaar geleden tegen deze uitdaging aan. De huidige kassa was een simpel maar doeltreffend systeem waarin je prijzen en prijsgroep kon ingeven en zo kon afrekenen met de klant. Dit systeem was prima om mee te starten want het aantal producten en de diversiteit van de producten was nog relatief klein.

Na een paar jaar met dit systeem gedraaid te hebben, bleken de eerste problemen zich aan te doen. Door de assortiment uitbreidingen en het aantal verschillende prijsgroepen bleek het maken van een kassabon steeds meer bewerkelijk te worden. Je moest de prijzen van de producten weten of in welke prijsgroep ze zaten om zo de juiste bedragen aan te slaan. Laat staat het maken van de dagopbrengst werd een tijdrovende bezigheid.

Het gevolg was dat de irritaties over de kassa steeds meer toenamen maar het investeren in een dure kassa bleek gezien de situatie nog niet aan de orde. Als vaste klant en vriend van de eigenaar heb ik voorgesteld om samen een kassasysteem te gaan ontwikkelen. Voor mij initieel als pure uitdaging en voor haar een goedkope oplossing voor een nieuwe kassa.

Screenshot van het kassasystem

Het platform: Magento

Omdat de noodzaak voor een nieuw kassasysteem groot was heb ik gekeken naar welke open source platformen er zijn om dit systeem so snel mogelijk te realiseren. Als snel bleek dat Magento een prima startpunt is om het kassasysteem op te bouwen. Magento is immers een webshop platform waarbij zaken als voorraad beheer en order verwerking al in zit. Kijk als voorbeeld maar eens op onze webshop technologie pagina.

De kassa

Helaas is de frontend van Magento niet geschikt om een kassasysteem op de bouwen want deze is en traag en gebaseerd op bezoekers van een webshop. Veel van de geboden functionaliteit als een winkelwagen of een checkout pagina zijn niet echt nodig.

Bovendien moet het snel laden. een product toe te voegen aan de kassa moet snel en met zo min mogelijk handelingen. Kortom, de webfrontend was out, en heb ik besloten omwille van de performance de frontend met jQuery en Handlebars te ontwikkelen en geen verdere ingewikkelde API of frameworks (ReactJS, Angular) met te veel nodeloze balans te gebruiken. De interface is te complex en staat of valt met performance van de event en de vele API calls die nodig zullen zijn om de product uit Magento op te halen.