A new Airbnb booking lands. You open the reservation, copy the dates, paste the guest name, type the payout, and colour the row. Then a Booking.com guest changes their check-out, and you have to remember that the spreadsheet row is now wrong too.
The spreadsheet isn't the problem. The problem is that it's doing four different jobs at once, and only one of those jobs suits a spreadsheet. Your first action today: open your booking sheet and label each column with the job it serves. The sections below show what to do with each group.
Why does a booking spreadsheet keep going out of date?
A booking spreadsheet goes stale because it's a copy: every change made on Airbnb, Booking.com, or a direct booking has to be retyped by hand, and nothing warns you when one is missed.
Each platform keeps its own record, and each record can change after you've copied it. Guests shorten stays, add a person, or cancel. Booking.com says adjustments to reservations have to be made before the commission invoice is issued, which means the reservation data keeps moving for weeks after the booking first appears.
Sheets also can't tell you reliably what changed. Google's help page on finding what's changed in a file lists changes that may not show in a cell's edit history, including added or deleted rows, changes made by formulas, and changes made before restoring a past version. A deleted booking row can simply vanish from the audit trail.
We infer the practical risk from those two facts: the sheet can look complete and still be wrong, and you have no dependable way to find out when it went wrong.

Which jobs is your spreadsheet actually doing?
Most host booking sheets combine four jobs: live availability, operational handoff, financial analysis, and archival reporting. Only the last two suit a spreadsheet, because they work on finished, stable data.
Separate them before you change any tool.
Live availability. "Is unit 2 free on the 14th?" This answer has to be current to the minute, and it has to reach every channel. A spreadsheet can't close a date on Airbnb. Even Airbnb's own calendar sync updates imported calendars every 3 hours, and a hand-maintained sheet is slower than that.
Operational handoff. Cleaners, check-in instructions, key handovers. This needs the current booking, not last Tuesday's copy. A shared sheet also exposes guest names and phone numbers to everyone who can open it.
Financial analysis. Revenue per unit, fees by channel, occupancy by month. Here a spreadsheet is excellent: pivot tables, your own formulas, your accountant's template.
Archival reporting. Year-end totals, tax records, disputes. Also a good fit, as long as the data came from the source rather than your typing.
The rule that follows: live jobs belong in a reservation system that the channels write into. Analysis and archive jobs stay in Sheets, fed by exports, never by retyping.
How do you move spreadsheet columns into a reservation system?
Map each column to its job, then to the system that already produces that data. Columns that a platform or reservation system creates should stop being typed; only your own analysis columns stay manual.
Use this map as a starting point. Tick each row off as you move it.
| Spreadsheet column | Job | Where it should come from |
|---|---|---|
| Unit, dates, nights | Live availability | Reservation system, synced from channels |
| Channel and reservation code | Live availability | The channel's reservation record |
| Guest name, phone, guest count | Handoff | Reservation system, access limited |
| Cleaning date and notes | Handoff | Reservation system or cleaning tool |
| Gross amount, fees, payout | Financial analysis | Channel payout export |
| Commission per stay | Financial analysis | Booking.com reservation statement |
| Unit revenue, occupancy, ADR | Financial analysis | Formula on exported data |
| Invoice or tax notes | Archival | Monthly export plus your notes |
ADR is average daily rate: room revenue divided by nights sold. Keep formulas like that in your analysis sheet. They're yours, and they don't need to live in the reservation system.
Two platform exports matter most here. Airbnb's earnings download produces a CSV with earnings, host service fees, cleaning fees, gross earnings, and taxes withheld per earning. Booking.com's reservation statement lists every reservation included in a commission invoice, and you can download the monthly statement as XLS or CSV from the Finance section of the Extranet. Commission invoices are based on guests' check-out dates, so a stay that crosses a month end belongs to the month the guest leaves.
How do you run both systems safely during the switch?
Run the old spreadsheet and the new system side by side for one full booking cycle, compare them on fixed checkpoints, and stop typing into the sheet only after the checkpoints match.
Dropping the spreadsheet in one day is how bookings get lost. Use this dual-run checklist instead.
- Freeze the sheet's structure. No new columns during the switch. Add a "Checked in system" column only.
- Import future reservations first. Past stays can wait; future ones decide whether you double-book.
- Match on reservation code, not guest name. Names repeat and get misspelled. Codes don't.
- Check every unit's next 60 days daily. Each night on the sheet should match a stay or a block in the system.
- Log each mismatch with its cause. Missed cancellation, date change, owner stay, typo. The pattern tells you which habit to change.
- Stop retyping after a clean week. Keep the old sheet read-only as an archive.
The 60-day window is a recommendation, not a rule. Pick a window that covers most of your booking lead time.
What do reconciliation rules look like after the switch?
Reconciliation means comparing your records against each platform's own statement on a schedule. Use fixed rules for which record wins, so a mismatch leads to a correction instead of a debate.
- Dates and status: the channel where the guest booked always wins. Fix it there, then let the change flow down.
- Payouts: the platform's payout export wins over any amount you typed.
- Booking.com commission: the reservation statement wins. Adjust reservations there before the invoice is issued.
- Direct bookings: your reservation system is the source, and the payment provider's record confirms the money.
- Anything only in the sheet: treat it as missing from the system until proven otherwise.
The monthly export workflow
Once live data lives in one system, the spreadsheet becomes a monthly report instead of a daily chore. Here's a workflow that keeps your formulas and drops the retyping.
| Step | When | Output |
|---|---|---|
| Export reservations from your system | 1st working day | One CSV for the month |
| Download Airbnb earnings CSV | Same day | Payouts, fees, taxes withheld |
| Download Booking.com statement CSV | After the invoice arrives | Commission per reservation |
| Paste into raw-data tabs, never edit | Same day | Untouched source data |
| Refresh formula tabs | Same day | Revenue, occupancy, ADR per unit |
| Save a named version or dated copy | Same day | Month-end snapshot |
Keep raw exports on their own tabs and never type into them. Google Sheets allows up to 15 named versions per spreadsheet, so after a year of monthly snapshots you'll need dated copies instead. For a deeper setup of the finance side, see vacation rental bookkeeping basics.
When this advice does not apply
If you have one unit on one platform, that platform's reservation list is already your live system. A spreadsheet for monthly analysis is fine, and a separate reservation tool adds a place to maintain.
If your accountant needs a specific ledger format, keep it. The export workflow feeds that ledger; it doesn't replace it.
Tax, VAT, and guest registration rules differ by country. Neither the spreadsheet nor a reservation system decides what you must report. Check with your local authority or accountant.
And if your channels connect through a full PMS with two-way API sync, some columns above already arrive automatically. See channel manager vs PMS for how those roles split.
What to do next
- Label every column in your current sheet as availability, handoff, finance, or archive.
- Download this month's Airbnb earnings CSV and compare its payouts with what you typed.
- Pull last month's Booking.com reservation statement and check it against your sheet by reservation code.
- Pick the system that will own live availability, then run the dual-run checklist for one booking cycle.
- Read how to manage Airbnb, Booking.com, and direct reservations in one calendar to set the source-of-truth rules.
FAQ
Can I keep using Google Sheets for bookings if I only have two units?
Yes, for analysis. The risk is using it as the live availability source. If a sheet is the only place a direct booking exists, one missed update can become a double booking.
Should I automate the copy with Zapier or a script instead?
Automation removes the typing but keeps a second copy that can drift. Automated copies also need their own checks when a platform changes its export format.
How far back should I import past bookings?
Future reservations are essential. Past stays matter only for your reports, and your old sheet can stay as a read-only archive for those.
About BookBed: BookBed keeps reservations, guests, payouts, and messages in one system, and you can export them as CSV or through the API whenever you need a spreadsheet for analysis. Payouts and commissions still come from each platform's own statements. See BookBed pricing
Sources
- Airbnb Help Center, "Download your earnings" β Verified 2026-09-28
- Airbnb Help Center, "Sync your home host calendar to other websites" β Verified 2026-09-28
- Booking.com for Partners, "Reviewing your reservation statement" β Verified 2026-09-28
- Google Docs Editors Help, "Find what's changed in a file" β Verified 2026-09-28
- BookBed, data export answer at /faq and /pricing.md β Verified 2026-09-28
