Know What the Import Will Cost Before It Runs
The worst possible outcome is the middle
A host joined Airflow with a year of bookings behind them. They did what the onboarding taught them to do: forwarded booking emails in, one at a time. Fifteen of them.
Partway through, they ran out of actions. Four invoices failed. Nothing told them. They found out later, from a set of books that was missing a chunk of the year with no obvious pattern to which chunk.
That failure mode is worth sitting with, because it’s the one that does real damage. Being refused up front is a minor irritation — you top up, you try again, nothing is wrong. Succeeding is obviously fine. Stopping halfway is the only outcome that leaves you with books you can’t trust, because now you have to work out which records made it and which didn’t, and a partial import looks almost exactly like a complete one.
Three changes shipped this week to close that gap.
One: see the cost before you commit
Airflow prices automated work in actions. Forwarding a booking email, drafting an invoice in your accounting software, syncing to a sheet — each one is an action. Manual work isn’t: editing settings, viewing your dashboard, blocking dates and updating your calendar have always been free. You can see what each plan includes on the pricing page, and we wrote up why we price it that way rather than per property in Actions, Not Subscriptions.
The problem wasn’t the model, it was the silence. Sending a batch of bookings to your accounting software would simply start, and a shortfall surfaced later as a deferred row in a log nobody reads.
Now, before anything runs, you get the arithmetic: how many actions this batch needs, how many you have, and — if those two numbers don’t work — the two ways out. Either enable overage so the extra actions are billed as you use them, or move up a plan. You see that at the moment you’re deciding, not in a report afterwards.
The same cost line appears on every path that sends bookings to your accounting software, not just the bulk one. A single booking you send by hand tells you what it will cost too.
Two: a short batch is refused whole
This is the part that took a decision rather than just code.
When you ask to send 47 bookings and you have credit for 30, there are two defensible answers. Do the 30 and tell you about the 17. Or do none of them and tell you why.
Airflow refuses the whole batch.
Partial success sounds more helpful and is worse in practice. Thirty invoices in your accounting software and seventeen missing is a reconciliation job you didn’t ask for — and critically, you can’t tell by looking which thirty. A refusal leaves your books exactly as they were. Nothing to unpick, nothing to reverse, one clear thing to fix.
It’s the same principle we apply to ambiguous import files. A CSV where the date column could be day-first or month-first, with no row anywhere proving which, gets refused rather than guessed — a guess produces a plausible-looking calendar that’s silently wrong by months. Import Airbnb Booking History into Xero goes through the ordering traps in detail.
Three: prove the connection on one booking first
The third change is the one we’d recommend to every new host regardless.
Before you send real invoices in bulk, Airflow now asks you to send exactly one booking through to your accounting software and look at the result. Not a simulation — a real synthetic booking driven through the actual pipeline, which raises a genuine draft invoice in your accounts and reports its number and currency back to you. You check it, then it’s voided and cleaned up.
This is required once per accounting connection before a batch can run.
The reason it earns its place is currency. A connection can be perfectly authorised and still produce wrong invoices, because your accounting organisation’s base currency and your booking currency aren’t the same thing, and nothing about connecting the two surfaces that mismatch. You find out when invoices are already in your books in the wrong denomination.
One test invoice shows you the currency on the face of it, before there’s anything to clean up. In our own verification run the test raised a draft in Xero, reported its number and currency, and was voided — the proof-of-connection stamp stayed, the invoice didn’t.
The order that works
Putting the three together, the path for a host arriving with existing bookings:
- Connect your accounting software.
- Send one booking through it. Check the invoice number, and check the currency. This costs you nothing.
- Bring your existing bookings in. A CSV, a Google Sheet, an iCal feed, or typed by hand. Every route lands them as availability blocks — the dates are protected, but no invoice is raised, no guest email goes out and no credits are spent. The import itself is inert by design, which we covered in Every Booking You Already Have, In One Place.
- Then choose what to invoice, and when. Historic bookings that your accountant has already dealt with don’t need to be sent at all. The ones that do get sent when you say so, with the cost shown before the batch starts.
The separation between step 3 and step 4 is the whole design. Getting your bookings into Airflow and raising invoices from them are different decisions with different consequences, and collapsing them into one import button is how people end up with hundreds of draft invoices they didn’t intend to create.
What’s live, and what isn’t
The cost line, the whole-batch refusal, and the required one-booking accounting test are all live now. They sit on the import page, the bookings list and the Connections page in your portal.
What isn’t built is the tidier version of this: a guided onboarding wizard that walks a new host through connect, test, import, invoice in that order without them having to know it’s the right order. Today the pieces are all there and correctly gated — you can’t run a batch without passing the test — but you assemble the sequence yourself. That wizard is the next piece of work.
One exception worth knowing: staff admins can skip the one-booking test. That’s for support situations where the connection has already been proven another way, not a general escape hatch.
If you’re moving a book of existing business across, talk to us before you start — the order above is cheap to follow and expensive to discover afterwards.