Principles of FIFO COGS calculates the First-In, First-Out Cost of Goods Sold (FIFO COGS).  FIFO COGS is an accepted practice in financial accounting to recognize the expenses in you financial statements for goods sold. 

The underlying principle is that when you purchase stock at once price today, and buy more stock tomorrow at a different price, what is the right amount to write-off on those goods?  As the purchase cost changes, how is your profitability impacted?

Here's a video that touches on this topic a bit more: FIFO COGS Engine History

Engine v3

The third generation of the engine was significantly enhanced.  

A remaining constraint in the v2 engine was that it worked to calculate inventory balances as of "today".  That was a problem because we have a number of ways we need to slice and dice the data for a user-selected point in time -- like in reports and new analytics visuals we have been planning

Engine v3 resulted in having a dynamic and responsive approach to getting the inventory counts and costs at any point in time, and allow for people to do add new data at their own pace and timing without breaking things.

Engine v2

Building on the fundamentals, the FIFO Engine version 2 was enhanced to address speed and performance issues, but mostly 

when certain things weren't done in the exact right order, then the engine couldn't accommodate that events happening out of date order.  That was a problem, and in the case of the founder's account, that resulted in some data being "corrupted" in the sense that the FIFO COGS wouldn't recognize back-dated purchases, so it was not good. Nobody else was using that part of the system at that time so everyone else was spared this. But now, there is a data flaw that needs to get fixed.

Engine v1

In version 1 of our engine, things worked well enough and was genuinely FIFO instead of a weighted average basis.

This version was based on the real-life sequence of events of Ordering Product -> Receiving Product -> Shipping Product to Amazon -> Selling Product.

See Also: