Meiyo Advisory
Case Study
Financial Dashboard
Residential Development
2026
Case Study · Residential Development · Eastern Europe

From Fragmented
Excel to a Live
Portfolio View

How a residential developer with 22 apartments and 23 parking spaces gained one consolidated view of their project’s financials — cost tracking, unit-level sales analysis, rental yield, and market-benchmarked pricing — from raw Excel data alone.

22
Apartments
across 2 blocks
69
Cost line items
extracted & cleaned
€8.16M
Total project cost
consolidated
≈2 wks
Delivery time
fully remote
01

The Situation

A residential developer was managing a two-block, 22-apartment project with the project’s financials spread across multiple disconnected Excel workbooks — one for cost cashflows, one for unit sales tracking, one for rental income projections. None of them talked to each other.

There was no consolidated view of total costs paid versus outstanding, no unit-level breakdown of what had been sold at what price, no visibility into rental yield by apartment, and no structured comparison of the portfolio’s pricing against current market rates. Decisions on pricing, sales strategy, and cash management were being made without a clear financial picture of the project as a whole.

02

What We Found

A thorough review of the source data revealed four categories of error — each with material consequences for how the project’s financial position was being understood.

Cost Miscategorisation

Construction, specialist works, and management costs were grouped in the same buckets, making it impossible to benchmark any category individually or identify where overruns were occurring.

Overstated Liabilities

Scheduled future payments were being treated as pending liabilities rather than committed cashflows. This overstated outstanding project costs by approximately €2.5M against actual contract obligations.

Price Per m² Errors

On duplex mansardă units, price per square metre was calculated against interior area only — omitting the sous-toiture space included in the contracted pricing. This inflated the apparent €/m² by over 90% on the affected units.

Currency Inconsistency

Cost data was denominated in RON across multiple sheets with no consistent EUR conversion framework, making it impossible to read the project in a single currency without manual recalculation.

“The most consequential errors were not in the large numbers. They were in the structural assumptions — how costs were categorised, how square metres were defined, how currency was handled. Each one was invisible until someone looked for it systematically.”

03

What Was Delivered

A consolidated, standalone financial dashboard delivered as a single file — no software to install, no external dependencies, fully operational on any device. All values displayed in EUR, with RON equivalents shown in parentheses throughout.

Overview
Total project cost, sales revenue collected, unsold inventory value, monthly rental income, and gross yield — all derived live from the underlying data. Cost breakdown by category with percentage share.
Units
All 22 apartments with status (sold, for rent, available), price per m², advance received, amount outstanding, buyer reference, rental income, renovation budget, and gross yield per unit. Filterable by block and status.
Parking
All 23 spaces with status, sale price, monthly rental income, and annualised yield at 90% occupancy.
Cost Tracker
69 cost line items categorised across Land, Management, Construction, Specialist, Facade, Lifts, Doors, Insurance, Bank, Security, Sales, and Adjustment. Paid-to-date and scheduled amounts shown separately with EUR and RON columns.
Market Benchmarking
Per-unit evaluation benchmarked against current local market data (sourced from public databases), including sale price vs market range, unrealised gain on sold units, and specific value optimisation actions for each apartment.
04

The Outcome

The developer moved from five disconnected Excel files to a single consolidated view of the project’s financial position. Specific capabilities gained: