Skip to main content

Utilities

First-time workspace setup

Enable utility types under Invoicing & Payments — Utilities (setup step 7) and finish Listings (step 13) before supplier billing here — see Getting Started — Utilities & Bills Included (optional) and Entering Monthly Utility Bills. Workflow pairing: Modules — Setup sequence after go-live.

The Utilities module tracks and manages monthly property expenses for electricity, water, gas, and internet.

Direct access

Open the Utilities module at platform.vivin.app/utilities. Tab routes include /utilities (Overview, default), /utilities/connections, /utilities/bills, /utilities/timeline, /utilities/cost-map, and /utilities/allocations. Legacy paths /utilities/overview and /utilities/properties redirect to /utilities. Unknown tab slugs also normalise to /utilities. See Deep Links for the full route table.

Pair with other modules

Configure Bills Included ceilings in Listings Step 3; charge tenant overages through Bookings Payment plan and reconcile in Finance. When approved overage lines pass due date without pay-in, payment overdue alerts row-click into the booking — continue with Handling a Late Payment — Step 1. When overages cluster on one tenant category, scope Finance — Tenant category filter (Step 4 of Entering Monthly Utility Bills) — mirror Bookings — Other filters tenant category or Tenants — Tenant category filter when Finance cache parity lags. Section-to-doc pairing: Utilities section cross-reference. Hub tab matrix: Modules — Module cross-reference.

Its primary purpose is threefold: giving you a clear view of your utility costs across your entire portfolio, automatically reading utility bills using AI, and automatically calculating the tenant overage (the portion of a utility bill that exceeds the included amount and is charged back to the tenant).

Portfolio scoping (Select properties)

Most Utilities tabs expose Select properties in the header (desktop) or tab toolbar. The control is a multi-select server-driven search picker: opening the menu prefetches about 10 buildings, typing runs debounced server search, and scrolling near the bottom loads the next page — the same paged pattern as Finance → Other filters → Property and Sales → Pricing. With an active query, internalName matches rank above address-only hits before pagination — see Glossary — Picker search ranking.

Current builds (June 2026 performance pass) use that picker for Utilities instead of downloading the legacy bulk GET /properties list on every cold load — the menu pages through GET /properties/search (prefetch ~10, debounced query, infinite scroll). Selected buildings appear as removable chips; Clear all resets scope on tabs that show the chip row (for example Cost map and Connections).

Utilities Connections — Select properties paged picker open after server search (example AA-11-5D)

Utilities Connections — Select properties picker after server search (internalName matches ranked above address-only hits, example António)

Screenshot freshness

Select properties picker capture refreshed 2026-06-13 01:12 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL VIVIN_DOCS_PROPERTY_SEARCH=AA-11-5D npx tsx tools/capture-utilities-property-picker-screenshot.ts).

Select properties search-ranking capture refreshed 2026-06-17 17:05 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL VIVIN_DOCS_PROPERTY_SEARCH=António npx tsx tools/capture-utilities-select-properties-picker-search-rank-screenshot.ts).

Tabs that honour the same selection include Overview (desktop header), Connections, Bills, Timeline, Cost map, and Allocations — narrow scope before exporting grids or interpreting Cost map colouring on large portfolios.

Tab load failures

Each Utilities tab loads its own API slice. A failure on one tab does not block the others — switch tabs or use Retry (where shown) after connectivity recovers.

TabHow the failure appearsRecovery
OverviewRed alert card — Failed to load overview data. Please try again.Retry on the card
ConnectionsRed alert card — Failed to load connections. Please try again. (optional server detail line)Retry
BillsRed alert card — Failed to load bills. Please try again. (optional server detail line)Retry
TimelineRed alert card — Failed to load bills. Please try again.Retry
Cost mapRed alert card — Failed to load data.Refresh the browser tab or leave and reopen Cost map (no Retry control on this tab today)
AllocationsRed alert card — Failed to load bill allocations. Please try again.Retry

Utilities Overview — tab load failure with Retry

Utilities Connections — tab load failure with Retry

Utilities Bills — tab load failure with Retry

Utilities Allocations — tab load failure with Retry

Screenshot freshness

Tab load-failure captures re-verified 2026-06-17 07:12 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-tab-load-failures.ts). Overview, Connections, Bills, and Allocations PNGs saved. Cost map failure PNG remains follow-up — useCostMap stays on skeleton when GET /bills/cost-map is blocked on cold load or property-scope refetch in headless capture (no Retry control on that tab today).

A successful fetch that returns no rows for your filters is not this state — that is the normal empty state (for example Timeline before any bills exist). See Glossary — Directory list load failures.

How Utility Billing Works

Vivin uses a ceiling model for tenant utility billing. When you create a property, you define a Bills Included amount for each utility — the maximum cost that is absorbed into the rent. If the actual monthly bill exceeds that ceiling, the tenant is automatically charged the difference.

Example
  • Bills Included (electricity) on a property: €50/month
  • Actual electricity bill for March: €73
  • Tenant overage charge: €23 (added to their payment schedule)
  • If the bill had been €42, the tenant pays nothing extra — you absorb the full €42

For this system to work, two things must be set up:

  1. Utility account IDs linked to each property (configured in the property wizard Step 2, managed in the Connections tab)
  2. Bills Included amounts configured on the property (Step 3 of the property wizard)

Overview tab

Pair with other Utilities sections

Overview pairs with Dashboard and the monthly rhythm in Entering Monthly Utility Bills — segment gaps with Finance — Tenant category filter. Full pairing matrix: Utilities section cross-reference.

The Overview tab is the central dashboard for utility expenses across your entire portfolio. It loads with the current month selected, and you can navigate to any past month using the month selector.

Utilities Overview Tab List

The overview shows a list of all utility bills for the selected period. For each entry you can see the property, utility type, billing amount, and whether the bill has been paid or is still outstanding.

Below the list, the tab includes two key charts:

Utilities Overview Billing Charts

Total Expense Value Over Time A stacked bar chart showing utility costs month by month. Each bar is segmented by utility type (electricity, gas, water, internet), each in a distinct color. This lets you:

  • Identify seasonal cost spikes (e.g., higher gas bills in winter)
  • Spot sudden increases that may indicate a leak or equipment fault
  • Track whether your overall utility spend is trending up or down

