How to split holiday-rental bookings that cross a month or year end

Written by Porchlight Ledger with AI assistance; facts checked against the official sources linked in the text. General bookkeeping information, not tax or accounting advice.

A guest checks in on 29 March and leaves on 3 April. The platform pays you once, usually around check-in, but the stay covers three nights in March and two in April. If you put the whole booking in March, March looks too good, April too weak, and your occupancy, average daily rate and monthly profit are all off. When the stay crosses 31 December, the error carries over into your annual figures too.

This guide is general bookkeeping information, not tax or accounting advice. Your accountant or local rules may require a specific method (for example, cash basis vs accrual). Follow those where they apply.

The rule: split by nights

Count the nights that fall in each month. A night belongs to the date it starts on, so the night of 31 March is a March night.

Share for a month = nights in that month ÷ total nights in the stay

Apply that share to:

For the 29 March to 3 April stay: 5 nights in total, 3 in March (3/5) and 2 in April (2/5).

What about cleaning and other per-stay costs?

Per-stay costs (cleaning, laundry, consumables) happen once per stay. There are two reasonable approaches:

  1. Split them by nights, like revenue. This keeps each month's margin consistent.
  2. Assign them to the check-in month (or the check-out month, when the clean actually happens).

Either works if you choose one and keep using it. Switching methods between months makes the trend meaningless.

Payout vs income

The split is about income and occupancy reporting. The cash still arrives when the platform pays out. Keep two views:

Mixing the two is the most common reason a host's "monthly income" never matches anything.

Occupancy and RevPAR

Use the same split for occupied nights. Occupancy = occupied nights ÷ available nights in the month. RevPAR = revenue ÷ available nights. If cross-month stays aren't split, both figures jump around for no real reason.

Spreadsheet formula idea

With check-in in column B, check-out in column C (the departure date), and the first and last day of the month in F1 and G1:

nights in month = MAX(0, MIN(C2, G1 + 1) − MAX(B2, F1))

This works the same way in Excel, Google Sheets and LibreOffice. Multiply by the per-night share of each amount.

Let a spreadsheet do it

The Holiday Rental Profit Dashboard from Porchlight Ledger splits month- and year-crossing stays by nights automatically, across Airbnb, Booking.com, Vrbo and direct bookings. It's available now at the $14 early-access price (regular $19), emailed to you as an attachment within a few hours: get it here.

Holiday Rental Profit Dashboard

Spreadsheet for Airbnb, Booking.com, Vrbo & direct. Excel 2016+, Google Sheets, LibreOffice. No macros, no subscription. Available now, emailed to you as an attachment within a few hours (overnight orders by 08:00 Lisbon time).

Buy now - $14 early access