You could update a stock Master with every transaction
so that you have up to minute stock balance .
Of course, you would need a stock receipt and issue
table ("stock movement" table).
To check 'typos' there are some spell-check components
from third-parties which you can try to integrate to
your input forms.
This may be more of an architecture related question.