DEV Community

Lawrence Locke for HostPayout

Posted on

Turning messy Airbnb / Vrbo / Booking.com payout CSVs into per-property profit

Hosts rarely have a single clean ledger. Revenue comes from one export, platform fees from another, and operating costs from a bank or card CSV. Each source uses different columns, currencies, fee structures, and date formats. HostPayout turns that pile into one per-property profit view. Here's the shape of the problem.

Four exports, four formats

  • Airbnb — payout CSVs: gross, host fee, taxes, adjustments, payout date
  • Vrbo — owner statements with their own column names
  • Booking.com — finance exports with commission and payout columns
  • Bank / card — free-form expense rows with no notion of "property"

None of them agree on headers, sign conventions (is a fee a negative number or a separate column?), currency, or how dates are written.

Step 1: normalize into one transaction model

Every row, from every file, maps onto the same record:

  • date — parsed to a real date regardless of source format
  • property — which unit it belongs to
  • type — income, platform fee, tax/adjustment, or expense
  • amount + currency — kept in the original currency

Getting sign conventions and currency right here is most of the battle: a "fee" is a negative amount in one export and a positive value in a separate column in another.

Step 2: assign to properties — and keep it editable

A bank CSV doesn't know which apartment a cleaning charge belongs to, so import isn't the end — it's a review step. You assign properties, fix anything miscategorized, and delete what doesn't belong before the numbers hit your reports. Rows stay editable afterward, so a mistake is a quick fix, not a locked-in error.

Step 3: roll up to monthly net profit per property

Once everything is normalized and assigned, the report is the easy part:

  • Income, platform fees, and expenses per property
  • Net profit per property, per month
  • A portfolio summary across all units

No workbook, no formulas to maintain — the same three-step loop every month.

Why not just connect the APIs?

Because CSV exports work in any country and currency, need no bank login or Plaid, and don't break when a platform changes its API. You upload a file you already have, review it, and see whether each property actually made money.

Try it with your own export: hostpayout.com.


Try HostPayout: Owner statement CSV tracking · Airbnb profit tracker · Booking.com profit tracker · Upload your CSV free

Top comments (0)