Skip to main content
Back to blog
ProductFebruary 25, 2026·7 min read

How AI eliminates the headache of utility billing in shared housing

How AI eliminates the headache of utility billing in shared housing

If you manage shared housing - coliving, student accommodation or flats let room by room - you know the pain. Every month, water, electricity, gas and internet bills arrive, and each one has to be filed against the right property, split between the tenants who actually lived there and checked against the bills each rent includes. Fifteen flats with four monthly bills means 60 such calculations a month.

Vivin's Utilities module turns that routine into a review: the AI bill reader extracts each bill's data, Vivin files the bill on its property by contract ID, splits the cost per night across the occupied rooms and, once your team approves, charges only what exceeds the bills included in each booking.

The manual billing nightmare

Here's what utility billing looks like without automation:

  1. Receive a bill (usually a PDF from the supplier)
  2. Figure out which property it belongs to (the supplier's address format rarely matches yours)
  3. Note the billing period and total amount
  4. Look up which tenants occupied the property during that period
  5. Calculate each tenant's share (by room? by days of stay? and who pays for the empty room?)
  6. Subtract what each rent already includes for bills
  7. Add the difference to each tenant's payments, with an explanation
  8. Track who's paid and chase those who haven't

For one property with 5 rooms, that's manageable. For 10 properties with 80 rooms, it becomes a project every month - and one wrong date range or miscalculated split is enough to start a dispute.

How Vivin's AI bill reader works

Open Utilities and click Add Bill. Here's what happens next:

1. The AI reads the bill

In the Upload PDF tab, drop one or several PDFs (up to 25 MB each). The AI reads each PDF's text and extracts the utility (electricity, gas, water or internet), supplier, bill number and date, billing period, total with VAT and taxes, and supply contract ID. Its rules cover Portuguese bills (CPE and CUI codes) and Italian ones (POD and PDR codes), and a combined electricity and gas bill becomes two bills. Duplicates are flagged Already uploaded; a bill the reader cannot read, such as a scan, goes in through Manual Entry.

2. Each bill lands on its property

Each property keeps its supply contract IDs in Utilities > Connections, one per utility, plus Additional contract IDs for a second meter. Vivin matches the contract ID on the bill against them and files the bill on that property - no address matching, no picking from a list - and says so if no property carries it. A contract shared by several properties is filed on each of them, and its cost is shared across all their occupied units.

3. The cost is split night by night across occupied rooms

Vivin turns each bill into a daily cost (bill amount ÷ days in the billing period) and splits each night's cost equally among the rooms occupied that night:

  • Empty rooms stay out - a room with an open calendar is left out of that night's split.
  • Nights, not months - the check-in night counts, the check-out night does not.
  • Blocks are the landlord's - a night blocked without a booking counts as occupied, and its share is marked Absorbed: no tenant pays it.
  • Complete periods only - a night is allocated once every utility with a contract ID on the property has a bill covering it (green on the Timeline tab).

One rule for every bill - an equal share per occupied room, not individual consumption - so there are no sub-meter readings to collect.

4. Only the excess is charged, after your approval

Each booking has a monthly cap for the bills its rent includes, the Bills Included Max Value, prorated to the nights calculated (cap × nights ÷ 30). Within it, the period is marked Covered and nothing is charged; above it, only the difference becomes an allocation. A property set to All bills included never charges its tenants.

Allocations with an extra to charge start as Pending in the Allocations tab, with their breakdown. Your team approves or rejects them one by one or in bulk, by billing period, property or tenant. Only approved allocations reach the tenant's payment plan, due on the deposit refund date; an approval can be undone until the charge is invoiced.

A worked example: one flat, one month

An illustrative example - invented figures, Vivin's rules. A 6-room coliving flat receives €270 of November bills (electricity, water and internet) for the 30 days: €9.00 a day. Each booking includes up to €40 a month of bills. Room 3's tenant checks out on 15 November, a new tenant checks in on 25 November, and the other five rooms are occupied all month.

Tenant Nights Share of the bills Included in the rent Extra to approve
Rooms 1, 2, 4, 5 and 6 (each) 30 €48.00 €40.00 €8.00
Room 3, outgoing tenant 14 €21.00 €18.67 €2.33
Room 3, incoming tenant 6 €9.00 €8.00 €1.00
Whole flat - €270.00 €226.67 €43.33

A night's share is €9.00 ÷ 6 = €1.50 per room, or €9.00 ÷ 5 = €1.80 on the 10 nights Room 3 is empty. The outgoing tenant's allowance is the €40 cap over 14 nights (€40 × 14 ÷ 30 = €18.67). All €270 is accounted for; only €43.33 goes to approval.

Flexible settings for different scenarios

Charge every month, or at the end of the booking

In Settings > Global Settings, the Utilities card sets the Charge Time: Every Month or End of Booking (the default). With End of Booking, a stay is allocated when it ends, but its room counts in the nightly split meanwhile, so housemates who leave first never pick up its share.

Fixed monthly utilities, settled at the deposit refund

Prefer a fixed monthly amount? Add it in Settings > Payments as a recurring charge with Settle against the real bills at the deposit refund. At the refund, Vivin compares, for each month whose bills are all in, what the tenant paid with their real share: any excess goes on the booking for the deposit refund to settle, and a lower total is given back if Refund the difference when the bills come in lower is on.

Transparency tenants can check

Most complaints about utility charges come from not seeing the calculation: "Why am I paying €45 for electricity? I wasn't even here for two weeks." With Vivin, the answer is in the data:

  • In the tenant portal, the Utilities page lists the property's bills for the tenant's booking period - type, provider, bill number, period and amount - and opens each bill's PDF.
  • Each approved charge appears on the tenant's payment plan as its own line.
  • With fixed monthly utilities, the tenant is emailed the settlement summary: what they were charged, the real bills and the difference.
  • Every allocation keeps its breakdown, so your team can show how a share was worked out.

Getting started

Setting up utility billing in Vivin takes four steps:

  1. Save your contract IDs - One per property and utility, in Utilities > Connections.
  2. Set the caps - Check each booking's Bills Included Max Value and choose your Charge Time.
  3. Upload your bills - Add Bill, then Upload PDF: the AI files each one on its property.
  4. Review and approve - In Allocations, approve or reject; only approved charges reach the tenants' payment plans.

Then, each month: upload the new bills, check the Timeline for gaps (the Bills tab also detects missing bills from each property's billing history) and review the allocations. See the Utilities feature and the security deposit lifecycle, or book a demo.

Upload the bills, approve the split. Vivin reads, files and splits each bill night by night, so your team reviews numbers instead of building spreadsheets - and no tenant is charged until you approve.