FIFO is a settlement based costing method in D365 SCM and it requires an Inventory close in order to settle the cost according to the FIFO principle. Untill the Inventory close job is run the COGS is estimated at a running average. It is therefore a requirement that Inventory close is executed end of month before you create the Financial reports so the Inventory Asset and COGS is represented correctly in GL.
Executing inventory close also blocks the period for additional transactions and should therefore always be executed as part of the Fiscal period end process at all customers
As mention in above comment during a fiscal month the Recalculation job can be executed as an "As of now Calculation" is will settle transactions according to FIFO principle BUT NOT close the period meaning that you can still post in the period also backdated transactions. A Recalculation also post to Inventory Asset and COGS so GL is updated. When Inventory close job is executed the entire period will be reassessed according to FIFO principle.
Microsoft highly encourage all customers to run Inventory close by end of each period. We have introduced newly warnings about this in the application as many customers forget