Intercompany Revenue Eliminations: How to Remove Intragroup Sales From the Consolidated P&L
It was the first time Omar had run the group consolidation on his own. He pulled the trial balances from each of the group’s three entities, dropped them into the Excel model he had inherited, and hit sum. The consolidated revenue number that appeared was $1,350,000. He checked it twice. The group’s external customers had only been invoiced a combined $750,000 during the year. The extra $600,000 was the intercompany sale — Entity A selling goods to Entity B, which then sold them on to real customers. The sale had been counted twice: once when Entity A invoiced Entity B, and again when Entity B invoiced the external customer.
The fix is an intercompany revenue elimination — a consolidation journal that removes the intragroup sale from the aggregated figures before the consolidated P&L is finalised. Most finance teams understand the concept. The difficulty comes in the detail: what exactly gets eliminated, where the credit goes, and what happens to the profit embedded in stock that Entity B hasn’t sold yet. Those questions are what this post addresses, from first principles, with a complete worked example.
The same mechanics apply regardless of industry or group structure. Whether Entity A is a manufacturer selling finished goods to a distributor, a holding company recharging management fees to subsidiaries, or a shared services entity billing for IT support — if the transaction crosses an intragroup boundary, and if the receiving entity’s costs eventually appear in the consolidated P&L, the revenue and the cost must be eliminated. The approach that follows covers the general case for goods; for service revenue eliminations and more specialised industry scenarios, the principles are identical but the specific complications differ.
Intercompany eliminations without the manual work.
BrizoConsol identifies and eliminates intercompany balances automatically at consolidation.
Why Intragroup Revenue Distorts the Consolidated P&L
Consolidated financial statements are meant to present the group as if it were a single entity. A single entity cannot sell goods to itself and record revenue from the transaction. When two group entities trade with each other, the consolidated P&L must reflect only revenue generated from sales to parties outside the group.
When Entity A sells goods to Entity B, two things happen simultaneously: Entity A recognises revenue, and Entity B recognises a purchase (which flows into its cost of sales as goods are sold, or sits in inventory until they are sold). If the consolidation simply adds these figures together, the same goods appear twice — once as Entity A’s revenue when sold to the group, and again as part of Entity B’s revenue when sold externally. The group appears larger and more active than it actually is. Both consolidated revenue and consolidated cost of sales are inflated.
The external perspective test: if the entire group were one entity, it would record revenue only when it sells to an external customer. The intercompany transfer would be a stock movement between warehouses — an internal transaction with no profit or loss recognised at that point. Consolidation restores that view.
This is not just a presentation issue. Overstated revenue affects gross margin ratios, EBITDA, and any performance metrics built on consolidated P&L figures. For groups preparing statutory accounts, presenting uninvestigated consolidated statements without proper eliminations is a material misstatement under IFRS 10, FRS 102 Section 9, and ASC 810.
The Worked Scenario
The examples below use a single group structure throughout. SupplyCo and DistributorCo are both 100% owned by HoldCo (100% ownership is assumed for now — the NCI complication is addressed separately below). During the year ended 31 December:
- SupplyCo manufactures goods at a cost of $461,538 and sells them to DistributorCo at a 30% markup on cost — intercompany sale price: $600,000.
- DistributorCo sells a portion of those goods to external customers for $750,000 external revenue.
- At 31 December, DistributorCo has sold goods costing $480,000 (at transfer price) and holds $120,000 of unsold stock in its closing inventory (at transfer price).
The trial balance extract for the year looks like this before any consolidation adjustments:
| Line | SupplyCo | DistributorCo | HoldCo | Simple aggregate |
|---|---|---|---|---|
| Revenue | $600,000 | $750,000 | — | $1,350,000 |
| Cost of sales | $461,538 | $480,000 | — | $941,538 |
| Gross profit | $138,462 | $270,000 | — | $408,462 |
| Closing inventory | — | $120,000 | — | $120,000 |
The correct consolidated result — what the group’s P&L should show — is $750,000 revenue (external sales only), COGS of $369,231 (SupplyCo’s cost of the goods actually sold to external customers), gross profit of $380,769, and inventory of $92,308 (SupplyCo’s cost of the goods still on hand). Getting from the simple aggregate to the correct result requires two journals.
Journal 1: Eliminate the Intercompany Sale

