Skip to main content

Portfolio KPI review

Ask AI Chat “Where do I open Analytics under Business for Portfolio KPI review — use the month-range picker with Overview, Revenue, Occupancy, ADR, and RevPAR tabs, then reconcile on Dashboard and Sales (English labels — Business, Analytics, Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance, Dashboard, Sales — Common Workflows Portfolio KPI review — product navigation only, no account data)?” — then open Business → Analytics (ai-chat-product-context-portfolio-kpi-review-reply.png, ai-chat-product-context-portfolio-kpi-review-flow.mp4). The assistant typically says Business → Analytics, then points at the month-range picker, the KPI tabs (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance), and cross-checks on Dashboard and Sales. Same grounding external MCP clients get from get-vivin-context-finance. Distinct from the broader Analytics module map (“where do I open Analytics for portfolio KPI charts like ADR and RevPAR…?”) and from the Common Workflows hub product maps.

AI Assistant — where to open Analytics for Portfolio KPI review

Walkthrough: ask AI Assistant where to run Portfolio KPI review, then open Business → Analytics, use the month-range picker, open the Occupancy tab, and cross-check the Dashboard (read-only).
First-time workspace setup

Run after go-live when bookings and ledger rows exist — your role needs the Analytics module permission from Settings → Users (setup step 3). Complete Getting Started — Recommended Setup Sequence steps 1–15, Onboarding a New Property — Step 7, the first Upcoming stay per Common Workflows — New inventory to first booking handoff, and first arrivals per Common Workflows — Property setup to first arrival handoff before the first month-end sign-off on new inventory. Lockout catch-up: Getting Started — Lockout catch-up after password recovery.

Finding your way in this guide

Open Step 1 — Open Analytics and set the range; scan Step 2 — Scan Overview then revenue depth in Step 3 / pricing in Step 4 — ADR and RevPAR. Segment outliers: Step 6 — Segment weak metrics; month-end sign-off: Step 7 — Reconcile with Sales and Dashboard. Habit-specific shortcuts live under Related below.

Use this workflow when you need a portfolio-wide performance read (month-end reporting, investor updates, or a health check before changing rates or availability). It centers on the Analytics (KPI workspace) module. For per-listing calendars, channel status, and rent grids, continue in Sales; for a same-day snapshot when Analytics is slow or unavailable, use the Dashboard.

Pair with other workflows

When occupancy or RevPAR look suppressed, pair with Common Workflows — Occupancy KPI to block hygiene handoff (Step 3 → Manual block hygiene — Step 1; analytics-kpi-occupancy-tab.png, audit-manual-blocks-filter-scroll.mp4) and Manual block hygiene; for alert-driven follow-ups after the review, use Notification triage — payment alerts usually enter through Step 4 row-click navigation before you read Dashboard Total Debt in Step 7 below.

Prerequisites
  • Your role includes the Analytics module permission (analytics.module) — see Users and roles
  • You know which month range you are reporting on (for example last closed month, trailing six months, or year-to-date)

Step 1 — Open Analytics and set the range​

Pair with other Portfolio KPI review steps

Month-range setup pairs with Analytics (KPI workspace), Settings → Users and roles, and get-booking-summary on Landlord MCP before you commit to a wide range. Downstream: Step 2 (Overview bars).

  1. Go to Business → Analytics (or /analytics).
  2. Click the month-range control in the toolbar and choose from and to months, or use a quick preset (6M, 12M, YTD) inside the picker.
  3. Wait for charts to finish loading after a large range change (Monthly Trend can take roughly 15–20 seconds on a cold load). On metric tabs, Ranking and Heatmap may still show skeleton bars for a beat after Monthly Trend paints — that is normal; see Analytics — Ranking and heatmap loading.

Analytics — month-range picker open with calendar grid and 6M, 12M, and YTD quick presets

Analytics — Revenue tab with Monthly Trend filled while Ranking still shows skeleton placeholder bars

Empty charts after the spinner

If Monthly Trend stays empty after the spinner finishes, use Retry — or open the Dashboard for a live snapshot — before treating figures as zero. Grey skeleton bars in Ranking alone are still loading, not a zero ranking. See FAQ — Analytics (KPI workspace).

External automation before setting the range

Account-scoped Landlord MCP get-booking-summary returns active and upcoming booking counts for the authenticated account — sanity-check portfolio scale before you commit to a wide month range that slows Ranking and heatmap loads. There is no Analytics MCP export; month-range KPI charts and aggregation toggles remain operator UI only. Contrast booking-scoped Tenant MCP tools — they cannot replace Overview bar trends.

Step 2 — Scan Overview​

Pair with other Portfolio KPI review steps

Overview scan pairs with Analytics — Overview tab, Dashboard module as a live fallback, and FAQ — Analytics (KPI workspace) when charts need a refresh. Upstream: Step 1. Downstream: Steps 3–4 for tab-specific depth.

