Documentation
*Current FX Rate reflects the previous business day's ECB closing rate, not an intraday live rate.
This model estimates how changes in FX assumptions flow through the P&L based on the company's stated currency exposure. It is an FP&A sensitivity model and does not replicate treasury hedging, transaction exposure, translation accounting or a company's complete internal FX methodology.
01How to Use
- Download the template. Use the Export to Excel button to get a workbook pre-formatted with the P&L lines, currency mix inputs, and FX rate table this tool expects.
- Populate the template. Fill in your budget P&L by line (Revenue, Material Cost, Other COGS, S&D, R&D, Admin, OOI/OOE, D&A, Financial Income, Financial Expenses, Tax rate), and for each line the percentage split of that line across currencies. Currency splits on each line must sum to 100%.
- Upload data. Use Upload Data to load a completed workbook. The tool reads the P&L lines, currency mixes, and FX rates and populates every section of the dashboard from that single file.
- Validation. On upload, the tool checks that required P&L lines are present, that amounts are numeric, and that each line's currency mix sums to approximately 100%. If a check fails, the affected line is flagged and the rest of the file still loads so you can fix and re-upload just the problem rows.
- Review FX assumptions. The currency shocks panel lists every currency in your data with its Budget FX Rate, Current FX Rate, and a Shock slider. Review these before changing anything, since every dashboard figure is calculated from this table.
- Change scenario FX rates. Drag a currency's Shock slider (minus-10 percent to plus-10 percent) to move that currency's rate away from spot. Every KPI, table, and chart recalculates immediately. Reset Shocks returns all sliders to zero.
- Interpret Revenue, EBITDA and Net Income impacts. The headline tiles show FX Impact vs Budget FX Rate for each metric. FX Impact vs Budget FX Rate shows the impact of the current FX rate or a user-defined FX scenario compared with the Budget FX Rate used as the baseline. Green means the FX move helped that metric, red means it hurt.
- Interpret currency contribution and waterfall charts. The Currency Contribution table isolates each currency's individual effect: only that currency moves to its Current or Scenario FX Rate, all others stay at the Budget FX Rate, so the rows sum exactly to the total FX Impact vs Budget FX Rate. The waterfall charts show the same isolated contributions as a running bridge from the Budget FX Rate to the Scenario FX Rate result, ordered by size of impact.
- Export to PowerPoint. Use Export to PowerPoint to generate a slide deck of the current dashboard state, including the KPIs, currency contribution, waterfalls, and commentary.
02FX Rate Methodology
- Budget FX Rate. The rate each currency was budgeted at: the ECB reference close for the Budget FX Rate date (default 31 December 2025), fetched from Frankfurter. You can pick a different date with the date picker next to the Budget FX Rate; if that day has no ECB fixing (weekend or holiday) the most recent earlier close is used and its actual date is shown. This rate never moves inside a scenario; it is the anchor everything else is measured against.
- Current FX Rate*. The base the Shock slider moves from. On page load (and when you click Refresh rates) the app fetches the latest ECB reference rates from Frankfurter (api.frankfurter.app) and shows the effective date the service returns. *Current FX Rate reflects the previous business day's ECB closing rate, not an intraday live rate. DKK is not fetched; it is derived from EUR through its 7.46 peg. If the service cannot be reached, the last loaded values stay in place and a stale-rate warning is shown. The Provider column shows ECB/Frankfurter for fetched rates, or Uploaded/Manual for rates you supply yourself.
- Scenario FX Rate. Current FX Rate adjusted by the Shock slider percentage. This is the rate used to compute every Scenario FX Rate figure.
- Rate convention. All rates are expressed as reporting-currency units per one unit of the foreign currency. The application does not distinguish between spot, average, or period-end conventions; Budget FX Rate and Current FX Rate are simply two independently entered rates, and it is the user's responsibility to enter values consistent with whichever convention their budget process uses.
- Reporting-currency conversion. Every P&L line's currency mix is converted using the relevant rate (Budget FX Rate, Current FX Rate, or Scenario FX Rate) for each currency in that line's mix, then summed. Switching the reporting currency dropdown re-expresses every figure and every historical FX rate in the newly selected currency.
- EUR-pegged currencies (DKK). DKK can be flagged as pegged to EUR at a fixed rate (7.46 DKK per EUR, Denmark's ERM II band). When pegged, DKK's Shock slider is disabled and DKK's rate always follows EUR's rate at that fixed ratio rather than moving independently, so a EUR shock automatically carries through to DKK.
03Calculation Methodology
The core relationship used throughout is: FX Impact = Scenario Value minus Budget Value.
Each P&L line is built from its budget amount split across a currency mix. To revalue a line at a new set of rates, each currency's share of the budget amount is converted at that currency's budget rate to get a local-currency amount, then reconverted at the new (spot or shocked) rate back to the reporting currency. The line's new total is the sum of those reconverted currency amounts.
The P&L flows in this order, each line built the same way from its own currency mix: Revenue, less COGS, equals Gross Profit, where COGS = Material Cost (variable cost of raw materials and components) + Other COGS (fixed production costs, including manufacturing overhead, labor and plant running costs). Gross Profit, less S&D, R&D, and Admin, plus OOI/OOE, equals EBITDA. EBITDA, less D&A, equals EBIT. EBIT, plus Financial Income, less Financial Expenses, equals Pre-Tax Income. Pre-Tax Income, less Tax (Pre-Tax Income multiplied by the tax rate), equals Net Income.
Three versions of this walk are calculated side by side: the Budget FX Rate case (all lines at budget rates), the Current FX Rate case (all lines at today's spot rates, no shock), and the Scenario FX Rate case (current rates plus your shock sliders). The dashboard's headline impact figures show FX Impact vs Budget FX Rate: FX Impact vs Budget FX Rate shows the impact of the current FX rate or a user-defined FX scenario compared with the Budget FX Rate used as the baseline.
Per-currency contribution. Because every line is a linear function of each currency's rate, the tool can isolate one currency's effect at a time: it revalues the whole P&L with only that currency moved to its current rate and every other currency held at budget, then takes the difference from the Budget FX Rate case. Summing every currency's isolated contribution reproduces the total FX Impact vs Budget FX Rate figure exactly.
04Currency Exposure Methodology
- Currency mix entry. Each P&L line (Revenue, Material Cost, Other COGS, S&D, R&D, Admin, OOI/OOE, D&A, Financial Income, Financial Expenses) has its own currency mix, entered as a percentage per currency, which must sum to 100 percent for that line.
- Applying the mix. A line's budget amount is multiplied by each currency's percentage to get that currency's share, which is then revalued at the relevant rate as described in the Calculation Methodology section.
- 1% threshold. In the currency shocks panel and currency contribution table, a currency is grouped into "Other" if its share of total exposure (summed absolute budget across Revenue, Material Cost, Opex, D&A and Financial Income/Expenses) is below 1 percent. It remains included in every total; only its individual row is folded into "Other" for readability.
- "Other" treatment. The "Other" row's contribution is calculated the same way as any single currency's isolated contribution, just applied to the whole group of minor currencies at once rather than one at a time.
- No currency mix on a section. If a line has no currency mix entered, the tool has no basis to revalue it at a different rate, so it is treated as 100 percent reporting currency and does not move under any FX scenario.
- Default from Revenue mix. Where a section has not been given its own currency mix, the tool can default it to the Revenue line's mix as a starting assumption, since Revenue mix is the input most companies have readily available; this default can be overridden per line.
05Scenario Methodology
- What the sliders represent. Each currency's Shock slider is a percentage move applied on top of that currency's Current FX Rate, independent of every other currency's slider, ranging from minus 10 percent to plus 10 percent.
- How a movement affects the model. Moving a currency's slider changes the Scenario rate used for every P&L line that currency appears in, which changes that line's converted amount, which flows through Gross Profit, EBITDA, EBIT, Pre-Tax Income and Net Income in the order set out in the Calculation Methodology section.
- How it flows to Revenue, EBITDA, and Net Income. Because a currency can appear in multiple lines (for example USD in both Revenue and Material Cost), a single shock can move several P&L lines simultaneously, sometimes in offsetting directions; the dashboard's commentary is built to call this out explicitly rather than imply a currency move is only ever favorable or only ever unfavorable.
- Budget FX Rate versus Scenario FX Rate. Budget FX Rate is fixed at the point the budget was set and never changes. Scenario FX Rate is the Current FX Rate plus the Shock percentage and changes every time a slider moves; this is the distinction the whole simulation is built on.
06Data Validation
- Required P&L lines. Revenue, Material Cost, Other COGS, S&D, R&D, Admin, OOI/OOE, D&A, Financial Income, Financial Expenses, and Tax rate must all be present in an uploaded file.
- Numeric validation. Every amount field must parse as a number; non-numeric entries are flagged.
- Currency percentage validation. Every currency percentage entered must be a valid number between 0 and 100.
- Currency mix summing to 100%. Each line's currency percentages are checked against a 100 percent total, with a small tolerance for rounding; mixes outside that tolerance are flagged for correction.
- Required formulas. N/A in the current version: the uploaded workbook supplies values, not formulas, and all calculation happens inside the application after upload, not inside the spreadsheet.
- On validation failure. The specific line or field that failed is flagged with what is wrong; the rest of a valid file still loads, so only the flagged items need correcting and re-uploading.
07Data Lineage
- User-provided: P&L budget amounts, currency mixes, Budget FX Rate date, any uploaded or manually edited rates, the Shock sliders, the Provider label, the tax rate, and historical actuals.
- Externally sourced: none in the current version; the Provider label is descriptive metadata only and does not trigger a live data fetch.
- Calculated: Gross Profit, EBITDA, EBIT, Pre-Tax Income, Net Income, all margins, and every Scenario FX Rate and Current FX Rate figure.
- Derived: per-currency isolated contributions, the "Other" grouping, exposure shares, and the waterfall bridge values, all built from the calculated figures above.