I've not designed a point of sale before and frankly, don't have much knowledge of what attributes are needed. I found the following schema and realized that it still won't store everything I need; I'm still missing some attributes.
Some of the issues that I see with this digram:
I need to allow for product returns.
I need to allow no charge items.
There should be an allowable discount for each product and also an additional discount that can be applied at check out.
The pos_invoice table doesn't have a total attribute.
How to handle voided transactions...
I think I can add a total column to the invoice table but I'm wondering why it wasn't there to begin with. So where should these attributes go?