Start on Overview (/analytics/overview). The grid shows monthly bar charts for revenue, occupancy %, ADR, RevPAR, and maintenance (tickets created) side by side for the same range — useful for spotting one weak metric without switching tabs yet.

Analytics — Overview tab: portfolio KPI bar charts for the selected month range

Note any month where bars diverge (for example strong revenue but falling occupancy) and carry those months into the tab-specific steps below.

External automation on Overview

Account-scoped Landlord MCP get-booking-summary returns active and upcoming booking counts for the authenticated account — use it to sanity-check Overview bar trends before you drill into Revenue or Occupancy tabs. Booking-scoped Tenant MCP tools are the wrong surface for portfolio-wide charts; reserve get-payment-info for per-reservation outliers in Step 7.

Step 3 — Revenue and occupancy depth​

Pair with other Portfolio KPI review steps

Revenue and occupancy depth pairs with Analytics — Revenue and Occupancy tabs, Sales → Multicalendar, and Manual block hygiene when Ranking looks suppressed by holds. Upstream: Step 2. Downstream: Step 4 and Step 6.

Switch to Revenue and Occupancy (URLs /analytics/revenue and /analytics/occupancy). Each tab shares the same layout:

  • Monthly trend (full portfolio totals in scope — not limited to Ranking rows)
  • Ranking (top 20 of the portfolio-wide ranked list for the roll-up you pick)
  • Seasonality heatmap (ranked page; ends with and N more when the portfolio is larger)

Use the aggregation control (By Property, By Unit, and By Owner when your portfolio has multiple owners) to see whether a problem is concentrated in one asset or spread across the book. Vivin re-ranks the whole scope when you change roll-up — see Analytics — Ranking and heatmap paging. Expect brief skeleton bars in Ranking/Heatmap while that ranked page loads (Monthly Trend usually stays put) — Ranking and heatmap loading.

Analytics — Revenue Ranking card showing top portfolio performers By Property beside Monthly Trend

Analytics — Revenue Heatmap ending with and N more when more properties exist beyond the loaded ranked page

Analytics — Revenue tab: monthly trend, revenue ranking, and seasonality heatmap

Analytics — Occupancy tab: occupancy trend, ranking, and seasonality heatmap

Open the information icon beside the month-range picker on Revenue if you need the in-product definitions for totals, ranking rules, or heatmap cells.

Analytics — Revenue tab with the definitions tooltip open beside the month-range picker

External automation on revenue and occupancy depth

When Ranking or heatmap cells point at one property or unit, account-scoped Landlord MCP list-bookings and get-booking help external clients list reservations on that asset before you open Sales → Multicalendar or Bookings → Other filters. get-property and list-listings (thin account-wide unit projection) narrow the asset when aggregation is By Property or By Unit — get-listing includes unavailabilities so you can rule out forgotten manual blocks before you edit rates in Sales → Pricing; pair with Manual block hygiene when occupancy bars look suppressed. get-listing-pricing-table returns the monthly rent grid when Revenue Ranking isolates an underpriced unit — contrast set-listing-pricing-month write tools, which need listings permissions and operator confirmation in the UI. get-vacant-units-next-month gives a forward vacancy snapshot across the book. Booking-scoped Tenant MCP tools are the wrong surface for portfolio Ranking; reserve them for per-reservation outliers in Step 6–7. Surface-choice contrast: Automation & AI — Workflow pairing for surface choice.

Step 4 — ADR and RevPAR (pricing efficiency)​

Pair with other Portfolio KPI review steps

Pricing-efficiency review pairs with Analytics — ADR and RevPAR tabs, Sales → Pricing, and get-listing-pricing-table on Landlord MCP before you edit rates. Upstream: Step 3. Downstream: Step 6 and Step 7.

Review ADR (average daily rate: revenue ÷ occupied nights) and RevPAR (revenue ÷ available nights) on /analytics/adr and /analytics/revpar. Compare ranking and heatmap patterns with Occupancy:

  • Falling occupancy with stable ADR often points to availability or demand, not rate.
  • Falling RevPAR with flat occupancy can mean more empty nights at the same booked rate mix.

Analytics — ADR tab: average daily rate trend, ranking (By Property), and seasonality heatmap

Analytics — RevPAR tab: revenue per available night trend, ranking, and heatmap

External automation on ADR and RevPAR

When ADR or RevPAR Ranking isolates one unit before you edit rates in Sales → Pricing, account-scoped Landlord MCP get-listing-pricing-table returns the monthly rent grid for that listing; set-listing-pricing-month applies a change when the signed-in JWT has listings write permission — operators still confirm the edit in Sales when automation should not write blindly. External clients cannot read Analytics heatmaps from MCP; reconcile assistant answers against the in-product tabs above.

Step 5 — Maintenance workload​

Pair with other Portfolio KPI review steps

