Inventory control system (stock control system)


Subject: Automatıc Inventory Control System

Hi guys,

I'm working in a glass factory as a Mechanical Maintenance Engineer. I have a Raspberry Pi 3 B at home and having some projects. But in the factory I'm planning to build up a system which is related with the inventory control. The system is going to be like this: Via simple user interface (with be Node-RED) the operator will enter the part number in the textbox, hit the OK button, the quantity will automatically decrease as 1 and send an e-mail to responsibles if it is at the lower stock limit.

In this way, I'm going to be warned by the system and order that part to get the stock limit to the normal level.

Can you help me with this issue?

I'm familiar with Raspberry Pi 3, Python and Node-RED but not a professional coder. So it should be as simple as possible please.

Thanks you.




You will have to get your head around databases for storing your data. I would recommend MariaDB, which is a fork of MySQL but open source. There are node-red nodes available.

Also, right at the beginning think about data backups, it can be a disaster if, after entering an inventory into the system, you lose everything because of human errors or system failure.



Are you accessing an existing stock control system or have you got to implement that too?



i would recommend using sqlite for storing the inventory, with 3 columns, id, description, quantity, also i would put all the movements in another database, where you will have the id of the item, quantity withdrawn, timestamp when it happened, all that so you can have statistics, and i would add an input of the quantity (so you can withdraw different amounts).



I think an answer to Colin's question is key before starting anything, just my opinion



Hello Colin,

Thank you for your interest.

Build up a totally new system that can control the inventory of the spare parts. The operator is going to find and take the spare part (for example a ball bearing) and enter the spare part's inventory number in a textbox, then the stock is going to decrease as the used quantity and last send an e-mail to the technicians automatically. There is no inventory control system in the plant at the moment.




Hey Mr. Ghayne,

Thank you for your interest.

What should I need for the system you mention? It should not be so complex because as I said before, I'm not a professional coder. Could you please give some tips for this method?




The first thing you need to do is decide which database you want to use. As I said I would recommend MySQL (or MariaDB) and where your database is going to run. You are talking about a production environment so you may have a database running on one of your servers already.

If you have little or no knowledge of SQL then visit:

There are numerous examples which would be of interest to your needs too.
When you know more about how you want to build your database then come back here and ask for more detailed help.



Well, are you looking for someone that will work for you for free??? Do you deliver ball bearings for free?

Please study what it means to store data in a db (like recommended above). There are nodes available for those. But when you obviously indicate that you will have to build an inventory system as well, you have to consider how to build it reliable as well. I read between the lines there is a kind of multi-user requirement here as well?? Or not?

And should you be able to handle returns? What if the operator needs to put an item back to stock? He must be able to adjust the total numbers (+/-). And when you fill up the stock, you need to be able to set total numbers in stock

It's getting more complex as soon as you start to think about all kind of situations. I call them use-cases. To make a proper design, I suggest you start to think about all kind of situations that can happen, not only the successful ones but also where an order may fail. Before you have re-thought, I think it is too early to start coding anything

1 Like


I'm afraid that you are going to have to learn a lot more if you want to have any chance of running a stock control system that doesn't let you or your customers down when you most need it.

You are taking on the running of a set of systems and you need to learn how to do that. This isn't coding, it is IT.

You will want to look up how to keep systems running and how to back them up. Then you need to learn the basics of operating and configuring a database.

There are loads of online resources to do all of this, I suggest starting with a basic Information Technology course.

While there is a lot to learn, don't be put off particularly, it is all possible to do and you've made a start which is more than many do.

Still, at the end of the day, what you really need to do before anything else is to work out the VALUE of what you are doing. When you have that clear, you will then be in a position to think about why you are doing this yourself and what it might actually cost in the long term. When looked at in the light of values, risks and impacts, you might decide that paying to have at least some things done by someone with existing knowledge, at least while you learn in parallel, starts to look sensible.

All that said, this is a forum about Node-RED, not about Rasberry Pi's, stock control, databases, running businesses, etc.

1 Like