I am in the process of developing a very simple inventory system. I basically ignore the inventory field (sorry Chris) and have added my own fields to the sku table (Ex. Qty_OnHand, Qty_OnOrder, Qty_OnHold).
I also added a table called inventory log which has fields like:
DateTimeStamp
SkuID
JournalCode
Qty
Reference
The Journal Codes are:
-
RCV - Receive Inventory
-
PUR - Purchase Inventory
-
SHP - Ship Inventory
-
ORD - Order Inventory
-
ADJ - Adjust Inventory
With the exception of things like credit and debit memos, return of goods sold, return of goods purchased, it is a inventory system that I have sucessfully set up for a few desktop applications.
Like a subsidiary ledger - everything that goes in and out of inventory has a journal record in the inventory log. Similar to how you have a SQL Server Log File in which you can recoup everything up to a certain point, I recaclulate inventory totals based on the log file.
I modified the check out process to create ORD (Ordered) inventory log records for each item ordered. This places items on hold and does not reduce inventory but reduces how much is available. I will have to modify the shipping notification process so that if will reduce the QTY on Hand but also reduce the QTY on Hold.
I am also in the process of writing a web page that will upload a QuickBooks Inventory, Purchasing, and Receiving Report (in text format) and parse those reports for the purpose of adding new inventory, double checking tallys, adding PUR (Purchase records) and RCV (Receiving Records) and the recalculate inventory.
A Product having multiple skus does pose a factor. I think it would be great to be able to group several products together that could be added to cart. For example:
If you had 4 Products with BaseSkus: BrownBeltSM, BrownBeltM, BrownBeltLG, BrownBeltXL, then you can bring up, let's say the Small Brown Belt by default. Clicking on a dropdown of SM,M,LG,XL would in affect switch the product. All the Sku stuff could be made transparent (or scrap it altogether).
Louis