Days Missing Data by Utility Type A stacked bar chart showing how many days of bill data are missing for each utility type in each month. Missing data gaps mean the system cannot calculate accurate tenant overages for those periods. Use this chart to identify which properties need bills entered for past months.

Filter by property (desktop)

There is no separate “Properties” sub-tab. Legacy URLs /utilities/properties and /utilities/overview redirect to Overview (/utilities).

On desktop, use Select properties in the Overview header (next to the month / date-range control) to limit the bill list and charts to one or more buildings. The picker uses the paged server search pattern — you do not need every property loaded before you can filter. That scoped view is what you use when you want a property-by-property read of costs, connections context, and bill history without leaving Overview.

Utilities Overview — property filter and bill list scoped to selected buildings

Use a scoped Overview when reviewing a property’s operational costs or preparing an owner statement — it is the single place to see monthly utility costs, which account IDs apply, and bills entered for that slice of the portfolio.

Load failures — When the Overview bill list cannot load, the tab shows Failed to load overview data. Please try again. with Retry instead of empty charts. See Tab load failures.

Connections tab

The Connections tab (/utilities/connections) is a property × utility contract-ID matrix. Each row is one property; columns are Electricity, Water, Gas, and Internet contract IDs. Use it to view or maintain the configuration layer that tells Vivin which utility account belongs to which building — the same IDs you can seed in Step 2 of the property wizard.

Utilities Connections tab — property grid with electricity, water, gas, and internet contract ID columns

Connections grid captures refreshed 2026-06-16 07:08 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-connections-grid-screenshots.ts).

Grid layout and permissions

ElementBehaviour
Property (sticky left column)Internal property label for each row
Utility columnsOne contract ID cell per service
Read-onlyUsers without utilities.edit_connections see the full matrix but an amber banner explains they cannot edit — ask an administrator to enable Utilities → Edit connections in Role Permissions
SearchFilters rows by property name
Select propertiesMulti-select server-driven picker — chips + Clear all on tabs that show the chip row
ExportCSV or Excel for rows currently loaded in the filtered grid

Contract IDs are first set in Step 2 of property creation; update them here when a provider changes references without reopening the property editor.

SIMAR water (Loures e Odivelas) — #2110

SIMAR water bills use Cód. Local / Código de Local from the supplier PDF — not Nº de Contador. Strip leading zeros before you save (for example 0181474181474). EPAL follows a similar Código de Local rule; SIMAS and most other operators still use the meter number. See Glossary — SIMAR water contract ID and FAQ — SIMAR water bill property match.

When two or more properties use the same contract ID for a utility type (one physical meter or supplier account serving multiple buildings), Vivin treats that as a shared connection. Timeline and Cost map attribute daily utility intensity across every property tied to that ID — not only the row you happened to filter. Keep sibling properties on the same contract ID aligned in this grid before you interpret Cost map colouring or Allocations rows for a subset of the portfolio.

Editing a cell (inline)

Users with Edit connections permission:

  1. Click a cell (or No connection) to enter inline edit mode.
  2. Type the contract ID (meter number, customer reference, or similar).
  3. Save with the check control or Enter; Cancel with ✕ or Escape.

While editing, a small on/off toggle beside the input reflects whether the cell has a value.

Utilities Connections — inline cell edit with toggle, input, and save / cancel controls

Marking a utility as not applicable (N/A)

Each cell has an on/off toggle in read mode:

  • On (teal) — a contract ID is saved; click the toggle to turn off and persist N/A when that utility does not apply to the property.
  • Off (grey) — empty or N/A; shows No connection. Click the toggle to turn on and open edit mode for a new ID.

Once a valid ID is saved, bill imports and manual Bills entries can match the property automatically.

Scrolling and large portfolios

The grid windows property rows client-side for performance: an initial batch of about 30 properties renders first, then about 5 more rows load as you scroll (skeleton rows at the bottom). A footer shows Showing X of Y connections for the current Search and Select properties scope. Changing search or property chips resets from the first batch.

Narrow before export on large portfolios

On accounts with hundreds of properties, the default unfiltered grid may mix internal test labels with production rows in the first loaded batch. Use Search connections (property code or name) or Select properties to scope the grid to the buildings you care about, then scroll and Export — the download always reflects loaded rows only, not the server total in the footer.

When the filtered slice is larger than the first batch, the footer shows how many rows are on screen versus the server total (for example Showing 30 of 103 connections after scoping with Search connections):

Utilities Connections — scroll footer Showing X of Y connections after a scoped search narrows the grid

Export includes only loaded rows — scroll until the footer shows every connection you expect before downloading a full portfolio extract (or narrow with Search / Select properties first so each batch is meaningful).

Load failures — When the connections matrix cannot load, the tab shows Failed to load connections. Please try again. with Retry (and optional server detail). See Tab load failures.

Business Rule

If a property has no connection (or N/A) for a utility type, the system cannot associate bills for that service with the building. Ensure every active utility you bill for has a real contract ID, or mark irrelevant services N/A explicitly.

Bills tab

Pair with other Utilities sections

Bills pairs with Automation & AI — AI invoice reader, Entering Monthly Utility Bills — Step 2, and AI usage API (utility_bill_extraction on GET /ai-usage/summary when you monitor PDF extraction volume at month-end) — scope with Select properties before bulk actions. Full pairing matrix: Utilities section cross-reference.

The Bills tab is the detailed ledger of every utility bill entered into the system. This is where day-to-day bill management happens.

Use Select properties in the tab toolbar when you enter or audit bills for one building at a time — the same paged picker scopes Received, Missing, and bulk Download selected / Delete selected actions. See Entering Monthly Utility Bills for the monthly operator rhythm.

On desktop, the tab bar includes an Add Bill shortcut in the header row (same entry point as in-tab controls). Inside the tab, use the Received / Missing toggles: Received is the main bill ledger; Missing lists simulated gaps from billing history so you can chase bills before overage math drifts.

Utilities Bills tab — date range, property and utility filters, Received ledger with Add Bill