Maintenance workload pairs with Analytics — Maintenance tab, Operations → Tickets, and get-ticket-status-counts / get-ticket-aggregates / list-tickets / create-ticket on Landlord MCP when spikes need follow-up jobs. Upstream: Steps 2–4. Downstream: Step 7 (Cost allocation on damage tickets).

Open Maintenance (/analytics/maintenance) to see tickets created per month in range, property/unit ranking, and a ticket-count heatmap. Pair spikes here with Operations ticket queues and property Maintenances settings — Analytics counts creation volume, not open backlog. On Operations → Overview, the Overdue card is the late SLA backlog (priority + hours), not every ticket whose schedule date is in the past. On Operations → Tickets, use the Draft KPI card for far-future Schedule date jobs (Glossary — Draft ticket (display status)) and open ticket Cost allocation when repair spend should tie to Cash Flows ledger rows.

Analytics — Maintenance tab: ticket trend, maintenance ranking, and ticket-count heatmap

Analytics — Maintenance tab with the definitions tooltip open beside the month-range picker

External automation on maintenance workload

Account-scoped Landlord MCP get-ticket-status-counts, get-ticket-aggregates, get-maintenance-closure-rate, get-cost-summary, list-tickets, get-ticket, create-ticket, update-ticket, and add-ticket-comment surface the same Operations → Tickets queue you pair with Maintenance spikes — use get-ticket-aggregates for the property/unit ranking and monthly trend this Analytics tab renders (server-computed over every ticket — the “which property has the most tickets” answer); use get-ticket-status-counts for whole-account status totals, All-card priority chips, Unassigned-card priority chips, Draft-card priority chips, In-progress-card priority chips, Closed-card priority chips, and Cancelled-card priority chips (not a page of titles); use get-maintenance-closure-rate for closed vs received in a named trailing window (not the Closed-card mix) — including a 45-day mid-length window, a 50-day window between 45 and 60, and the 90-day maximum; use get-cost-summary for Cash Flows outflow, average cost per unit, category outflows, and remaining totals after excluding a category in a named month (not Finance income) — including a June 2026 named month alongside the July example, a June category split (including uncategorized when it has outflow), and remaining totals after excluding Maintenance as a different exact name, and after excluding Manutenção in June when that month’s Cash Flows name is Portuguese, and after excluding uncategorized in June when you want remaining totals after dropping that other exact Cash Flows name, and after excluding maintenance in April when you want remaining totals after dropping that month’s exact Cash Flows name, and after excluding maintenance and uncategorized in April when you want remaining totals after dropping both exact names, and for 1–15 April 2026 when you want a custom half-month window, and for 16–30 April 2026 when you want the other custom half-month window, and for February 2026 when you want a fourth named settled month, and for 1–14 February 2026 when you want a custom February half-month window, and for 15–28 February 2026 when you want the other custom February half-month window, and for January 2026 when you want a fifth named settled month, and for March 2026 when you want a sixth named settled month, and for May 2026 when you want a seventh named settled month; use create-ticket when Analytics ranking points at one property and no follow-up job exists yet; update-ticket when assignees or due dates change before month-end sign-off. External clients cannot close tickets or link Cost allocation cash flows from MCP; operators finish on Operations when contractor spend should tie to ledger rows (Glossary — Ticket — linked cash flows).

Step 6 — Segment weak metrics (optional)​

Pair with other Portfolio KPI review steps

Segment review pairs with Bookings → Tenant categories, Finance — Tenant category filter, and Settings → Tenant categories before you change portal rules account-wide. When Finance omits a segment Bookings already lists, see FAQ — Finance tenant category filter parity and Glossary — Finance tenant category cache refresh. Upstream: Steps 3–5. Downstream: Step 7 and Handling a Late Payment — Step 6 when segment debt clusters.

When a dip looks concentrated in one building type, tenant segment, or tag (for example student rooms vs studios, corporate vs short-stay, or unassigned tenants), narrow the operational view before you change rates account-wide:

