VRPlatformVRPlatform

Revenue Recognition

Check-in, checkout, booked at, and pro-rata revenue recognition methods

Revenue Recognition

Overview

Revenue recognition determines when reservation income is recorded in your accounting. The recognition date affects:

Choosing the right method depends on your accounting requirements and business needs.

Recognition Methods

Check-In

Revenue is recognized on the guest's arrival date.

AspectBehavior
When recordedGuest check-in date
Best forMatching revenue with service start
Accounting styleAccrual-based

Example:

Reservation: June 1-5 check-in/check-out
Booking date: May 15
Total rent: $400

Revenue recorded: June 1 = $400

Check-Out

Revenue is recognized on the guest's departure date.

AspectBehavior
When recordedGuest check-out date
Best forRecognizing revenue upon service completion
Accounting styleAccrual-based

Example:

Reservation: June 1-5 check-in/check-out
Booking date: May 15
Total rent: $400

Revenue recorded: June 5 = $400

Booked At

Revenue is recognized when the reservation is confirmed.

AspectBehavior
When recordedReservation confirmation date
Best forCash-basis accounting, advance tracking
Accounting styleCash-based

Example:

Reservation: June 1-5 check-in/check-out
Booking date: May 15
Total rent: $400

Revenue recorded: May 15 = $400

Pro-Rata

Revenue is spread evenly across each night of the stay.

AspectBehavior
When recordedEach night of the stay
Best forAccurate period matching, ownership changes
Accounting styleAccrual-based

Example:

Reservation: June 1-5 check-in/check-out (4 nights)
Total rent: $400

Revenue recorded:
- June 1: $100
- June 2: $100
- June 3: $100
- June 4: $100

Pro-Rata and Ownership Changes

Pro-rata recognition is essential when property ownership changes during a guest's stay:

Scenario: Property sold on July 1, reservation spans June 28 - July 3

June nights → Original owner's statement
July nights → New owner's statement

With pro-rata:
- June 28: $100 → Original owner
- June 29: $100 → Original owner
- June 30: $100 → Original owner
- July 1: $100 → New owner
- July 2: $100 → New owner

Without pro-rata (e.g., check-in), the entire $500 would go to the original owner, which is incorrect.

Fee Distribution

Recurring fees follow the same recognition pattern as the revenue they're calculated from. A 20% management fee on pro-rata revenue is also distributed pro-rata across the stay nights.

Configuration Levels

Revenue recognition can be set at multiple levels:

LevelScopeOverride
TenantDefault for all properties-
ListingDefault for specific propertyOverrides tenant
ReservationSpecific bookingOverrides listing
Line itemSpecific chargeOverrides reservation

Custom Posting Dates

Individual charges can have explicit posting dates that override all recognition methods:

{
  "type": "rent",
  "amount": 50000,
  "generalLedgerPostingAt": "2024-06-15"
}

Canceled Reservations

When a reservation is canceled:

  • Revenue entries are marked inactive
  • Cancellation-related charges (if any) use the cancellation date
  • Ensures canceled revenue doesn't appear in wrong periods

Deferred Revenue

When payment is received before revenue is recognized:

  1. Payment received → Recorded as a liability (deferred revenue)
  2. Recognition date arrives → Deferred revenue converts to actual revenue
  3. Example: Guest pays May 15, checks in June 1 → Revenue recognized June 1

The system handles this automatically based on your recognition settings.

Choosing a Method

MethodUse When
Check-InYou want revenue when service begins
Check-OutYou want revenue when service completes
Booked AtYou prefer cash-basis or need immediate recognition
Pro-RataYou have ownership changes, multi-month stays, or need precise period matching

Recommendation: Pro-rata is the most accurate for property management but adds complexity. Use simpler methods if you don't have ownership changes or multi-month reservations.

Impact on Reports

ReportEffect
Owner StatementsRevenue appears in the statement matching the recognition date
P&LRevenue appears in the period matching the recognition date
Guest BalancesAR created at booking, cleared when payment received

API Endpoints

Revenue recognition is configured via:

  • PUT /settings - Tenant-level default
  • PUT /listings/{id} - Listing-level override
  • Reservation and line item creation endpoints

On this page