I'm trying to lobby in my company for a new program for tracking daily production because the current one is driving me crazy and can't even support the newest size of our production park (since mid 2012!). The management doesn't want to deal with this problem at the moment, while I think it's critical (we are growing; and I'm masking the problem with the extra effort put into manual data collecting, from which I’m getting sick off), so I would like to do some research beforehand before making my case in front of the bosses, and explore the possibility of doing this program myself, that is, finding the best tools for it. So I'm looking for some advice, opinions from proficient programmers, possibly those experienced in programming professional business applications, on my problem.
What this program should do?
Well, currently it comes down to inputting products in rows representing production lines, with data like norm, worker and number of produced units, all in an excel like table (I think the current program was done in Visual BASIC, but very poorly coded and cumbersome to use), which then calculates the daily production, in units and revenue, and also calculates some other data, like maximum capacity, money lost of machine adjusting (when switching from one product to another or on machine breakdown), etc. None of this data is saved in any useful database, in the current program. It's basically a fancied up spreadsheet.
This is how it looks like:

But my idea is only to copy its appearance roughly.
My vision of the new program is for it to be split in two modules, to break the workload of data inputting and maintaining the database it in two parts.
The first module would be used to input the data for each production day by the production department. Their job would be to input, for each production line and each shift: the product/norm (saved from day before), worker (saved from day before) and the number of produced units. Because of the intensive production cycle, the program would have to allow 4 workers per shift (they jump from one production line to another production line) and 4 products per production line (per day). It would be like a table with big rows representing production lines (definable and addable in module 2) with 4 sub-rows inside them for 4 possible products. The program would have to allow choosing workers from a database (drop-down list), as well as products, but it should also allow inputting new products manually, as we introduce new products on daily basis. Other boxes to fill out would include stuff like the number of work order, machine adjuster names, and control room staff on call for that shift.
My idea is to separate the shifts in clearly divided sections (but last products on each production line would be "pulled" from one shift before) maybe sheets, but exiting/entering new shifts would have to be visually noticeable, as I imagined the data for each shift to be filled out by that shift supervisor.
This data would be saved in some undefined file format, but readable by the second module.
The second module would be the program we have now, but instead of having to manually collect and input this data in the program, I would load up these files, fix mistakes, input the prices for new products (if such appear), check or fill out work order boxes if they have been omitted, press on the CALCULATE button, and viola! Get the result I want.
The new functionalities we don’t have now, but really need to implement would include:
A proper database that stores data (or reads it from daily production sheets) for each worker (what he did each day, what product, on what line, how many pieces he produced, etc.), as well as for each product (through time, on what production line that product was made, by which worker, ...etc). It would also allow separating the products according to customers and storing that data in a database, from which I could extract the number of pieces and/or revenue for any desired period.
Each product would be defined by 5 elements: name, price, raw material, customer (always the same for a specific product) and empty 5th element for any usage we might find necessary.
Another functionality would be the print-out of two reports, of informative nature. One for warehouse personnel showing which raw material entered the production according to which work order, and the other for logistics, containing information on which finished products entered stock according to what work orders / order numbers.
In my rudimentary programming knowledge, I think this can be done in 16-24 hours, if the programmer is well instructed, and has a good breakfast. :)
But I would like to get your opinion on the complexity of this program, your estimate on the number of hours necessary to produce it, and maybe if you are willing to guess a ballpark figure for such application.
I would also appreciate your advice on which programs/compilers/libraries would be the best tools to produce such application.
Thanks guys!