Signal on AnalyticsWhere to segment next
One property type underperforms in RankingSales → Multicalendar or Pricing — Select tags / Select listing types on the toolbar (same vocabulary as Settings > Categories). When the dip lines up with a future move-in window (for example September student intake), add Date range on the same toolbar so only listings free on every day in that window stay visible — see Sales — Multicalendar date range and the applied-range screenshot below.
Occupancy or revenue dip tied to one tenant segmentBookings → Tenant categories — to list only reservations whose tenant profile carries the selected segment(s), with No tenant category for unassigned profiles (OR-combined server filter). Scope Select properties to one building when Ranking already points at a single asset. For receivables on the same segment, repeat the filter on Finance → Other filters tenant category (Contract Values, Transactions, Deposits). Cross-check profile counts on Tenants — All categories (the menu stays open while you add a named segment, then No category) before you change portal modules or communication rules account-wide — see Settings > Tenant categories and Glossary — Tenant category.
Debt or contract-value outliers beside revenueFinance → Contract Values — Other filters → Property & Listing → Select categories (listing tags on units) plus Booking → Select categories when the slice is reservation-type specific; add Tenant → Tenant category when the outlier tracks a tenant segment — Finance — Tenant category filter. On Bookings, Booking categories stays open while you add a second tag (for example Student, then No booking category) — see Bookings — Booking categories stays open. When outliers include utility overage lines, spot-check Entering Monthly Utility Bills — Step 4 before you change rates account-wide. When Canceled stays inflate segment debt, pair with Cancelling a Booking — Step 6b.
Revenue shortfall from discounted staysFinance → Other filters or Bookings → Other filters — Discounts → With to list reservations with line-level or booking-scoped reductions; reconcile net due on Contract Values
Revenue dip not explained by segment or discountsServices Marketplace — ancillary portal Income on Payment plan and Finance → Transactions that Analytics rent charts may not isolate; cross-check Contract Values before you lower base rent in Sales → Pricing or change Communication Rules audience account-wide — same habit as Step 7 Services Marketplace row
Occupancy dip but segment filters look healthyHub: Occupancy KPI to block hygiene handoff → Manual block hygiene or Audit (Manual Blocks tab) — forgotten holds before you edit Settings > Tenant categories portal rules account-wide (audit-manual-blocks-workspace.png)
Portfolio table noise hides one assetListings → Portfolio — Select tags stays open while you add a second neighbourhood (for example Alameda, then Saldanha) — see Listings — Select tags stays open. Combine with Select types and Search (Listings keeps A–Z order; it does not re-rank by unit name).

Hub matrix: Common Workflows — Portfolio segmentation by tenant category. Finance drawer parity: FAQ — Finance tenant category filter parity.

Bookings list — Tenant categories toolbar menu with segments listed beside Booking categories

Tenants — toolbar tenant category filter with one segment active and narrowed directory

Finance Contract Values — Other filters drawer with Tenant category multi-select and one segment active

Walkthrough: Bookings → Tenant categories on one property → Finance → Contract Values → Other filters mirror → Tenants toolbar No category filter → Analytics for month-end segment review.

Cross-reference Settings > Categories — Filter surfaces for the full map of tag/type pickers. For segment setup and portal rules, start on Settings > Tenant categories. When Ranking revenue dips but tenant-category, tag, and discount filters do not explain the gap, cross-check Services Marketplace ancillary charges before you change communication audiences or base rent account-wide — pair with Managing a Check-out — Step 6 when departure-week In Debt rows cluster on one segment. When utility overage lines cluster on one tenant category, continue Entering Monthly Utility Bills — Step 4 and file Step 6 when bill math is blocked — not only Handling a Late Payment — Step 6. When payment alerts on /notifications started the segment review, you likely already row-clicked from Notification triage — Step 4 — mirror the same Tenant → Tenant category filters on Finance and Bookings before you change portal rules account-wide. When a management lockout delayed this segment pass, recover access with Resetting a Management User Password — Step 3 before you change Communication Rules audience account-wide.

Validate segment slices with tenant-facing reads

When a tenant segment dip in Step 6 might change Settings > Tenant categories portal rules account-wide, booking-scoped Tenant MCP get-tenant-info confirms profile category assignment on sample reservations — get-payment-info checks receivables outliers on one booking before you mirror the filter on Finance → Contract Values. list-bookings-by-email helps when the segment review started from a tenant message, not Analytics Ranking.

External automation on segment-wide KPI dips

Account-scoped Landlord MCP get-booking-summary gives active/upcoming counts before you commit to segment filters on Bookings → Tenant categories or Finance → Other filters — pair list-bookings when several reservations in the same tenant category underperform Ranking together. When segment paperwork lists a fiscal ID or tenant display name instead of booking ids, list-tenants, get-tenant, and get-tenant-bookings resolve the profile and linked reservations before you change Communication Rules audience account-wide — same habit as Handling a Late Payment — Step 6 and Managing a Check-in — Step 6. get-listing-pricing-table returns the monthly rent grid when a segment dip isolates one underpriced unit before you edit Sales → Pricing. External clients cannot read Analytics heatmaps or change Tenant categories portal rules from MCP; operators finish segment setup in the management UI. Surface-choice contrast: Automation & AI — Workflow pairing for surface choice.

Step 7 — Reconcile with Sales and Dashboard​

Pair with other Portfolio KPI review steps

Month-end reconciliation pairs with Dashboard — Total Debt, Finance → Overview, Manual block hygiene, and Entering Monthly Utility Bills — Step 5. Upstream: Steps 1–6. Downstream: Notification triage — Step 5 and Using in-app support when product behaviour blocks sign-off.

Before you change pricing or blocks:

