What it is
An owner statement is the monthly report of what a home earned and what the owner is paid. Accuracy has two parts:
- First-time-right rate = statements issued without a later correction ÷ statements issued.
- Payout match rate = channel payouts matched to a bank deposit ÷ channel payouts expected.
Neither is a standard industry term with a fixed definition. They are practical controls that make the trust problem measurable.
Why operators track it
- Trust is the product. Owners post about missing payouts and numbers that do not match the channel (Reddit, Reddit).
- Disputes are expensive. One owner estimated arbitration at $20,000 to $30,000 when they could not get channel statements to verify the manager (Reddit). That is one person's estimate, not a benchmark.
- Spreadsheets break. Co-hosts describe building spreadsheets to handle statements, refunds, taxes, and month-crossing stays (BiggerPockets, BiggerPockets).
- Finance control. Unmatched payouts are the early sign of a missing booking or a fee error.
How it is calculated
First-time-right rate = statements not corrected ÷ statements issued. Payout match rate = payouts matched to deposits ÷ payouts expected.
- A correction is any reissue or adjustment that changes a statement already sent, caused by an error (not by a later event such as a new refund).
- A match pairs an expected channel payout with a bank deposit, by amount and date within a tolerance.
- Track the cause of each correction and who found it.
Worked example
Example data The same made-up portfolio is used on every hospitality page: a manager with 120 homes, four of them shown in detail.
The example manager issued 120 owner statements for September. 6 were corrected later, so 114 were right first time: 95.0%. Of 412 channel payouts expected in September, 405 matched a bank deposit within three days: 98.3%. The 7 unmatched payouts are the list finance works through.
How to read it
- Read the causes, not just the rate. Repeated cross-month errors point to a system rule, not a person.
- Unmatched payouts age. A payout unmatched after a week needs a reason.
- Who found it. Errors found by the owner are worse than ones found by finance first.
- We do not publish a benchmark. Levels vary by market, season, and property type.
Definitional choices and common pitfalls
- What counts as a correction. Error-driven changes only, or any change. Error-driven is more useful.
- Match tolerance. Exact amount or within cents; same day or within a set number of days. Payout timing varies by channel.
- Grain. Per statement or per line. Per statement is simpler to explain.
- Found by. Record whether finance or the owner found the error.
How different roles use it
| Role | How they use it |
|---|---|
| Finance / trust accounting | Owns both rates and works the unmatched list daily. |
| Owner relations | Hears about errors from owners and logs the cause. |
| Product / engineering lead | Builds statement versioning and payout matching so the rates can be measured. |
Questions it answers
- How many statements did we have to fix last month, and why?
- Which channel payouts have no matching deposit?
- Are errors found by us or by owners?
How to present it in a report
- Two KPIs: first-time-right and payout match.
- A table of corrections with cause, amount, and who found it.
- An aging list of unmatched payouts.
| Correction | Owner | Cause | Change | Found by |
|---|---|---|---|---|
| S-2026-09-1042 v2 | O-1042 | Cross-month stay split | −$800 | Finance |
| S-2026-09-1107 v2 | O-1107 | OTA adjustment missed | −$145 | Owner |
| S-2026-09-1033 v2 | O-1033 | Fee basis wrong | $212 | Finance |
Data you need
Fields
| Field | What it means | Example value |
|---|---|---|
| Statement version | Each issued statement with version number and date | S-2026-09-1042 v2 |
| Correction cause | Coded reason | cross-month split |
| Expected payout | From channel reservation data | $1,480, Airbnb, Sep 12 |
| Bank deposit | From bank feed | $1,480, Sep 13 |
| Match ID | Link between the two | M-55102 |
What the raw data looks like
Example data A few rows as they might come out of the source system.
| Payout ref | Channel | Expected | Expected date | Deposit | Deposit date | Status |
|---|---|---|---|---|---|---|
| P-7741 | OTA A | $1,480 | Sep 12 | $1,480 | Sep 13 | matched |
| P-7752 | OTA B | $1,840 | Sep 14 | unmatched | ||
| P-7760 | OTA C | $2,210 | Sep 15 | $2,190 | Sep 18 | review: $20 short |
Where this data usually lives
- Trust accounting and owner ledgers, in the PMS or a separate accounting tool, hold owner balances, management fees, expenses, reserves, and distributions.
- Bank feeds and payment processors hold deposits, refunds, and chargebacks used to match payouts.
- Property management system (PMS) holds units, the calendar with block types, reservations, rates, fees, and often owner statements and trust accounting. For example: Guesty, Hostaway, OwnerRez, Track, Streamline, and Escapia. Some larger managers run their own in-house PMS.
- OTAs and booking channels (Airbnb, Vrbo, Booking.com, and partner distribution sites) hold payout reports, host fees, reviews, and cancellations. Payouts are usually net of host fees.
The same field can live in more than one system. Agree with the customer which one is the source of truth.
Common data gaps and traps
- Statements overwritten. Without versions you cannot count corrections.
- Bank feed missing. Matching needs deposits from the bank or processor.
- Batch payouts. Some payouts cover several reservations in one deposit. Match the batch, then split.
- Corrections done as next-month adjustments with no link to the original statement.
Related metrics
- Net owner revenue: the number on the statement.
- Owner retention: what errors eventually cost.
- Channel cost %: fees that must reconcile.
FAQ
- Is owner statement accuracy a standard metric?
- No fixed industry definition exists. This page proposes a practical one. Define it with your finance team.
- Why match payouts to deposits?
- It catches missing payouts early. Owners have reported payouts missing compared to the channel's records (Reddit).
- What are the most common statement errors?
- One owner statement guide names mixing booking, stay, and cash dates as a top cause (VR Goals). Cross-month stays and fee splits come up often too.
For your data teamFormula variants, tables, SQL sketch, and dashboard spec
Formula details
first_time_right = COUNT(statements with no error-driven reissue) / COUNT(statements)
payout_match = COUNT(expected_payouts with deposit match within tolerance) / COUNT(expected_payouts)
Worked example detail
| Cause | Corrections |
|---|---|
| Cross-month stay split | 2 |
| OTA adjustment missed | 2 |
| Expense coded to wrong home | 1 |
| Fee basis wrong | 1 |
| Total | 6 of 120 |
Tables and fields
| Table | Fields | Notes |
|---|---|---|
statements |
statement_id, owner_id, period, version, issued_at, correction_cause, found_by | |
expected_payouts |
payout_ref, channel, amount, expected_date | |
bank_deposits |
deposit_id, amount, deposit_date, memo | |
payout_matches |
payout_ref, deposit_id, matched_at |
SQL sketch
SELECT COUNT(*) FILTER (WHERE NOT corrected)::numeric / COUNT(*) AS first_time_right
FROM (SELECT statement_id, BOOL_OR(version > 1 AND correction_cause IS NOT NULL) AS corrected
FROM statements WHERE period = '2026-09' GROUP BY statement_id) s;
SELECT COUNT(m.payout_ref)::numeric / COUNT(*) AS payout_match
FROM expected_payouts p LEFT JOIN payout_matches m USING (payout_ref)
WHERE p.expected_date >= '2026-09-01' AND p.expected_date < '2026-10-01';
Build spec
Copy this into a ticket. It lists the grain, inputs, logic, and edge cases.
metric: hospitality.owner_statement_accuracy
grain: one row per statement version; one row per expected payout
inputs:
- statement versions with cause
- expected payouts
- bank deposits
logic:
- first_time_right = statements without error-driven reissue / statements
- payout_match = matched payouts / expected payouts
edge_cases:
- batch payouts: match batch total
- partial match: flag for review
- statement voided: count as corrected
As a dashboard card
- Two KPIs with a bar of correction causes and an unmatched payout list.
Common mistakes
- Overwriting statements instead of versioning.
- Counting owner-requested changes as errors.
- Ignoring short payouts that fall within a loose tolerance.