Two entries, and the second one needs a count.
The rule is short. IFRS 10 paragraph B86(c) says profits from intragroup transactions that are recognised in assets, such as inventory, are eliminated in full. Until the goods leave the group, the group has not made a sale. Here is one example month.
The example month
October, two entities in one group, one item
Manufacturing entity
makes 1,000 units at a cost of 45 each 45,000
sells them to the sales entity at 60 each 60,000
profit on its own books 15,000
Sales entity
buys 1,000 units from manufacturing at 60 60,000
buys 400 units from an outside maker at 50 20,000
sells 900 units to customers
holds 500 units at 31 OctoberThe first entry takes out the 60,000 sale between the two entities, so group revenue and cost of sales only show trade with outside customers. The second takes the 15 a unit markup out of whatever group stock is still held. Suppose the 400 outside units arrived first and the sales entity uses FIFO, so all 500 units left on 31 October came from manufacturing.
The October entries
October consolidation entries (FIFO, outside stock first)
Dr Cr
Intercompany revenue 60,000
Cost of sales 60,000
Remove the sale between the two entities.
Cost of sales 7,500
Inventory 7,500
Remove the markup still in 500 units on hand.
Intercompany payable 60,000
Intercompany receivable 60,000
Only while the invoice is unpaid.The current answers, such as the Hyperbots glossary entry, give the second entry as intercompany inventory on hand times the intercompany margin, and stop there. That works when the buyer only stocks goods from the group. Once it also buys the same item from outside, “intercompany inventory on hand” is a figure you have to work out.
Count group stock the way the buyer costs it.
The shelf holds 500 units that look the same. Which of them carry the 15 markup depends on the buyer’s cost formula. IAS 2 paragraph 25 allows FIFO or weighted average, and paragraph 27 says what each leaves in stock: under FIFO, the most recent purchases; under weighted average, a blend of everything bought.
| Buyer’s cost formula | Group units in the 500 | Elimination |
|---|---|---|
| FIFO, outside stock received first | 500 of 500 | 7,500.00 |
| Weighted average | 357.14 of 500 | 5,357.14 |
| FIFO, group stock received first | 100 of 500 | 1,500.00 |
A 6,000 range on one month of one item, from the same physical facts. None of the three is a guess. Each is right for a buyer that costs its stock that way, and wrong for one that does not. Use the formula the buyer already uses in its own books, so group inventory ends up at what the group paid outsiders. Here is the check for the weighted average case.
Proof that 5,357.14 is right for weighted average
Check, weighted average case
Group cost of the pool 45,000 + 20,000 = 65,000
/ 1,400 units = 46.428571 each
Units sold, group cost 900 x 46.428571 = 41,785.71
Ledgers after entries 45,000 + 51,428.57
- 60,000 + 5,357.14
= 41,785.71
Units held, group cost 500 x 46.428571 = 23,214.29
Sales entity books 28,571.43 - 5,357.14
= 23,214.29Both lines land exactly on group cost. That two line check is worth keeping in the close file: it is the first thing an auditor will try to rebuild.
Release it when the goods sell.
The elimination only delays the profit. When the 500 units sell to customers, the group has earned the 7,500 and it comes back through cost of sales.
The November release
November, the 500 units sell to customers
Dr Cr
Inventory 7,500
Cost of sales 7,500
Release October's elimination.
If only 300 of the 500 sell, release 4,500
and carry 3,000 into December.This is the line that most often goes missing. If the October entry sits on a running consolidation ledger and November only adds new eliminations, group inventory stays 7,500 low and November profit stays 7,500 low, with nothing on the trial balance to show it. If you rebuild the consolidation from scratch each period, the same release is a debit to opening retained earnings rather than to inventory.
A month end check for group stock.
- A list of items each entity buys from another entity in the group, with the markup per unit and whether the buyer also buys them from outside.
- Units on hand at period end, counted before next month’s sales post, and split between group and outside stock using the buyer’s cost formula.
- This month’s elimination next to last month’s, with a release line for what has since sold.
- The two line proof: units sold and units held, each at group cost, agree to the ledgers after the entries.
- The tax effect, booked or deliberately set aside, under the framework you report in.
How Rivane handles goods sold between entities today.
In Rivane, an intercompany transfer that names an inventory item moves real stock. The seller’s units are relieved at their cost, the buyer holds them at the transfer price, and the seller’s cost is captured from the posted stock movement rather than typed in. When you run eliminations for the month, Rivane measures the markup still on the buyer’s shelf and posts it to the group’s consolidation book.
Rivane intercompany goods transfers, as built
# Rivane intercompany goods transfers, as built.
transfer an intercompany transfer that names an
inventory item moves real stock: the
seller's units are relieved at their
weighted average cost, and the buyer
holds them at the transfer price
seller cost taken from the posted stock movement,
so nobody types the cost in
elimination for each transfer in the period:
units held = buyer on hand of that item,
capped at units transferred
markup = price per unit
- seller cost per unit
posts Dr cost of sales, Cr inventory
on the group's consolidation book
no profit a transfer at or below cost, or stock
already sold, posts nothing
The limits worth knowing. Rivane counts every unit the buyer holds as group stock, up to the units transferred, so in the example it posts 7,500. Rivane costs inventory at weighted average, which gives 5,357.14, so when the buyer also stocks the item from outside under the same item code, post the 2,142.86 difference back by hand, or keep outside stock under its own item code. Two transfers of the same item in one month are each measured against the same stock on hand, so check the total against what is on the shelf. The run reads on hand at the moment you run it, so run it before next month’s sales post. It looks only at transfers in the month being run and does not post the release when goods sell later; book that line yourself. Goods transfers must be in one currency for now, and the tax effect is not posted.
The short version.
Take the intragroup sale out in full, then take the markup out of group stock still on hand, counted with the buyer’s own cost formula. Release it the month the goods sell. Prove it with units sold and units held at group cost. In the example, getting the count right is the difference between 7,500, 5,357.14 and 1,500 for the same month.
To see how Rivane runs intercompany transfers, eliminations and consolidation across entities in one ledger, read the Rivane multi-entity overview.
Frequently asked questions.
Do we eliminate the whole profit or only the parent’s share when a subsidiary is not wholly owned?
Under IFRS 10 paragraph B86(c) the profit is eliminated in full, whoever owns the seller. Where the seller is a subsidiary with outside shareholders, the effect on profit is then split between the parent and the non-controlling interest in the usual way. The elimination entry itself does not change.
Is there a tax effect?
Usually. The seller has paid or will pay tax on a profit the group has not yet earned, so the elimination creates a temporary difference. IFRS 10 B86(c) points to IAS 12 for it. US GAAP has its own rule for intra-entity inventory transfers, so check which framework you report under before booking it.
What if the transfer was at a loss?
B86(c) eliminates intragroup losses as well as profits, but it also says a loss on an intragroup sale may show that the goods are impaired. If the transfer price is below cost because the stock is worth less, the loss may belong in the group accounts after all. Look at the reason before reversing it.
Sources
- IFRS 10 Consolidated Financial Statements, paragraph B86(c), as published in Commission Regulation (EU) No 1254/2012. Profits or losses from intragroup transactions that are recognised in assets such as inventory are eliminated in full, and IAS 12 applies to the temporary differences that arise.
- IFRS Foundation, IFRS 10 Consolidated Financial Statements. The standard page.
- IAS 2 Inventories, paragraphs 25 and 27, as published in Commission Regulation (EU) 2023/1803. Cost is assigned by FIFO or weighted average, and paragraph 27 explains which items each formula leaves in inventory.
- Hyperbots, Unrealized Inventory Profit Elimination. Read as a current answer: ending intercompany inventory times the intercompany margin, with one example.
A note on how this was researched. IFRS 10 B86 and IAS 2 paragraphs 25 and 27 were read in the text the EU published, downloaded and read directly. The Hyperbots entry was read in full. The two entities, the item, the prices and every amount are examples. The Rivane section describes the product as built today, checked against the intercompany code rather than marketing copy. This is not accounting advice for your specific case.
On embedded social posts: we looked for public posts from standard setters or practitioners on intercompany inventory profit and found none we could verify as current and relevant, so this article uses ordinary citations instead.