| Question | Where to confirm | | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | Is a listing actually free or blocked tomorrow? | Sales Overview availability popover or channel manager / unit calendar, or Listings unit calendar — click a Timeline day or a Daily / Fortnightly / Monthly bar; the free-unit list stays on that period while you scroll. For a multi-day vacant window (not just today), use Sales → Multicalendar or Pricing Date range — set Start date and End date so the grid refetches to listings free across the whole span. Multicalendar (timeline): Sales — Multicalendar after a start–end date range is applied. Pricing (monthly rent grid): Sales — Pricing after a start–end date range is applied | | Are forgotten manual blocks suppressing occupancy? | Manual block hygiene or Audit (Tools → Audit, Manual Blocks tab) — portfolio-wide holds before you change rates in Sales | | Are utility bills missing for last month? | Utilities — Overview Days Missing Data chart or Bills Missing toggle; see Entering Monthly Utility Bills. When AI extraction or overage posting is blocked despite correct operator steps, continue Entering Monthly Utility Bills — Step 6 before you sign off month-end KPIs. | | Are deposit refunds blocked or contested? | Finance → Deposits — clear the default date range for older move-outs; deposit disputes when retention is contested before month-end KPI sign-off; lifecycle pill states in Glossary — Deposit lifecycle status; portfolio filters via Other filters → Deposit status (Ready to refund, Disputed, Refunded) — Finance — Deposit status filter | | Are security deposits only partly collected? | Finance → Deposits — Partial paid lifecycle card narrows rows where Paid is above zero but below Amount; or Other filters → Deposit status → Partial paid on Bookings / Finance; open a row to see Partially paid on the booking Deposit tab — distinct from Partial Paid rent on Payment Plan (Partial Paid on depositStatus). See FAQ — Partly collected security deposit, Managing a Check-in — Step 3, Glossary — Deposit lifecycle status, and Glossary — Deposit lifecycle status | | Used Delete when Change tenant was needed? | Wrong profile on valid stay — reservation should stay live | Common Workflows — Wrong tenant on a booking — not Delete | | Did Delete Booking hide ledger rows during reconciliation? | FAQ — Manual payments after Delete Booking — soft-archived stays drop Manual Transactions rows (transfer, cash, provider platform) on Finance → Transactions; System Transactions (vIBAN, credit card) stay. Canceled (not archived) bookings keep every type. Illustrated System vs Manual buckets: finance-transactions-type-summary-cards.png. Pair Common Workflows — Cancel Booking vs Delete Booking and Portfolio retirement decisions (use Cancel when ledger history matters; Archive property for building sunsetting). See Finance — Archived bookings on the ledger and FAQ — Cancel Booking vs Delete Booking. | | Are manual receipts still pending or duplicated? | Finance → Transactions — click the amber Pending chip on the All type-summary card (finance-transactions-pending-pill.png), or triage on booking Transactions — Approve / bulk Reject selected; same approval habit as Processing a New Booking — Step 5b, Processing a New Booking — Step 6b (confirmation-week transfers still pending at month-end), Handling a Late Payment — Step 4b, Handling a Late Payment — Step 6b (collections-week transfers still pending at month-end), Managing a Check-in — Step 3b, Managing a Check-in — Step 6b (arrival-week transfers still pending at month-end), Entering Monthly Utility Bills — Step 4b, Cancelling a Booking — Step 2a, Cancelling a Booking — Step 6b (settlement transfers still pending at month-end), and Managing a Check-out — Step 6b (departure-week transfers still pending at month-end); credit note follow-up when rejecting or reverting already-invoiced charges — see Payment Allocation — Correcting mistaken receipts | | Does ancillary portal Income explain a revenue gap? | Services Marketplace — tenant add-on charges on Payment plan and Finance → Transactions that Analytics rent charts may not isolate; cross-check Contract Values and booking Transactions before you lower base rent in Sales → Pricing | | Did maintenance spend spike without ledger ties? | Operations → Tickets — Cost allocation and linked cash flows on damage or turnover tickets surfaced in Analytics Maintenance | | What is live debt and today’s free-room count? | Dashboard KPI cards (Listings, Today, Total Debt, Monthly Revenue) — the Total Debt headline sums underpayment on ongoing bookings only; the subtitle is the slice of that debt on stays older than 15 days (not a repeat of the headline). Hover the card info icon for the in-app rules before you compare with Finance — Glossary — Dashboard KPI cards; closeup below under Dashboard Total Debt subtitle. When payment alerts brought you here first, you likely already row-clicked from /notifications — Notification triage — Step 4. Pair Today with Vacant Units when blocks suppress the free-room headline. | | Which units are free longest for leasing today? | Dashboard Vacant Units — scrollable list sorted by consecutive free days, relative vacancy bars, row click → listing sidebar — Glossary — Vacant Units (Dashboard); pair with Manual block hygiene when counts look suppressed | | Where is forward occupancy heading? | Dashboard Occupancy Forecast — Past + Forecast timeline, Total capacity, ADR (€) legend, 1M–12M horizons — Glossary — Occupancy Forecast (Dashboard); pair with Sales > Overview heatmap and Audit when blocks suppress counts | | When is rent due (not yet collected)? | Dashboard Cash Flow Forecast — rent due dates and Forecast total — Glossary — Cash Flow Forecast (Dashboard); distinct from Finance Overview cash flow (actual collections) and Operations — Cash Flows (non-booking expenses) | | Do Finance totals match Analytics revenue? | Finance > Overview — remember Analytics revenue is chart-oriented; Finance uses receivables logic. Use the seven-card KPI strip (Total Debt, Uncovered Debt, Manual Payments, and related figures), the stacked Income chart (Paid / Scheduled / In debt with month-scoped drill-down — Glossary — Finance income status), Cash flow forecast chart (Month / Day toggle and All payments modal — Glossary — Cash flow forecast (Finance Overview)), and the Debt Aging panel (overdue buckets → booking sidebar). Short walkthrough clips are embedded below. | | Did AI assistant or utility-bill extraction spike? | AI usage API — poll GET /ai-usage/summary for the review month (landlord_chat from AI Chat, utility_bill_extraction from Utilities — AI Invoice Reader); there is no management-frontend screen for this ledger yet. Pair adoption spikes with Entering Monthly Utility Bills — Step 5 (bill volume) and Automation & AI. Internal USD cost only — not tenant billing. See FAQ — How do I see AI token usage for my account?. |

