Accounting

Accounting Overview

The Overview tab is the dashboard for the Accounting section — three KPI cards at the top, with details one tap below.

The three KPIs

1. PENDING PAYOUTS

How much you currently owe teammates that has not yet been marked paid.

Source: payments rows where paidAt IS NULL AND paymentType IN ('cleaner_fee', 'maintenance_fee', 'cash_advance').

Click the card → opens the Payout report pre-filtered to unpaid.

2. Monthly BUNDLE

The current month's gross revenue + AI-flagged anomalies for the month (gh#367 child #C — the bundle view is the "what's this month look like" view operators open during month-end review).

Click the card → expands to per-property monthly breakdown.

3. CITY TAX

Sum of city tax collected this month, split:

  • Guest-paid (already included in reservation amount on Booking.com / Airbnb)
  • Cash on arrival (collected by the cleaner or operator, photo-evidenced)

The card warns when cash-collected rows are missing photos or showing €0 (gh#458 — cash payments never silently land at €0; expected city tax is computed from nights × rate × guests and the card warns when the entered amount is below threshold).

Click the card → opens City tax for the month.

Loading state

Until each KPI has a real backend, the card shows the value alongside a small est. chip. After gh#367 shipped, all three cards source from live queries — no more "Coming soon" placeholders.

If a KPI fails to load (rate limit, network blip), the card surfaces an error chip — the operator sees the failure instead of an empty value (per gh#363 + gh#376 — V28 surface ratchet against silent mock fallback).


Implements: gh#367 (3 'Coming soon' KPI backends). Related: gh#363 / gh#376 (no silent fallback to mock data).

Source: the FlatsBratislava operator manual.