Skip to main content

FIFO links between goods receipt and goods issue

How ABRA Flexi matches an issue with a specific receipt, which price is used from the link, and what to do when links are missing

Written by Petr Pech

For every issue from stock, ABRA Flexi keeps track of which specific receipt the issued goods came from. This link between a receipt item and an issue item is called a FIFO link. This article explains when links are created, how they relate to the price on the issue note, and what to do when they are missing.

ℹ️ FIFO links are always created, regardless of which inventory valuation method the company has set. The chosen method only affects which price is applied on the issue note. The difference between the methods is described in the article on inventory valuation methods.


What is a FIFO link

The name comes from the "first in, first out" principle. Stock is depleted in the order it arrived in the warehouse, so Flexi attaches to each issue item the receipt item it is being drawn from. The link carries two pieces of information: how many units are being issued from the given receipt, and at what purchase price the goods were acquired.

A single issue item can have multiple links at the same time. This happens whenever the requested quantity exceeds the remainder of the oldest receipt and it becomes necessary to draw from the next one in sequence.

In the diagram above, there are two receipts in stock: 10 pieces at CZK 200 and 10 pieces at CZK 300. An issue note for 15 pieces will therefore be created with two links. The first 10 pieces are deducted from the older receipt, the remaining 5 pieces from the newer one, and 5 pieces remain in stock, to be linked to the next issue. With the FIFO method, the value of the issue note is also derived from these links, i.e. CZK 3,500.


What the link is primarily for

The name might suggest that this is a mechanism designed to calculate price. In fact, it's the other way around.

The link's main job is to keep track of quantity. It holds information about which issue drew on which receipt, and thanks to this, Flexi knows it must not allow the deletion of a receipt that has since been issued from. It can also, when a receipt's price is changed retroactively, look up which issue notes are affected by the change. Applying the price can then be considered a secondary effect.


When a link is created

The link is created automatically when an issue document item is saved. It doesn't matter whether you create the stock document manually, or it is generated from an invoice, order, or e-shop. The user has no say in choosing the receipt, and the price on the issue note cannot be manually overwritten — that's precisely why the issued goods are always valued according to the configured method.


Which price is used from the link

Here the two valuation methods differ:

  • The FIFO method applies to the issue note the purchase price from the specific linked receipt. You will therefore only find out the resulting price on the specific issue note after inserting the relevant item — Flexi doesn't display it in advance on the card.

  • The weighted average method applies the average price of the stock card valid at the moment of issue. Links to individual receipts are still created the same way.

On the stock card, watch out for two fields that are often confused with the issue price:

  • Average price is calculated always, even with the FIFO method. However, with FIFO it is not used on the issue note, so the value in this field says nothing about the price at which goods will be issued.

  • Last price is the price at which the item was most recently purchased. This also doesn't correspond to the price of the nearest issue if there is still older stock on hand.


What the link blocks and what it doesn't

As long as an issue is linked to a receipt, Flexi will not allow the receipt or its item to be deleted. This is a safeguard against a negative stock balance on the stock card. What to do in such a situation is described in the guide covering the case when an incorrectly created receipt cannot be deleted.

It's essential to distinguish what is blocked and what isn't:

  • You can no longer change the quantity on the receipt. The goods have been issued, and changing the quantity would break the related issues.

  • You can change the price on the receipt, even retroactively. This is exactly what links are for. The new price is automatically propagated through them to all related issue notes, which is handled by the stock recalculation.

ℹ️ A typical case: the supplier has only delivered the goods, they are received into Flexi at CZK 0, and the actual price is filled in only after the invoice is received. Simply correct the price on the receipt, and all issue notes created in the meantime will be revalued automatically.


What happens after stock is depleted to zero

If you issue the entire stock, the last calculated average price remains on the stock card. This is merely an informational remnant and has no further effect on anything.

With the first new receipt, the value is overwritten and the calculation starts over from this receipt. Previous history does not factor into the new average price.

⚠️ A different situation arises if the card shows a zero balance in units but a non-zero value in currency. This is no longer an informational remnant, but a sign of an error. The most common cause is a change of valuation method on a warehouse with existing movements, or a manually created negative receipt.


What disrupts links and how to restore them

Links are based on the chronology of movements. They are therefore disrupted by actions that retroactively change this chronology:

  • bulk retroactive corrections of already issued documents,

  • deleting and re-creating receipts that already have related issues,

  • retroactively entered movements combined with date straightening.

The solution is always a stock recalculation. It goes through all movements chronologically and restores the links. It normally runs automatically, but it can also be run manually if needed.

⚠️ Run a manual recalculation at a time when no users are working in Flexi — typically over the weekend or at night. The warehouse cannot be worked with while it's running, and with a large volume of data it can take hours, and in exceptional cases even days.


Related articles

Did this answer your question?