Make Refurbishing Costs reflect cost prices
We spend inventory and labour hours refurbishing our own stock. The stock initially gets imported as Inventory on a PO for a certain cost price. The stock is then refurbished, at times for high costs then the device itself. Yet, the cost price of the item remains the same as the cost on the PO.
Now if I want to make an API call ...
I can get the amount of devices a certain location has of a certain SKU. But, I can tell what it's worth.
Or If I want to do a CSV export of Inventory ...
I can get the serials that I have at each location along with the quantity, so a little more than the API. But, I cant tell which one costs how much.
If we have 10 Models with variations of Colour and Size, we're talking 160 SKUs. How in the world am I supposed to set prices without knowing how much the stock is worth? Refurbs export doesnt exist. And the product instances table is unavailable in a consumable format.
I suggest:
Make refurb costs effect cost prices of their parent SKUs - Im sure theres already a function, that runs price adjustments when you buy and sell a non-serialized product. This updates the cost price depending on the the price it was sold for. When a refurb happens, run it as an instance of a product sold at a loss for the cost of the refurb. The rest of the calculation should be the same.
Please, take serials seriously. Create a seperate table for product instances. This may already exist but if the true primary key is only the ID, this can be taken very far. Being able to morph one SKU into another, can save having to do so many RMAs and rework for entry errors. We'd also be able to seperate Repaired and In Progress SKUs, and move them over when they're ready. Having it exportable, with costs, can allow fast calculation of the value of a current stock. But with the serial numbers, a company can catgorize its physical items however they want. Serials for Orders, Location IDs, Vendor IDs, etc. Serials exported, sorted, and sent off to which ever department they belong to.
Serials should be a seperate table, the SKU as a feild, not as a Parent.