Import a Airbnb earnings CSV into Xero

In short: Airbnb's earnings export puts each Payout row before the reservations and adjustments it pays, and lists service fees, cleaning fees and occupancy taxes in their own columns. Xero's statement import uses its own CSV template: a Date and a signed Amount on every line, plus Payee, Description, Reference and a cheque number column. Money out is negative. Drop the file below. It is converted on your device and never uploaded.

Convert your file

Airbnb to Xero (CSV)

Earnings CSV from Menu > Earnings > Paid > Export CSV

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

One email when it ships. The address is used for nothing else. Details.

1. Export the file from Airbnb

  1. On airbnb.com (desktop) click Today > Menu > Earnings.
  2. Open the Paid tab (Upcoming lists money not paid yet).
  3. Filter the dates and listings you want.
  4. Click Export CSV, choose what to include, and click Export CSV again.

Why a raw Airbnb export fails in Xero

Xero would bring in both payout rows and reservation rows as statement lines, doubling income, and the host service fee is not a line of its own.

Xero imports the CSV line by line, so title rows above the table, balance rows, currency symbols in the amount, or separate gross, fee and net columns end up rejected or imported as the wrong amount.

What is unusual about the Airbnb file

  • Each Payout row comes first and is followed by the reservations and adjustments it pays; Paid out equals the sum of their Amount.
  • Amount is after the host service fee; Gross earnings includes the cleaning fee.
  • Occupancy taxes are collected and paid by Airbnb and are not part of your payout.
  • Dates are short, like 11/30/25.
  • Column names are translated into your Airbnb language; English and Spanish are recognized.
  • A long stay can appear in several Reservation rows.

What Xero requires

  • Header matches Xero's template: *Date, *Amount, Payee, Description, Reference, Check Number.
  • One signed amount column: money out negative, decimal point, no symbols.
  • Up to 100,000 rows per file.

2. Before and after

Before: the Airbnb earnings CSV as downloaded

Date,Arriving by date,Type,Confirmation code,Booking date,Start date,End date,Nights,Guest,Listing,Details,Reference code,Currency,Amount,Paid out,...
11/30/25,12/5/25,Payout,,,,,,,,"Transfer to Pat Example, Checking 0000 (USD)",G-TESTPAYOUT2,USD,,190.95,,,,,,
11/30/25,,Reservation,HMTEST0001,10/29/25,11/2/25,12/7/25,35,Lee Fakeguest,"2-bedroom, garden view",,,USD,190.95,,5.91,,0,196.86,19.05,2025
10/11/25,10/17/25,Payout,,,,,,,,"Transfer to Pat Example, Checking 0000 (USD)",G-TESTPAYOUT1,USD,,2581.58,,,,,,
10/11/25,,Adjustment,HMTEST0002,8/29/25,9/24/25,10/8/25,14,Kim Testperson,New studio,,,USD,-629.53,,-19.47,,-32.14,,-104.29,2025
10/11/25,,Resolution Payout,HMTEST0003,,9/17/25,9/27/25,10,Jo Mockguest,Lovely 2-bedroom,,,USD,95,,,,,95,,2025
10/11/25,,Reservation,HMTEST0004,9/29/25,10/10/25,11/10/25,31,Sam Notreal,Cozy getaway,,,USD,3116.11,,96.37,,110,3212.48,310.94,2025

After: what Xero receives

After: airbnb-2025-10-11-to-2025-11-30-xero.csv
*Date*AmountPayeeDescriptionReferenceCheck Number
10/11/20253212.48Sam NotrealReservation - HMTEST0004 - Sam Notreal - Cozy getaway - 10/10/25-11/10/25
10/11/2025-96.37FeeFee: Reservation - HMTEST0004 - Sam Notreal - Cozy getaway - 10/10/25-11/10/25
10/11/202595.00Jo MockguestResolution Payout - HMTEST0003 - Jo Mockguest - Lovely 2-bedroom - 9/17/25-9/27/25
10/11/2025-649.00Kim TestpersonAdjustment - HMTEST0002 - Kim Testperson - New studio - 9/24/25-10/8/25
10/11/202519.47FeeFee: Adjustment - HMTEST0002 - Kim Testperson - New studio - 9/24/25-10/8/25
10/11/2025-2581.58Airbnb payout - Transfer to Pat Example, Checking 0000 (USD)payout-G-TESTPAYOUT1

Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.

3. Import the converted file into Xero

  1. In Xero open Accounting > Bank accounts and choose the account.
  2. Click Manage account > Import a statement.
  3. Choose this CSV and click Import.
  4. Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.

Questions

Are occupancy taxes in the Airbnb export my income?
Occupancy taxes that Airbnb collects and pays for you appear in the export without ever reaching you, so the converter does not count them in your payout. Where you collect and pay them yourself, ask your tax preparer how to record them.
Which date format does Xero need?
Xero lists both month-first and day-first dates as accepted and asks you to confirm the format when it is unclear. Choose United States for MM/DD/YYYY or Elsewhere for DD/MM/YYYY, and confirm the same format in Xero if it asks.
Should I import payouts or reservations?
Match the bank with payouts, and record income from the reservations inside them. The journal entry does both: one entry per payout, with reservation income and fees as separate lines.
Can I import more than one month at once?
Yes. Xero imports the whole statement file you give it. Keep each file to one bank account in Xero, and avoid overlapping a period you already imported so you do not have to delete duplicate statement lines.

Other ways to convert Airbnb

Other exports to Xero (CSV)

Common import problems