While running extended tests, Chris Travers found some failures in the new-in-1.4 COGS test cases. These have been fixed and a new RC for LedgerSMB 1.4 is now available at SourceForge.
These new tests allow us to make guarantees that the logic works as designed; guarantees we can't easily make for previous versions. The new logic also has fewer problem cases for manufacturing, and allows the development of heavier manufacturing capabilities going forward.
For example, LedgerSMB 1.3 and earlier versions (dating back to SQL-Ledger) give wrong COGS information when the assembly BOM is altered between stocking the assembly and selling it. I suspect that selling assemblies before the ap invoices for the parts also produces bad numbers. The rewritten COGS logic in 1.4 addresses both these cases preventing incorrect numbers from being reported.
The major benefit from the COGS rewrite however is in testability. With previous versions, automated unit testing was just not possible. With the current versions, we can test scenarios to make sure the right numbers come out. It was these tests which showed the problems that lead to this release.
Chris Travers would like to suggest that anyone who depends on COGS should consider being an early adopter of 1.4, as soon as 1.4.0 is released.