Revenue planning: monthly targets vs actual for every unit
Most operators do their revenue planning in January, in a spreadsheet. For a 120-room coliving portfolio planned month by month, that's 1,440 numbers. By March the file is already out of date: someone has to export the bookings, strip out deposits, net off refunds and cancellations, and paste the result next to the plan. That typically costs a finance lead 8-12 hours a month - and the answer arrives after the month has closed.
VIVIN's Revenue Planning moves the plan into the platform that already holds your units, bookings and charges, next to the rest of VIVIN's sales and analytics tools. You set a monthly target for every unit, and VIVIN scores each month against what was actually billed - including the months that haven't happened yet. It's built for coliving, student housing and mid-term operators who plan unit by unit.
Why revenue planning in a spreadsheet breaks down
- Actuals rebuilt by hand - every month someone exports charges, removes deposits and decides, again, how to count a cancelled booking.
- Two people, two numbers - finance and the revenue manager each keep their own version.
- The signal comes late - you learn that September missed plan in mid-October.
- A cell is just a number - it can't show you the bookings behind it.
How to set monthly revenue targets per unit
1. Switch it on and choose what counts as actual
The module is opt-in. In Settings > Global Settings > Revenue planning, turn on Enable revenue planning and a Planning tab appears in Sales. In the same card, What counts as actual revenue lets you tick Rent, Admin Fee, Cleaning Fee, Exit Fee and Others, for the whole account.
2. Write the plan in a grid that behaves like a spreadsheet
Open Sales > Planning and click Targets: every unit, grouped by property, across twelve months, with a Year total column. Paste a block straight from Excel, select cells or whole months and use Set value or Clear, or type a figure on a property row or Year total and choose Spread across the year: Evenly, Proportional to last year or Follow seasonality. Nothing saves until you press Save targets, and closed months stay locked unless you tick Edit closed months.
3. Or import the sheet you already have
Import targets takes .xlsx, .xls or .csv files, and Download template gives you the right columns. The preview shows how many rows are ready and how many have problems before anything is saved.
How to track budget vs actual every month
4. Read the Target vs. Actual grid
The Target vs. Actual grid shows the year by unit or by property, with a pinned Grand total row. Switch between Compact %, Compact € and Detail, and narrow it with the Sales filters (categories, listing types, properties). Every figure is coloured by its distance from plan:
- Below 85% - red
- 85-97% - amber, behind
- 97-103% - blue, on plan
- Above 103% - green, ahead
The current month is hatched in proportion to the days already gone, and future months are scored on revenue already contracted, under a grey layer: an early forecast, not a verdict.
5. Open the bookings behind any number
Click a cell and VIVIN lists the bookings behind the actual - tenant, dates, platform, a breakdown by component and the amount. "Why is this red?" gets answered in one click instead of an email to finance.
Which revenue counts as actual?
One counting rule applies everywhere: revenue counts in the month it was billed, deposits never count, and cancellations count only the money that was kept. In Detail view, cancellation money and refunds sit on their own lines. Rental analytics follows the same rule, so a unit's monthly revenue is the same number on both screens.
What revenue planning is worth for a 120-room operator
An estimate for a coliving operator in Lisbon with an average rent of €650 - an annual plan of about €936,000 (120 rooms × €650 × 12 months):
| Task | Spreadsheet | With VIVIN |
|---|---|---|
| Building the year's plan | 2-3 days | 1-2 hours (import or paste, then spread) |
| Monthly actuals | 8-12 hours | Calculated from the bookings |
| Spotting a miss | After month close | During the month, plus a forecast |
| Explaining a gap | Ask finance and wait | One click to the bookings |
| Time per year | 110-160 hours | 10-20 hours |
The bigger win is timing. If seeing a weak month three weeks earlier helps you fill just five rooms one month sooner across the year, that's about €3,250 of rent you would otherwise have lost.
Three ways operators use targets vs actual
The pre-season check
In June, September is only 55% contracted on a group of studios. The dimmed forecast shows it in red while there are still ten weeks to adjust prices or push those units on more channels.
The owner review
Group by property, switch to Compact €, select that owner's properties and export to Excel. When the owner asks why March came in short, click the cell and show them the bookings.
The monthly nudge from Genius
In Settings > AI / MCP > Genius Assistant, schedule the Revenue vs target report: the last closed month against target and the three properties furthest behind, delivered like the other Genius scheduled reports by WhatsApp or email.
How to switch on Planning for your team
- In Settings > Global Settings, turn on Enable revenue planning and tick what counts as actual revenue.
- In Settings > Users > Role Permissions, give Module Planning to whoever reads the plan and Edit Planning to whoever writes it.
- Open Sales > Planning, click Targets and import, paste or spread your plan, then press Save targets.
- Check Target vs. Actual every week and click any red cell to see the bookings behind it. Want a walkthrough on your own units first? Book a demo.
Frequently asked questions
What counts as actual revenue in revenue planning?
Actual is what was billed on each unit in the month, using the components you tick in Settings: rent, admin, cleaning and exit fees, and others. Security deposits are always excluded. Cancellations without refund count what was paid and kept, partial refunds count net, and full refunds count zero.
Can I import revenue targets from Excel?
Yes. Import targets accepts .xlsx, .xls and .csv files, and Download template gives you the right layout: one column per month headed YYYY-MM, with units matched by Unit ID or name. Empty cells leave targets untouched, a 0 sets a zero target, and valid rows still import when some fail.
Why does the current month look behind target?
Because it isn't finished yet. The current month is hatched in proportion to the days already gone, so 70% of target with ten days left reads very differently from 70% on the last day. Future months are scored on revenue already contracted and sit under a grey forecast layer.
Who can edit revenue targets?
Users whose role has Edit Planning, set in Settings > Users > Role Permissions. Module Planning lets someone open the tab, read the grid and export it; without Edit Planning, the Targets button stays greyed out. By default, the admin and finance roles have both permissions.
A plan you only check after month close is a post-mortem. With VIVIN's Planning tab, the target, the actual and the bookings behind it live in one place, so you see the gap while there's still time to close it.
