Operational Transfer Pricing
The Operational Transfer Pricing template tests each tested party’s profit level indicator against the range your policy sets, and works out the true-up that brings an out-of-range entity back to target. It is built on the Common Finance Model and includes everything Enterprise Profitability builds.
How It Works
Section titled “How It Works”For each entity and period, the template:
- Builds the tested party’s profit and loss in the entity’s local currency, because that is the currency it keeps its books and books its true-up in. Revenue is split into intercompany and third-party.
- Sums it over the fiscal year to date. Adjustment periods count as periods of their year, so the last row of a year is the full year.
- Finds the policy in effect for the entity.
- Calculates the profit level indicator, in percent, on the year to date, and compares it with the range.
Profit Level Indicators
Section titled “Profit Level Indicators”You choose one lens for each entity:
| Lens | Definition |
|---|---|
ros |
Return on sales (ROS): EBIT ÷ tested-party sales. |
ncp |
Net cost plus: EBIT ÷ total cost. |
resale_minus |
Resale minus: gross margin ÷ sales. |
EBIT is revenue less cost of goods sold and operating expense. Non-operating lines aren’t in it. Sales are all of the entity’s revenue, third-party and intercompany, because the profit is earned on all of it.
The Policy Table
Section titled “The Policy Table”Your ranges are in the table otp_policy_targets, one row for each entity and the period the policy takes effect. You edit it; the model never writes to it.
| Column | What it holds |
|---|---|
entity |
The tested party. |
role |
A label for its role, such as limited-risk distributor. |
lens |
ros, ncp or resale_minus. |
low, target, high |
The range and target, in percent. low <= target <= high. |
effective_from_period |
The month the row takes effect, as YYYY-MM. It stays in effect until the entity’s next row. |
An entity has one policy at a time. A change of lens or range is a new row with a later effective_from_period. The sample data has three example rows. Replace them with your own.
A row that can’t be judged, such as an invalid month, a blank lens, low, target or high, or a range out of order, makes that entity’s results incomplete rather than guessed.
Results
Section titled “Results”For each entity and period, the results table shows the indicator on the year to date and a status:
| Status | Meaning |
|---|---|
in |
Within the range, inclusive. |
below, above |
Outside the range. |
n-a |
The base, sales or cost, isn’t positive. |
incomplete |
The policy row has a problem, or something needed to compare is unknown. A blank never reads as in. |
When an entity is out of range, true_up_ytd is the profit to add to the tested party for the year to date to reach the target, or to take away if negative, in local currency. true_up is the period’s change in it, so the periods of a year add up to the year’s true-up. The true-up is also stated in the group currency.
Metrics for the assistant and dashboards: TP true-up, Tested-party EBIT, Tested-party sales, Third-party sales, Intercompany sales, Tested-party total cost, Return on sales, Net cost plus, and CO-PA margin by valuation.
CO-PA Margin
Section titled “CO-PA Margin”If you load SAP CO-PA, the template also shows its margin by valuation: legal, group or profit center. A valuation is its own figure, so never add valuations together. A file of CO-PA holds one valuation, which you confirm when you add it. A CO-PA file’s mapping always asks Are revenues shown as negative numbers? When every amount in the file is positive, as in a costing-based line item report, No, revenues are positive is chosen for you. Otherwise, choose the answer before you confirm.
Start a Project
Section titled “Start a Project”-
In Analyze, open Projects and click New Project.
-
Under Start from, choose Operational Transfer Pricing (template). Tick Start with sample data to see a worked example first.
-
Connect your ERPs and run Load. See Get Started With Data Foundation.
-
Edit
otp_policy_targetsfor your tested parties and ranges, then click Apply changes.
Save your policy table with the project by using Actions > Save as my template…. See Save as My Template.