Most cross-border real estate underwriting runs local CPI, local tax, sometimes currency. It stops there. The advisor who has not measured against the dilution of the unit of account has not completed the due diligence.

It is also the hardest output to produce. Three things have to be true at once.

Analytical depth

The full cost stack, the currency layer, the jurisdiction trajectory, the exit liquidity assumption, measured against the actual entry price. Net yield after 60% ABSD. Net yield after the Grunderwerbsteuer stack by state. Net yield after localised depreciation against the base currency reporting. Net yield after the M2 dilution that cuts the real return on every position denominated in an expanding currency. Most of the time, the no is already there in the math. It just has not been written down.

Structural independence

If the fee only lands at completion, the math that produces a no is a commercial problem. The advisor who has to choose between telling the truth and earning the fee will, over time, stop running the math that produces the uncomfortable answer. Not consciously. Structurally. The process adapts to the incentive.

The relationship to deliver it

A no told too early sounds like obstruction. A no told too late arrives after the deposit is non-refundable. A no told without the framework underneath it sounds like an opinion.

Most family office and private capital never receives a no. It receives a softer yes. A conditional yes. A yes with caveats small enough to ignore. The caveats are the no, buried inside a structure designed not to lose the fee.

Capital preservation is not rhetorical. It is the output of due diligence that was allowed to produce the uncomfortable answer.

The most expensive word in cross-border real estate is not the legal fee, the stamp duty, or the carry. It is the yes that should have been a no.

Advisory

If the analysis on a position you are holding or evaluating has not yet produced a written verdict, a 30-minute scoping call is the starting point.

Book a scoping call →