If figures disagree, see FAQ — Analytics (KPI workspace), FAQ — Dashboard Total Debt subtitle, FAQ — Uncovered Debt KPI, the Dashboard note on Total Debt vs Finance Overview under KPI cards, and Glossary — Uncovered Debt.

Validate automation answers during Step 7

Portfolio-wide KPIs in Analytics and Finance should agree with what booking-scoped Tenant MCP tools return for individual reservations — get-payment-info when you spot a receivables outlier during Debt Aging or segment filters in Step 6. For account-wide reads, pair with Landlord MCP instead: get-finance-overview / get-revenue-summary when assistant money answers must match Finance → Overview (income expected vs cash collected; see Finance-sourced portfolio metrics); get-vacant-units-next-month and get-listing-calendar when Vacant Units or Occupancy Forecast look suppressed; get-upcoming-move-ins for forward occupancy; list-payments / get-payment when Total Debt or Debt Aging outliers need ledger detail; get-listing-pricing-table when ADR / RevPAR ranking points at one unit before you edit rates in Sales → Pricing. Do not expect MCP revenue tools to reproduce Analytics ADR/RevPAR heatmaps — those stay operator UI only.

Dashboard Total Debt subtitle​

During Step 7, treat the Dashboard card as a live-portfolio signal — not the full receivables ledger. When you arrived from payment alerts, you likely already opened a booking via Notification triage — Step 4 — hub matrix: Common Workflows — Payment alert to receivables triage (notifications-row-navigate-to-booking-detail.png, notifications-row-navigation-flow.mp4, dashboard-kpi-total-debt-tooltip.png, finance-overview-debt-aging-expanded-bucket.png, finance-overview-debt-aging-walkthrough-flow.mp4); use this subsection to compare that reservation’s balance with portfolio-wide Total Debt and Debt Aging Top debtors before you finish unread cleanup in Notification triage — Step 5.

  1. Open / and read Total Debt on the top-left KPI grid (Listings, Today, Total Debt, Monthly Revenue).
  2. Compare the headline (all ongoing-booking underpayment) with the subtitle (debt on ongoing stays older than 15 days). A large headline with a small subtitle often means most balances are on newer stays — still triage, but Debt Aging on Finance may show fewer +15 d buckets.
  3. Hover the info icon on the card when you need the in-product definition of ongoing bookings and how overdue debt is counted.

Dashboard — Total Debt KPI card with portfolio debt headline and overdue (>15 days) subtitle

When the headline looks high but you need ended-booking receivables, Uncovered Debt, or Manual Payments context, continue on Finance > Overview — see Handling a Late Payment — Step 1. If you just recorded a manual receipt, Total Debt may stay unchanged until Approve payments clears the row — Glossary — Pending manual in-payment (Finance); triage with the amber Pending chip using the same habit as Processing a New Booking — Step 5b, Handling a Late Payment — Step 4b, Handling a Late Payment — Step 6b (collections-week transfers still pending at month-end), Managing a Check-in — Step 3b, Entering Monthly Utility Bills — Step 4b, and Cancelling a Booking — Step 2a before you sign off month-end KPIs.

Uncovered Debt KPI​

During Step 7, after the Dashboard Total Debt read above, open Finance → Overview and compare Total Debt with Uncovered Debt on the seven-card strip (finance-overview-kpi-cards.png). When the two figures are close, deposit cushions are thin — rank Debt Aging Top debtors before you change rates in Sales or clear the last notification rows.

Pair with other Portfolio KPI review guide sections

Month-end sign-off pairs Dashboard Total Debt subtitle with Uncovered Debt on the Finance strip — not on /.

