A manufacturing group I supported had operating subsidiaries in six countries, all buying components from and selling finished goods to each other across borders, and precisely zero contemporaneous transfer pricing documentation. Their intercompany pricing had been set years earlier by a finance director who'd since left the company, based on a methodology nobody currently on staff could fully explain. When a tax authority in one of those countries opened an inquiry, the company had ninety days to produce documentation justifying pricing decisions made half a decade earlier by someone no longer there to ask.
Transfer pricing documentation is one of those compliance obligations that everyone agrees is important in theory and almost nobody prioritizes in practice, because the consequence of not having it doesn't show up immediately. You don't get audited every year. You get audited eventually, and by the time you do, the pricing decisions in question might be three or four years old, made by people who've moved on, justified by market data that's no longer easy to reconstruct.
The OECD's Base Erosion and Profit Shifting framework, and the local-country transfer pricing rules that most jurisdictions have adopted in some form based on it, generally require a master file describing the group's global operations and pricing policies, plus a local file for each jurisdiction that documents the specific intercompany transactions and the arm's length justification for their pricing. The requirement to maintain this contemporaneously, meaning at the time the transactions happen rather than reconstructed after the fact when an auditor asks, is exactly the part that falls apart without a system behind it.
The typical approach to transfer pricing documentation is a once-a-year engagement with an outside advisory firm that interviews finance staff, pulls a snapshot of intercompany transactions, and produces a report. This satisfies the letter of the requirement but treats documentation as a point-in-time exercise rather than something that stays current as the business changes. When a new intercompany service arrangement gets set up mid-year, or transaction volumes shift meaningfully because a subsidiary won a large new customer, the annual documentation cycle doesn't catch that until the next report, sometimes eight or nine months later.
What I build instead is a living data layer that captures intercompany transactions as they happen, tagged with the transfer pricing method that applies to each transaction type: cost-plus for intercompany services, resale price method or comparable uncontrolled price for goods transactions, depending on what the group's transfer pricing policy specifies for that category. This means the general ledger coding for intercompany transactions needs to carry enough metadata to identify not just that a transaction is intercompany, but which pricing policy governs it and what the supporting benchmark was at the time it was set.
Arm's length pricing needs to be supported by comparable data, whether that's third-party pricing for similar goods, or a benchmarked margin range for similar service arrangements pulled from databases like RoyaltyStat or Orbis. This benchmarking data goes stale. A margin range that was defensible in 2023 based on comparable company data from that period might not hold up if market conditions shifted meaningfully, and tax authorities do check whether the comparables used are still current.
I set up a refresh cycle on the benchmarking data tied to when it was last validated, not on a fixed calendar schedule. If the underlying comparable company set hasn't changed and margins in the industry have stayed stable, an eighteen-month refresh interval might be fine. If the group operates in a sector with volatile margins, like commodities-linked manufacturing, a shorter cycle is worth the additional advisory cost, because the risk of an outdated benchmark being challenged is higher.
The practical challenge is that transfer pricing policy lives in a document, usually maintained by tax or an outside advisor, while the transactions it governs are booked in the ERP by AP and AR clerks who have never read that document and have no reason to. Bridging this gap means building validation into the intercompany transaction posting process itself: when someone books an intercompany sale, the system checks the pricing against the approved method and flags anything that falls outside the documented range for review before it posts, rather than after, when it's already reflected in a subsidiary's books and harder to unwind.
I've implemented this as a tolerance check against the documented arm's length range at the point of intercompany invoice creation. Pricing within range posts normally. Pricing outside range routes to the tax team for review and either an adjustment or documented justification for the deviation, which itself becomes part of the contemporaneous record.
Don't wait for an audit inquiry to build this. Start by getting your intercompany transaction types cleanly categorized and mapped to a pricing methodology, even if the benchmarking behind that methodology needs updating. Having a documented, if imperfect, methodology that you can show was applied consistently is a materially better position than having no framework at all when a tax authority asks the question. The goal isn't perfection on day one, it's building the muscle of contemporaneous documentation so the gap between policy and practice doesn't widen every year nobody looks at it.