The stock recalculation function checks and, if necessary, recalculates the prices on the stock card to their correct values. When triggered, it goes through all stock movements.
You'll find it in the Tools -> Stock recalculation module, though Flexi also runs it automatically whenever it's needed (e.g., when a receipt price changes).
We can demonstrate how this works using one specific stock card. However, running the stock recalculation manually always processes all stock cards.
On the stock card, 3 pieces were received at a unit price of 4.15 CZK (the opening balance was 2 pieces at the same price). This price also matches the average price. Subsequently, 2 pieces were issued, also at 4.15 CZK.
In practice, a situation may arise where the price of a previous receipt needs to be changed retroactively (for example, the supplier only delivered goods, so they were received into Flexi at 0 CZK, and the price is updated later once the invoice is received).
In our case, we'll change the unit price of the receipt of 3 pieces to 10 CZK.
When you save the change to the receipt, this automatically triggers a stock recalculation, which updates the average price based on the changed receipt price and applies it to all subsequent issues. In this case, the stock recalculation only runs for the specific stock card in question.
By default, stock recalculation is triggered automatically whenever needed. However, there may be situations where, for some reason, the recalculation doesn't run and the prices on the stock card don't match. For these situations, you can trigger the recalculation manually.
When recalculation doesn't run automatically
Under normal circumstances, recalculation runs automatically whenever it's needed. If it doesn't run, this is practically always the result of an interrupted process:
an interrupted or incomplete database transaction (typically due to the volume of data being processed),
an internet connection outage,
a loss of connection between the client and the server.
If none of these unusual situations occurs, the recalculation will run on its own. A typical sign that it hasn't run is when the stock quantity (in units) matches reality, but the value in currency doesn't. This is described in more detail in the article on stock value mismatches.
⚠️ Run manual recalculation at a time when no users are working in Flexi — typically over the weekend or at night. The stock can't be worked with while the recalculation is running, and with a large volume of data it can take hours, or in exceptional cases even days.
What recalculation doesn't fix
Recalculation works with prices. It therefore won't fix everything that's wrong with the stock:
Unresolved issue requests won't be removed by recalculation. The Update issue requests function is used exclusively for that purpose.
Discrepancies in the actual quantity in stock are resolved by an inventory count, not by recalculation.
Before running a recalculation, always make sure you understand what's causing the discrepancy. Running it across the board "just in case" usually won't solve the problem and will only lock the stock for a long time.
Recalculation and accounting periods
Stock cards are maintained separately for each accounting period. Stock recalculation therefore always works only within the period you're currently switched to.
So if you correct prices in a past year, the correction won't automatically carry over into the following year. You need to run the initialization of the next accounting period again with the Carry over stock flag checked. This will transfer the corrected closing balances to the opening balances of the new year. If the problem spans multiple years, you'll need to repeat this process for each period separately — that is, recalculation, initialization, recalculation, and so on, up to the current year.
⚠️ Making changes to closed periods has accounting implications
Recalculation can change not only the value on the stock card for the given period, but also the balance on the stock account. If financial statements or tax returns have already been filed for the affected years, they will no longer match the data in the system after such a change, and you would need to file corrected statements for each affected year.
Before making any changes to a closed period, always consult your accountant about the impact first. In many cases, it's better to resolve the discrepancy with a correction in the current year rather than making retroactive changes across several closed periods.
Related articles
Back to the overview.




