1. Export the file from Airbnb
- On airbnb.com (desktop) click Today > Menu > Earnings.
- Open the Paid tab (Upcoming lists money not paid yet).
- Filter the dates and listings you want.
- Click Export CSV, choose what to include, and click Export CSV again.
Why a raw Airbnb export fails in Xero (manual journal import)
Each Airbnb payout combines one or more reservations, minus the host service fee and any adjustments. A journal entry per payout records the reservation income, fees and adjustments separately and nets to the deposit.
Xero's bank statement import puts every line into one bank account, so a payout split into sales, fees and refunds needs either a clearing account in Xero or a journal. A manual journal per payout (or per month when the export does not link sales to payouts) books gross sales, fees, refunds and payments you sent to their own accounts, and the payout amount to a payout clearing account: a current asset account that is not a bank account, because Xero does not let manual journals post to bank or credit card accounts. When the deposit arrives in your bank feed, reconcile it in Xero against that payout clearing account (Receive Money coded to it), and the clearing account goes back to zero. Xero imports the journals as drafts, and you post them after checking.
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 (manual journal import) requires
- Columns as in Xero's manual journal template: Narration, Date, Description, AccountCode, TaxRate, Amount and two pairs of tracking columns.
- Narration and Date on the first row of each journal; the rows below with both left blank belong to the same journal.
- Dates as dd mmm yyyy (05 Mar 2026) or dd/mm/yyyy.
- Account codes, not names (for example 200). Debits positive, credits negative; each journal adds up to zero.
- No bank or credit card accounts: the payout is booked to a payout clearing account (a current asset), and the bank feed deposit is reconciled against it.
- Up to 300 lines per file (we split bigger files without breaking a journal). Journals are in your base currency.
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 (manual journal import) receives
| *Narration | *Date | Description | *AccountCode | *TaxRate | *Amount | TrackingName1 | TrackingOption1 | TrackingName2 | TrackingOption2 |
|---|---|---|---|---|---|---|---|---|---|
| Airbnb payout G-TESTPAYOUT1 (2025-10-17, BR-20251017-1) | 17 Oct 2025 | Gross sales - Airbnb payout G-TESTPAYOUT1 | -3212.48 | ||||||
| Refunds - Airbnb payout G-TESTPAYOUT1 | 649.00 | ||||||||
| Fees - Airbnb payout G-TESTPAYOUT1 | 76.90 | ||||||||
| Adjustments - Airbnb payout G-TESTPAYOUT1 | -95.00 | ||||||||
| Deposit - Airbnb payout G-TESTPAYOUT1 | 2581.58 | ||||||||
| Airbnb payout G-TESTPAYOUT2 (2025-12-05, BR-20251205-1) | 05 Dec 2025 | Gross sales - Airbnb payout G-TESTPAYOUT2 | -196.86 |
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 (manual journal import)
- Make sure every account code in the file exists in your Xero chart of accounts (enter your codes in the options before downloading). The payout clearing code must be a current asset account, not a bank or credit card account: Xero does not accept those in a manual journal.
- In Xero, in the Accounting menu, select Manual journals.
- Click Import, then Browse, and select this CSV.
- Click Import, review the message, then click Complete Import. The journals arrive as drafts.
- Open the Draft tab and check each journal: add a tax rate to each line if the file has none, and tick "Show journal on cash basis reports" if you report on a cash basis (the template has no column for it). Then select the journals and click Post.
- When the deposit (or the net pay withdrawal) appears in your bank feed, reconcile it against the payout clearing account (Receive Money or Spend Money coded to that account), not against sales.
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.
- How does the payout reach my bank account in Xero?
- Xero does not accept bank or credit card accounts in a manual journal, and a journal line cannot be reconciled against a bank feed line anyway. So each journal books the payout to a payout clearing account, a current asset account you create (for example Payouts in transit), not a bank account. When the deposit appears in your bank feed, reconcile it against that clearing account (Receive Money coded to it). Do not code the deposit to sales: the journal has already booked the sales, so that would count them twice.
- 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.
- What is not confirmed yet?
- Xero's template download needs a Xero login, so we have not compared the exact header text (including the asterisks Xero puts on required columns) with a freshly downloaded template; the column names follow Xero's help page. We have also not confirmed Xero's default account codes, which tax rate names exist in each country, or whether imported journals arrive with "Show journal on cash basis reports" ticked. We have not imported the result into a real Xero organisation. Check the first journal before importing many.
Other ways to convert Airbnb
- Convert a Airbnb earnings CSV to QuickBooks Online
- Airbnb payouts to a QuickBooks journal entry
- Import a Airbnb earnings CSV into Xero
Other exports to Xero manual journal
- Stripe payouts to a Xero manual journal
- Etsy payouts to a Xero manual journal
- Gumroad payouts to a Xero manual journal
- Square payouts to a Xero manual journal
- Shopify Payments payouts to a Xero manual journal
- Amazon settlement report to a Xero manual journal
- eBay transaction report to a Xero manual journal
- Walmart recon report to a Xero manual journal
- Gusto payroll journal to a Xero manual journal