Multi-entity case study

Multi-Entity Intercompany Elimination Case Study

A 7-entity multi-currency consolidation moved from manual intercompany matching and FX adjustments to an automated elimination workflow with timestamped audit trail.

Client profile: Composite case study based on a $140M revenue holdco with 7 operating entities across 3 currencies, NetSuite GL, 9-person accounting team.
Case study breakdown

How the workflow changed from manual effort to controlled automation

Company context — a 7-entity holdco at $140M revenue

The client is a US-headquartered holding company with $140M annual revenue distributed across seven entities: a US parent, three US operating subsidiaries (services, light manufacturing, ARR), one Canadian subsidiary (services in CAD), one UK subsidiary (services in GBP), and a Mexico subsidiary (light manufacturing in MXN). All seven sit in a single NetSuite OneWorld instance. The finance team is 11 people including the controller and an FP&A director.

Intercompany activity runs about $4.2M per month gross — a mix of management-fee allocations from the parent, service charges between US ops entities, intercompany loans for working-capital balancing, and inventory transfers between the US and Mexico subs. About 18% of that volume crosses currency boundaries, which means transactions originate in one functional currency, pay in another, and need to settle and eliminate cleanly at consolidation.

  • 7 entities, 4 currencies (USD, CAD, GBP, MXN)
  • ~$4.2M / month gross intercompany activity
  • ~18% of IC volume cross-currency
  • Quarterly intercompany loan true-ups for working-capital balancing
  • Monthly management-fee allocations from parent to subs
  • Inventory transfers between US and Mexico (transfer pricing live)
  • Annual external audit; debt covenants require quarterly compliance reporting

Before automation

Intercompany matching ran on a spreadsheet maintained by two senior accountants. FX revaluation was a separate process, often done after consolidation drafts had already been shared, which meant draft P&Ls would change after distribution. Auditors flagged 12 unmatched items at year-end the prior cycle, three of which became findings in the management letter.

  • Manual intercompany matching across 7 entities, 4 currencies, in a spreadsheet
  • FX revaluation in a separate workbook, run after consolidation drafts shared
  • Eliminations posted as journal entries without independent review
  • Consolidation drafts revised 3–5 times per close
  • Cross-currency mismatches auto-resolved to suspense accounts that no one fully owned
  • Intercompany loan tracking in a separate Treasury spreadsheet
  • Transfer-pricing markup reconciliation done annually, in arrears
  • Year-end audit findings: 12 unmatched items, 3 management-letter comments

What Ledger Summit implemented

We replaced the spreadsheet workflow with an intercompany matching engine that pulled directly from NetSuite, applied entity- and currency-aware matching rules, generated elimination entries, and produced an audit-ready evidence pack. Every step preserves the trace from source transaction to elimination posting to consolidated financial statement.

  • Automated intercompany matching across 7 entities and 4 currencies
  • Rule-based elimination JE generation with reviewer routing for judgment cases
  • FX revaluation tied to source GL with per-entity reconciliation
  • Cumulative translation adjustment (CTA) accounting per ASC 830 with documented methodology
  • Exception queue for unmatched items with 24-hour SLA and auto-escalation
  • Intercompany loan tracking integrated with the consolidation engine
  • Transfer-pricing markup auto-applied to inter-entity inventory transfers
  • Consolidation pack with elimination trace, reviewer sign-off, and FX walk

Entity structure variants the engine handles

Multi-entity automation only delivers if it covers every relationship in the org chart. Each pattern below has its own elimination treatment and audit nuance.

RelationshipExampleElimination treatment
Parent → wholly-owned subUS parent → US services subFull elimination on consolidation; intercompany receivable / payable matched
Sister-sub same currencyUS services ↔ US ARRDirect match; eliminations net to zero
Sister-sub cross-currencyUS services ↔ Canadian subRe-measured at the lower-of-rate or contract-rate; FX gain/loss to P&L
Parent → foreign subUS parent → UK subFunctional vs. reporting currency; CTA flows through OCI per ASC 830
Inventory transfer (transfer pricing)US ops → Mexico manufacturingTransfer-pricing markup applied; eliminate intercompany profit in inventory until sold externally
Intercompany loanUS parent loans to UK subEliminate principal on consolidation; interest income/expense eliminate symmetrically
Management-fee allocationParent allocates corp-G&A to subsDocumented allocation methodology; eliminate revenue/expense at consolidation
Joint venture / partial ownershipHypothetical 60%-owned JVProportional consolidation or equity method depending on control assessment
Variable interest entity (VIE)Hypothetical VIEConsolidate per ASC 810 with NCI presentation
Discontinued operationSold-but-not-yet-deconsolidated entityHeld-for-sale presentation; segregated from continuing operations

Currency handling and ASC 830 mechanics

