Community mailing list archives
Re: Last purchase price costing method?by
Hope this is clear enough
You would then need to create new field besides Cost Price, says Last Purchase Price, and when you create PO, this field would be taken instead of Cost Price.
You maybe would need also to create new table Purchase Price History, listing PO Number, date, and Unit Price of the product (in product.product).On Dec 18, 2014 7:54 AM, "OpenERP Master" <firstname.lastname@example.org> wrote:Ok,I think I mixed up 2 different concepts. Costing method, which is how you value your inventory, and last purchase price, which is used for future purchase orders.
My requirement is that when goods are received that it updates the last purchase price so future purchase orders use that price. With my customer, their purchase prices can change randomly and this is how they want it to work.
I agree on all fronts on how the inventory is valued. I will reword some things in my module so its more clear.On Wed, Dec 17, 2014 at 10:59 AM, OpenERP Master <email@example.com> wrote:Thank you for the feedback everyone. Eva, could you explain that photo? I get distracted by it everytime I see it. ;)On Wed, Dec 17, 2014 at 8:48 AM, Eva Pinter <firstname.lastname@example.org> wrote:When you purchase goods, at the moment the goods enter your stock, you want to valuate them. The methods generally used for it are standard price (you fix the price for a given period) or moving average price (it recalculates the price per unit based on the new purchased done).Now, when you take away goods from the stock, you want to have one of the 4 strategies:1. You use the average price2. You want to use FIFO strategy3. You want to use LIFO strategy4. You want to use the standard priceLet’s have a look at the average price.When using FIFO, the system will search the oldest entry not yet used and take the value from it to calculate the COGS as well as the end value of the stock. For instance, you have bought 10 pieces for 100€ each and then 10 pieces for 200€ each. The average price is 150€.1. When you use average: you will take away the pieces each for a price of 150€2. When you use FIFO: The first 10 will be taken away at a price of 100€ and the next 10 at a price of 200€3. When you use LIFO: The first 10 will be taken away at a price of 200€ and the next 10 at a price of 100€So, at the moment you take goods, the value of the stock will change differently. The system will recalculate the average price based on the rest value of the stock and the quantities in stock.I hope this can help clarify the different elements of price of the material.Best regards
I'm pretty sure LIFO and last price are not the same in many people's workflow.
However there was a very enlightening discussion recently on Odoo and OCA's project "margin-analysis" about last purchase price.
 https://github.com/odoo/odoo/issues/3396#issuecomment-61172164If I understand the expert, adding "last purchase price" as a costing method is probably wrong because it's not a "cost price" as defined by accounting rules.
So, the implementation I'm currently proposing for OCA is to have it computed as a distinct field called "replenishment price".
Please go ahead and test this branch of mine: https://github.com/numerigraphe/margin-analysis/tree/7.0-cost-purchase
Whether you find it fit or not, I'd be glad to read from you on my pull request here: https://github.com/OCA/margin-analysis/pull/12