The first journal removes SupplyCo’s intercompany revenue against the full intercompany purchase that DistributorCo made during the year. The credit goes to COGS for the full $600,000 — the intercompany purchase price of all goods transferred, whether or not they have all been sold on.
| Account | Dr | Cr |
|---|---|---|
| Revenue — SupplyCo (intercompany sales) | $600,000 | |
| Cost of Sales (group) | $600,000 |
Eliminates SupplyCo’s intercompany revenue and the corresponding intercompany purchase from the consolidated P&L. Required under IFRS 10, FRS 102 Section 9, and ASC 810 for all intragroup transactions.
After this journal, the aggregated figures look like this:
| Line | After Journal 1 | Target | Still to adjust |
|---|---|---|---|
| Revenue | $750,000 | $750,000 | ✓ |
| Cost of sales | $341,538 | $369,231 | +$27,692 |
| Gross profit | $408,462 | $380,769 | −$27,692 |
| Closing inventory | $120,000 | $92,308 | −$27,692 |
Revenue is now correct. But cost of sales and gross profit are still wrong, and so is the inventory balance. The $27,692 gap in each line is the unrealised intercompany profit sitting in DistributorCo’s closing stock — the markup SupplyCo charged on the $120,000 worth of goods that haven’t yet been sold to an external customer.
Journal 2: Eliminate the Unrealised Profit in Closing Stock

