Skip to Content
  1. Home
  2. Documentation
  3. Reporting

Guide: reporting, from rent collection to portfolio indicators

Step by step: set the collection thresholds, read the dashboard by building, tick off rent payments, export to Excel and read profitability.

Module immo_reportOdoo 19 Enterprise

Required profile: read-only access to view, service charge manager and system administrator to set the parameters.

Step 1 · Set the thresholds

Open Immo > Configuration > Settings, Rent collection block: the grace period in days (3 by default) and the two colour thresholds (40% and 70% by default). A rent whose due date has not passed by that period is not yet payable.

Step 2 · Read the dashboard

Open Immo > Analysis > Collections by building. Each card shows a bar and the collection rate over a rolling 24 months, the amount collected against the amount due, and the number of unpaid rent calls. Red below the first threshold, orange between the two, green above. A building with no rent due says so in plain words rather than showing an empty bar.

Immo · Analysis · Collections by building
Collections by building dashboard: four buildings above 70% (green), Les Deux Chênes 45 at 65.67% (orange, one tenant three quarters in arrears), Résidence Les Lauriers with no rent due. Default thresholds.
Four buildings above 70% (green), Les Deux Chênes 45 at 65.67% (orange, one tenant three quarters in arrears), Résidence Les Lauriers with no rent due. Default thresholds.

Step 3 · Tick off rent payments

The Reconciliation button on a card opens exactly the lines it counted. Immo > Analysis > Rent reconciliation opens as a pivot table: buildings then tenants in rows, months in columns, outstanding and collected amounts as measures, over the rents of the last 24 months. The Unpaid, Not settled and Due filters change the view; the list view adds the amount called, cancelled, net called and days overdue. Manual reconciliation lets the property manager tick off their own checks.

Immo · Analysis · Rent reconciliation
Rent reconciliation as a pivot table, Unpaid filter
Rent reconciliation with the Unpaid filter: outstanding amount by building and by tenant, month by month; the three unpaid quarters at Les Deux Chênes 45 stand out on the left.

Step 4 · Export to Excel

Immo > Analysis > Reconciliation export produces a formatted workbook for the chosen financial year: months in columns, green and red according to collection.

Step 5 · Read rent trends

Immo > Analysis > Rent trends rebuilds, month by month, the applicable rent, indexations and rent step increases included, and the valued vacancy. The chart view opens on 24 months; the pivot table adds the lost rent, and the list shows whether each unit is let or vacant.

Immo · Analysis · Rent trends
Rent trends by month and by building
Monthly rent over 24 months, grouped by building and stacked. The dip in May 2025 is a vacancy month, valued at €1,512.10 of lost rent in the pivot table.

Step 6 · Read profitability by building

