OK, you probably won't like most of what I write. But, it is the best advice you will get.
An invoice is not how one enters data into a system. It is meant to be the *output* of the system. Consider using it as such and not as the means to input data.
If your data are not in a relational database, reorganize the data into one. The result should be a table where you have just orders, with the state of the order, etc., another table where you have products, inventory levels, reorder policies, etc., another table where you have customer information, yet another where you have vendor information, etc.
Now, design a form that adds information to the order table. Depending on your reorder policy/policies, you will have to update the product table at the time the order is placed or at the time the order is shipped.
When you update the product table, depending on the inventory level (actual, backordered, committed, ordered, in-transit), reorder policy, time-to-delivery, and other relevant information, you may or may not want to issue a reorder request.
That should give you an idea of why effective inventory management systems cost tens of thousands of dollars, if not more.