Cost Queues allow the system to track cost over a period of time and appropriately allocate cost when it changes.
The easiest way to think about cost queues is to envision a bucket that is full of widgets. Every time you sell a widget, we take one out of the bucket. Once a bucket is empty, we move to the next bucket.
We use a FIFO (First In First Out) costing method. This means that as you sell inventory, we will attribute the cost at the first (or oldest) price that is available. The diagram below is showing how that system works, with time moving from left to right.
We create a new cost queue for every purchase order that is entered into the system. If you "undo" that purchase order, we remove the cost queue that was attributed to that.
Example of the FIFO costing method over time.
Negative Cost Queues
When operating normally, your cost queues shouldn't ever go negative. However, real life moves quickly and sometimes the warehouse managers need to work out of their typical order, so we do allow for cost queues to go into the negative. That means that they may wait until the end of the week to enter all their purchase orders into the system, after they have sold the inventory. If that is the case, the system will start attributing portions of the negative value to each of the newly created cost queues.
If I have -1000 units in my cost queue and I enter a purchase order for 500 units. The system will create a new cost queue for 500 units and immediately exhaust the entire queue. That will leave my original queue with -500 units. If I receive another PO with 1000 units, then the system will exhaust that queue to 500 and leave the original cost queue at 0.
In order to have an accurate cost calculation, there should never be negative cost queues. For more information, see Inventory Audits.
Cost of Goods (COGS)
Cost of Goods (COGS) sold is tracked somewhat differently than moment-in-time inventory value. As you sell items in inventory, the system uses the cost fallback structure (shown below), to set the cost an item at the time it was sold.
How Cost Will Be Determined By
- Current Cost Queue Cost
- Last Cost Queue Cost
- Default Cost – Default cost is a field on the stock item that can be defined by the user.