The following series of events will post the wrong COGS value for the sale at the end:
- Define an assembly, based on certain parts (the BoM, Bill of Materials)
- Stock the assembly
- Change the BoM -- e.g. use entirely different parts, with different prices, to change the cost price of the assembly
- Sell one assembly
--> The CoGS posted will be based on the pricing of the parts in the new BoM, while the assembly was produced with the old BoM!
I think selling an assembly without enough parts to calculate COGS will throw the numbers off too. At any rate, I do not trust this logic. We might want to consider this something to document.
committed documentation in, https://github.com/ledgersmb/LedgerSMB/pull/175
fixed in 1.4