The latest version (24.12.6) adds new field to Inventory Items form.
You can choose from 3 options:
First in, first out
Weighted average cost
Zero cost
This allows to have different inventory valuation methods for different items.
But most importantly, when clicking Recalculate button under Inventory Items tab, you no longer have to think what inventory valuation method to choose. Instead, Manager will calculate unit costs based on valuation method selected on inventory item level.
Dear @lubos,
Thank you for your very hard work and effort in correcting things and for your initiative in introducing much-needed upgrades.
I have two questions:
Can these changes be undone if anything gone wrong? (once click the “Recalculate”, if the result is not expected, can I undo it ?)
Will these changes touch the records beyond locked dates?
Recalculate screen is simply creating Inventory Unit Costs under Settings tab. You can batch delete all of them. Or you can use History to undo too.
Right now - they can. But the plan is to make it Recalculate will respect lock date and you won’t be able to modify unit costs before lock date. This will ensure historical figures in locked periods can’t be changed.
Does that actually achieve a FIFO costing for inventory?
Would not the cost need to change as soon inventory bought a different price starts to be sold. So to make that work the user would need to click the recalculate button after every item is sold.
Or maybe I’m miss understanding what is intended to be achieved here.
What I’ve observed is that some businesses do want to recalculate at least once a day because their cost basis could change dramatically and they want to sell with specific profit margin. These businesses would typically use weighted average cost method so that their unit cost would only be affected by purchases, not sales.
And some businesses couldn’t care less. They care about tracking quantities only and would recalculate just once a year to have accurate balance sheet report.
And then there would be many businesses somewhere between these two extremes.
In the end, what I’m trying to solve here are performance issues. When inventory is 100% automated and constantly recalculated. The software doesn’t perform fast once you have a lot of data. So this revaluation method solves the issue. And also I want to ensure that future upgrades won’t affect historical figures. This means I can continue improving inventory costing without breaking historical financial statements.
This change is necessary. The challenge is how to wrap this concept into intuitive user interface.
I understand your concern about performance when inventory is fully automated and recalculated in real time. However, many software solutions have successfully addressed this challenge. ERP systems like SAP ERP, Oracle NetSuite, and Microsoft Dynamics 365 Business Central manage real-time FIFO updates seamlessly, though these are typically designed for larger organizations and come with significantly higher costs.
For smaller businesses, modular tools like Odoo and Zoho Inventory provide fully automated FIFO management at a price point comparable to Manager’s commercial offerings (Cloud & Server editions). In our case, we also use POS software for retail and restaurant businesses, which handle real-time inventory without noticeable delays, even as the data volume grows.
The key challenge may not just be "how to wrap this concept into an intuitive user interface" but also how to address the performance issues that arise with the FIFO method, which demands real-time updates. At the same time, it’s important to retain the well-functioning cost-average method as an option. Reviewing how the SQLite database is structured and how queries are handled might help. With some optimization and programming expertise, it’s possible to achieve both automation and smooth performance.
I can do it too by simply triggering Recalculate function on every entered transaction.
These systems you have mentioned come with serious limitations. They typically do not allow backdating inventory transactions or make other compromises. For example, this person has posted only 4 days ago they are surprised their historical transactions in Odoo are not processed as at historical date. Or here, another person 9 days ago.
This is fine for big enterprises where everything is handled by redudant team (one person is sick, another person will enter the data). But in small businesses, you don’t have redudant staff to babysit these systems correctly. They will become mess that cannot be fixed retrospectively.
Both links to Reddit talk about Odoo 17. The recently released Odoo 18 brings significant advancements to its inventory module, addressing limitations of Odoo 17. It supports better automation, improved handling of historical data, and real-time valuations, including FIFO. It illustrates that others such as Odoo (version 18) can overcome the traditional challenges of implementing real-time inventory valuations without substantial performance trade-offs (Odoo 17 and Manager).
While this isn’t a forum for comparing Odoo and Manager, it highlights the need for Manager to enhance its approach to real-time inventory valuations, especially for FIFO, through advanced programming and structural optimization.
So, if I now update from 24.10.14.1886 to the current version and I want to keep using the average cost option, which has worked for so long, what do I do to guarantee that I am not going to spend days trying to find where my historic values changed, if that happens.
Can I just update and forget?
It makes it hard if I do come across some other issue and the first thing that gets shoved at us is “update to the latest version” which is more broken than the little niggling issues.
@lubos Can you eliminate the Zero cost items from Recalculate screen? Or maybe replace zero cost method with a User defined option. That would work for both zero cost items and for items for which we want to define cost manually.
Suggesting this because even if we define cost manually the recalculate screen shows that these items need to be updated.
And some other options like Last Purchase cost (for valuating items at Replacement cost) options for valuation method would also be useful in some cases.
@lubos There is an issue with the FIFO valuation method. When the quantity of an item reaches zero, the system does not suggest the previous cost at the time the item was last available. This causes an issue when the item is used in a Production Order, and its quantity becomes zero. Due to this, the cost shown on the Recalculate screen for the finished item is incorrect.
@eko You never did I just added that cause not every computer has the same processing capability as others, and so the program may cause some less powerful computers to experience lag. Which could limit which computers can use manager. Now I do understand that this always will be the case to some extent. I just wanted to make sure that it was understood that we have to be mindful of those users. I should have worded my reply to be more specific, that was an error on my part.
You are right. In the latest version I’ve replaced zero cost for manual option. If the inventory item is set to manual valuation, then the item will be ignored by Recalculate button and user is expected to create unit cost manually rather than software calculating it for them.