DistributorCo values its closing inventory at the transfer price it paid to SupplyCo: $120,000. But from the group’s perspective, that stock was produced by SupplyCo at a cost of $92,308. The difference — $27,692 — is a profit that SupplyCo has recognised but that the group has not yet earned, because no external customer has paid for those goods. Until DistributorCo sells them, the profit is unrealised at the group level and must be eliminated.
The unrealised profit is calculated by applying the markup fraction to the closing inventory balance at transfer price:
| Closing inventory at transfer price (DistributorCo) | $120,000 |
| Markup applied by SupplyCo (30% on cost) | 30% |
| Markup as a fraction of transfer price (30 ÷ 130) | 23.08% |
| Unrealised profit in closing stock | $27,692 |
Common error: Applying the markup percentage to the transfer price as if it were a gross margin. A 30% markup on cost is not a 30% gross margin — it is a 23.08% gross margin (30 ÷ 130). Using 30% directly on the $120,000 would give $36,000, which overstates the unrealised profit by $8,308 and understates consolidated gross profit by the same amount.
The journal to eliminate this unrealised profit reduces both the inventory balance and the gross profit figure:
| Account | Dr | Cr |
|---|---|---|
| Cost of Sales (group) | $27,692 | |
| Inventories (group balance sheet) | $27,692 |
Reduces closing inventory from the intercompany transfer price to SupplyCo’s actual production cost. The debit to COGS reduces group gross profit by the same amount — the profit is deferred until the stock is sold to an external customer in a future period.
After both journals, the consolidated P&L and balance sheet reach the correct position:
| Line | Simple aggregate | After Journal 1 | After Journal 2 | Correct? |
|---|---|---|---|---|
| Revenue | $1,350,000 | $750,000 | $750,000 | ✓ |
| Cost of sales | $941,538 | $341,538 | $369,231 | ✓ |
| Gross profit | $408,462 | $408,462 | $380,769 | ✓ |
| Gross margin % | 30.3% | 54.6% | 50.8% | ✓ |
| Closing inventory | $120,000 | $120,000 | $92,308 | ✓ |
The consolidated gross margin of 50.8% reflects the group’s actual profit on goods sold to external customers — SupplyCo’s production cost of $369,231 against $750,000 of external revenue. This is materially different from both SupplyCo’s entity-level margin (23.1%) and DistributorCo’s entity-level margin (36.0%). The consolidated margin is the only figure that shows what the group actually earns from its customers.
What Happens to the Prior-Period Unrealised Profit
If closing stock contained an unrealised profit elimination in the prior period, that elimination reverses at the start of the new period. This happens automatically if you reconstruct all consolidation journals from scratch each period (the correct approach) rather than carrying them forward as permanent entries. The logic is straightforward: stock that was in DistributorCo’s warehouse at the end of last year has been sold to external customers by the start of this year’s consolidation. The profit deferred in the prior period is now realised — it should appear in the current year’s consolidated COGS as part of the normal cost of the goods sold.
If your consolidation workpaper carried a $15,000 unrealised profit elimination at the end of last year, you need to reverse it at the start of this year:
| Account | Dr | Cr |
|---|---|---|
| Inventories (group balance sheet) | $15,000 | |
| Retained Earnings — opening (group) | $15,000 |
Reversal of prior-period unrealised profit elimination. The credit goes to opening retained earnings (not to the current-year P&L), because the profit was correctly deferred in the prior period and is now recognised as those goods pass into the cost of sales for the current year.
Automate your intercompany eliminations
BrizoConsol posts intercompany revenue and unrealised profit eliminations automatically at every period-end — no manual journals, no markup fraction calculations, no prior-period reversals to track by hand. See It in Action
When the Markup Varies Across Product Lines
The worked example above uses a single markup applied uniformly across all intercompany sales. In practice, many groups transfer multiple product categories at different margins — which means the unrealised profit rate varies across the closing stock. Applying a single blended rate to the total closing inventory balance will produce the wrong elimination unless the product mix in closing stock exactly mirrors the product mix in total sales, which it rarely does.
The correct approach is to calculate the unrealised profit separately for each product line or cost category:
| Product category | Closing stock at transfer price | Intercompany markup | Markup fraction | Unrealised profit |
|---|---|---|---|---|
| Category A | $80,000 | 25% | 25/125 | $16,000 |
| Category B | $40,000 | 40% | 40/140 | $11,429 |
| Total | $120,000 | — | — | $27,429 |
The blended average markup fraction on $120,000 total stock would be $27,429 / $120,000 = 22.86% — not far from the Category A rate (20%) but different from applying any single rate directly. For groups with high-value stock and significant margin variation across product lines, the per-category approach is essential to get the elimination right. For a detailed treatment of how margin variation works at scale in a retail context, see central buying office stock eliminations in a retail group.
The NCI Complication
The worked example assumes HoldCo owns 100% of both SupplyCo and DistributorCo. When any entity in the chain has minority shareholders, the direction of the sale — upstream (subsidiary to parent), downstream (parent to subsidiary), or lateral (subsidiary to subsidiary) — determines how much of the unrealised profit is eliminated and how much is attributed to NCI. Lateral sales between two 100%-owned subsidiaries are treated the same as the example above. Upstream and downstream sales involving a partly-owned subsidiary require splitting the unrealised profit between the group and the NCI before elimination. The full treatment is covered in intercompany eliminations when there is a non-controlling interest.
The Multi-Currency Complication
When the selling entity and the buying entity operate in different functional currencies, the intercompany sale is recorded in two currencies. SupplyCo might invoice in USD; DistributorCo books the same invoice in AUD at the spot rate on the invoice date. If the rate moves between invoice date and period-end, the USD and AUD balances will not translate to the same figure at period-end rates. The revenue elimination must be calculated at the rate at which the transaction was originally recorded, and any residual translation difference is handled separately as a foreign exchange adjustment — not as revenue or cost. For the full mechanics, see intercompany eliminations in multi-currency groups.
Industry-Specific Variations
The same principles — eliminate the intercompany sale, calculate and remove any unrealised profit in closing stock — apply across all industries, but the complications vary with the business model. In manufacturing groups, the intercompany transfer is often part-finished goods that require further processing before sale, which changes how the markup calculation works — see eliminating unrealised intercompany margins in a manufacturing group. In food and beverage, perishable stock and daily production cycles mean the closing stock calculation must account for product dating and potential write-downs before the unrealised profit adjustment is applied — see the margin hidden in your closing stock in F&B consolidation. In construction, where revenue is recognised on a percentage-of-completion basis, intragroup subcontracting creates both revenue and WIP eliminations that interact with the stage-of-completion calculation — see eliminating intercompany revenue in a construction group.
Step-by-Step Checklist for Every Period-End
Work through these steps in order before finalising the consolidated P&L. Skipping step one is the most common cause of elimination errors — never start eliminations before reconciling balances.
- Reconcile intercompany balances before posting any eliminations. Confirm that every intercompany sale recognised by Entity A matches an intercompany purchase recorded by Entity B. Timing differences — where Entity A has raised the invoice but Entity B has not yet processed the receipt — produce a mismatch that will leave the elimination out of balance. Resolve every mismatch before moving on. Use your intercompany reconciliation process to surface these gaps at the start of close, not at the end.
- Reverse prior-period unrealised profit eliminations. Before posting current-period entries, reverse the closing stock unrealised profit adjustment from the prior period by debiting inventory and crediting opening retained earnings. If you are rebuilding all consolidation journals from scratch each period (recommended), this reversal is implicit — you simply do not carry forward the prior-period entry.
- Post Journal 1: eliminate the intercompany revenue. Debit the selling entity’s intercompany revenue for the full period amount. Credit cost of sales for the same amount. Ensure you are working from the confirmed reconciled intercompany balance — not from a single entity’s records.
- Identify all intercompany goods transfers with closing stock on hand. For each intercompany supply chain, determine how much stock transferred during the period (or in prior periods, if FIFO/average-cost assumptions affect which stock is still on hand) remains in the buying entity’s closing inventory at the transfer price.
- Calculate unrealised profit by product line or category. Apply the markup fraction (markup ÷ (100 + markup)) to each closing stock balance at transfer price. Do not apply the markup percentage as a gross margin percentage. Where multiple markup rates apply, calculate separately for each rate.
- Post Journal 2: eliminate the unrealised profit. Debit cost of sales (reducing group gross profit) and credit inventory (reducing the balance sheet inventory to cost). The consolidated inventory balance should now reflect the selling entity’s cost, not the intercompany transfer price.
- Check that the consolidated balance sheet balances. Any error in the elimination will show up as an out-of-balance in equity. If the balance sheet does not balance after eliminations, the total of elimination debits and credits is not equal, or an entry has been posted to a wrong line. For a systematic approach to finding the source of a consolidation difference, refer to the intercompany elimination fundamentals guide.
Stop calculating eliminations manually
BrizoConsol connects to your accounting systems, identifies intercompany transactions automatically, and posts the revenue and unrealised profit eliminations at every period-end — saving hours of manual consolidation work every month. Start Free Trial