Accounting for Short-Term Rentals: OTA Income, Fees & Reconciliation (The Complete Guide)

The booking happened. Your accounts never heard about it.

A guest books your flat for four nights. The OTA confirms it, charges the guest, takes its cut, and a couple of weeks later a payout lands in your bank. Somewhere in that chain, the actual accounting — the part where this becomes a clean, reconciled record you can hand to an accountant or a tax authority — quietly fails to happen.

This is the core problem with short-term rental bookkeeping. The platforms are very good at taking bookings and very poor at giving you accounts. The booking confirmation email contains everything you need: guest, dates, nightly rate, cleaning fee, service fee, payout, currency, reference. But none of it reaches your books unless you type it in by hand.

This guide covers why OTA income is genuinely hard to account for, how to structure your books so it stops fighting you, and how to reconcile the numbers that never match. It is the hub for three more detailed guides: recording Airbnb income in Xero, reconciling Booking.com payouts, and getting your books ready for tax.

Why OTA income is hard to account for

Most small businesses invoice a customer, get paid the invoiced amount, and reconcile one figure against one deposit. Short-term rental income breaks that model in five ways at once.

1. Gross, payout and deposit are three different numbers

The guest pays one amount. The platform deducts its fees and pays you a smaller amount. Your bank receives a third amount after currency conversion and bank charges. If you only record the figure that hits your bank, you have understated your gross income and made your platform fees invisible — which is exactly the income a tax return wants to see in full.

2. Fees are structured differently on every platform

Some platforms net their commission out of the payout. Others bill you commission separately on their own invoice, sometimes with VAT applied, sometimes fortnightly, sometimes in a different currency from your payout. Treating both the same way guarantees your books drift. We cover this in detail for Booking.com, whose commission-invoice model is the most commonly mis-recorded.

3. Currencies multiply the confusion

A guest pays in euros, the platform reports in dollars, your bank deposits pounds, and your accountant wants everything in your accounting currency. Pick the wrong rate or the wrong moment to convert and every downstream figure is slightly off. We have written separately about how multi-currency breaks your spreadsheet.

4. Volume turns a small task into a real job

One booking is a five-minute job. Forty bookings a month across three platforms is several hours of repetitive data entry where one transposed digit quietly corrupts a month's reconciliation. This is the part that does not scale — and the part most hosts quietly stop doing properly.

5. Tax treatment varies by line and by jurisdiction

Accommodation, cleaning fees and service fees may each be treated differently for VAT or sales tax, and the rules differ by country. A single lumped figure cannot carry that distinction, which is why structure matters from the start.

The four numbers that never match

If you have ever tried to reconcile a month of OTA income, you have met these four numbers. They are all "the price of the booking", and they are all different.

Number What it is Why it differs
Booking value (gross) What the guest paid The headline figure, before anyone takes a cut
Platform payout What the OTA sends you Booking value minus the platform's service/commission fee
Bank deposit What lands in your account Payout minus FX conversion and any bank charges
Taxable income What your return reports Gross income, with fees recorded separately as expenses

The mistake almost everyone makes is to record the bank deposit as income and stop there. It is the easiest number to see and the least useful one to book. It hides your gross revenue, hides your platform costs, and makes your accommodation income look smaller than it is.

The correct approach is to record the gross booking value as income, record the platform fee as an expense, and let the bank deposit reconcile against the resulting net. Do that consistently and the four numbers stop being a contradiction and start being an audit trail.

How to structure your chart of accounts

You do not need an elaborate setup. You need separation. The goal is that every distinct type of money has its own home, so reports and tax returns can tell them apart.

Account Type Purpose
Accommodation Income Revenue Nightly rate revenue
Cleaning Fee Income Revenue Cleaning fees charged to guests
Service / Extras Income Revenue Additional services and add-ons
Platform Commission Expense OTA service and commission fees
FX Gains / Losses Other Currency conversion differences

A few principles make this hold up over time:

  • One line item per money type, not per booking. A booking is not a single number; it is accommodation plus cleaning plus fees. Book it that way.
  • Fees are expenses, not invisible deductions. Recording commission as an expense keeps gross revenue honest and lets you compare the real cost of each channel.
  • A contact per guest. Reusing one generic "Airbnb bookings" contact saves a minute now and costs you guest-level history, refund traceability and repeat-booking insight later.
  • Decide your currency rule once. Invoice in your accounting currency, record the rate used, and keep the original booking currency in the reference. Inconsistency here is what makes reconciliation impossible.

