# General Business Category > Technology Forum >  writing a POS system from scratch

## twinscythe12332

hi all,
I'm looking at writing a point of sales system for a small to medium sized business (like most computer parts stores) that will be running off of a computer with either windows XP or windows vista (and eventually windows 7, once it comes out). it will use a standard barcode reader, and should allow for different barcode formats. I've got an idea of what I should be looking for in terms of design and functionality, I just want to run it past everyone and maybe get some feedback, and a gentle steer in the right direction  :Big Grin: 

The program is going to run through 2 possible databases, namely Microsoft access and Microsoft SQL server express, naturally for cost reducing reasons (and they both use SQL query language ^^). The possibility of a mysql version is within reach, just have to get used to the syntax changes, and get used to installing it.

The program will be pretty generic, but will be written with the intention of being able to modify it towards a specific company's system goals, but for the moment, keeping it towards a generic (yet powerful) system.

the system is structured and seperated into 5 "Segments", namely STOCK, FRONT/TILL, SERVICING,  CONFIGURATION and REPORTS.

here are some of my current ideas under each section:

STOCK(add, modify, delete, scan "would you like to add it?")
DETAILS
	stock must be shown in an easy to read grid.
	grid must be able to be seperated by a product type.
	order by dropdown.
	Add as a button.
	modify as a button choice on the grid.
	delete must also be a choice on the grid.
	on main page, must have button for "scan". when barcode scanned must find that item. if not found, "would you like to add it?"




FRONT/TILL(invoice, barcode system, screens, orders, quote, discount)
DETAILS
	quote button. invoice button.
	invoice to include company details, company logo, and possibly disclaimer.
	invoice to use a barcode system for easy referencing. (barcode printed on invoice that can be scanned at a service point at a later stage)
	invoice should show discount when applicable.
	normal running, order is placed when invoice is completed, paid = y. BUT when quote, order is inserted but paid = n.
	when clicked quote button, must bring up entry text box for identifying person/company for quote.
	cost of item and vat.
	screen should be a grid, as each item is scanned, it finds it in the db, and places a respective object in the grid.
	should allow manual entry of number.
	must allow for searching of quotes via quote barcode/quote number/customer name.
	a completed order (when invoice button clicked) should remove from stock.


SERVICING(returns, repairs, replacements)
DETAILS
	barcode is scanned. 
	3 buttons appear: return, repair, replace.
	return needs a reason, within x days, product not damaged, in original packaging, proof of purchase, current date, contact no, contact person.
	repair needs a description of fault, service slip, proof of payment if under warranty, contact no, contact person, current date.
	replacement needs a reason, proof of purchase, contact no, contact person, current date.


CONFIG( system modifications eg barcode types)(any other reports, can be done for a nominal fee)
DETAILS
		system variables (eg 7 or 14 day period for returns)
	barcode selection system.

REPORTS(daily sales reports, weekly sales reports, monthly sales reports)
DETAILS
             reports for daily, weekly and monthly sales.


I know I'm missing a fair amount in terms of how it's going to look, but yeah, if you have an interesting idea for a feature, please feel free to leave a comment or email me.

I don't expect to get cracking on this straight away, with studies and work taking up a large segment of my time, but I do wish to make it. who knows, when I need guinea pigs, I mean testers  :Big Grin: , I could upload the files.

----------


## Marq

Had a quick scan - looks like a great start.

Only thing at the moment that comes to mind is that you need more stuff on the stock itself. Details, stock balances, reorder levels, locations etc.

----------


## twinscythe12332

Thanks for the reply. I've taken a look at the reorders segment. I'm thinking of sending an email when stocks get too low (if the computer is on the internet, of course).

with regard to stock balances, what exactly do you mean there?

----------


## Marq

The basics of opening stock, purchases, sales, closing stock etc for any period with cost values and selling values or mark up factors and then classifications of the types of stock, sources, pricing history, expected levels, lead times to deliver, location. Date control or mechanism to watch obsolescence factors. Mechanisms to watch for shrinkage.

----------

twinscythe12332 (26-Feb-09)

----------


## twinscythe12332

ah, I see. that makes perfect sense. even though I'll be reducing stock through the till segment, I should probably show the reduction in some manner in the stock section. don't exactly want stock to seemingly disappear and money just suddenly appear hahaha.

perhaps the sales report could be tweaked to include a "sales by item," which would then allow a manual overview of a product's performance.

----------


## fiazmoodley

HI, not sure if you're busy with this application already. If you need help or assistance from a platform perspective, drop me a mail. 
Note: I run a solution development company and we are always looking for ways to get involved in innovative, people-driven solutions.

Cheers.

----------


## Graeme

Of course you probably should have a good look at the mechanics and appearance of existing POS systems in case you inadvertantly infringe someone's copyright?  The lawsuits can get nasty.

----------


## Pap_sak

What will the main selling feature be? What would set it apart from the many which are out there, lot's of which are free.

How hard would it be to do in Mysql/ Php so it would be easy to upload as an ecommerce website?

----------


## twinscythe12332

good question. as far as I can see there would have to be a specific section that is physical (as far as I can understand, you wouldn't be able to read from a COM port where a barcode reader would be situated.), for scanning, but if the store would be willing to have either a local server setup (system connects to local server, web connects to local server) or a remote database (the mysql hosted along with website externally and accessed through an internet connection), it could work. however, each option has its own set of issues. with option A, you'd probably end up with a fast local system that costs a pretty penny. people connecting to it through the internet would be connecting through port 80, so you could close the other ports to maintain security. 

with option B, you're going to have more ports open, which could pose a risk should someone decide to attempt to hack you. unsecured links would mean data could be syphoned off. and when you're talking sensitive e-business data, you don't want that. also you'll probably have multiple tellers connecting through a single internet connection, which will slow the works down.

I'm still figuring out features, and considering the numbers who have already written one, it's going to be hard to set it apart.

----------


## Pap_sak

Well if you can crack it you could have a nice money stream:

1) Sell the POS program
2) Sell hosting and domain reg
3) Sell hardware with it all set up
4) Tution on the system
5) Make an online mall and take a little from each sale
6) Join SA's super rich..  :Wink:

----------


## twinscythe12332

hahaha, my aim would be simple but powerful. having multiple strings attached is not going to work out well =P

----------

