Hi EHW,
Thanks for the alternative approach example......
On this project, I'm using single product invoicing. Purchases tGrid also acts as a inventory. So once a product sold it moves into sales invoices.
Derek was kind enough to highlight shortcomings in my design.
I have added a message box for the purchase invoice contains "Db" refunds to the btnSaleAdd with a cancel which stops user converting purch inv with refund/s to sale inv. If all refunds were full this would be it but sometimes there are partial refunds where product may be kept. Supplier may give some refund rather than having product returned and issuing full refun in some occasions. We end up with a product at new purchase price (original purchase price - refund). In accounting terms (as far as I know) we can sell it as a new product at discount, if we cannot then it has to be written off in order to balance the books, alternatively it may be kept as an asset depending on product nature. I'm not going into write offs, asset management etc with this project. Trying to keep it simple and basic.
On traceability front, having purchase inv key fields displayed on sale inv could solve the issue imho. When sale inv viewed, user can see the details of the original purch inv on sale inv form. I have done all these and they seems to be functioning ok so far. However, one thing I couldn't do. Instead of using combos and textboxes, for supplier name and address, I wanted display the in a read only memo field. Please see the reference image below:
Adam
God... please help me become the person my dog thinks I am.