For platform-specific setup, our Xero short-term rentals guide walks through account codes and invoice structure in detail.

A reconciliation approach that actually closes

Reconciliation is just proving that the money you recorded matches the money that moved. It only feels hard because the numbers do not match on their face. Here is a sequence that closes cleanly:

  1. Record each booking at gross — accommodation, cleaning and extras as separate income lines, in your accounting currency, with the rate noted.
  2. Record the platform fee as an expense against that booking, so net equals what the platform will actually pay you.
  3. Match the payout when it arrives. Because your net figure was built from gross minus fee, the payout should line up.
  4. Handle the FX difference between the recorded rate and the rate your bank actually used by posting it to FX gains/losses, rather than fudging the income figure.
  5. Reconcile commission invoices separately for platforms that bill you outside the payout — chiefly Booking.com.

Done this way, the bank reconciliation becomes a confirmation step rather than an investigation. The detective work disappears because the structure already explains every difference.

Where multiple platforms multiply the problem

Everything above is hard enough for one platform. Run two or three — say Airbnb, Booking.com and a direct booking channel — and the difficulties do not just add up, they interact.

Each platform reports differently. One nets its commission out of the payout; another bills you separately, sometimes with VAT. One pays per booking; another pays fortnightly in batches. Each may report in a different currency. The booking references follow different formats. The cleaning-fee and service-fee fields sit in different places in each confirmation email. A reconciliation routine that works for one platform quietly fails for the next, and the host ends up maintaining three mental models at once.

The practical effect is that the more successful you are — the more channels you list on, the more bookings you take — the worse the bookkeeping burden becomes, precisely when you have the least time for it. This is the trap that catches growing hosts: the accounting load scales faster than the business, and at some point the manual approach simply stops being viable. We cover the operational side of this in managing bookings from five platforms.

The way out is not a different spreadsheet. It is to normalise every platform into the same structured record at the point the booking arrives, so that downstream — in your accounts, your reports, your tax return — they all look the same regardless of which channel produced them.

How Airflow turns a booking email into a reconciled draft invoice

The reason this is painful is the manual step in the middle: reading a booking email and turning it into structured accounting entries. That is the step Airflow removes.

You either forward a booking confirmation email to Airflow, or connect your Gmail or Outlook so new bookings are picked up automatically. Airflow's extractor reads the email and pulls out the guest, the dates, the nightly rate, the cleaning fee, the platform service fee, the host payout, the currency and the booking reference.

From that, it creates a draft invoice in your connected accounting software — Xero, QuickBooks, Sage or FreshBooks are all supported — with:

  • Separate line items for accommodation, cleaning and extras, plus the platform fee handled as its own line or expense
  • Correct tax treatment per line, based on your registration status
  • Contact resolution that finds an existing guest or creates a new one, so you are not duplicating contacts
  • Currency conversion at invoice time, with a fresh rate, recording the rate, source and timestamp for audit

Two things are worth being precise about, because they matter.

First, the invoice lands as a draft. Airflow does not post anything to your books automatically. You review it, you approve it, and only then does it become part of your accounts. The automation removes the typing, not your control.

Second, the multi-currency handling is layered on purpose. The original booking currency is preserved, a reporting figure is held in a standard currency with the rate locked at booking time, and the accounting figure is converted again at invoice time with a fresh rate. Every conversion logs its rate, source and timestamp, so an accountant can always see exactly how a number was produced. More on that in our multi-currency guide.

One honest boundary: for OTA bookings, Airflow simply parses and invoices them — there is no Airflow fee. Airflow only charges commission on direct bookings where it processes the payment, and even then it is deducted from your payout, never added to the guest's total.

The payoff

Structured books are not an accounting luxury. They are the difference between a tax season that takes a weekend and one that takes a fortnight of forensic spreadsheet work. When every booking is a clean, multi-line, correctly-converted draft invoice the moment the email arrives, reconciliation becomes a review rather than a reconstruction. That is the whole point of automated accounting for hosts.

To go deeper, read the three companion guides:

And if you are juggling several platforms at once, our guide to managing bookings from five platforms and to connecting everything covers the wider workflow.

Get started — early access includes 3 months free. Connect your accounting software, forward your first booking email, and watch a reconciled draft invoice appear. A card is required at checkout, but there is no charge during the free period.