Skip to main content

Stock Recalculation - WUI

What the stock recalculation is for, when it runs automatically, and where to trigger it manually in the web app

Written by Petr Pech

The stock recalculation checks the prices on stock cards and, where necessary, recalculates them to the correct values. When it runs, it goes through all stock movements. It also re-establishes the FIFO links between goods receipts and goods issues based on the stock date.

You can run it manually in the Stock cards module or in the list of warehouses. In the footer of the list, click the three-dots icon (More functions) and select Recalculate stock levels. This option is not available in the Goods receipts/Goods issues module.

However, ABRA Flexi runs the stock recalculation automatically for the operations that require it (such as a change to the receipt price).

We will demonstrate how the feature works using a single stock card. Note, however, that a manually started stock recalculation always goes through all stock cards.


Example: retroactive change of a receipt price

In practice, you may need to change the price of an earlier receipt retroactively. For example, a supplier delivered goods that were received into Flexi at CZK 0, and you update the price only after you receive the invoice.

On the stock card in our example, the stock quantity is 30 pcs with an average price of CZK 53.33.

Three movements are recorded on the card: a receipt of 100 pcs at CZK 80, a receipt of 50 pcs at CZK 0, and an issue of 120 pcs, which was valued at the average price of CZK 53.33.

In the second receipt, we change the price per unit of measure for the 50-piece receipt to CZK 100.

Saving the change in the receipt automatically triggers a stock recalculation. Based on the changed receipt price, it updates the average price and applies it to all subsequent issues.

The stock card shows the change in the goods issue price after the stock recalculation: the issue of 120 pcs is now valued at the average price of CZK 86.67.

The average price and the stock value in CZK on the stock card have changed accordingly as well.

By default, the stock recalculation is therefore run automatically whenever it is needed. However, there may be situations where, for some reason, the recalculation does not run and the prices on the stock card are incorrect. The option to run it manually exists for these situations.


When the recalculation does not run on its own

Under normal circumstances, the recalculation runs automatically whenever it is needed. If it does not run, it is almost always the result of an interruption in the process:

  • an interrupted or incomplete database transaction (typically because of 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 runs on its own. A typical sign that it did not run is that the stock quantity in units of measure is correct, while the value in CZK is not. This is described in more detail in the article on an incorrect balance value on a stock card.

⚠️ The recalculation time depends on the volume of data and can take a very long time for large warehouses. Run the manual recalculation when no users are working in Flexi, typically over a weekend or at night. You cannot work with the warehouse while the recalculation is running. As of version 2026.6.0, the recalculation is significantly faster.


What the recalculation does not fix

The recalculation works with goods issue prices. It therefore does not correct everything that is wrong in a warehouse:

  • Prices on goods receipts are not changed by the recalculation. The receipt price is entered by the user, and the recalculation only builds on it. This also applies to manually created negative receipts, which behave like an issue but whose price was set by the user. The recalculation therefore neither removes nor corrects them. An incorrect receipt price must be corrected directly on the receipt, or on the document it originated from.

  • Goods issues with a manually entered price. If the price on a goods issue was entered via the REST API using the flag cenaRucne, the recalculation does not overwrite it.

  • Consequences of changing the inventory valuation method. A change of method always applies as of a specific date, so the recalculation uses one method up to that date and the other from that date onward. The difference on the card is therefore not caused by an error in the recalculation, but by two methods being mixed on a single card, and it inevitably has to remain. A typical sign is zero pieces and a non-zero remaining value in CZK.

  • Unsettled issue requests are not removed by the recalculation. The Update issue requests function is intended exclusively for those.

  • A difference in the actual quantity in stock is resolved by a stocktaking, not by the recalculation.

ℹ️ The exception is a receipt that completes a transfer. A transfer starts with an issue from the source warehouse, and the price of the receipt is derived from the price of this issue. If the recalculation changes the price of the issue, the change is also reflected in the price of the linked receipt. This is the only type of receipt whose price the recalculation can adjust.

Before you run the recalculation, always make sure you know the cause of the difference. Running it across the board "just in case" usually does not solve the problem and only blocks the warehouse for a long time. For how to determine the cause, see the article on diagnosing incorrect stock prices.


Recalculation and accounting periods

Stock cards are maintained separately for each accounting period. The stock recalculation therefore always works only in the period you are currently switched to.

If you correct prices in a previous year, the correction is not carried over to the following year automatically. You need to run the initialization of the following accounting period again with the Carry over stock option selected. This transfers the corrected closing balances to the opening balances of the new year. If the problem spans several years, you must repeat this procedure for each period separately, that is, recalculation, initialization, recalculation, and so on up to the current year.

🚨 Intervening in closed periods has accounting implications

The recalculation may change not only the value on the stock card in the given period, but also the balance on the inventory 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 the intervention, and you would have to file amended statements for each affected year.

Before making any change to a closed period, always consult your accountant about the impact first.


Related articles

Back to the overview.

Did this answer your question?