The CAD, GBP, and MXN subsidiaries each have their own functional currency. ASC 830 governs how their financials translate into the USD reporting currency: balance-sheet items at the period-end rate, P&L items at the average rate (or transaction-date rate for material items), and the resulting translation adjustment flows through other comprehensive income (OCI) as cumulative translation adjustment (CTA).

Where the engine adds value is the trace: every CTA dollar is decomposable to the entity, period, and rate movement that produced it. The auditor reaches any CTA balance on the consolidated balance sheet and walks back to the underlying entity-by-entity translation in three clicks. That trace was previously rebuilt manually each year-end and was the source of two of the three prior management-letter comments.

  • Functional currency assessment — documented for each foreign sub on a 3-year refresh cycle
  • Re-measurement — for transactions in non-functional currencies, recorded at transaction-date rate; FX gain/loss flows to P&L
  • Translation — at consolidation, foreign-sub financials translated USD: BS at period-end, P&L at average rate
  • CTA — translation adjustment posted to OCI; tracked entity-by-entity for disposal accounting
  • Highly inflationary economies — re-measure as if functional currency is reporting currency (per ASC 830-10-45)
  • Net investment hedge — designation and effectiveness testing automated where applicable

Implementation timeline — 8 weeks from kickoff to first clean close

  • Week 1: Discovery. Mapped the full intercompany matrix (transactions by entity-pair-by-type), identified known mismatch sources, reviewed prior-year audit findings, documented FX policy.
  • Week 2–3: Build. Matching rules per entity-pair-and-transaction-type, FX integration tied to source GL, elimination JE templates, CTA tracking, intercompany loan module, transfer-pricing markup logic.
  • Week 4: Parallel run. Engine ran in shadow alongside legacy spreadsheet workflow for the May close. Variances investigated line by line; 8 reconciling items found (5 spreadsheet errors, 3 timing differences — engine was correct on all 8).
  • Week 5: Cutover. First close on the new system for June. Prior-period unmatched balances cleared as part of opening-balance adjustment with audit walkthrough memo.
  • Week 6–8: Hypercare. Rule refinement on three edge cases — one timing issue with month-end inventory transfers, one CTA reclassification on a sub being wound down, one management-fee allocation that needed a documented methodology refresh.

Measured results

MetricBeforeAfterDelta
Consolidation cycle time9 business days5 business days−44%
Intercompany unmatched at sign-off12 avg0–1 avg−92%
Manual elimination + FX hours per close32 hours5 hours−84%
Consolidation draft revisions per close3–51−66% to −80%
Year-end audit findings (intercompany)30−3
Year-end audit findings (FX)20−2
Audit fieldwork days for IC + FX3 days1 day−2 days
CTA reconciliation coverage~70%100%+30 pp

Controls and audit-ready evidence

  • Matching engine outputs an immutable trace per cycle: source-by-source, with every variance flagged
  • Elimination JEs require independent reviewer sign-off where rule-based generation isn't deterministic
  • FX revaluation tied to source GL with per-entity reconciliation
  • CTA roll-forward documented per entity, refreshed each close
  • Exception queue auto-escalates after 24 hours; weekly review with controller
  • Audit walk-through ready: matching rules, evidence pack, reviewer log, FX policy memo
  • Transfer-pricing markup methodology documented and tested annually for arm's-length compliance
  • Master-data change log: every entity, currency, or rule change tracked with reason and reviewer

Why we built it this way (vs. BlackLine, OneStream, FloQast)

This client evaluated BlackLine, OneStream, and FloQast for the same problem. Each is a strong product; for a $140M holdco, all three failed the price-to-value test. The Ledger Summit approach delivered the same intercompany matching outcomes (and the same audit-ready evidence) on top of NetSuite, in 8 weeks instead of 6 months, at roughly 30% of the all-in cost of the lowest-priced option.

Our recommendation flips for groups above ~$500M revenue with 15+ entities, especially with a public-company audit posture. At that scale a dedicated platform is usually right. Below it, the layered approach delivers faster, costs less, and produces a stronger audit posture because the logic is explicit rather than abstracted in a vendor's engine.

Alternatives considered — full comparison

OptionTime to live3-year costStrengthsWeaknesses at this scale
BlackLine (account recs + matching + close)5–7 months$520K–$780KStrong audit posture; dedicated rec moduleHeavy implementation; license overhead vs. value at $140M
OneStream (CPM platform)6–9 months$650K–$1.1MPowerful consolidation, planning, and reporting in oneOver-scoped for this size; full-CPM is not what they need yet
FloQast (close + match)3–4 months$240K–$380KLighter implementation; strong close-managementLess robust on cross-currency matching and CTA
NetSuite native intercompany only2–3 months$60K–$120KNo new vendor; uses what's thereCan't auto-match across currencies, no exception workflow, no audit pack
Build on NetSuite + Tool Box AI (selected)8 weeks$140K–$220KRight-sized; audit-friendly; explicit logicMaintenance load on internal team; we transition ownership at month 6

