# How can I have zero stock but still have a value in Inventory?

KB290

### Overview

It is possible, mathematically, for you to have a zero quantity of stock of an item but still have a value in the inventory system (and therefore also in the General Ledger).

This is called a “residual” value and usually occurs because the cost of an item has been changed after it has been consumed or delivered to a customer.

### Worked example of residual stock

Here's an example of how it can happen:

1. Purchase a widget for $10.
2. Receive the widget into stock. The total value in stock equals $10. the total qty in stock equals 1.
3. Dispatch and deliver the widget to a customer. The total value in stock is now $0 and there are no widgets in stock. Everything is normal.
4. Now enter the supplier's invoice for the widget and find that you have been charged $15.
   1. The original received item is reversed out (1 item taken back out of stock at $10).
   2. The Receive is re-processed at the new cost (1 item put back in at $15).
   3. The result is that there are no widgets in stock, but the total value of the widget's item is $5.

Under normal circumstances, this variation will be spread out over the next lot of widgets you buy.

That is, the first lot of widgets was sold at a cost that was too low, therefore the next widgets you sell (when you buy them) will cost slightly more on average.

### The most common cause of residual inventory

By far the most common cause of residual values in inventory is incorrect Purchase order values.

When a purchase order is created, the cost recorded on the purchase order will be the cost of the goods that are posted to inventory when they are received into stock. If that cost is not correct (according to what you will eventually be billed when the invoice is processed) then you will be consuming and working with inventory at a cost that is not correct.

### Other transactions or processes that give rise to residual inventory

There are several other process-related actions that can cause a residual inventory value, and all of them involve re-processing or modifying historical transactions. For example, deleting a stock transaction that put items into stock at one value, after they have been average and consumed at a different value. Here’s a worked example:

1. Put a widget into stock at $10, using whatever method you like (stocktake, stock adjustment, receive).
2. Put another widget into stock at $20. The average cost is now $15.
3. Consume one item of stock. It will be consumed at $15. You have one item left at $15.
4. DELETE the first transaction. This will remove $10. You now have 0 items but $5 left in inventory.

Mathematically, this is all perfectly above board. Practically, it creates an anomaly, and questions need to be raised regarding the process.

### Why does Accentis allow a residual value to be stored?

Conservation of value is the key premise of any accounting system. Value can’t disappear; it must go somewhere. When a widget has been sold at a cost that was too low, that cost has already been posted to a general ledger account and the widget has long since gone.

The excess value in cost ($5 from above) must be stored somewhere in inventory, because that’s the value the supplier charged. It is stored against the item code related to the transaction.

The flexibility of permission and processes in Accentis Enterprise make it permissible for this to happen, because a user may well know exactly what they are doing with the intention of counteracting the values at some later stage with another process.

### How do you stop it from happening?

Avoid or prevent historical transaction modifications

By avoiding or preventing users from modifying a past inventory transaction, you eliminate the possibility that inventory will be consumed at a different value to that which put it into stock.

Never allow $0 Purchase orders

Never (ever) allow people to do a $0 Purchase order. If they really insist that the cost is completely unknown (like writing a blank cheque!), then you should at least tick the box on the Purchase order “Don't allow items to be received” and ensure that the goods do not get received into stock at $0.

Use Purchase order confirmations

Always use a Purchase order confirmation from the suppliers and force them to confirm the price. If this is not possible, or if your supplier will not commit to a price, then you should follow the process above

### How to fix it if it has already happened

If an item was received in and only dispatched to one customer, then the fix is very easy:

1. Go to the Dispatch and edit/update it.

This will put back $0, average the cost, then pull out the current cost.

If the part has been consumed in multiple places and you don't want to undo those transactions, then your next best option is to revalue the item so that the current cost of the item becomes $0.

### Did you find this article helpful?

If this article is missing information, ambiguous, or didn’t give you clear instructions, let us know and we will make it better! Please email us and quote the KB# in the top left of this article to let us know why it didn’t help you out and we will point you in the direction of additional information.

Last Edit 25/09/23