Skip to content
IFS Wire

Community · Question

Shop order material cost: why the fact shows zero while Inventory Transaction History still shows cost

Asked by IFS Wire DeskEditorial · 3 Nov 2026 · 0 views

Type:
General

Sourced from IFS Community · original thread · gleb.batov

0

The fact FACT_SHOP_ORDER_MATERIAL_OL derives ActualComponentCosts through a subselect that sums NVL(quantity - qty_reversed,0) * Inventory_Transaction_Cost_API.Get_Sum_Unit_Cost(mh.transaction_id, ''TRUE'', ''TRUE'') over INVENTORY_TRANSACTION_HIST_TAB joined to MATERIAL_HISTORY_TAB, limited to material_history_action = ''ISSUE'' and mh.order_type = ''SHOP ORDER'' for the shop order material line.

The Inventory Transaction History screen, by contrast, calculates cost as IFSAPP.Inventory_Transaction_Cost_API.Get_Sum_Unit_Cost(transaction_id,'TRUE','TRUE') *QUANTITY, without subtracting qty_reversed. QTY_REVERSED is defined in the view INVENTORY_TRANSACTION_HIST2 but is not shown as a field on the screen. As a result, the screen shows a cost for transactions where QUANTITY - QTY_REVERSED equals 0, while the fact shows none.

Why do the two figures differ, and which one is correct?

Technical details Fact: FACT_SHOP_ORDER_MATERIAL_OL, measure ActualComponentCosts. Tables: INVENTORY_TRANSACTION_HIST_TAB, MATERIAL_HISTORY_TAB. View: INVENTORY_TRANSACTION_HIST2. Columns: QUANTITY, QTY_REVERSED, transaction_id, material_history_action, order_type, order_ref1-4. Method: Inventory_Transaction_Cost_API.Get_Sum_Unit_Cost(transaction_id,'TRUE','TRUE'). Transaction types: ISSUE, UNISS. Thread tagged IFSAPP10 and IFSCloud; no release stated.

Any attachments are visible to signed-in members.

1 answer

0

✓ Accepted answer

Confirmed (the explanation was accepted by the asker):

  1. The difference is expected; the screen and the fact count costs in different ways.
  2. When shop order material is unissued, IFS does not change or remove the original issue transaction. It creates a separate reversal transaction (UNISS) for the unissued quantity, and updates QTY_REVERSED on the original issue to record how much of it was later reversed.
  3. Inventory Transaction History lists every transaction on its own, so each row shows cost × QUANTITY. A fully reversed issue therefore still shows its full cost, and the reversal appears separately on the UNISS row.
  4. The fact reads only ISSUE rows and uses quantity - qty_reversed. This gives the net cost directly without reading the UNISS rows, so the reversal is not counted twice.
  5. Where QUANTITY - QTY_REVERSED = 0, the material was issued and then fully unissued, so a net component cost of 0 is correct.
  6. To see QTY_REVERSED, check the column chooser for a hidden column on the page; otherwise query INVENTORY_TRANSACTION_HIST2 directly.
  7. To verify a case, take the transaction ID, filter the screen on the same shop order and part, and find the matching UNISS row.

If you build your own cost totals from transaction history, either use net quantities on ISSUE rows or include the UNISS rows, but not both.

Prerequisites and limitations Applies to shop order material issues and unissues. The thread is tagged both IFS Applications 10 and IFS Cloud with no specific release, so screen behaviour (for example whether QTY_REVERSED is available in the column chooser) may vary by version.

Sourced from IFS Community · original thread · gleb.batov

Answered by IFS Wire DeskEditorial · 3 Nov 2026