Features
OperationsLive

Booking Management

Import, track, and manage all your villa bookings from 310+ platforms in one dashboard.

Overview

VillaTax centralizes all your villa bookings from 310+ platforms into a single dashboard. Whether your guests book through Airbnb, Booking.com, Agoda, Vrbo, Traveloka, Tiket.com, or any other OTA, every reservation flows into VillaTax where taxes are calculated and accounting entries are created automatically.

The booking module at Bookings module is the operational core of VillaTax. Every financial report, tax calculation, and compliance check starts here.

How Bookings Are Imported

VillaTax supports three import methods, each suited to different platforms and workflows:

iCal Sync

Connect your calendar feed URLs from Airbnb, Booking.com, and most major OTAs. VillaTax polls each feed every 4-24 hours and imports new bookings automatically. This is the lowest-maintenance method, once connected, the calendar stays current without manual action.

iCal sync is not instantaneous. There is a polling delay of up to 24 hours between when a booking is confirmed on the OTA and when it appears in VillaTax. This is a standard limitation of the iCal protocol, not a VillaTax limitation.

CSV Import

Upload booking export files from any platform. VillaTax recognizes column layouts from 310+ platforms and maps them automatically. If your platform is not recognized, a manual column mapping step lets you define the mapping once.

The import wizard includes a validation step where you review detected bookings before confirming. Duplicate detection skips bookings already in the system based on platform booking reference.

Email Forwarding

Forward your booking confirmation emails to a unique VillaTax address. The parser extracts guest name, dates, gross amount, and platform automatically. This is a universal fallback, useful for platforms that do not provide iCal feeds or clean CSV exports.

Email parsing accuracy depends on the email format. It works reliably for most major OTA confirmation formats but may miss edge cases.

What Gets Tracked Per Booking

Each booking record captures:

  • Guest name, email, and phone (where provided by the platform)
  • Check-in and check-out dates
  • Number of nights and guest count
  • Gross revenue amount (in original currency, converted to IDR)
  • Platform source and platform booking reference
  • Cleaning fees and add-on charges
  • OTA commission (gross amount paid to the platform)
  • Payment status: pending, paid, partially paid, or refunded
  • Tax breakdown: PBJT collected, PPh 4(2), PPN if applicable

Booking detail pages are accessible from the list or from calendar pills. Each detail page shows the full financial breakdown alongside the guest information.

Tax Calculation Per Booking

Every imported booking triggers an automatic tax calculation:

  • PBJT: accommodation tax at the rate set for the property's kabupaten (8-10% depending on regency). Applied on the gross booking amount before commissions.
  • PPh 4(2): 10% final income tax on rental income. Applied after PBJT deduction on the gross rental amount.
  • PPN: 11% VAT if your organization is PKP-registered. Applied on the gross booking amount.

For organizations on the UMKM tax regime (annual revenue under Rp 4.8B), PPh 4(2) may be replaced by the 0.5% UMKM final tax, depending on your fiscal setup configuration.

All calculations update automatically when your fiscal setup changes (e.g., if your regency rate is updated or your PKP status changes).

Multi-Property Support

If you manage multiple villas, each booking is linked to the correct property. Properties carry their own regency tax rate, legal entity, and tax configuration. Consolidated views across all properties are available in the dashboard home, analytics, and compliance modules. Per-property filtering is applied using the scope filter in the top navigation.

Reconciliation and Payment Tracking

Each booking has a payment status field that tracks whether the booking revenue has been received:

  • Pending: booking confirmed, payment not yet received
  • Paid: full amount received
  • Partially paid: deposit or partial payment received
  • Refunded: booking cancelled and amount returned to guest

Payment status is updated manually, VillaTax does not connect to OTA payout systems directly. This field is used in P&L reporting to distinguish earned vs. outstanding revenue.

The bookings list at Bookings module supports:

  • Text search by guest name, booking reference, or platform
  • Filter by property, OTA platform, date range, payment status
  • Sort by check-in date, booking date, or revenue
  • Pagination for large booking histories

The full booking history is retained indefinitely. Archived properties retain their associated bookings for fiscal reporting purposes.

What VillaTax Does Not Handle

  • Real-time OTA webhooks: Airbnb and Booking.com real-time event webhooks require official OTA partner status, which is not yet in place. iCal sync is the current data path.
  • Guest messaging: VillaTax does not send or receive messages to/from guests on OTA platforms
  • Dynamic pricing: rate management and pricing rules per season or platform are not part of VillaTax
  • Online check-in: VillaTax does not handle digital check-in flows or ID verification

Getting Started

Navigate to Bookings module to import your first bookings. If you have existing booking history, use the CSV import to backfill historical data before connecting iCal feeds. Tax calculations will run on import and retroactively build your journal history.

Open in dashboard

Access this feature in your workspace.