Integrations
Complete Getting Started — Recommended Setup Sequence step 12 (this tab — marketplace credentials and calendar feeds) after step 11 Emails, with Integration field capability and Tenant categories default for integrations aligned before bulk imports — full tab map: Recommended setup order. Finish steps 13–15 in Listings (Channels tab per unit), Bookings, and Tenants, then Onboarding a New Property — Step 7. Partner HTTP contracts: API Reference. Lockout catch-up: Getting Started. Workflow pairing after go-live: Account Settings — Setup sequence after go-live.
Skim What you see on this page and Page load and partial failures, then connect Booking Platforms and Other Providers. Calendar rules: Short-term (Airbnb / Booking.com) Configuration. Sync issues: Troubleshooting. Non-linear operator habits (Lockout catch-up, Pending manual receipt approval, Reject/revert mistaken receipts, Portfolio segmentation by tenant category, Notification row-click navigation, Payment alert to receivables triage, Confirmation alert triage, Finance debt receivables triage, Finance Income status drill-down, Cash flow forecast drill-down) have matching Related subsections below. Full pairing matrix: Integrations section cross-reference · Account Settings — Tab cross-reference.
Connect Vivin to external platforms and services. Once connected, data flows automatically between Vivin and these services.
Open Account Settings > Settings > Integrations at platform.vivin.app/settings/integrations. Per-unit channel links and external listing IDs are configured from Listings > Channels. See Deep Links.
After platform cards are connected, use Integration field capabilities to see required partner payload fields, then link each unit on Listings → Channels. Pair invoicing providers with Payments, Invoicing & Utilities and set Tenant categories default for integrations before high-volume imports. Partner Bearer keys here are distinct from management JWTs — operator-only routes such as AI usage API require Management session sign-in. Section-to-doc pairing: Integrations section cross-reference. Hub tab matrix: Account Settings — Tab cross-reference.
For how connected channels appear when you manage availability and rates per unit, see the Sales module, especially Channel Manager and related views there.
What you see on this page
Without scrolling past the fold on a typical desktop width, expect roughly this vertical order:
- Channel Manager — account-wide controls such as Short-term iCal Max Date and actions to push that date to many units at once (see below).
- Booking platform cards — one block per connected marketplace (Airbnb, Booking.com, Vivin Booking Engine, etc.) with enable toggles, credentials or integration email fields, and optional Pricing Markup.
- Other providers — Nuki, Hostkit, Invoice-xpress, and similar services you add with Add Integration.
Use Sales > Channel Manager when you need a consolidated operational view of channels; this Integrations page is where credentials and account-wide sync rules live.
Page load and partial failures
The Integrations tab loads in layers — account-wide platform cards from cached workspace settings, then a separate fetch for Other providers (Nuki, Hostkit, Invoice-xpress, and similar account connections).
| Phase | What you see | If it fails |
|---|---|---|
| First paint | Settings form skeleton placeholders across the tab | Wait for the shared Account Settings bootstrap to finish, or refresh /settings/integrations after connectivity recovers |
| Booking platform cards + Channel Manager | Cards and toggles from account settings | Usually still render from the last successful settings payload; Save failures show an error toast with the server message |
| Other providers list | Connected provider cards, or skeleton rows while the connections API runs | On fetch failure the list clears to empty and Vivin shows an error toast — for example Failed to load integrations. — so you are not misled into thinking no Nuki / Hostkit / Invoice-xpress connections exist. Refresh /settings/integrations after connectivity recovers. Add Integration and per-card Delete failures also surface as toasts |
Unlike directory modules such as Bookings or Sales that show an explicit Failed to load … card with Retry, Other providers failures use the global toast pattern (no inline Retry on the tab). See Glossary — Settings and profile load failures.

When Remove connection fails (network or server error), the confirmation modal stays open and an error toast appears — for example Failed to remove connection — so you can retry or Cancel without losing context:

Screenshots
Sales module (operational view) — Channel Manager lists each listing with per-channel connection status, sync controls, and availability context. Use it day to day alongside Account Settings > Integrations, where API keys, integration emails, pricing markups, and Short-term iCal Max Date are configured.

Account Settings > Integrations — platform connection cards, API credentials, and account-wide sync options (including Short-term iCal Max Date) in the settings shell:

Platform integrations and booking channels — + Add for Nuki, Hostkit, Invoice-xpress, and similar providers; booking platform cards with enable toggles and per-channel options:

When Hostkit is connected, the Other providers list shows a Listing keys control on the Hostkit card (per-unit keys are managed in a modal — see Hostkit (invoicing) below).
Idealista and Coliving — mid-term marketplace cards with enable toggles, integration email, and optional pricing markup (same pattern as HousingAnywhere or Uniplaces):

