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:
- Gross booking value (nightly revenue plus any cleaning fee you charged)
- Platform cost (commission, service fee, payment charges)
- Pass-through taxes such as tourist tax and VAT, if you track them by period
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:
- Split them by nights, like revenue. This keeps each month's margin consistent.
- 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:
- Bookings view: one row per reservation with its real dates, split across months by nights. Use this for profit, occupancy and channel comparison.
- Cash view: payouts as they hit the bank. Use this to reconcile with your bank statement.
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