Switch to Missing when you want a proactive gap list instead of scrolling the Overview Days Missing Data chart. Vivin simulates expected billing periods from your Connections history and flags rows where no Received bill exists yet. Each row shows the property, utility type, expected period, estimated amount, and days overdue (with an OVERDUE badge when the gap exceeds your account deadline). Use Add Bill from a row or the header shortcut to enter the missing statement.

Utilities Bills tab — Missing toggle selected with expected-period gaps and days overdue

Missing-toggle capture refreshed 2026-06-11 12:06 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-bills-missing-tab.ts).

Each bill entry shows:

ColumnDescription
PropertyWhich property this bill belongs to
Utility TypeElectricity, Gas, Water, or Internet
Billing PeriodThe month or date range this bill covers
AmountThe total billed amount
StatusPaid, Unpaid, or Overdue

Filtering Bills

Use the filter controls above the list to narrow down by:

  • Property — view bills for a single building
  • Utility type — focus on one service (e.g., only electricity)
  • Status — isolate unpaid or overdue bills that need action

Bulk selection (Received ledger)

On the Received ledger, use the row checkboxes (or the header checkbox to select every row currently visible in the table) to act on multiple bills at once. When at least one row is selected, a floating bar appears at the bottom of the workspace:

ControlPurpose
N selectedCount of checked rows in the current view.
ClearUnchecks every selected row without changing bill data.
Delete selectedOpens a confirmation modal, then permanently removes the chosen bills. Deletion cannot be undone — prefer narrow Property / date filters before bulk delete on shared workspaces.
Download selectedDownloads a PDF for each selected bill that has an attached file. Rows without a stored PDF are skipped; when one or more downloads fail, Vivin shows a toast so you know the batch did not fully succeed — see Glossary — Export and download failures.

Utilities Bills tab — Received ledger with two rows selected and the bulk actions bar (Clear, Delete selected, Download selected)

Bulk selection bar capture refreshed 2026-06-16 07:09 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-bills-bulk-selection-screenshot.ts).

Walkthrough: select two bill rows on the Received ledger, use Clear, re-select, open Delete selected, then Cancel (demo does not delete staging bills).

Bulk actions apply to the Received ledger only (not the Missing gap list). Header select all affects rows currently loaded in the table — scroll to load more pages before selecting a large portfolio slice, or narrow filters first so every target row is on screen.

Load failures — When the bill ledger cannot load, the tab shows Failed to load bills. Please try again. with Retry instead of an empty Received / Missing table. See Tab load failures.

AI Invoice Reader

Vivin includes an AI-powered invoice reader that automates the process of entering utility bills. Instead of manually typing in each bill's details, you can upload the bill document and the AI will:

  • Automatically detect the utility type (water, electricity, gas, internet) from the document content.
  • Identify the correct property and billing period without manual input, by matching account identifiers and addresses.
  • Extract key data — provider name, billed amount, consumption values, and billing dates — directly from the document.

This eliminates the tedious and error-prone process of manual data entry, especially when processing dozens of bills across multiple properties each month.

Utilities — Add Bill modal, Upload PDF tab with drag-and-drop for AI extraction

From the Bills tab, use Add Bill (header shortcut on desktop) and stay on Upload to queue one or more PDFs; switch to Manual when you prefer typed fields or need to fix AI output. Vivin internal operators can also open + Create New > Tools > Upload Utility Bills from any screen — that opens the Upload Bills dialog (PDF-only batch upload) without the Manual tab on the same modal:

Upload Bills dialog from Create New — drag-and-drop PDFs for AI extraction

The Add Bill path in Utilities keeps Upload and Manual on one modal when you are already on the Bills ledger. Both entry points call the same extraction API; see Create New Menu > Tools.

Each successful PDF read is recorded in the account-scoped AI usage ledger as utility_bill_extraction — poll GET /ai-usage/summary (management JWT) when you reconcile adoption spikes during Portfolio KPI review — Step 7. There is no management-frontend screen for this ledger yet; costs are internal USD metering, not tenant invoices. See FAQ — How do I see AI token usage for my account?.

tip