Walkthrough: compare Total Debt and Uncovered Debt on the Finance → Overview KPI strip, then expand Debt Aging Top debtors when deposit coverage is thin.

Finance Income status drill-down​

Cash flow forecast drill-down​

Finance Overview drill-downs (reconcile with Analytics)​

When Analytics Revenue or Occupancy looks off, confirm receivables on Finance → Overview before you change rates in Sales:

Walkthrough: click the red In debt segment on the stacked Income chart, review the month-scoped payment-line modal, then close.
Walkthrough: Cash flow forecast — toggle Day, click a bar, review the All payments drill-down, then close.
Walkthrough: expand an overdue Debt Aging bucket, open a tenant row in the booking sidebar, then close.

Full module reference: Finance > Overview. For collections triage on live debt, see also Handling a Late Payment. When segment-wide arrears remain high after Step 7, continue in Handling a Late Payment — Step 6 before you sign off month-end KPIs.

Month-end sign-off checklist

; Missing utility bills closed on Entering Monthly Utility Bills — Step 5 (escalate extraction defects via Step 6); final utility overages settled per Common Workflows — Check-out final utilities handoff (Entering Monthly Utility Bills — Steps 2–4 → Managing a Check-out — Step 6; utilities-allocations-review-flow.mp4) when departure-week In Debt includes utility lines; utility overage arrears cleared per Common Workflows — Utility overage collections (Entering Monthly Utility Bills — Step 4 / Step 4b → Handling a Late Payment — Steps 1–4; utilities-allocations-row-breakdown-expanded.png, finance-contract-values-in-debt-filter.png, utilities-allocations-review-flow.mp4), confirmation-week Pending receipts cleared per Common Workflows — Confirmation alert triage (Processing a New Booking — Step 5b / Step 6b after Notification triage — Step 4 / Step 5; finance-transactions-pending-pill.png, bookings-detail-transactions-approve-payment-modal.png); Upcoming imports ready for arrival week per Common Workflows — Confirmation to check-in handoff (booking-lifecycle-status-tabs-flow.mp4, workflows-operations-check-in-out-planning-view.png), pre-cancel and departure-week rent/fee arrears cleared per Common Workflows — Cancellation collections before void (Cancelling a Booking — Step 2 → Handling a Late Payment — Step 4b; finance-contract-values-in-debt-filter.png, bookings-detail-transactions-approve-payment-modal.png) and Common Workflows — Check-out collections before refund (Managing a Check-out — Step 6 → Handling a Late Payment — Step 4b; workflows-check-out-coordination-flow.mp4, bookings-detail-payment-plan-tab-schedule.png) before Canceled / Ready to Refund queues look inflated; departure-week duplicate transfers Reverted per Common Workflows — Check-out ledger cleanup before refund when Est. Refund or In Debt lag after tenant paid; Canceled-stay segment debt cleared per Common Workflows — Check-out vs cancellation (Cancelling a Booking — Step 6b — not Managing a Check-out — Step 7; workflows-cancel-booking-refund-modal-flow.mp4, bookings-list-canceled-tab.png) before Ended vs Canceled filters are compared; same-day turnover tickets scheduled per Common Workflows — Same-day turnover coordination when Operations → Check-in & Check-out shows departure + arrival on one unit same day; mid-stay → departure handoff per Common Workflows — Check-in to check-out handoff when Finance → Deposits lifecycle cards or departure-week In Debt look off; departure-week In Debt and Ended status on Managing a Check-out — Step 6 / Step 7 when occupancy or deposit queues look off; unread payment or booking alerts cleared in Notification triage — Step 5 after Dashboard Total Debt and Finance drill-downs agree (file Notification triage — Step 6 when row-click or read-state APIs fail). If a management lockout delayed this review, rerun Step 7 after Resetting a Management User Password — Step 3 and refresh Landlord MCP JWT.

When to file Vivin support vs self-serve reconciliation

Finish Step 7 self-serve checks (Pending receipts, manual blocks, Finance drill-downs, Services Marketplace add-ons) before you open a Vivin support ticket — incomplete Analytics charts after Retry, Dashboard vs Finance mismatches after approval, and segment filters are usually operator workflows, not product defects. File Using in-app support when Vivin behaviour blocks reconciliation despite correct operator steps:

Use the Help & Support drawer from Finance or Analytics so screenshots stay in context. If a management lockout delayed this review, recover access with Resetting a Management User Password before you rerun Step 7 — refresh Landlord MCP Bearer JWT after Step 3 there; catch up unread payment or utility alerts in Notification triage — Step 5 (file Step 6 when row-click fails), finish Entering Monthly Utility Bills — Step 5 / Step 4b when bill entry lagged during lockout, then rerun Dashboard Total Debt reads below. When Sales → Multicalendar still shows blocked days after you cleared manual holds, continue Manual block hygiene — Step 6 before you file support. When /notifications row-click or read-state APIs fail during month-end cleanup, continue Notification triage — Step 6.

Optional — Tab switching walkthrough​

