Revenue Recognition
Revenue posts to the ledger when the trip runs — not when the deposit clears.
Shipped April 2, 2026
✦ Key takeaways
- Deposits are held as deferred revenue until the trip date passes
- Revenue is recognized automatically on the service delivery date — no manual step
- All recognition events flow through Formance double-entry ledger for clean audits
Most booking platforms count a deposit as revenue the moment it clears. That’s wrong from an accounting standpoint — you’ve collected a liability, not earned income. The trip hasn’t run yet. If the guest cancels, you owe them something. Revenue belongs on the date you deliver the service.
Freebo handles this correctly out of the box.
How recognition works
- Guest pays — deposit posts to deferred revenue
When a guest pays a deposit or full payment, Freebo posts it to a deferred revenue account in Formance. The money is in your balance but flagged as a liability — an obligation to deliver a trip.
- Trip date arrives — RECOGNIZE_REVENUE fires
On the trip date, Freebo’s ledger worker fires a RECOGNIZE_REVENUE event. The deferred revenue entry is cleared and the amount moves into your earned revenue account.
- Cancellation — deferred balance adjusts
If the trip is cancelled before it runs, the deferred balance is adjusted when the cancellation and any refund are processed. Nothing falls through the cracks.
Why it matters
If your business collects forward bookings — and every tour operator does — your cash balance and your earned revenue are always different numbers. Mixing them up overstates profitability before trips run and makes cancellation accounting messy. Proper recognition keeps your P&L accurate and your tax exposure honest.