For the AI Invoice Reader to match bills to properties automatically, ensure that your Connections tab has up-to-date account IDs for each property-utility pairing. The AI uses these identifiers to determine which property a bill belongs to. SIMAR (Loures e Odivelas) water PDFs must use Cód. Local in Connections — not the meter number (#2110); see Glossary — SIMAR water contract ID and FAQ — SIMAR water bill property match.

Adding a New Bill Manually

If you prefer to enter a bill manually (or the AI reader needs correction), click + Add Bill, open the Manual Entry tab, and fill in:

Utilities — Add Bill modal, Manual Entry tab with property, utility type, dates, and amount

  • Property — which property this bill is for
  • Utility type — the service provider type
  • Billing period — the month or date range the bill covers
  • Amount — the billed amount (what you owe to the utility company)
  • Due date — when the bill must be paid

Once saved, the system compares the bill amount against the Bills Included ceiling for that property and utility type. If the bill exceeds the ceiling, the system creates an overage charge in the relevant tenants' payment schedules automatically.

Business Rule

Bills must be entered for the correct billing period. An electricity bill covering March must have March as its period — if you enter it in April with April as the period, the overage calculation will be assigned to the wrong month and wrong tenants.

Timeline tab

The Timeline tab (/utilities/timeline) is a horizontal calendar grid: each row is a property (with utility coverage shown as coloured segments), and columns are days or weeks depending on zoom. It answers “where do we have bill coverage, and where are we blind?” at a glance.

Header tools (desktop)

  • Search properties — narrows which property rows stay visible (matches property names).
  • Select properties — same multi-select pattern as Overview: pick one or more buildings to scope the grid; combine with search when you have a large portfolio.
  • Clear all — appears when search or property chips are active; removes filters in one click.
  • Legend (next to the tab strip on wide screens) — Covered (green fill) means bill data is present for that slice of time; Today is a vertical marker; Deposit refund deadline is a separate marker used when the product highlights that cut-over in the header (useful when reconciling utility periods around move-outs).

Zoom

  • Use Daily vs Weekly in the timeline toolbar to switch column granularity (the control is labelled Daily / Weekly in the UI).
  • Today jumps the scroll position so the current date is in view after you have been exploring past or future months.

Utilities Timeline tab — property rows, weekly columns, legend, and Today marker

Walkthrough: switch Weekly / Daily zoom, recenter with Today, then narrow rows with Search properties.

Empty state

If there are no utility bills yet, the tab shows an empty state explaining that you need bills before timelines render—start from the Bills tab or your ingestion workflow, then return here.

When you open a bill PDF from the timeline grid and the file cannot be fetched, Vivin shows a toast instead of a blank preview — see Glossary — Export and download failures.

Property rows in the grid load in the same infinite-scroll batches as the Connections tab (about 30 properties first, then about 5 per scroll). Scroll vertically through a large portfolio to load additional rows before assuming every building is visible. Loaded rows are ordered by property internal name using natural numeric sort (same ordering as Listings unit lists).

Load failures — When the timeline grid cannot load, the tab shows Failed to load bills. Please try again. with Retry. See Tab load failures.

Cost map tab

Pair with other Utilities sections

Cost map pairs with Sales — Multicalendar for occupancy context and Listings — Bills Included ceilings. Full pairing matrix: Utilities section cross-reference.

The Cost map tab (/utilities/cost-map) maps daily utility intensity to listings (rooms/units) under each property. You get a wide matrix: properties and their units on the vertical axis, days on the horizontal axis, and cell colouring that reflects occupancy / booking context and whether utility cost could be attributed for that day.

The matrix is computed on the server (GET /bills/cost-map, cached per property selection) and fetched only when you open this tab — switching away from Cost map does not keep reloading the heavy join in the background. Expect a short skeleton while the first batch arrives; property/listing sidebars still load their own lightweight data for drill-through.

Load failures — When the cost-map request fails, the tab shows Failed to load data. in a red alert card. Refresh the page or reopen the tab — there is no Retry button on this tab today. See Tab load failures.

Legend (desktop, next to the tab strip)

  • Mid-term — long-stay / coliving style occupancy colouring.
  • Short-term — short-stay or channel-heavy stays (including iCal-style short-term where applicable).
  • Manual block — operator-defined calendar blocks that affect occupancy display.
  • Vacant — no qualifying stay on that day for that unit.
  • No data — the cell cannot be coloured because underlying bill or mapping data is missing.

Utilities Cost map tab — listing × day matrix with legend and property scope

Cost map matrix capture refreshed 2026-06-22 01:20 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-cost-map-tab-matrix-screenshot.ts).

Walkthrough: open Timeline, switch to Cost map, then scroll the listing × day matrix to scan occupancy colouring and legend.

Property scope

Use Select properties in the tab header (when shown) to limit the matrix to specific buildings—especially important on accounts with many properties so the grid stays readable.

Shared utility connections warning

If your selection includes a property that shares a contract ID with another building you did not select, an amber banner appears above the matrix:

  • Title: Shared utility connections detected
  • Body: explains that cost allocation may be wrong while sibling properties stay out of scope
  • List: each affected property, utility type, and the missing property names marked (not selected)

Utilities Cost map — Shared utility connections detected alert with one property selected

Shared-contract alert capture refreshed 2026-07-27 16:10 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-utilities-cost-map-shared-contract-alert.ts — select AA-15-RD-B alone so electricity sibling AA-15-RE_TU stays out of scope).

Walkthrough: on Cost map, open Select properties, choose one building that shares a utility contract, and read the amber Shared utility connections detected banner listing siblings still out of scope.

Add every property on that shared contract to Select properties (or clear the filter to load the full portfolio) before you rely on cell colouring or run Recalculate allocations. The same contract-ID sharing is visible on the Connections tab when multiple rows show identical IDs in a column. Month-end operators: see Entering Monthly Utility Bills — Step 3 when overage review starts on Overview but Cost map intensity still looks off for one building.

Recalculate allocations

The tab exposes Recalculate allocations (maintenance-style control). It calls the API to tear down and rebuild allocation rows, then reloads the page on success. Use only when you understand the impact on downstream Allocations and tenant charges; prefer normal bill corrections first.

Drill-through

Clicking relevant cells or rows can open the property or listing sidebars in place so you can adjust Listings settings (for example bills-included ceilings or unit context) without losing your place in Utilities.

Allocations tab

Pair with other Utilities sections

The Allocations tab (/utilities/allocations) lists utility costs allocated to bookings with a status: pending review, approved (charged through the product’s “charged” state), or rejected. Use it to reconcile what the system proposes to bill tenants against what you expect from Finance and each booking’s payment plan.

