Revenue Recognition and Posting Dates
Understand when booking amounts become accounting revenue
Revenue recognition determines the journal date or dates of reservation income. It is separate from booking creation, guest charging, cash receipt, statement attachment, payout, and bank reconciliation.
| Method | Timing |
|---|---|
| Check-in | Start of stay |
| Check-out | End of stay |
| Booked at | Legacy stored configuration: booking date |
| Pro-rata | Distributed across stay nights |
Pro-rata matters across months and ownership handovers. Each recognized part can belong to a different owner constellation or statement period.
New configuration explicitly chooses checkIn, checkOut, or proRata.
Existing stored bookedAt values remain readable and processable until they
are migrated. A configured stay-length threshold does not switch recognition
between methods; do not implement conditional pro-rata in a client.
Dated Money Flow
When a guest charge is created before cash arrives, accounts receivable records what is owed. When cash arrives before recognition, deferred revenue records an advance deposit liability. Recognition later moves the eligible amount into revenue. A statement consumes eligible owner-side entries for its period, while its payout can create a separate transaction in a later month.
As-of reports follow journal txnAt, not the reservation creation timestamp.
Use returned posting dates and source relationships so that receivable, cash,
deferred revenue, recognized revenue, adjustments, and payout remain distinct.
Cancellations and Overrides
A canceled reservation uses one recognition date rather than distributing
revenue or recurring fees pro-rata. The resolver uses cancelledAt, then
bookedAt, then createdAt. If that result predates the accounting cutoff
while checkout is inside the live period, it is moved to the cutoff date.
An explicit generalLedgerPostingAt is the final override and also produces a
single posting date. Historical as-of guest balances may still show a
receivable before later cancellation activity; that does not change the
cancellation recognition rule.
Team settings provide the reservation base method. Booking-channel mapping, fee, and adjustment configuration can define more specific behavior. Render resolved dates and accounts from API responses.
See Reservations, Recurring fees, and Locking.
