From 63358f51712fcf66d1411a4c435caf46097a7083 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Wed, 28 Oct 2015 15:49:43 +0100 Subject: [PATCH] [ADD] accounting: Impact on the average price valuation when returning goods https://docs.google.com/document/d/1PsCT28I8zD4los7uivSoWFe0gYbtuWb6tuwja9QL1J4/edit --- .../others/inventory/avg_price_valuation.rst | 170 +++++++++++++++++- accounting/others/inventory/media/avg01.png | Bin 0 -> 3086 bytes 2 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 accounting/others/inventory/media/avg01.png diff --git a/accounting/others/inventory/avg_price_valuation.rst b/accounting/others/inventory/avg_price_valuation.rst index d54e0d2f4..ac0de0b87 100644 --- a/accounting/others/inventory/avg_price_valuation.rst +++ b/accounting/others/inventory/avg_price_valuation.rst @@ -1,3 +1,167 @@ -========================================================================= -Impact on the average price valuation when returning goods to a supplier -========================================================================= \ No newline at end of file +========================================================== +Impact on the average price valuation when returning goods +========================================================== + +As stated in the `*inventory valuation +page* `__, +one of the possible costing method you can use in perpetual stock +valuation, is the average cost. + +This document answers to one recurrent question for companies using that +method to make their stock valuation: how does a shipping returned to +its supplier impact the average cost and the accounting entries? This +document is **only** for the specific use case of a perpetual valuation (as +opposed to the periodic one) and in average price costing method (as +opposed to standard of FIFO). + +Definition of average cost +========================== + +The average cost method calculates the cost of ending inventory and cost +of goods sold on the basis of weighted average cost per unit of +inventory. + +The weighted average cost per unit is calculated using the following +formula: + +- When new products arrive in a warehouse, the new average cost is + recomputed as: + +.. image:: media/avg01.png + :align: center + +- When products leave the warehouse: the average cost **does not** change + +Defining the purchase price +--------------------------- + +The purchase price is estimated at the reception of the products (you +might not have received the vendor bill yet) and reevaluated at the +reception of the vendor bill. The purchase price includes the cost you +pay for the products, but it may also includes additional costs, like +landed costs. + +Average cost example +==================== + ++-----------------------------+---------------+-------------------+---------------+------------+ +| Operation | Delta Value | Inventory Value | Qty On Hand | Avg Cost | ++=============================+===============+===================+===============+============+ +| | | $0 | 0 | $0 | ++-----------------------------+---------------+-------------------+---------------+------------+ +| Receive 8 Products at $10 | +8\*$10 | $80 | 8 | $10 | ++-----------------------------+---------------+-------------------+---------------+------------+ +| Receive 4 Products at $16 | +4\*$16 | $144 | 12 | $12 | ++-----------------------------+---------------+-------------------+---------------+------------+ +| Deliver 10 Products | -10\*$12 | $24 | 2 | $12 | ++-----------------------------+---------------+-------------------+---------------+------------+ ++-----------------------------+---------------+-------------------+---------------+------------+ + +At the beginning, the Avg Cost is set to 0 set as there is no product in +the inventory. When the first reception is made, the average cost +becomes logically the purchase price. + +At the second reception, the average cost is updated because the total +inventory value is now ``$80 + 4*$16 = $144``. As we have 12 units on +hand, the average price per unit is ``$144 / 12 = $12``. + +By definition, the delivery of 10 products does not change the average +cost. Indeed, the inventory value is now $24 as we have only 2 units +remaining of each ``$24 / 2 = $12``. + +Purchase return use case +======================== + +In case of a product returned to its supplier after reception, the +inventory value is reduced using the average cost formulae (not at the +initial price of these products!). + +Which means that the above table will be updated as follow: + ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Operation | Delta Value | Inventory Value | Qty On Hand | Avg Cost | ++===============================================+===============+===================+===============+============+ +| | | $24 | 2 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Return of 1 Product initially bought at $10 | -1\*$12 | $12 | 1 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ + +Explanation: counter example +---------------------------- + +Remember the definition of **Average Cost**, saying that we do not update +the average cost of a product leaving the inventory. If you break this +rule, you may lead to inconsistencies in your inventory. + +As an example, here is the scenario when you deliver one piece to the +customer and return the other one to your supplier (at the cost you +purchased it). Here is the operation: + ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Operation | Delta Value | Inventory Value | Qty On Hand | Avg Cost | ++===============================================+===============+===================+===============+============+ +| | | $24 | 2 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Customer Shipping 1 product | -1\*$12 | $12 | 1 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Return of 1 Product initially bought at $10 | -1\*$10 | **$2** | **0** | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ + +As you can see in this example, this is not correct: an inventory +valuation of $2 for 0 pieces in the warehouse. + +The correct scenario should be to return the goods at the current +average cost: + ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Operation | Delta Value | Inventory Value | Qty On Hand | Avg Cost | ++===============================================+===============+===================+===============+============+ +| | | $24 | 2 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Customer Shipping 1 product | -1\*$12 | $12 | 1 | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ +| Return of 1 Product initially bought at $10 | -1\*$12 | **$0** | **0** | $12 | ++-----------------------------------------------+---------------+-------------------+---------------+------------+ + +On the other hand, using the average cost to value the return ensure a +correct inventory value at all times. + +Further thoughts on anglo saxon mode +------------------------------------ + +For people in using the **anglo saxon accounting** principles, there is +another concept to take into account: the stock input account of the +product, which is intended to hold at any time the value of vendor bills +to receive. So the stock input account will increase on reception of +incoming shipments and will decrease when receiving the related vendor +bills. + +Back to our example, we see that when the return is valued at the +average price, the amount booked in the stock input account is the +original purchase price: + ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Operation | stock input | price diff | Inventory Value | Qty On Hand | Avg Cost | ++===============================================+===============+==============+===================+===============+============+ +| | | | $0 | 0 | $0 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Receive 8 Products at $10 | ($80) | | $80 | 8 | $10 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Receive vendor bill $80 | $0 | | $80 | 8 | $10 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Receive 4 Products at $16 | ($64) | | $144 | 12 | $12 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Receive vendor bill $64 | $0 | | $144 | 12 | $12 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Deliver 10 Products | $0 | | $24 | 2 | $12 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Return of 1 Product initially bought at $10 | **$10** | **$2** | **$12** | 1 | $12 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ +| Receive vendor refund $10 | $0 | $2 | $12 | 1 | $12 | ++-----------------------------------------------+---------------+--------------+-------------------+---------------+------------+ + +This is because the vendor refund will be made using the original +purchase price, so to zero out the effect of the return in the stock +input in last operation, we need to reuse the original price. The price +difference account located on the product category is used to book the +difference between the average cost and the original purchase price. diff --git a/accounting/others/inventory/media/avg01.png b/accounting/others/inventory/media/avg01.png new file mode 100644 index 0000000000000000000000000000000000000000..a396227c98f209ce94980cef357ecb67dfbac2eb GIT binary patch literal 3086 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 aZ=V_&+q6kT9IF5O(i_}|-YdIn{pLSinG;9= literal 0 HcmV?d00001