the key to stock management is that you don't record in the table the 'stock on hand'. it is instead a calculated value. You record the 'in' (+) and the 'out' (-); and the current stock level is always then calculated on the fly.
That's the essential concept.
As to whether one can order if it causes negative stock; or should prevent them from ordering with a warning or whatever - - is business dependent and there are alot of variations as to how one can implement the human interface.