Idealista / Coliving cards — re-captured 2026-06-05 with expanded platform rows (enable toggle, integration email, pricing markup). Script: VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-docs-enrichment-batch.ts.
Other providers load/delete failure toasts — re-captured 2026-06-17 (#1735, #1734). Script: VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-settings-integrations-other-providers-failure-toasts.ts (local dev frontend with /api proxy — unset VITE_API_BASE_URL on npm run dev:frontend).
Booking Platforms
Enabling a platform card does not list units — link each unit on Listings → Channels and verify payloads against Integration field capabilities. Full pairing matrix: Integrations section cross-reference.
These integrations connect your units to external rental listing sites. When enabled, Vivin synchronizes availability calendars and (where supported) pricing.
| Platform | What It Does |
|---|---|
| Airbnb | Two-way calendar sync. Bookings made on Airbnb are imported into Vivin; bookings in Vivin block Airbnb dates. |
| Booking.com | iCal calendar sync. Two-way sync — bookings made on Booking.com are imported into Vivin; bookings in Vivin block Booking.com dates. Add each unit's iCal URL from your Booking.com extranet (Availability > Export calendar) in the Channels tab. |
| Uniplaces | Calendar sync and booking import for the student rental platform. |
| Spotahome | Calendar sync for medium-term furnished rentals. |
| HousingAnywhere | Calendar sync for international student and expat housing. |
| Inlife | Integration for the Inlife student accommodation platform. After enablement, bulk migration uses + Create New → Listings → Inlife Import (structure only) or Inlife Full Import (Vivin internal — details + photos for full listing feeds). See Listings — Importing from Inlife and Create New Menu — Inlife Import. |
| Spacest | Calendar sync for the Spacest platform. |
| ErasmusLife Lisboa | Calendar sync and booking import for the ErasmusLife Lisboa student accommodation platform. |
| Idealista | Calendar sync and booking import for the Idealista marketplace. Configure integration email and optional Pricing Markup like other mid-term platforms. |
| Coliving | Calendar sync and booking import for the Coliving distribution channel. Configure integration email and optional Pricing Markup; bookings imported from Coliving appear with the Coliving platform badge in Vivin. |
| Channex | Channel-manager distribution: push availability and rate/restriction updates to Channex when your workspace has a Channex API connection and each unit is mapped to Channex property, room type, and rate plan UUIDs. Enable the platform card here and set optional Pricing Markup (no integration email on the card). Confirmed bookings can import from Channex when mappings match. Channex API credentials and per-unit UUID mapping are configured with your Vivin account team — not from the standard Add Integration dialog. |
| Edu Portugal | Calendar sync for the Edu Portugal student accommodation platform. Commission and calendar block can be configured; no integration email or markup. |
| Vivin Booking Engine | Enables the Vivin-hosted direct booking page where tenants can book directly without a third-party platform. |
| iCal | Export a standard iCal feed URL for each unit. Any platform that accepts iCal feeds (Airbnb, VRBO, Tripadvisor, etc.) can subscribe to this to receive availability updates. Per-unit URL: {Core API host}/ical-integration/listings/{listingId}/iCal.ics (copy via Copy iCal on a Sales > Channels row, from the unit integration wizard, or bulk-export VIVIN iCal column). |
For each platform integration, you typically configure:
- Integration Email or API Key — the credential that identifies your account on that platform
- Pricing Markup — an optional percentage to add to your base Vivin price when syncing rates to that platform (e.g., +15% to cover platform fees)
- Virtual IBAN (when provisioned) — some connected booking platforms show a platform-level virtual IBAN on the card with a copy control. Tenants paying through that channel can use it for bank transfers; Vivin matches inbound platform transfers separately from each booking’s tenant virtual IBAN on Contract Info (see Bookings — Virtual IBAN). The row appears only when Vivin has issued a non-empty VIBAN for that platform slug on your account.
Enabling a platform integration here does not automatically list your units on that platform. You still need to create the listing on the external platform and link each unit in Vivin to its corresponding external listing ID.
Channex (channel manager)
Channex is a channel-manager connection, not a single marketplace with one integration email. Operators typically:
- Enable the Channex card under Booking platform cards and configure Pricing Markup if you mark up rates sent to connected OTAs.
- Rely on Vivin to push availability and restrictions (ARI) to Channex for units that have a valid Channex mapping — Channex property, room type, and rate plan UUIDs from the Channex API.
- Receive booking imports when Vivin processes a matching revision from Channex’s booking revisions feed — confirmed stays appear with the Channex platform badge like other channels.
Account-level Channex API keys and per-listing channexMapping UUID rows are maintained outside the self-serve Add Integration flow (your Vivin onboarding contact or internal admin tools). Unlike Airbnb or Idealista, you do not paste Channex UUIDs on the unit Channels tab yourself — ask Vivin support to verify mapping for affected units.
| Direction | Mechanism | Operator action |
|---|---|---|
| Outbound (Vivin → Channex) | Scheduled ARI sync posts availability + minimal rate/restrictions for mapped units | Enable the platform card; keep listing rent and calendar data accurate in Vivin |
| Inbound (Channex → Vivin) | Vivin polls Channex’s booking revisions feed (not an HTTP webhook you configure on this page) | Enable the card; confirm mapping with support when imports are missing |
Channex does not appear as a column on Sales > Channels. When a unit is mapped, a Channex row may appear in the unit Listings > Channels sidebar alongside other connected platforms — but UUID mapping itself is provisioned by Vivin, not typed into external listing ID fields like mid-term marketplaces. Bookings imported from Channex still show the Channex platform badge in Bookings and appear in Finance > Transactions when you filter by source platform.
Revisions with status modified are acknowledged on the Channex side but booking date or amount changes are not applied automatically in Vivin today — reconcile those in Bookings manually when a channel manager sends an amendment.
Short-term (Airbnb / Booking.com) Configuration
Short-term iCal Max Date pushes calendar horizons to many units at once — pair day-to-day sync status with Sales — Channel Manager before high-season turnover. Full pairing matrix: Integrations section cross-reference.
Airbnb and Booking.com use iCal feeds to sync availability. Vivin provides controls to limit how far ahead availability is exported to these platforms.
Short-term iCal Max Date
The Short-term iCal Max Date (in the Channel Manager section) limits how far ahead the iCal feed exports availability. Dates after this cutoff are blocked on the feed as a security lock, so external platforms will not show your unit as available beyond that date.

| Control | Location | Description |
|---|---|---|
| Short-term iCal Max Date | Channel Manager section | Account-wide default. Sets the last date availability is exported. Save after changing. |
| Apply to all listings | Airbnb / Booking.com platform cards | Copies the Short-term iCal Max Date to every unit's per-listing override. Use when you want all units to share the same cutoff. |
| Apply to selected listings | Airbnb platform card | Copies the date to only the selected units. Use when some units need a different cutoff. |
On the Airbnb (and Booking.com) platform cards, Apply to all listings and Apply to selected listings copy the account-wide cutoff to per-unit overrides after you set Short-term iCal Max Date:

If a unit has no per-listing override, it uses the property-level override (if set), otherwise the account-level Short-term iCal Max Date. You can also set a per-unit date in the unit's edit view (Listings module) if you need different cutoffs per unit.
When to Use These Controls
- Limit booking horizon — Prevent short-term platforms from accepting bookings too far in advance (e.g., only 6 months ahead).
- Avoid double-bookings — Reduce risk when syncing with multiple channels by capping how far ahead availability is shared.
- Per-unit control — Use "Apply to selected listings" or edit units individually when some units need a different cutoff than others.
Other Providers
Nuki, Hostkit, and Invoice-xpress pair with Payments, Invoicing & Utilities VAT series and Emails check-in codes — only one invoicing provider may be active per account. Full pairing matrix: Integrations section cross-reference.
| Provider | What It Does |
|---|---|
| Nuki | Connects Vivin to Nuki smart locks. Once connected, Vivin can generate temporary access codes for tenants and automatically include them in check-in emails. Requires your Nuki API key. |
| Hostkit | Connects Vivin to Hostkit for Portuguese Fatura-Recibo invoicing. API keys are per listing (not a single account key on the add-integration dialog). After you add Hostkit, use Listing keys on the card to paste each unit’s key from Hostkit Properties → API key. See Hostkit (invoicing). |
| Invoice-xpress | Connects to the Invoice-xpress invoicing service for legally compliant invoice generation. Requires your Invoice-xpress API key and client ID. Once connected, Vivin generates and submits invoices automatically when payments are recorded. |
| Sage50c | Coming soon — Sage Accounting (Sage50c) as an additional invoicing connector. It appears in the Add Integration list as disabled with a Contact the VIVIN team to enable tooltip until your account is provisioned. When live, it will follow the same one invoicing provider at a time rule as Hostkit and Invoice-xpress. |
To add a provider, click Add Integration in the Other providers section, select the provider from the list, enter the required credentials, and save. Sage50c is listed for visibility but cannot be added until Vivin enables it for your account.
Hostkit, Invoice-xpress, and (when enabled) Sage50c are invoicing connections. The product allows only one active invoicing provider per account — if one is already configured, the others appear disabled in the Add Integration list until you remove the existing connection.
Removing a provider connection
Use this when you need to switch invoicing providers, rotate compromised API credentials, or disconnect smart-lock access.
- Open Account Settings → Settings → Integrations.
- In Other providers, locate the connection card (Nuki, Hostkit, Invoice-xpress, or Sage50c when connected).
- Click the trash control on the card (or the remove action in the card menu, depending on layout).
- Confirm in Remove account connection — the dialog names the connection and warns that the action cannot be undone and integrations using it may stop working.
- Click Remove connection to delete the account connection via the API, or Cancel to keep it.
If the delete request fails (network or server error), Vivin shows an error toast — for example Failed to remove connection — and keeps the Remove account connection dialog open so you can retry or Cancel without losing context.

Remove account connection modal capture refreshed 2026-06-22 02:14 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-docs-enrichment-3005.ts).
| Provider removed | Practical impact |
|---|---|
| Nuki | New check-in codes stop generating; existing codes may expire per Nuki rules. Resend flows on bookings fail until you reconnect. |
| Hostkit / Invoice-xpress / Sage50c | Automatic invoice creation stops; Finance see invoice links for past Hostkit documents may break for new payments until a provider is connected again. Per-listing Hostkit keys on the card are deleted with the connection. |
| Any | Add Integration re-enables competing invoicing types that were blocked while another invoicing connector was active. |
Switching invoicing providers is remove first, then add — you cannot run two invoicing connectors in parallel. After removal, open Invoicing & Payments and confirm series / VAT settings match the new provider before recording chargeable payments.
Hostkit (invoicing)
Hostkit is aimed at operators who issue Fatura-Recibo (FR) documents from Hostkit when Vivin records chargeable payments.
1. Add Hostkit (account level)
- Open Account Settings → Settings → Integrations.
- In Other providers, click Add Integration and choose Hostkit.
- The add dialog explains that keys are created in Hostkit under each property — it does not ask for an API key at this step. Save to create the connection card.
Official Hostkit key creation steps: Hostkit knowledge base — article 89.
2. Listing keys (per unit)
After Hostkit is saved, the Other providers section shows a Hostkit connection card (not a single account-wide API key field). The card subtitle explains that credentials are per listing; the primary action is Listing keys (wording may vary slightly by interface language).
- On the Hostkit connection card, click Listing keys (tooltip: Manage Hostkit API keys per listing).
- In the Hostkit API keys by listing modal, use Search by listing or property… when you manage keys across a large portfolio — Vivin searches server-side (debounced) over listing and property internal names instead of loading every unit up front.
- Each row shows Property, Listing, Saved key (for example Configured (···1234) or Not set), and a New key field. Paste the full API key from the matching Hostkit property, then Save on that row. Keys are stored per listing — re-paste the full key when rotating credentials. After Save, the row updates in place so your scroll position is preserved (no full-table refresh).
- The modal loads listings in chunks (about 20 rows per request). Scroll inside the table panel to fetch more — a Loading more… line appears while the next batch loads. The footer shows the server total (for example 142 listings). Changing search starts again from the first chunk for the new query.
| Modal column (English UI) | Meaning |
|---|---|
| Listing / Property | Which unit the Hostkit property key belongs to |
| Saved key / New key | Current state vs the field where you paste a replacement |
| Configured (···suffix) | A key is on file; Vivin shows trailing digits only for security |
| Not set | No key saved yet — invoicing for that unit will fail until you paste one |
| Loading listings… | First chunk is still fetching (empty table) |
| No listings match… | Search returned zero rows — clear or broaden the search term |
| Could not load listings. | Hostkit-keys fetch failed — close and reopen the modal, or refresh Integrations |
3. Invoice series on the Invoicing tab
After Hostkit is connected, open Payments, Invoicing & Utilities → Invoicing and set Hostkit invoice series to the exact series code from Hostkit Faturação → Séries (Vivin always requests document type FR on create). Vivin refuses to issue while the field is blank — save a non-empty series before your first Issue allocation. Use the same field when invoice creation fails with an invalid series error from Hostkit after a typo.
4. Finance and booking files
When invoicing runs through Hostkit, issued allocations can expose a Hostkit invoice link on Finance Transactions (transaction detail) and in booking file flows where the API returns a document URL. If a PDF is still generating in Hostkit, retry after a short wait or open the link in a desktop browser — server-side PDF fetch can lag Hostkit’s UI. See Finance — Hostkit invoice links for operator-facing detail.
5. Hostkit API pacing (bulk invoicing)
Hostkit enforces per-API-key rate limits. Vivin paces outbound Hostkit calls (per listing key and at account level) so large Issue allocation / Invoice selected batches are less likely to hit HTTP 429 responses. When Hostkit still returns 429, Vivin retries with backoff (honouring Retry-After when present) instead of failing the allocation immediately — safe because Hostkit rejected the request before processing it.
| What you see | What it means |
|---|---|
| Bulk invoicing takes longer than usual on a big ledger selection | Normal — Vivin is spacing Hostkit requests to stay under the provider limit |
| Some rows stay Pending / Failed invoicing for a few minutes, then flip to Invoiced | Retries may still be in progress — refresh Transactions before re-running Issue allocation on the same row |
| Persistent Failed after several minutes with a Hostkit error toast | Check Listing keys, Hostkit invoice series, and Hostkit account health — see FAQ — Why is bulk Hostkit invoicing slow? |
See also Finance — Invoice automation and Invoicing (VAT rates & Hostkit series).
How Calendar Synchronization Works
Imported channel bookings appear in Bookings and block Sales availability — use Manual block hygiene when sync lag leaves suspicious gaps. Full pairing matrix: Integrations section cross-reference.
When a booking is created in Vivin (whether manually or imported from a platform), the system automatically blocks those dates on all connected external platforms. This prevents double-bookings across channels.
Similarly, when a booking is created directly on Airbnb or another platform, it is imported into Vivin and the dates are blocked across all other connected channels.
Calendar sync runs periodically. Newly created bookings may take a short time to propagate to all connected platforms. For immediate blocking, you can also add manual unavailability in the Listings module.
Troubleshooting
Sync symptoms often trace to Listings → Channels external IDs or Short-term iCal Max Date cutoffs — confirm unit mapping before filing support for duplicate imports. Full pairing matrix: Integrations section cross-reference.
| Issue | Solution |
|---|---|
| Platform not appearing in Bookings filters | Ensure the platform is enabled in this Integrations page. Only connected platforms appear as filter options in the Bookings module. |
| Bookings not importing from a platform | Verify your API key or integration email is correct. Check that each unit is linked to its corresponding external listing ID in the unit's Channels tab. |
| Calendar dates not syncing | Confirm the iCal feed URL is correctly subscribed on the external platform. Check that the unit has no conflicting manual unavailability. |
| External calendar “stops” or looks fully blocked past a month | Often the Short-term iCal Max Date (Channel Manager section on this page): dates after the cutoff are sent to Airbnb / Booking.com iCal feeds as blocked on purpose. Move the date forward if you want a longer booking horizon on those platforms, then save and use Apply to all listings or per-listing overrides as needed. See Short-term (Airbnb / Booking.com) Configuration. |
| Booking.com iCal shows one multi-year “Unavailable” block | Some Hostify-hosted Booking.com iCal feeds export a single closed period spanning many months or years. Vivin ignores Hostify blocks longer than three months during import so they do not lock the unit calendar. Stale local rows from an earlier import are removed on the next sync. If availability still looks wrong, confirm the OTA calendar itself is open, re-save the unit Channels import URL, and check for genuine manual blocks in Listings. |
| Duplicate bookings appearing | This can happen if a booking was both imported automatically and created manually. Search by tenant name in Bookings to identify duplicates. |
| Channex enabled but no sync or imports | Confirm your account has a Channex API key and each unit has channexMapping UUIDs (property, room type, rate plan) provisioned by Vivin support — not self-serve external IDs on Listings > Channels. Enable the Channex platform card here; Channex is not a column on Sales > Channels. See Channex (channel manager) and Webhooks & notifications — Channex booking revisions. |
| Other providers list is empty after a blip | Check for a recent error toast (Failed to load integrations.). The list can look empty while platform cards above still render. Refresh /settings/integrations before re-adding a provider you already connected. See Page load and partial failures. |
| Bulk Hostkit invoicing is slow or some rows stay Pending | Vivin paces Hostkit API calls and retries HTTP 429 with backoff during Issue allocation / Invoice selected — large batches can take several minutes. Refresh Finance → Transactions before re-issuing the same allocation. Persistent failures: verify Listing keys and Hostkit invoice series. See Hostkit API pacing (bulk invoicing) and FAQ — Why is bulk Hostkit invoicing slow?. |
Integrations section cross-reference
Use this table when one Integrations topic naturally leads into another Account Settings tab, operator module, API guide, or downstream workflow — each row links to the docs you should read before or after wiring marketplace connections.
| Integrations topic / section | Pair with these docs |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| What you see on this page | Sales — Channel Manager (operational view), Account Settings — Tab cross-reference |
| Page load and partial failures | Glossary — Settings and profile load failures, Get Help & Support |
| Booking Platforms | Listings — Channels tab, Integration field capability, API Reference — Listings & Availability |
| Short-term (Airbnb / Booking.com) Configuration | Glossary — Short-term iCal Max Date, Manual block hygiene, iCal feeds |
| Other Providers | Invoicing & Payments — Invoicing (Hostkit / Invoice-xpress), Finance — Invoice automation |
| How Calendar Synchronization Works | Listings — Manual unavailability, Processing a New Booking |
| Troubleshooting | FAQ — Integrations & Distribution, Notification triage, Handling a Late Payment — Step 1, Notifications — Payment overdue alerts |
| Lockout catch-up after password recovery | Resetting a Management User Password, Getting Started — Lockout catch-up after password recovery, Common Workflows — Lockout catch-up |
| Pending manual receipt approval | Invoicing & Payments — Hostkit invoice series, Finance — Pending manual payments, Users and roles — Role permissions (Approve payments) |
| Reject/revert mistaken receipts | Payment Allocation — Correcting mistaken receipts, Finance — Row actions on in-payment rows, Processing a New Booking (duplicate-import triage) |
| Notification row-click navigation | /notifications row-click after channel connect | Account Settings — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation |
| Payment alert to receivables triage | payment overdue on OTA-import bookings | Account Settings — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 |
| Confirmation alert triage | Upcoming alerts after integration go-live | Account Settings — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b |
| Finance debt receivables triage | Portfolio Top debtors / Debt Aging after settings on this tab | Account Settings — Finance debt receivables triage, Common Workflows — Finance debt receivables triage, Finance module — Finance debt receivables triage |
| Finance Income status drill-down | Income → In debt vs Debt Aging after settings on this tab | Account Settings — Finance Income status drill-down, Common Workflows — Finance Income status drill-down, FAQ — Finance Income status drill-down hub |
| Cash flow forecast drill-down | Cash flow forecast month bars vs Income segments | Account Settings — Cash flow forecast drill-down, Common Workflows — Cash flow forecast drill-down, FAQ — Cash flow forecast drill-down hub |
| Portfolio segmentation by tenant category | Tenant categories — Default for integrations, Bookings — Other filters, Finance — Tenant category filter, Common Workflows — Portfolio segmentation by tenant category |
Related
Related below links this Account Settings tab to modules, workflows, concepts, and escalation paths. Pair Documentation map & escalation with Account Settings hub — Documentation map & escalation; pair Upstream & downstream workflows with Account Settings — Tab cross-reference. Topic-to-section pairing in sections above: Integrations section cross-reference. Full hub matrix: Account Settings — Section cross-reference.
Documentation map & escalation
Documentation-map bullets pair with Introduction — Section cross-reference and FAQ — Section cross-reference. Hub parity: Account Settings hub — Documentation map & escalation. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings hub — Tab pairing matrix across workspace configuration
- Integrations & Distribution (concept) — Channel manager strategy, iCal exports, and how partial vs full feeds fit together
- Glossary — Term definitions used across settings and module docs
- FAQ & Troubleshooting — Integrations & Distribution — Common channel-sync symptoms operators see after connection
- Get Help & Support — Escalate when credentials or Channex UUID provisioning block go-live
Upstream & downstream workflows
Workflow bullets pair with Common Workflows — Workflow cross-reference for inter-guide step pairing. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Onboarding a New Property (section cross-reference; Deeper workflow reads; hub) — Step 5 channel connections after owners and contract templates are in place
- Processing a New Booking (section cross-reference; Deeper workflow reads; hub) — Verify channel imports before creating duplicate manual bookings
- Notification triage (section cross-reference; Deeper workflow reads; hub) — Clear duplicate-import or booking alerts after verifying Channels linkage
- Manual block hygiene (section cross-reference; Deeper workflow reads; hub) — Audit pass when channel availability looks fully blocked after linking
- Managing a Check-in (section cross-reference; Deeper workflow reads; hub) — Pseudo check-in/out from short-term iCal imports on Operations
- Managing a Check-out & Deposit Refund (section cross-reference; Deeper workflow reads; hub) — Marketplace calendar sync when departures release unit availability
- Handling a Late Payment — Step 1 (section cross-reference; Deeper workflow reads; hub) — Identify overdue charges on channel-imported bookings when payment-plan mismatches after sync or a payment overdue alert row-click brought you here
Deeper workflow reads
Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](./integrations.md#deeper-workflow-reads) anchors on Account Settings bullets — hub parity: Account Settings hub — Deeper workflow reads. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Onboarding a New Property — Step 5 channel connections after owners and contract templates are in place (section cross-reference; Deeper API reads; hub)
- Processing a New Booking — Verify channel imports before creating duplicate manual bookings (section cross-reference; Deeper API reads; hub)
- Notification triage — Clear duplicate-import or booking alerts after verifying Channels linkage (section cross-reference; Deeper API reads; hub)
- Manual block hygiene — Audit pass when channel availability looks fully blocked after linking (section cross-reference; Deeper API reads; hub)
- Managing a Check-in — Pseudo check-in/out from short-term iCal imports on Operations (section cross-reference; Deeper API reads; hub)
- Managing a Check-out & Deposit Refund — Marketplace calendar sync when departures release unit availability (section cross-reference; Deeper API reads; hub)
- Handling a Late Payment — Step 1 — Identify overdue charges on channel-imported bookings when payment-plan mismatches after sync or a payment overdue alert row-click brought you here (section cross-reference; Deeper API reads; hub)
Related Account Settings tabs
Tab bullets pair with Account Settings — Tab cross-reference and Recommended setup order. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Integration field capabilities — Read-only matrix of which booking-engine detail fields each marketplace supports and which are partner-required
- Invoicing & Payments — Virtual IBAN and payout configuration alongside platform cards
- Emails — Customize emails sent via integrated platforms
- Preferences — In-app notifications — Account-wide import or payment alerts after marketplace sync
- Subscription — Platform VIBAN Transfers billing rows tied to connected marketplace channels
- Tenant categories — Default for integrations before high-volume channel imports
Operator modules & payload editing
Module bullets pair with Listings — Channels tab and Booking engine details. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Sales — Channel Manager — View and manage all connected platforms
- Listings — Channels tab — Link units to external platform listings
- Booking engine details — Marketplace and booking-engine payload fields edited from Listings (Full integration pill)
- Audit — Manual Blocks — Portfolio blocks that still appear on every connected channel calendar until cleared
- Audit — Discounts tab — Cross-portfolio discount rows on channel-imported bookings after duplicate-import triage
- Notifications — Payment overdue alerts (in-app) — Operator Payments category rows when scheduled charges are overdue on channel-imported bookings
Deeper concept reads
Concept reads pair with Concepts hub subsection index and Concept cross-reference. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Integrations & Distribution — Marketplace calendar sync, booking imports, and white-label direct bookings after platform cards are connected (section cross-reference; hub)
- Tenant Portal — Direct and imported bookings share portal links, virtual IBAN, and payment-module provisioning (section cross-reference; hub)
- 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
- Payment Allocation — Two-layer receipts and invoiced-floor rent edits after channel imports land in Finance (section cross-reference; hub)
- Booking Lifecycle — Computed status model for imported and direct reservations (section cross-reference; hub)
- Landlord MCP — External automation that references channel credentials and listing feeds (section cross-reference; hub)
- Automation & AI — Partner webhooks and Communication Rules complement marketplace cards (section cross-reference; hub)
Companion API guides
API bullets pair with API Reference hub. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- API Reference hub — Hub pairing matrix across integration guides
- Authentication — Bearer keys partners use once Channels linkage is live
- Property & unit mapping —
externalIdkeys partners must configure beforeGET /listingsorPOST /bookingssucceed - Listings & Availability — Partial
GET /listingsreads after Channels linkage - Full listing feeds — Partner-shaped publish payloads after Channels linkage is complete
- Booking Engine integration — White-label engine write routes beyond partial
GET …/listings - Webhooks & notifications — Inbound booking revisions (Channex) and partner callback payloads
- Webhooks — Channex booking revisions feed — Inbound booking revisions polling (not a self-serve webhook URL)
- iCal feeds — Subscriber URL pattern after channel cards are connected
- AI usage API — Operator JWT cost ledger (not integration Bearer keys) when auditing automation spend after bulk imports
Module documentation hubs
Module hub bullets pair with Modules — Module cross-reference. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Listings — Property wizard, Channels tab, Archived inventory, and unit management
- Sales — Portfolio availability, monthly rent editing, and channel manager connections
- Bookings — Operator UI for reservations created via channel imports
- Finance — Portfolio ledgers once channel-sourced stays accumulate Contract Values
- Utilities — Bills Included ceiling model and tenant overage charges
- Operations — Maintenance tickets, cash flows, and check-in/out coordination
- Dashboard — Post-login KPI snapshot with bell notification triage
- Analytics — Month-range portfolio KPI charts with rankings and heatmaps
- Tenants — Tenant directory and With Debt segmentation
- Inbox — Portfolio-wide WhatsApp workspace
- Notifications — Full
/notificationshistory with search and filters - AI Chat — Vivin-internal AI Assistant for portfolio Q&A
- Audit — Portfolio-wide Manual Blocks and Discounts review
- Properties workspace — Legacy
/propertiesURL redirects into Listings
Lockout catch-up after password recovery
Operational backlog after sign-in recovery pairs with Resetting a Management User Password — Step 3 before you resume marketplace card saves on this tab. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when sign-in was restored mid-setup before step 12 channel credentials are saved
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh (notification triage, Pending Steps 6b, portal gates)
- Onboarding a New Property — Step 5 — Channel connections after owners and contract templates are in place
- Pending manual receipt approval — Month-end Pending mesh when channel-imported confirmation receipts await Approve payments
Pending manual receipt approval
Receipt approval pairs with Hostkit (invoicing) bulk Issue allocation and Users and roles (Approve payments permission). Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Common Workflows — Pending manual receipt approval — Hub matrix when recorded bank transfers on channel-imported bookings still show pending until Approve payments
- Invoicing & Payments — Hostkit invoice series — Series code required before Hostkit Issue allocation after imports land in Finance
- Finance — Pending manual payments — Amber Pending chip on Finance → Transactions for imported stays
- Users and roles — Role permissions — Approve payments gates bulk approval on channel-sourced ledgers
- FAQ — Manual receipt still pending — Why KPIs lag until approval clears imported confirmation receipts
Reject/revert mistaken receipts
Receipt cleanup pairs with Troubleshooting duplicate-import triage and Invoicing & Payments export providers. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Common Workflows — Reject/revert mistaken receipts — Hub matrix when duplicate channel imports produced twin confirmation receipts needing Reject / Revert
- Payment Allocation — Correcting mistaken receipts — Two-layer model and credit note accounting follow-up
- Processing a New Booking — Verify channel imports before creating duplicate manual bookings
- Finance — Row actions on in-payment rows — Bulk Reject selected on Finance → Transactions
- FAQ — Reject or revert an incoming payment — Quick answers when Hostkit-invoiced import receipts need cleanup
Portfolio segmentation by tenant category
Segment filters pair with Tenant categories — Default for integrations before high-volume imports and Portfolio KPI review — Step 6. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when segment filters must align across channel-imported reservations, receivables, and tenant profiles
- Tenant categories — Default for integrations before bulk marketplace onboarding on this tab
- Bookings — Other filters — Tenant category in portfolio Other filters on imported stays
- Finance — Tenant category filter — Ledger segmentation when reconciling channel-sourced Contract Values
- Glossary — Tenant category — Definition, portfolio filter catalog, and Finance parity
Notification row-click navigation
Channel import alerts on /notifications often carry bookingId from OTA sync — row-click before re-running Sync on Listings → Channels. Hub parity: Account Settings — Notification row-click navigation. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Notification row-click navigation — Hub matrix (
notifications-module-row-click-target.png,notifications-row-navigation-flow.mp4) - Common Workflows — Notification row-click navigation — Operator procedure hub
- Notifications module — Notification row-click navigation — Canonical
/notificationsinbox pairing - FAQ — Notification row-click navigation hub — Symptom table
Payment alert to receivables triage
OTA provider platform in-payment rows can block deletes — row-click payment overdue alerts and clear pending receipts before blaming integration credentials. Hub parity: Account Settings — Payment alert to receivables triage. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Payment alert to receivables triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,notifications-row-navigation-flow.mp4) - Common Workflows — Payment alert to receivables triage — Operator procedure hub
- Handling a Late Payment — Step 1 — Collections follow-through after row-click
- FAQ — Payment alert to receivables triage hub — Symptom table
Confirmation alert triage
First channel-import Upcoming alerts after step 12 need Processing a New Booking — Step 5b — integration saves do not approve confirmation receipts. Hub parity: Account Settings — Confirmation alert triage. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Confirmation alert triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,bookings-detail-transactions-approve-payment-modal.png) - Common Workflows — Confirmation alert triage — Operator procedure hub
- Processing a New Booking — Step 5b / Step 6 — Canonical confirmation gates
- FAQ — Confirmation alert triage hub — Symptom table
Finance debt receivables triage
OTA provider platform in-payment rows block Delete Booking until cleared — pair with Top debtors triage when channel imports show duplicate settlements. Hub parity: Account Settings — Finance debt receivables triage. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Finance debt receivables triage — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Finance debt receivables triage — Operator procedure hub
- Finance module — Finance debt receivables triage — Canonical Finance → Overview surface
- FAQ — Finance debt receivables triage hub — Symptom table
Handling a Late Payment collections
OTA provider platform in-payment rows block Delete Booking until cleared — pair with Top debtors triage when channel imports show duplicate settlements Hub parity: Account Settings — Handling a Late Payment collections. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Handling a Late Payment collections — Hub matrix (
finance-overview-income-chart-debt-aging.png,notifications-row-navigate-to-booking-detail.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Handling a Late Payment collections hub — Operator procedure hub
- Finance debt receivables triage — Debt Aging before Step 1
- Pending manual receipt approval — Clear amber Pending before collections outreach
- FAQ — Handling a Late Payment collections hub — Symptom table
- Glossary — Handling a Late Payment collections hub — Surface table + per-guide/module mesh
Finance Income status drill-down
Hostkit / InvoiceXpress connections do not replace Income → In debt reads — export timing differs from Scheduled segment labels. Hub parity: Account Settings — Finance Income status drill-down. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Finance Income status drill-down — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Finance Income status drill-down — Operator procedure hub
- Finance module — Income status drill-down — Canonical Finance → Overview surface
- FAQ — Finance Income status drill-down hub — Symptom table
Cash flow forecast drill-down
Channel payout timing may lag Cash flow forecast month bars — open All payments modal before reconciling OTA settlements. Hub parity: Account Settings — Cash flow forecast drill-down. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Account Settings — Cash flow forecast drill-down — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Cash flow forecast drill-down — Operator procedure hub
- Finance module — Cash flow forecast drill-down — Canonical Finance → Overview surface
- FAQ — Cash flow forecast drill-down hub — Symptom table
Key glossary terms
Glossary rows pair with Glossary cluster cross-reference. Full pairing matrix: Integrations section cross-reference · Account Settings — Section cross-reference.
- Short-term iCal Max Date — Horizon configured on platform cards before copying calendar URLs
- Glossary — End-of-Booking cost split — Charge Time → End of Booking splits daily overage across every occupied unit; still-staying roommates stay in the denominator (#2111)
- Glossary — Change history — Operator-initiated edits on Listings setup and Bookings Changelog; create-time defaults excluded (#2093)
- FAQ — Booking Changelog scope — Operator-initiated edits only; create-time defaults excluded (#2093)
- Glossary — Archived booking ledger visibility — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
- Bookings — Provider platform payment — Non-rejected provider platform in-payment blocks Delete Booking until Reject or assign (#2076)
- FAQ — Delete Booking on integration reservation — Clear pending provider platform in-payment with Reject or assign before soft-archive (#2076)
- Listings — Property edit sidebar pills — Setup / Full integration / Photos pills on property and unit edit sidebars; replaced the old Go to details shortcut (#2082)
- Glossary — Finance tenant category cache refresh — Recategorizing a tenant on Tenants → Tenant Info force-refreshes Finance caches so Contract Values, Overview, and Deposits filters match within seconds (#2088)
- FAQ — Finance tenant category filter parity — Finance Other filters drawer lists segments on cached bookings only; mirror Bookings / Tenants when a segment is missing
- FAQ — Assign tenant category for direct booking — Add booking has no category field; assign on Tenants → Tenant Info or + Create New → Tenant before contract mail
- Glossary — SIMAR water contract ID — SIMAR (Loures e Odivelas) water bills use Cód. Local in Connections — not Nº de Contador; leading zeros stripped (#2110)
- FAQ — SIMAR water bill property match — Cód. Local in Connections — not Nº de Contador; strip leading zeros (#2110)
- Glossary — Per-booking maintenance ticket opt-out — Add booking checkboxes skip automatic CI/CO tickets for one reservation only; property rule unchanged (#1140)
- FAQ — Cancel Booking vs Delete Booking — Cancel for real stays with settlement; Delete soft-archives mistaken/test rows (#1897 / #2076)
- Glossary — Archived property — Archive retires a building to Listings → Archived without deleting bookings; distinct from Delete Booking (reservation soft-archive) — Listings — Archived properties
- FAQ — Archive a property — Edit property sidebar Archive / Unarchive on Listings; building-level — not Delete Booking or Cancel booking
- FAQ — Portfolio retirement decisions — Archive property (building) vs Cancel booking vs Delete Booking (reservation soft-archive) — three-way decision table
- Deposit lifecycle status — Channel imports create bookings whose deposit collection follows the standard
depositStatuslifecycle after check-in - Finance — Deposit status filter — Other filters → Deposit status multi-select on Bookings and Finance (#2090)
- Finance — Deposit lifecycle status cards — Deposit lifecycle status row on Finance → Deposits; click Partial paid for collection shortfalls (#2091)
- FAQ — Partly collected security deposit — Paid above zero but below Amount on booking Deposit; Partial paid card on Finance → Deposits (#2090 / #2091)
- Operations — Tickets toolbar search — Paste the full sequential ticket ID (for example
S259,T27) in toolbar Search (#2074) - FAQ — Find a ticket by its ID — Paste the full sequential ticket ID (for example
S259,T27) in Operations → Tickets toolbar Search (#2074) - FAQ — Skip automatic check-in/out tickets for one booking — Turn off Use unit contract rents and other contract details on Add booking to reveal CI/CO ticket checkboxes (#1140)
- FAQ — Same-day turnovers — Check-out + check-in on one unit same day: Operations → Check-in & Check-out, Timeline / Multicalendar, turnover tickets
- FAQ — Manual payments after Delete Booking — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
- Glossary — Directory list load failures — First-fetch directory failures show Retry / Try again; distinct from filter-empty states and booking-sidebar tab errors
- Glossary — Vacant Unit Preference — Include manual blocks counts operator holds as free on Dashboard / Sales vacancy surfaces (#1427)
- FAQ — Communication or Tickets load failure — Tab-scoped Refresh (Communication) or Retry (Tickets); other booking sidebar tabs stay usable
- Operations — Property-level ticket search — Property-name matches share the top relevance tier with unit hits; building-scoped rows float first under an active Property filter (#2089)
- Credit note (payment reject/revert) — Reject/revert warnings when confirmation receipts are already invoiced; concept walkthrough: Payment Allocation — Correcting mistaken receipts; workflow hub: Common Workflows — Reject/revert mistaken receipts
- Draft ticket (display status) — Operations far-future prep jobs when channel imports create maintenance work
- FAQ — AI token usage — Poll GET /ai-usage / GET /ai-usage/summary with management JWT;
landlord_chat+utility_bill_extraction; no management UI screen yet - FAQ — Automatic check-in email — Trigger matrix, 15-day cutoff, paper upload vs portal signing, Nuki-only toggle, Send / Resend on Contract Info
- FAQ — WhatsApp and email per booking — Bookings → Communication tab when tenant chatbot is enabled; Inbox for portfolio-wide triage
- FAQ — Deposit missing on Finance Deposits — Default ~3 months date range; clear or widen before triaging older move-outs or dispute row actions
- FAQ — Pending manual in-payment on /notifications — Alert persists until Approve payments clears Finance or booking Transactions
- FAQ — Uncovered Debt KPI — Finance Total Debt minus deposit offsets; pair with Debt Aging and In debt drill-down
- FAQ — Dashboard Total Debt subtitle — Post-login Total Debt card headline vs >15 days subtitle; ongoing bookings only
- FAQ — Analytics (KPI workspace) — Portfolio KPIs vs Sales/Listings/Dashboard; load-failure Try again
- Invoiced floor (rent) — Rent edits blocked below exported invoice totals after Hostkit Issue allocation
- FAQ — Bulk Hostkit invoicing slow — Vivin paces Hostkit API calls and retries HTTP 429 during bulk Issue allocation / Invoice selected; refresh Transactions before re-issuing
- FAQ — Bulk Hostkit invoicing hub — Symptom table + per-guide mesh
- FAQ — Lower rent below invoiced — Change monthly rent clamps and Contract Values → Edit amount blocks net below exported invoice totals; use credit notes in accounting when you truly need a reduction
- Glossary — Fixed invoice date — Account-wide Invoice date before bulk Issue allocation / Invoice selected; amber banner on Finance → Transactions until you turn Use today as invoice date back on
- FAQ — Month-end invoicing (fixed date) hub — Symptom table + toggle reset after batch
- FAQ — Finance Income status drill-down hub — Symptom table for segment vs Debt Aging
- FAQ — Finance Income status drill-down — Overview Income chart (Paid / Scheduled / In debt); click a segment for month-scoped payment-line modal; Debt Aging for booking-level receivables
- FAQ — Cash flow forecast drill-down hub — Symptom table for collections vs Income / Dashboard
- FAQ — Cash flow forecast drill-down — Month / Day bar-click habit
- FAQ — Permission denied toast — Red You do not have permission to perform this action. toast when RBAC blocks a save; fix in Users → Role Permissions
- FAQ — Phone shows Operations only — Mobile phone user agent locks operators with Operations access to
/operations; iPads and narrow desktop browsers keep the full module list - FAQ — Notification row-click navigation — On
/notifications, row click marks unread then openslink,bookingId,tenantId,listingId, orpropertyId(first match); Dashboard bell General rows stay in-panel unlesslinkis set - FAQ — Bookings that owe money — Top debtors and overdue buckets on Finance → Overview; Total Debt KPI is not a table
- FAQ — Fixed rent on variable unit — Variable listing + equal rent every contract month → booking stores fixed headline Monthly rent; payment plan unchanged