Xero + Short-Term Rentals: The Setup Nobody Teaches You

Xero wasn’t built for this

Xero is excellent accounting software. It handles invoicing, bank reconciliation, payroll, and reporting beautifully for most businesses. But short-term rental income has characteristics that Xero doesn’t handle natively:

  • Multiple revenue streams per booking — accommodation, cleaning fees, extras
  • Platform commissions — deducted before payout, not invoiced separately
  • Multi-currency — guests pay in one currency, your bank receives another
  • Variable tax treatment — VAT on accommodation but not on deposits, or different rates for short vs. long stays
  • High volume — 20-50 invoices per month across multiple properties

Most hosts and their accountants end up creating a “good enough” setup that works until it doesn’t — usually at tax time, when the reconciliation falls apart.

The common mistakes

Mistake 1: One line item per booking

The simplest approach — one invoice line showing the total payout — is also the least useful. It lumps accommodation, cleaning fees, and platform commissions into a single number. Your accountant can’t separate revenue types. Your tax return can’t distinguish between taxable and non-taxable income. Your P&L shows a number that doesn’t match what the guest actually paid.

Mistake 2: Ignoring platform fees

When Airbnb takes their 3% host fee, you receive a payout that’s less than the booking value. Many hosts record only the payout amount, ignoring the commission entirely. This understates gross revenue and hides the true cost of each platform.

The correct treatment: record the full booking value as income, and the platform commission as an expense. This gives you accurate gross revenue figures and lets you compare the real cost of each channel.

Mistake 3: Wrong currency handling

If a guest pays €1,200 and you receive £987 in your UK bank account, which currency goes on the invoice? If you invoice in GBP at the bank amount, you’ve lost the connection to the original booking value. If you invoice in EUR, you need to handle the FX conversion on the bank reconciliation.

Neither approach is wrong, but most hosts don’t choose deliberately — they use whatever currency they think of first, and end up with an inconsistent mix that makes reconciliation impossible.

Mistake 4: No contact per guest

Creating a new Xero contact for every guest is tedious. Skipping it and using a generic “Airbnb Bookings” contact saves time but eliminates guest-level tracking. If a guest books twice, you can’t see their history. If you need to issue a refund, you can’t find the original invoice.

Mistake 5: Manual data entry

The biggest mistake isn’t a configuration issue — it’s the process itself. Manually creating invoices from booking emails is slow, error-prone, and doesn’t scale. At 20 bookings per month, you’re spending 2-3 hours per month on data entry. At 50 bookings, it’s a part-time job.

The right setup

Here’s how a properly configured Xero setup for short-term rentals should work:

Chart of accounts

AccountTypePurpose
Accommodation IncomeRevenueNightly rate revenue
Cleaning Fee IncomeRevenueCleaning fees charged to guests
Service Fee IncomeRevenueAdditional services and extras
Platform CommissionsExpenseAirbnb/Booking.com/VRBO fees
FX Gains/LossesOtherCurrency conversion differences

Invoice structure (per booking)

A properly structured invoice should have separate line items:

  1. Booking summary — zero-value line with confirmation code, guest name, dates, and platform (for reference)
  2. Accommodation — nightly rate x number of nights (or total if rate varies)
  3. Cleaning fee — separate line item with appropriate tax treatment
  4. Platform service fee — deducted commission as a negative line item or separate expense
  5. Tax — VAT/GST applied to applicable line items based on your registration status

Currency handling

Invoices should be created in your accounting currency (the currency your bank and tax returns use), with the exchange rate recorded for audit. The original booking currency should be noted in the invoice reference or description for traceability.

Contact management

Each guest should be a Xero contact, created automatically on first booking and reused for repeat guests. This enables guest-level revenue tracking and simplifies refund processing.

How Airflow automates all of this

Airflow connects to Xero via OAuth — a proper, secure integration with automatic token refresh. No API keys to manage. No manual re-authentication.

When a booking is processed, Airflow creates a draft invoice in Xero with:

  • Contact resolution — searches for existing guest contact by name and email; creates one if not found
  • Multi-line items — accommodation, cleaning fees, service fees, and platform commissions as separate lines
  • Correct account codes — mapped to your chart of accounts, configurable per organisation
  • Tax handling — VAT rates applied based on your registration status and line item type
  • Withholding tax — supported for jurisdictions that require it
  • Currency conversion — booking amount converted to your accounting currency with the exchange rate, source, and timestamp recorded
  • Bank spread adjustment — configurable percentage to account for your bank’s FX markup

The invoice is created as a draft. You review it, approve it, and it’s ready for reconciliation when the payout arrives.

Bulk processing

Airflow processes up to 10 bookings per batch, running every 15 minutes. A busy weekend of bookings turns into a stack of clean, correctly structured draft invoices waiting for your review on Monday morning — not a backlog of manual data entry.

The reconciliation payoff

When your Airbnb payout arrives in your bank account, Xero’s bank rules can match it to the corresponding invoice because the amounts, references, and dates all line up. What used to take 20 minutes of detective work per payout becomes a one-click bank reconciliation.

Beyond Xero

Airflow supports direct integrations with three accounting platforms:

  • Xero — full OAuth integration, draft invoices, contact management, automatic token refresh
  • QuickBooks — sandbox and live modes, customer creation, multi-line invoices
  • FreshBooks — OAuth, client search/create, detailed line items

All three follow the same pattern: connect your account via OAuth, configure your account codes, and start processing bookings. Draft invoices are created automatically with the same multi-line structure — accommodation, fees, commissions, tax, and currency conversion.

Google Sheets and CSV export

For other accounting platforms, Airflow supports Google Sheets sync — push your booking data to a connected spreadsheet with one click. You can also export booking and financial data as CSV for import into any accounting tool. This gives you flexibility regardless of which software your accountant uses.

Stop doing your accountant’s job

Your time is better spent on guest experience, property maintenance, and growing your business — not on creating invoices that a machine can create more accurately in seconds.

Get started with Airflow, connect your Xero account, and forward your first booking email. The draft invoice that appears will have more detail, better structure, and fewer errors than anything you’d create manually.

Your accountant will thank you at year-end.