We have just launched a bookstore point of sale system that I wrote as a web script. Why not use a commercial point of sale product? We want our students to be able to self-checkout at a computer workstation without requiring the presence of a staff member. The main student-facing page is a simple screen that allows one to log in using web site credentials and then buy one or more books using a barcode scanner. Easy, right?
I didn’t appreciate until neck-deep in the project that this was really more of an accounting project than a sales front-end! The business office can download sales from the script’s admin interface. The download file includes the student’s Education Edge ID, the EE code for the book purchased, the price, and the date of the sale. It includes a few dates — date of sale, post date, and due date, which are part of the billing process. In order to know the retail price, the script needs to keep track of the purchase price, which changes during the year as new editions are ordered and retail prices change. In order to know the total value of inventory for accounting purposes, the script needs to keep track of inventory and book cost — the price the school paid for the book. My goodness! It took a while to get all of these details sorted out and debugged. We have 270 students each buying a handful of books. After a couple of years of selling books, we will surely come out ahead in terms of time spent.