Issue with FIFO Inventory Valuation version 25.9.9.2756

Issue with FIFO Inventory Valuation in Manager.io

Hello

I am encountering an issue with the FIFO (First In, First Out) inventory valuation method in Manager.io. Despite selecting FIFO for an inventory item and running the Recalculate function, the program seems to apply the Weighted Average Cost method instead, resulting in incorrect cost calculations.

Here is a specific example to illustrate the problem:

Example:

  • I have an inventory item with the following transactions:

    • Purchased 100 units at 10 EGP per unit.

    • Purchased 50 units at 12 EGP per unit.

    • Sold 120 units.

Expected Behavior with FIFO:

  • The program should calculate the cost of goods sold (COGS) as follows:

    • 100 units from the first purchase at 10 EGP = 100 × 10 = 1000 EGP.

    • 20 units from the second purchase at 12 EGP = 20 × 12 = 240 EGP.

    • Total COGS = 1000 + 240 = 1240 EGP.

    • Remaining inventory = 30 units at 12 EGP = 30 × 12 = 360 EGP.

    • Alternatively, total inventory value (1600 EGP) - COGS (1240 EGP) = 360 EGP.

Expected Behavior with Weighted Average:

  • Weighted Average Cost = [(100 × 10) + (50 × 12)] ÷ (100 + 50) = 1600 ÷ 150 = 10.67 EGP per unit.

  • COGS for 120 units = 120 × 10.67 = 1280.4 EGP.

  • Remaining inventory = 30 units × 10.67 = 320 EGP.

Actual Behavior:

  • After setting the Inventory Valuation Method to FIFO for the item in the Inventory Items tab and running Recalculate, the program incorrectly calculates the cost of the remaining inventory as 10.67 EGP per unit (Weighted Average) instead of 12 EGP per unit (FIFO).

  • This results in the remaining inventory being valued at 320 EGP instead of the expected 360 EGP.

Additional Details:

  • Manager.io version: [25.9.9.2756].

    I ensured that the Track Inventory option is enabled in Settings.

  • The issue persists even after updating the Inventory Valuation Method to FIFO and running Recalculate.

Questions:

  1. Why is the program applying the Weighted Average method despite selecting FIFO for the item?

  2. Is there a specific step I might be missing to ensure FIFO is applied correctly?

  3. Could this be related to a bug in the Recalculate function or how the program handles historical transactions?

Please advise on how to resolve this issue or if there are additional settings I need to check

test.manager (256 KB)