I want to share an email between my self and Ian from Dear Support:
Hope you are keeping well.
With regards to the logic behind Non-inventory items and how they should be used, you can follow the guidelines given below.
Non-inventory products are allowed to be purchased or sold without checking for their availability in stock (That's correct until the customer want to order more ... ) Since these products do not affect inventory, they cannot be reordered, backordered, restocked, or unstocked. Wrong for me.
Examples of non-inventory items include:items purchased for a specific job and then quickly sold or invoiced to a customer - From the time I receive the stock and I send the stock to the customer .... it reflect my inventory level. For me a Non-Inventory item should reflect the inventory level. If it's a service code ... no problem with the inventory.
The Non_inventory products are created for a specific job, or for a specific customer, or something where the drop-off system works great.
I buy when the physical product (not service) has been sold.
Sometimes the customer returns the Non-inventory item because it is not what he/she was expecting: this reflects my inventory level.
Sometimes the customer delays on receiving his Non_inventory order: this reflects my inventory level.
We should see the movement and the stock level of the Non_inventory codes
We should run a report to see what is available in the Non Inventory codes.
Sometimes the Non inventory codes became a Stock items, because customers demands regularly
Stock codes: I want to keep in stock all the time. Goal is to have all the time with the right quantities. Reflect the DIFOT.Non Inventory codes: I might have stock. Goal is to have zero value. Not reflect the DIFOT.Service codes: no stackable. Not reflect the DIFOT.
I hope these points make my point of view.
Feel free to chat if you guys needs more info