Immo > Analysis > Profitability by building gives, for each financial year: rent invoiced, service charges recharged, service charges incurred, unrecovered service charges (the owner's share), result, vacancy days, lost rent, rent per m² per year, recovery rate, collection rate and gross yield. The result equals rent invoiced minus unrecovered service charges. The "Collection below 90%" filter isolates buildings that are falling behind.

Immo · Analysis · Profitability by building
Profitability by building, financial year 2025: Financial year 2025, one line per building. Use and Vacancy days columns hidden for readability; they can be shown again from the column selector.
Financial year 2025, one line per building. Use and Vacancy days columns hidden for readability; they can be shown again from the column selector. Recharged service charges are counted at the date of their invoice: in the demonstration, the 2025 statements have not yet been invoiced, so the column only picks up the service charge advances called in 2025, and the recovery rate remains low while the unrecovered service charges are small. Demonstration data.

Step 7 · Open the portfolio dashboard

The Analysis menu now brings together the dashboard, the shortfall, the aged balance, the portfolio statements and the twelve-month lists, alongside the existing reports. Immo > Analysis > Portfolio opens the dashboard: potential rent and rent received per month, overdue and unpaid by building, and vacancy, filterable by period.

Immo · Analysis
Analysis menu open: collections by building, rent trends, shortfall, aged balance, portfolio statements and profitability by building
Immo · Analysis. The menu now groups the portfolio dashboard and the new indicators alongside the collection and profitability reports already in place.
Portfolio dashboard
Portfolio dashboard: potential rent per month, rent received per month, overdue and unpaid by building, vacancy per month
Portfolio dashboard, last 12 months filter: potential rent and rent received per month, overdue and unpaid by building and vacancy per month, based on the demonstration data.

Step 8 · Read the shortfall

Immo > Analysis > Shortfall breaks down, building by building, the potential rent into five parts that add up: rent received, overdue and unpaid, rent-free period, vacancy, and not yet due or not invoiced. The chart view isolates the overdue and unpaid amounts month by month, to show where the shortfall is concentrated.

Immo · Analysis · Shortfall
Shortfall in pivot view, last 12 months, by building: potential rent, rent received, overdue and unpaid, rent-free period, vacancy
Immo · Analysis · Shortfall, pivot view, last 12 months filter: the potential rent of each building split between received, overdue and unpaid, rent-free period and vacancy.
Immo · Analysis · Shortfall, chart view
Overdue and unpaid per month as a stacked bar chart, three months highlighted
Same table in chart view, Overdue and unpaid measure per month: three months of arrears stand out clearly over the recent period.

Step 9 · Understand the period served

A quarterly invoice feeds each of the three months it covers, not the month in which it is issued: the shortfall remains readable month by month even for a lease invoiced quarterly. A paused or terminated lease does not appear in the shortfall, and a rent-free period that has been granted is never counted as an unpaid amount.

Immo · Analysis · Shortfall, Tenant filter
Quarterly rent spread over the three months it covers: one month received, two months overdue and unpaid, three months not yet due
Same table, filtered on a lease invoiced quarterly: each invoice of €2,652.00 feeds the three months it covers (€884.00 each), never just the month in which it is issued.

Step 10 · Filter the aged balance by building

Immo > Analysis > Aged balance opens Odoo's standard customer aged receivables report, with an added Building filter alongside the usual filters: the outstanding amount of a single building, by tenant and by age bracket, without pulling in the whole portfolio.

Invoicing · Customers · Aged receivables
Standard Odoo aged balance filtered on a single building, by tenant and by age bracket
Odoo standard aged receivables report, filtered on the Résidence Aurore building: the outstanding amount by tenant and by age bracket is exactly equal to that of the rent reconciliation for this building.

Step 11 · Export the portfolio statements

Immo > Analysis > Portfolio statements opens a wizard: Rental situation or Rents receivable, filterable by company and by building, at a given date, exported to PDF or XLSX. The rental situation lists each unit, its tenant, its rent and its service charge advances, vacancy included. Rents receivable lists the current month and the following month, with days overdue.

Immo · Analysis · Portfolio statements
Portfolio statements wizard: Rental situation or Rents receivable, companies, buildings, date, PDF or XLSX export
Immo · Analysis · Portfolio statements. The choice between Rental situation and Rents receivable, the filter by company and by building, and the PDF or XLSX export.
Exported rental situation: building, unit, type, area, status, tenant, lease, monthly rent, service charge advances, reference rent
Rental situation for Résidence Aurore, captured in its HTML rendering (the PDF engine is not installed on the demonstration instance): nine units, one vacant, monthly rent and service charge advances per tenant.
Rents receivable for the current and following month, by due date, building, unit and tenant, with the amount called and the outstanding balance
Rents receivable for Résidence Aurore, due dates from 1 September to 31 October 2026: invoices already issued and rents still to be invoiced, with the amount called and the outstanding balance.

Step 12 · Track indexations and lease expiries over twelve months

Two working lists complete the Analysis menu. Upcoming indexations (12 months) sorts leases by next indexation, index applied and monthly rent. Lease expiries (12 months) sorts by next expiry and final notice date, with the lease status. A month of vacancy between two tenants appears as a separate line in the shortfall, valued at the unit's reference rent.

Immo · Analysis · Upcoming indexations (12 months)
List of upcoming indexations over 12 months, sorted by next indexation, with the index applied and the monthly rent
Immo · Analysis · Upcoming indexations (12 months), sorted by next indexation: lease, tenant, building, unit, index applied and monthly rent.
Immo · Analysis · Lease expiries (12 months)
List of lease expiries over 12 months, sorted by next expiry, with the final notice date and the lease status
Immo · Analysis · Lease expiries (12 months), sorted by next expiry: final notice date, lease status (running, expiry approaching, notice given) and monthly rent.
Immo · Analysis · Shortfall, Vacancy filter
Vacancy valued for three vacant units in May 2025, at the reference rent of each unit
Same table, Vacancy filter: three vacant units in May 2025, each valued at the reference rent of its unit, for a total of €1,512.10.

Step 13 · Finance a building and read its net yield

On the building record, enter the purchase value, the acquisition costs and the renovation works. Create the loan in Accounting > Loans, calculate or import its amortisation schedule, and choose the building being financed. Each instalment posts its interest to the building's analytic account, never the capital. Immo > Analysis > Profitability by building then shows, alongside the gross yield, the interest, the capital, the net cash flow and the net yield on the total investment, financial year by financial year.

Immo · Portfolio · Building
Building purchase figures: purchase value, acquisition costs and renovation works
The building's purchase figures: purchase value, acquisition costs and renovation works.
Accounting · Loans
Odoo loan linked to the financed building, with its amortisation schedule
The Odoo accounting loan linked to the financed building, with its amortisation schedule.
Immo · Analysis · Profitability by building · Résidence Aurore
Profitability by building: interest, capital, net cash flow and net yield of Résidence Aurore
Interest, capital repaid, net cash flow and net yield by financial year. Demonstration data.
Accounting · Loans · Instalment
Loan instalment whose interest carries the building's analytic account, the capital does not
The interest of each instalment carries the building's analytic account; the capital stays outside analytics.

Key points

The dashboard rate (rolling 24 months, grace period, capped at 100%) and the profitability-by-building rate (calendar year, all calls issued) cannot be compared.

Going furtherThe overview of the domain is on the page Reporting. The screenshots come from a demonstration database with fictitious data.