📒 Money & Payments

Double-Entry Ledger

Every dollar that moves through Freebo posts to a real accounting ledger.

Shipped February 3, 2026

✦ Key takeaways

  • Freebo runs Formance, an open-source double-entry ledger, as its financial source of truth. Not a spreadsheet, not a database tally — a real accounting system.
  • Every ledger transaction uses Numscript, Formance’s domain-specific language for financial moves. Debits and credits always balance.
  • Financial events queue in Redis and post to the ledger asynchronously — so a Formance hiccup never blocks a customer’s booking from completing.

Most booking software accounts for money in a database column: add a reservation, increment a revenue total. Subtract a refund, decrement the total. That works until you need to answer a hard question — “What exactly happened to this $200 and why does the Stripe balance not match my reports?”

Freebo runs a double-entry accounting ledger — Formance — behind every financial event. Double-entry accounting means every debit has a corresponding credit. Money doesn’t disappear into “misc”; it moves from one clearly defined account to another, and both sides of the ledger always balance.

What posts to the ledger

EventLedger entry
Booking confirmedRevenue recognized, AR debited
Payment capturedAR credited, cash debited
Refund issuedCash credited, AR debited
Platform fee collectedFee revenue recognized
Stripe payout receivedCash moved to operating account
  1. Booking completes

    The reservation is created in Freebo’s database. A ledger event is emitted and queued in Redis.

  2. Ledger worker processes the queue

    The LedgerWorker picks up the event and posts the double-entry transaction to Formance via Numscript.

  3. Outstanding balance is computed from ledger

    When Freebo needs to show you what’s owed or what’s been paid, it queries Formance — not a SQL sum. The number is always accurate.

Can I export ledger data for my accountant?
Yes. Freebo provides a financial export that includes per-booking revenue, fees, refunds, and tax breakdowns. The export maps to standard accounting categories and can be imported into QuickBooks or handed directly to your CPA.
Does a Formance outage prevent customers from booking?
No. Ledger events queue in Redis and post asynchronously. If Formance is temporarily unreachable, bookings still complete — the ledger events catch up when it recovers. The booking experience is never blocked by the accounting layer.