Travel & Tourism

How to Record Revenue for Opaque Pricing (Mystery Hotel) Bookings

Recording revenue for 'Mystery' bookings where the brand of the hotel is hidden from the customer until after the non-refundable payment is made.

Account NameTypeDebit ($)Credit ($)
Cash - Customer PaymentAsset (+)150.00-
Travel Revenue - Opaque SalesRevenue (+)-150.00
Cost of Goods Sold - Hotel CostExpense (+)100.00-
Accounts Payable - SupplierLiability (+)-100.00

💡 Accountant's Note

Opaque pricing (e.g., Hotwire 'Hot Rates') is almost always a Merchant Model transaction. Because the customer pays a non-refundable amount upfront and the agency chooses which hotel to fulfill the request with (within certain parameters), the agency acts as the 'Principal.' Unlike standard bookings, revenue is often recognized *at the time of booking* because the sale is final, non-refundable, and the agency has fulfilled its obligation to secure the space.

Practitioner & Systems Framework

💻 ERP Architecture

Revenue should be tagged as 'Opaque' to distinguish it from standard 'Retail' bookings. These usually have much higher margins because the hotels are dumping excess inventory.

⚠️ Audit Flags

Revenue recognition timing. If the booking is refundable, revenue must be deferred until the stay. Auditors will check the 'Non-refundable' clause in the customer terms.

📄 Required Documentation

Booking Confirmation, Hotel Net-Rate Agreement, and the Opaque Pricing Policy.

Did you find the exact entry you were looking for?

Automate this entry with the JEH Accounting Suite

Stop doing manual entry. Our VBA-powered ERP automatically generates your ledgers, Trial Balance, and Financial Statements.

No Subscriptions. Own your data.

QA

Expert Analysis by Qusai Ahmad

General Accountant Supervisor & IFRS Specialist

Specialized in SAP GUI automation and Middle Eastern tax compliance. Building digital tools for the next generation of finance leaders.

LinkedIn Profile

Discussion & Community Questions

Loading comments...

Leave a comment (No sign-up required)