Using net bank deposits as revenue
A bank deposit is what survived fees, refunds and timing — not what the villa earned. Recording deposits as revenue understates income, hides platform costs and makes every later comparison meaningless.
Airbnb bookkeeping Bali · OTA payout reconciliation
Step-by-step reconciliation of Airbnb, Booking.com, Agoda, VRBO and direct bookings for Bali villas — from gross booking value to the bank receipt, with every fee, refund and timing difference explained. Packages from Rp 2.9m/month.

The problem
Most Bali villa books go wrong in the same quiet way: the amount that lands in the bank is recorded as income. That deposit has already survived platform commissions, host fees, refunded stays, cancelled reservations, cleaning-fee treatment, held reserves and a payout calendar that ignores your month-end. Two villas with identical bookings can deposit different amounts; one villa can deposit more in a worse month simply because a delayed payout finally arrived. When the deposit becomes the revenue line, none of that is visible — and none of it can be explained later.
The damage compounds across channels. Airbnb settles one way, Booking.com invoices commission another way, Agoda and VRBO run their own payout timing, and direct bookings bypass platforms entirely. Add a payout converted from USD or AUD into IDR and a refund deducted from next month's settlement, and the spreadsheet total drifts further from what guests actually booked. Owner reports built on deposits cannot answer the only questions that matter: what did we earn, what did the channels keep, and what is still owed to us?
It also weakens everything downstream. An owner cannot judge pricing or channel mix from figures that hide fees. A manager cannot be asked about a shortfall that was really a reserve. And when a licensed Indonesian tax adviser reviews the records for PBJT, PPh or another obligation, a deposit total with no statement-level evidence behind it is not a record pack — it is a claim. Proper OTA payout reconciliation fixes the source: every rupiah is traced from booking, to platform, to bank, with the differences named instead of buried.
How a proper reconciliation works
The same sequence runs every month, for every channel, so one month can be compared with the next. No direct platform integration is promised — the work uses the exports and statements you supply, which keeps the evidence in your hands.
Start with the source, not the bank. Collect the transaction or payout report for Airbnb, Booking.com, Agoda and VRBO, plus the direct-booking schedule for reservations taken outside a platform. Each line should keep the booking reference, property, check-in and check-out dates, currency and gross amount identifiable. A monthly total exported without reservation detail cannot be reconciled — it can only be guessed at.
For every channel, walk the same bridge: gross booking value, less platform commission and host fees, less refunds, cancellations and adjustments, equals the net amount the platform owes you. Cleaning fees and extra-guest charges belong in this map as their own lines, not folded into the nightly rate, so the owner can see what guests paid for and what the platform kept.
A payout released by a platform is not the same event as money arriving in the bank. Settlements combine several reservations, cross month-ends, wait on reserves and land in a different currency. Match each net-due amount to a bank receipt and carry anything unmatched onto a dated timing list, so next month's close starts by clearing last month's open items instead of rediscovering them.
Refunds and cancellation adjustments change revenue; cleaning fees and extra-guest charges are separate guest charges; reserves are money held back, not money lost. Record each category in its own line with its supporting document. When a difference has no evidence yet, it stays visible as an open question for the owner or manager — it is never plugged into a miscellaneous total to make the month look finished.
The finished reconciliation becomes the payout bridge in the monthly owner report: gross bookings by channel, platform fees, net due, bank receipts, timing items still in transit and unresolved questions, each traceable back to a statement line. That bridge is what lets an owner, a manager and a licensed Indonesian tax adviser review the same month and reach the same numbers.
Illustrative payout bridge · fictional figures · IDR
Gross booking value → platform fees → refunds and adjustments → net due → bank receipts → timing items. The Rp 3,000,000 still in transit is an explained open item with a date and a reference — not missing money and not extra revenue. Read it beside the worked sample owner report.
The monthly owner report
The reconciliation is not the end product — the owner report is. These are the lines a reconciled month puts in front of you, each one traceable to its source document.
Inspect the sample owner reportCommon errors that create gaps
A bank deposit is what survived fees, refunds and timing — not what the villa earned. Recording deposits as revenue understates income, hides platform costs and makes every later comparison meaningless.
A cancelled stay that was refunded after payout appears as a quiet deduction in a later settlement. If refunds are not recorded as their own lines, revenue stays overstated and the deduction looks like a missing deposit.
Platforms hold reserves and release payouts on their own calendar. Treating a held reserve as lost income — or a delayed payout as a shortfall — creates false alarms and false comfort in alternate months.
Money an owner transfers to cover a supplier or top up an account is not guest revenue. Booking it as income inflates performance and corrupts the record pack a tax adviser later relies on.
A payout converted from USD or AUD into IDR changes value between booking, release and receipt. Without the rate and date recorded for each conversion, the difference gets misread as a fee or an error.
Local accommodation taxes and income-tax positions are assessed by the responsible qualified adviser — but only from records that exist. A report without statement-level evidence behind each total leaves that review with nothing to stand on.
Records required before work starts
Scope and fees are confirmed before engagement, after a short review of these records. Send the first message without financial files — the document handover is agreed privately once fit and scope are clear.
Service connection
OTA reconciliation is not sold as a one-off spreadsheet fix. It runs inside the monthly close, so every month starts from last month's cleared position.
Starter
Rp 2,900,000/ month
Professional
Rp 4,900,000/ month
Premium
Rp 6,900,000/ month
Tax advice and official filings are not included in bookkeeping packages; tax-compliance support is a separate engagement. Behind on past months? Historical cleanup starts at Rp 7,900,000 for up to 12 months, subject to records review.
We walk the payout bridge: gross booking value, less Airbnb fees, refunds and adjustments, gives the net due; then we compare that with the bank receipt. A lower bank amount is usually fees, a refund deducted from a later payout, a reserve still held, a currency conversion, or a payout still in transit. Each cause is recorded as its own line with its evidence. If none of them explains the difference, it stays on the open-questions list — it is not written off as a fee.
Gross booking value is what guests booked before platform deductions. Net due is what the platform owes after its commission and host fees, refunds, cancellations and other adjustments. The bank receipt is a third number again, because payouts combine reservations and arrive on the platform's calendar. A useful owner report shows all three instead of presenting the deposit as revenue.
Yes, within the agreed bookkeeping scope. Booking.com commission invoices are matched against the reservations they relate to and recorded separately from the payout or bank receipt, so the cost of the channel is visible. We work from the invoices and exports you supply; no direct platform integration or account access is promised.
Yes, where the records are supplied per property and channel and the scope is agreed in advance. Each villa keeps its own booking, fee and payout lines; shared costs follow a documented allocation. Starter is scoped for 1 villa and up to 2 booking channels; wider setups are confirmed before agreement so the close stays achievable.
The handover pack connects each reported total to its source: platform statements, commission invoices, bank receipts, refund approvals and the dated list of unresolved items. That gives a licensed Konsultan Pajak a traceable record for PBJT, PPh or other reviews. The bookkeeping pack organises evidence; tax treatment and filings remain the adviser's separate, separately scoped work.
The 15th is our target after complete and timely source documents are received — it is not a guaranteed date. A close moves faster when exports, statements and invoices arrive together and open questions get answered; late or partial records move the delivery date, and we say so rather than closing the month on assumptions.
It is part of the monthly bookkeeping packages: Starter Rp 2,900,000, Professional Rp 4,900,000 and Premium Rp 6,900,000 per month, with channel and property limits confirmed before agreement. Historical backlogs are scoped separately as a cleanup, starting at Rp 7,900,000 for up to 12 months after a records review.
Tax advice, official filings, payroll execution and BPJS administration are not included in bookkeeping. We do not control bank or platform accounts, authorise payments, or promise direct OTA integrations. Where tax-compliance support is needed, it is agreed as a separate engagement with the responsible qualified professional.
Start with a records review rather than a monthly package. A cleanup engagement — starting at Rp 7,900,000 for up to 12 months, subject to review — reconstructs what the evidence supports, lists what is missing, and establishes an opening position so the recurring reconciliation starts clean.
Go deeper