Summary row (#2195)

Five clickable scope cards replace the legacy Status dropdown. Each card shows a count and currency total; click a card to filter the table to that lane (the active card gets a highlighted border). Hover the status pill on a card for a short tooltip.

CardMeaning
PendingAwaiting review — approvable or rejectable
ApprovedCharged through the product (server state charged)
RejectedOperator or Vivin rejected the proposed charge
AbsorbedLandlord-borne cost on a calendar block with no booking — read-only, never approvable or rejectable (grey badge)
Total allocatedAll actionable + absorbed rows in the property-scoped summary
Summary counts vs the table

Card counts and euro totals come from a property-scoped server summary: they respect Select properties but do not change when you switch the active scope card, Booking status, Search, or Group by. That keeps card labels stable while you drill into the table — row counts and footer totals always match the active filter set. Absorbed rows are excluded from the Pending, Approved, and Rejected lane counts so bulk approve/reject cannot sweep them in by mistake.

Load failures

If the first allocations request fails, the tab shows a red alert card — Failed to load bill allocations. Please try again. — with Retry instead of an empty table. Summary cards and filters stay hidden until data loads. See Tab load failures and Glossary — Directory list load failures.

Loading more

The allocation table loads in batches of 30 rows. Scroll near the bottom of the list to fetch the next batch (a loading indicator appears while the request runs). Changing the active scope card, Booking status, Search, Group by, or Select properties reloads from the first batch.

Filters, grouping, and search

  • Search — matches booking / property text in the allocation list (same debounced pattern as other modules), including the tenant’s concatenated full name when you paste first and last name together (for example Maria Silva).
  • Scope cards — click Pending, Approved, Rejected, Absorbed, or Total allocated to filter the table (replaces the old Status dropdown).
  • Group byNone (default flat list), Billing period, Property, or Tenant. Grouped sections collapse/expand; Group by and column sort are mutually exclusive — picking a group mode clears the active column sort arrow.
  • Booking status — narrow by Ongoing, Upcoming, Ended, Cancelled, or Refunded stays.
  • Select properties — portfolio scoping when the control is shown.
  • Clear all — resets search, scope card (back to Total allocated), booking-status chips, grouping, and property selection in one action.

Sortable columns

When Group by is None, click column headers to sort server-side: Billing period, Property, Unit, Tenant, Booking status, Value, and Status. Sort direction toggles on repeat clicks.

Row details and drill-ins

Expand a row to see a per-utility breakdown (electricity, water, gas, internet), the bill total, the maximum allowed (bills-included ceiling context), days calculated, and the per-booking share. That breakdown is what operators use to validate a suggested charge before it hits tenant schedules.

In-page drill-ins — click the tenant name to open the booking sidebar; click unit or property cells to open the listing or property sidebar without leaving Utilities (#2195).

Bulk actions

When one or more pending rows are selected, Approve selected and Reject selected appear. Large selections are sent in chunks of 500 ids per request so very wide approve/reject passes do not fail on the server cap. When one or more approved (charged) rows are selected, Undo selected appears instead — you cannot mix pending and approved rows in one selection (#2196).

Undo approval returns mistaken approvals to pending without changing charges that are already invoiced:

ControlWhen it appearsWhat it does
Undo approval (row menu)Approved scope card or table row in charged statusOpens a confirmation dialog, then moves that allocation back to pending.
Undo selected (bulk bar)Multiple charged rows selectedSame as row undo; processes ids in chunks of 500 per request.

The confirmation copy shows how many allocations and the total € value will return to pending. Invoiced charges are untouched — if the tenant receipt was already invoiced, undo is blocked with "Cannot undo: the charge has already been invoiced." Bulk undo may partially succeed: the UI reports how many rows were undone, skipped (already invoiced/paid or no longer approved), or failed. Use Finance → Transactions → Reject or Revert when money already posted and you need a credit note instead of undoing the allocation row.

Who can undo approval

Undo approval and Undo selected follow the same Vivin internal gate as Approve / Reject — buttons stay visible but disabled for other roles.

Absorbed rows have no checkboxes or row actions. If an overage charge was already invoiced and you must remove a mistaken tenant receipt, Reject selected on Finance → Transactions (or Reject payment on the booking) shows the same credit note warning as other ledger actions — see Entering Monthly Utility Bills — Step 4b.

Who can approve or reject

Approve, Reject, and the matching bulk controls are enabled only for Vivin internal management users (the UI keeps the buttons visible but disabled for other roles). Customer Property Managers and similar roles can review allocations, filters, and breakdowns, but turning a pending row into an approved charge or a rejection is performed through Vivin operations unless your contract says otherwise. Use How it works in the tab header for the in-product explanation modal.

Help

Click How it works (question-mark control) to open the allocations explainer without leaving the page.

Utilities Allocations tab — summary cards, filters, and allocation list

Pending scope card narrows the table to rows awaiting review (the table and footer totals update for that slice; summary card counts stay property-scoped):

Utilities Allocations tab — Pending status filter with pending rows in the list

Screenshot freshness

Allocations v2 scope cards, Group by, Absorbed lane, and drill-ins documented 2026-07-27 04:00 UTC (round 709, #2195). Existing PNGs predate the five-card toolbar — refresh utilities-allocations-tab-list.png and utilities-allocations-pending-filter.png when staging auth recovers.

Expand a row to inspect the per-utility breakdown (bill total, bills-included ceiling context, days calculated, and the booking share) before approving or rejecting:

Utilities Allocations tab — expanded row showing per-utility cost breakdown

How it works opens an in-page explainer modal (status lifecycle, who can approve, and how charges reach tenant schedules):

Utilities Allocations tab — How it works explainer modal

Walkthrough: Pending filter → expand a row for the utility breakdown → open How it works → close the modal (demo does not approve charges).

Smart Cost Distribution

Vivin supports flexible methods for distributing utility costs to tenants:

  • By room — split costs equally across all occupied units in a property.
  • By usage — allocate based on individual consumption data when sub-metering is available.
  • By days of stay — prorate costs based on how many days each tenant occupied the unit during the billing period.

When Account Settings → Utilities → Charge Time is End of Booking, Vivin defers creating an allocation row for a stay until its check-out date has passed — but while that stay is still occupying a unit, it still counts toward how many rooms share each day’s overage (#2111). Example: two coliving rooms share one electricity bill; tenant A checks out in June while tenant B stays through August. March overage is split 50/50 across both rooms for every day both were occupied; tenant A’s charge posts only after A’s checkout, and tenant B’s share posts after B’s checkout — A is not charged for B’s remaining weeks. With Every Month, active bookings receive their share during the billing month instead. See Glossary — End-of-Booking cost split.

Distribution methods are configurable per unit, property, or building to match your management style. Once calculated:

  • Charges can be added to tenant invoices as part of their regular payment schedule.
  • Alternatively, charges can be deducted from the security deposit at check-out.
  • Tenants are notified automatically with a full, transparent cost breakdown showing how their share was calculated.

How Tenant Overage Charges Are Created

Pair with other Utilities sections

When a bill is entered and exceeds the Bills Included ceiling, Vivin automatically generates an overage charge for the affected tenants. Here is the full flow:

  1. Bill entered for Property A, Electricity, March, €80
  2. Ceiling checked — Property A has Bills Included of €50 for electricity
  3. Overage calculated — €80 − €50 = €30 overage
  4. Tenants identified — all active bookings in Property A during March are identified
  5. Allocation row created — pending rows appear on Utilities → Allocations for operator review (when Account Settings → Utilities has Tenant Notification set to Charge or Notify & Charge)
  6. Approved and charged — Vivin internal users approve the allocation. Both Charge and Notify & Charge add a line to the tenant payment plan on approval; Notify & Charge also notifies the tenant about the overage
  7. Tenant notified — when your communication rules cover utility charges, the tenant may receive email or portal messaging about the new amount

If multiple units exist within a property and each has a different Bills Included ceiling (configured at the unit level), the overage is calculated independently for each unit.

Key Business Rules for Utilities

Summary
  1. Bills Included is a per-property ceiling. Set it during property creation (Step 3) or edit it afterward in the property's payment settings. It represents the maximum utility cost absorbed into the rent — anything above this becomes a tenant charge.

  2. Missing bill data = missing overage charges. If you forget to enter a utility bill for a month, no overage will be calculated for that period. Use the "Days Missing Data" chart in the Overview tab to identify and fill gaps.

  3. Billing periods must be accurate. A bill must be assigned to the period it covers, not the period it was received. Entering a January bill in February is fine — just ensure the billing period is set to January.

  4. Account IDs must be unique per utility per property. Each utility connection requires a unique account ID. If two properties share the same electricity meter (unusual but possible), they will share the same connection entry.

  5. Overages are calculated at the property level by default. If your property has multiple units, the overage is split across all active bookings. Configure Bills Included at the unit level if different units should have different ceilings.

Utilities guide subsection index

Pair with other Utilities module guide sections

This index pairs Utilities tab sections with Related subsections — use it when overage lines on Bookings — Payment Plan disagree with Allocations or Finance ledgers. Full pairing matrix: Utilities section cross-reference.

SubsectionWhen to open itPair with
Portfolio scoping (Select properties)Multi-building scope before tab workGlossary — Server-driven search picker, Finance — Property and listing filters
Tab load failuresRed alert when a tab fetch failsGlossary — Directory list load failures, FAQ — list page load failures
How Utility Billing WorksBills Included ceiling modelListings — Step 3 Extra payments, Settings > Utilities
Overview tabPortfolio KPIs and missing-bill gapsEntering Monthly Utility Bills, Finance — Tenant category filter
Connections tabSupplier account IDs per propertyListings — Creating a New Property, Onboarding a New Property
Bills tabAI invoice reader and bill entryAutomation & AI — AI invoice reader, Entering Monthly Utility Bills — Step 2, AI usage API (utility_bill_extraction)
Timeline tabChronological bill historyBills tab, Entering Monthly Utility Bills
Cost map tabProperty × month cost heatmapSales — Multicalendar, Listings — Bills Included
Allocations tabTenant overage charge reviewBookings — Payment Plan tab, Notifications — Payment overdue alerts
How Tenant Overage Charges Are CreatedCeiling split and payment-plan postingFinance — Contract Values tab, Tenant Portal — Utilities
Key Business Rules for UtilitiesOverage invariants and notification hooksNotification triage, Settings > Tenant categories
Deeper workflow readsStep-by-step procedures in this moduleCommon Workflows hub subsection index, Entering Monthly Utility Bills
Lockout catch-up after password recoverySign-in restored; module backlog accumulatedCommon Workflows — Lockout catch-up, Getting Started — Lockout catch-up, Resetting a Management User Password — Step 3
Pending manual receipt approvalRecorded bank transfers still pending until Approve paymentsCommon Workflows — Pending manual receipt approval, Finance — Pending manual payments, FAQ — Manual receipt still pending
Reject/revert mistaken receiptsDuplicate or wrong-booking receipts after ApproveCommon Workflows — Reject/revert mistaken receipts, Payment Allocation — Correcting mistaken receipts, Glossary — Credit note (payment reject/revert)
Notification row-click navigation/notifications row-click before overage triage on AllocationsCommon Workflows — Notification row-click navigation, Notification triage — Step 4, Allocations tab
Payment alert to receivables triagepayment overdue on approved utility overage linesCommon Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1, Notifications — Payment overdue alerts
Confirmation alert triageUpcoming alerts before first bill cycle on new propertiesCommon Workflows — Confirmation alert triage, Onboarding a New Property — Step 6, Entering Monthly Utility Bills
Portfolio segmentation by tenant categoryReview one tenant segment across modulesCommon Workflows — Portfolio segmentation, Settings > Tenant categories, Finance — Tenant category filter, Tenants — Tenant category filter
Finance debt receivables triageUtility overage In Debt on Allocations may not appear in rent-only Top debtorsCommon Workflows — Finance debt receivables triage, Finance — Finance debt receivables triage, FAQ — Finance debt receivables triage hub, Allocations tab, Entering Monthly Utility Bills (finance-overview-debt-aging-expanded-bucket.png, finance-overview-debt-aging-walkthrough-flow.mp4)
Finance Income status drill-downUtility overage In Debt lines may appear in Income → In debt month modalCommon Workflows — Finance Income status drill-down, Finance — Income status drill-down, FAQ — Finance Income status drill-down hub, Entering Monthly Utility Bills — Finance Income status drill-down, Bills tab (finance-overview-income-status-in-debt-modal.png, finance-overview-income-drill-down-flow.mp4)
Cash flow forecast drill-downUtility overage collections appear on Cash flow forecast All paymentsCommon Workflows — Cash flow forecast drill-down, Finance Income status drill-down, Finance — Income chart and cash flow forecast, FAQ — Cash flow forecast drill-down hub, Entering Monthly Utility Bills — Cash flow forecast drill-down, Bills tab (finance-overview-cash-flow-all-payments-modal.png, finance-overview-cash-flow-day-view.png, finance-overview-cash-flow-drill-down-flow.mp4)
Utilities section cross-referencePer-tab pairing matrixModule cross-reference, Finance guide subsection index

Utilities section cross-reference

Use this table when one Utilities tab or section naturally leads into another module, workflow, or concept — each row links to the docs you should read before or after acting in that section.

Utilities tab / sectionPair with these docs
Portfolio scoping (Select properties)Glossary — Server-driven search picker, Finance — Property and listing filters
Tab load failuresGlossary — Directory list load failures
How Utility Billing WorksListings — Step 3 Extra payments, Settings > Utilities
Overview tabDashboard module, Entering Monthly Utility Bills, Portfolio KPI review, Portfolio KPI review — Step 6, Finance — Tenant category filter, Glossary — Tenant category
Connections tabListings — Creating a New Property, Onboarding a New Property
Bills tabAutomation & AI — AI invoice reader, Create New menu — Upload Utility Bills, Landlord MCP — Extended account tools (create-bill, list-bills, get-bill; prefer UI Upload PDF for AI extraction), Entering Monthly Utility Bills — Step 2, AI usage API (utility_bill_extraction on GET /ai-usage/summary)
Timeline tabBills tab, Entering Monthly Utility Bills
Cost map tabSales — Multicalendar, Listings — Bills Included
Allocations tabBookings — Payment Plan tab, Settings > Utilities — Tenant Notification, Notifications — Payment overdue alerts, Finance — Tenant category filter, Bookings — Other filters tenant category, Tenant MCP — Property, payments, and portal tools (get-payment-info), Entering Monthly Utility Bills — Step 4
How Tenant Overage Charges Are CreatedBookings — Payment Plan tab, Finance — Contract Values tab, Handling a Late Payment — Step 1, Notifications — Payment overdue alerts, Finance — Tenant category filter, Bookings — Other filters tenant category, Tenants — Tenant category filter, Glossary — Tenant category, Landlord MCP — Bookings, properties, and listings (get-booking), Tenant MCP — Property, payments, and portal tools (get-payment-info; parity with Tenant Portal — Utilities)
Key Business Rules for UtilitiesTenant Portal, Notification triage, Notifications — Payment overdue alerts, Settings > Tenant categories, Glossary — Tenant category

Pair with other Utilities module guide sections

Related below links this module to settings, concepts, workflows, and escalation paths. Pair Documentation map & escalation with Modules hub — Documentation map & escalation; pair Upstream & downstream workflows with Common Workflows — Workflow cross-reference. Topic-to-section pairing in sections above: Utilities guide subsection index · Utilities section cross-reference. Full hub matrix: Module cross-reference · Modules hub subsection index.

Documentation map & escalation

Pair with other Utilities module guide sections

Upstream & downstream workflows

Pair with other Utilities module guide sections

Deeper workflow reads

Pair with other Utilities module guide sections

Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](../modules/utilities/index.md#deeper-workflow-reads) anchors on Module documentation hubs bullets — hub parity: Modules hub — Deeper workflow reads. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Settings that shape Utilities

Pair with other Utilities module guide sections

Deeper concept reads

Pair with other Utilities module guide sections

Operator modules (pairing surfaces)

Pair with other Utilities module guide sections

Lockout catch-up after password recovery

Pair with other Utilities module guide sections

Pending manual receipt approval

Pair with other Utilities module guide sections

Reject/revert mistaken receipts

Check-out ledger cleanup before refund

Pair with other Utilities module guide sections

Utility overage collections

Pair with other Utilities module guide sections

Utility overage arrears pair with Entering Monthly Utility Bills — post bills first, then collections. Hub parity: Common Workflows — Utility overage collections. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Cancellation collections before void

Pair with other Utilities module guide sections

Utility overage on Canceled stays pair with Entering Monthly Utility Bills — not rent pre-cancel mesh. Hub parity: Common Workflows — Cancellation collections before void. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Check-out collections before refund

Pair with other Utilities module guide sections

Rent arrears mistaken for utility overage pair with Managing a Check-out — not Entering Monthly Utility Bills overage mesh. Hub parity: Common Workflows — Check-out collections before refund. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Handling a Late Payment collections

Pair with other Utilities module guide sections

Utility overage In Debt lines pair with Entering Monthly Utility Bills — use Handling a Late Payment for collections, not rent Top debtors alone. Hub parity: Common Workflows — Handling a Late Payment collections hub. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Check-out vs cancellation

Pair with other Utilities module guide sections

Utility overage on Canceled stays posts via Entering Monthly Utility Bills — not Managing a Check-out — Step 6 final utilities mesh on completed stays. Hub parity: Common Workflows — Check-out vs cancellation. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Deposit missing on Finance Deposits

Pair with other Utilities module guide sections

Departure-week utility close can coincide with deposit release on Finance → Depositsclear or widen the toolbar date range when the booking Deposit tab shows data but the portfolio row is hidden. Hub parity: Common Workflows — Deposit missing on Finance Deposits. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Notification row-click navigation

Pair with other Utilities module guide sections

Approved utility overage lines that pass due date without pay-in surface payment overdue rows — /notifications row-click usually lands on Bookings first; cross-check Allocations tab and Entering Monthly Utility Bills — Step 4 before you re-post supplier bills. Hub parity: Common Workflows — Notification row-click navigation. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Payment alert to receivables triage

Pair with other Utilities module guide sections

When approved overage lines on Bookings — Payment Plan pass due date without pay-in, payment overdue alerts row-click into Bookings — finish Handling a Late Payment — Step 1 and reconcile Allocations tab before you trust Overview Missing KPIs. Hub parity: Common Workflows — Payment alert to receivables triage. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Finance debt receivables triage

Pair with other Utilities module guide sections

Utility overage In Debt on Allocations tab may not appear in rent-only Top debtors — scope Debt Aging after bill-cycle charges post. Hub parity: Common Workflows — Finance debt receivables triage. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Finance Income status drill-down

Pair with other Utilities module guide sections

Utility overage In Debt lines may appear in Income → In debt month modal — distinguish from rent Top debtors on Debt Aging. Hub parity: Common Workflows — Finance Income status drill-down. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Cash flow forecast drill-down

Pair with other Utilities module guide sections

Utility overage collections appear on Cash flow forecast All payments — distinguish from rent Top debtors on Debt Aging. Hub parity: Common Workflows — Cash flow forecast drill-down. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Confirmation alert triage

Pair with other Utilities module guide sections

Upcoming Booking created / Payment received alerts on newly wired properties row-click into Bookings — finish Onboarding a New Property — Step 6 and Entering Monthly Utility Bills before you bulk-clear /notifications during first bill cycle. Hub parity: Common Workflows — Confirmation alert triage. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

New inventory to first booking handoff

Pair with other Utilities module guide sections

First utility bill cycle on new buildings starts after the first Upcoming reservation exists — pair Onboarding — Step 6 with Processing a New Booking — Step 6 before Entering Monthly Utility Bills. Hub parity: Common Workflows — New inventory to first booking handoff. Full pairing matrix: utilities-section-cross-reference · Module cross-reference.

Property setup to first arrival handoff

Pair with other Utilities module guide sections

First utility bill cycle on new buildings may show Missing supplier data — pair Onboarding a New Property — Step 6 with Entering Monthly Utility Bills — Step 5 after the first arrival month. Hub parity: Common Workflows — Property setup to first arrival handoff. Full pairing matrix: utilities-section-cross-reference · Module cross-reference.

Confirmation to check-in handoff

Pair with other Utilities module guide sections

First utility bill cycle after go-live may overlap confirmation-week portal gates — finish Processing a New Booking — Step 6 before arrival-week utility overage triage. Hub parity: Common Workflows — Confirmation to check-in handoff. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Check-in to check-out handoff

Pair with other Utilities module guide sections

Missing departure-week bills on Utilities → Bills should be closed via Entering Monthly Utility Bills — Step 5 before Managing a Check-out — Step 6 — mid-stay overages are distinct from final utility mesh. Hub parity: Common Workflows — Check-in to check-out handoff. Full pairing matrix: utilities-section-cross-reference · Module cross-reference.

Check-out final utilities handoff

Pair with other Utilities module guide sections

Same-day turnover coordination

Pair with other Utilities module guide sections

Departure-week final overages on turnover units pair with Entering Monthly Utility Bills — Step 4 before incoming Managing a Check-in — Step 4 key handover — distinct from mid-stay Utility overage collections. Hub parity: Common Workflows — Same-day turnover coordination. Full pairing matrix: utilities-section-cross-reference · Module cross-reference.

WhatsApp per-booking messaging

Pair with other Utilities module guide sections

Utility overage bill questions pair with Bookings → Communication on Entering Monthly Utility Bills — Step 4 — cross-booking Inbox lacks bill line context. Hub parity: Glossary — WhatsApp per-booking messaging hub · Common Workflows — WhatsApp per-booking messaging. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Bot reasoning (audit)

Pair with other Utilities module guide sections

Utility overage bot questions on Communication. Hub parity: Glossary — Bot reasoning (audit) hub · Common Workflows — Bot reasoning (audit). Full pairing matrix: Utilities section cross-reference · Module cross-reference.

ChatBot settings

Pair with other Utilities module guide sections

Account Settings → ChatBot pairs with Communication thread review — utility overage bot questions on communication. Hub parity: Glossary — ChatBot settings hub · Common Workflows — ChatBot settings. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Rent reduction after invoicing

Pair with other Utilities module guide sections

Month-end bill cycle on Entering Monthly Utility Bills — Step 5 may overlap bookings whose rent month is already invoiced — goodwill rent cuts need Bookings → Contract Info → Change monthly rent plus external credit notes. Hub parity: Common Workflows — Rent reduction after invoicing. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Occupancy KPI to block hygiene handoff

Pair with other Utilities module guide sections

Month-end Missing utility data on otherwise vacant-looking units may reflect manual holds suppressing occupancy — pair hub Common Workflows — Occupancy KPI to block hygiene handoff with Entering Monthly Utility Bills — Step 5 before blaming supplier connections. Hub parity: Common Workflows — Occupancy KPI to block hygiene handoff. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Partly collected security deposit

Pair with other Utilities module guide sections

Month-end invoicing (fixed date)

Pair with other Utilities module guide sections

Finish Missing utility data + overage Pending on Entering Monthly Utility Bills — Steps 4b–5 before month-end bulk export with fixed Invoice date. Hub parity: Common Workflows — Month-end invoicing (fixed date). Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Bulk Hostkit invoicing

Pair with other Utilities module guide sections

Finish Missing utility data + overage Pending on Entering Monthly Utility Bills — Steps 4b–5 before month-end bulk Issue allocation. Hub parity: Common Workflows — Bulk Hostkit invoicing. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Directory list load failures

Pair with other Utilities module guide sections

Each Utilities tab loads independently — Failed to load … + Retry on Bills, Overview, Connections, Timeline, or Allocations is a first-fetch failure, not an empty month with zero supplier rows. Pair Tab load failures with Entering Monthly Utility Bills — Step 2 bill entry. Hub parity: Common Workflows — Directory list load failures. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Portfolio segmentation by tenant category

Pair with other Utilities module guide sections

Key glossary terms

Pair with other Utilities module guide sections

API & companion guides

Pair with other Utilities module guide sections

API bullets pair with API Reference hub. Full pairing matrix: Utilities section cross-reference · Module cross-reference.

Module documentation hubs

Pair with other Utilities module guide sections
  • Utilities module — Hub for Bills Included ceilings, Connections, AI bill upload, and tenant overage charges (this page)
  • Operations module — Maintenance tickets, cash flows, check-in/out coordination, Draft ticket queues, and linked cash flows (hub)
  • Dashboard module — Post-login Today, Total debt, Vacant Units, and forecast KPI snapshot with bell notification triage (hub)
  • Analytics module — Month-range portfolio KPI charts (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance) with rankings and heatmaps (hub)
  • Listings module — Property wizard, Channels tab, Archived inventory, and unit management (hub)
  • Properties workspace — Legacy /properties URL redirects into Listings (hub)
  • Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
  • Finance module — Portfolio ledgers (Overview, Income, Contract Values, Transactions, Payouts, Deposits) with payment approval and deposit settlement (hub)
  • Tenants module — Tenant directory, profile sidebars, With Debt segmentation, and table expand for linked bookings (hub)
  • Sales module — Portfolio availability, monthly rent editing, and channel manager connections (hub)
  • Inbox module — Portfolio-wide WhatsApp workspace with Dashboard bell Inbox sub-tab deep links (hub)
  • Notifications module — Full /notifications history with search, filters, and row-click navigation (hub)
  • AI Chat module — Vivin-internal AI Assistant using Landlord MCP tools for portfolio Q&A (hub)
  • Audit module — Portfolio-wide Manual Blocks and Discounts contract-value review (hub)
  • Account Settings — Workspace-wide financial policies, templates, integrations, and operational defaults (hub)
  • API Reference hub — Partner HTTP contracts, Swagger onboarding, and partial vs full feeds (hub)