When this approach fits

  • $50M–$500M revenue, 4–14 entities
  • 2–6 currencies in active use
  • NetSuite OneWorld, Sage Intacct, or comparable multi-entity GL already in place
  • Annual external audit with a clean control framework as the goal
  • Finance team of 6–15 with a designated consolidation owner
  • Intercompany activity volume manageable but multi-shaped (loans, fees, transfers, services)

When this approach doesn't fit

  • Above $500M with 15+ entities and public-company readiness. A dedicated CPM platform is usually right at that scale.
  • Heavy variable-interest-entity (VIE) consolidation. ASC 810 VIE assessments are deeply judgmental; the matching engine handles posting, not the assessment itself.
  • JV-heavy structures with proportional consolidation across many entities. Proportional consolidation with NCI roll-forward is more robust on a CPM platform.
  • Highly inflationary economies (Argentina, Venezuela, Türkiye). Engine handles re-measurement but the inflation-accounting overlay needs custom rules; review case by case.
  • Heavy net-investment-hedge accounting under ASC 815. Hedge effectiveness testing is its own discipline; layer with hedge software where applicable.

Lessons learned and what we'd do differently

  • Functional currency assessment first. Two of the three management-letter comments resolved the moment we documented functional currency for each sub. Future projects: this is a phase-one deliverable, not a phase-two cleanup.
  • Build the intercompany matrix as a deliverable in week 1. Naming every entity-pair-by-transaction-type before configuration is the cheapest insurance you can buy.
  • Reserve hypercare for CTA edges. CTA reclassification on entity disposal and partial disposal almost always needs custom rules. Don't try to anticipate them in the build phase.
  • Engage the auditor at week 4, not week 7. A walkthrough of the elimination logic at week 4 caught a methodology nuance on inventory transfer pricing that would have been a year-end re-do.
  • Transfer pricing is its own workstream. Inventory transfers between subs need transfer-pricing methodology before the engine can apply markup correctly. Don't fold this into general elimination logic.

Frequently asked questions

How is this different from NetSuite's native intercompany?

NetSuite's native intercompany handles posting and basic elimination, but it doesn't auto-match across currencies, generate evidence packs, or handle exception workflow at scale. We layered on top of NetSuite, not in place of it.

Could you do this in QuickBooks or Sage Intacct?

Yes — we've done similar implementations on Sage Intacct (which has stronger native consolidation than NetSuite) and on QuickBooks for smaller multi-entity teams (typically 2–4 entities). The matching engine is system-agnostic.

What was the auditor's reaction?

Positive. The evidence pack walked them through every elimination with timestamped logs, reviewer sign-off, and source data attached. Year-end audit fieldwork dropped 2 days vs. the prior cycle, and 5 prior-year findings/comments closed without follow-up.

How do you handle transfer pricing on inventory transfers?

Transfer-pricing methodology is documented separately (cost-plus, comparable-uncontrolled-price, or resale-minus depending on entity-pair). The engine applies the documented markup automatically and tracks the intercompany profit in inventory until the inventory is sold externally — at which point it eliminates as part of consolidation.

What about hyperinflationary subs (Argentina, Türkiye, etc.)?

If functional currency is the local hyperinflationary currency, ASC 830-10-45 requires re-measurement as if functional currency is the reporting currency. The engine supports this with a per-sub override. We document the methodology and re-test annually.

How do you handle intercompany loans?

Intercompany loans are tracked in a separate module integrated with the consolidation engine. Principal eliminates on consolidation; interest income (lender) and interest expense (borrower) eliminate symmetrically. Quarterly true-ups for working-capital balancing are reflected automatically.

What if an entity is sold mid-period?

Disposal accounting reclassifies CTA to P&L for the disposed entity per ASC 830-30. The engine handles full and partial disposals and produces the disposal walk for the auditor. We do this manually with a reviewer for the first one, then the engine handles repeats.

Can you handle minority interest / non-controlling interest?

Yes. Partial-ownership entities are configured with NCI %, and the engine produces the consolidated P&L with NCI presentation per ASC 810. NCI roll-forward is part of the evidence pack.

How long does this take to implement?

Typical timeline is 6–10 weeks for groups with 4–10 entities and 2–4 currencies. Larger or more complex groups (10+ entities, 5+ currencies, hedge accounting, VIE) typically run 10–14 weeks.

What does ongoing support look like?

Quarterly review of new entity-pairs, currency additions, and rule refinements. Engine maintenance can transition to the internal team after 90 days, or stay on retainer if the team prefers. Year-end CTA disclosure prep is handled jointly with the controller.

Is this SOX-ready?

Yes. The control framework — segregation of duties, change log, reviewer sign-off, evidence pack, immutable trace — maps to SOX 404 control objectives. Companies on an IPO track typically have us add a SOX-specific walkthrough memo and key-control narrative in hypercare.

Related Ledger Summit work

Multi-entity consolidation eating your close?

A 30-minute call maps your intercompany matrix and tells you whether matching automation is worth doing.

Book a free call