Walkthrough: Occupancy → ADR → RevPAR → Maintenance → Overview with one shared month range.

Portfolio KPI review section cross-reference​

Use the steps above for the main path. For related guides, open Related below, or return to Common Workflows.

Pair with other Portfolio KPI review guide sections

Related below links this workflow to modules, concepts, settings, and escalation paths.

Documentation map & escalation​

Upstream & downstream workflows​

Pair with other Portfolio KPI review guide sections

Bookmark routes pair with Management Frontend Deep Links and Create New menu.

Concepts & settings that shape this workflow​

  • Booking Lifecycle — Status context when reconciling occupancy with live bookings
  • Integrations & Distribution — Multichannel occupancy vs Analytics charts
  • Services Marketplace — Ancillary portal Income during Step 7 Finance review
  • Tenant Portal — Portal adoption and online-payment KPIs during Finance reconciliation
  • FAQ — Tenant contract signing blocked — No PDF yet, mandatory Your Details gates, category locks, or Lease purpose; portal signing vs paper upload on Contract Info
  • Automation & AI — In-product AI and MCP clients to cross-check KPI answers
  • Landlord MCP — Account-scoped get-booking-summary (Step 2), get-ticket-status-counts, list-tickets, get-ticket, create-ticket, update-ticket, and add-ticket-comment (Step 5; Cost allocation remains operator UI), get-property, get-listing (unavailabilities), list-listings, and get-listing-pricing-table (Step 3 Ranking drill-down); get-booking-summary, list-bookings, list-tenants, get-tenant, and get-tenant-bookings (Step 6 segment filters before account-wide portal or Communication Rule changes); get-vacant-units-next-month, get-upcoming-move-ins, get-listing-calendar, list-payments, and get-payment (Step 7); hub
  • Tenant MCP — Booking-scoped get-tenant-info to confirm category assignment on sample reservations during Step 6 segment review; get-payment-info for per-booking receivables outliers before mirroring filters on Finance; list-bookings-by-email when the segment review started from a tenant message; get-payment-info when Step 7 Debt Aging outliers need per-reservation validation against tenant-facing schedules
  • Notification triage — Step 4 — Tenant MCP get-payment-info, list-bookings-by-email, and notify-landlord when payment alerts followed Inbox threads; Landlord MCP for portfolio ledger reads
  • Notification triage — Step 5 — Confirm tenant-facing balances with get-payment-info before Mark all as read
  • Settings > Categories — Tag/type vocabulary on Sales and Finance filters (Step 6)
  • Settings > Tenant categories — Segment portal rules and portfolio filters when Step 6 isolates one tenant category
  • Settings > Invoicing & Payments — Payment deadlines behind Debt Aging (Step 7)

Analytics & sales surfaces​

Finance, utilities & operations surfaces​

Deeper workflow reads​

See Upstream & downstream workflows above for the same guides.

Deeper API reads​

Operator habit hubs​

Day-to-day operator habits (lockout catch-up, pending receipts, payment triage, handoffs, and related playbooks) live on the Common Workflows habit hub.

Deep-link anchors for habit hubs

Check-out vs cancellation​

Lockout catch-up after password recovery​

Pending manual receipt approval​

Notification row-click navigation​

WhatsApp per-booking messaging​

Bot reasoning (audit)​

ChatBot settings​

Payment notification (operator)​

Payment alert to receivables triage​

Finance debt receivables triage​

Handling a Late Payment collections​

Reject/revert mistaken receipts​

Month-end invoicing (fixed date)​

Bulk Hostkit invoicing​

Utility overage collections​

Check-out final utilities handoff​

Check-in to check-out handoff​

Check-out collections before refund​

Check-out ledger cleanup before refund​

Cancellation collections before void​

Rent reduction after invoicing​

Same-day turnover coordination​

Occupancy KPI to block hygiene handoff​

Deposit missing on Finance Deposits​

Deposit lifecycle status​

Partly collected security deposit​

Confirmation to check-in handoff​

Confirmation alert triage​

Portfolio segmentation by tenant category​

Wrong tenant on a booking​

Portfolio retirement decisions​

Provider platform Delete Booking guard​

Archived booking ledger visibility​

Archive property (building-level)​

Cancel Booking vs Delete Booking​

Directory list refresh​

When a directory such as Bookings, Notifications, or Listings needs a refresh during this workflow, use Retry on the alert, or reload the page. Zero rows after a successful load means your filters matched nothing — widen filters or clear search.

See FAQ — Directory list refresh and Common Workflows — Directory list refresh.

Booking sidebar tab refresh​

Inside an open booking, Communication and Tickets load independently — use header Refresh (Communication) or banner Retry (Tickets). Other sidebar tabs stay usable. Whole-module list refresh is Directory list refresh.

See FAQ — Communication or Tickets won't open and Common Workflows — Booking sidebar tab refresh.

Key glossary terms​

Module documentation hubs​