Trust funds are not yours until they are. The platform enforces release rules at the database, at the GL, and at the reconciliation layer. Daily.
Every trust-flagged payment writes a row to trust_ledger, tagged with the source booking, the supplier liability it offsets, and a reservation period. The ledger is append-only; balances are computed by direction (debit/credit) rollup.
The platform ships with rule sets for:
Each rule set defines what events permit a release: confirmed travel completion, supplier remittance, refund, or an explicit override with mandatory comment and second-step approval.
A nightly cron compares SUM(trust_ledger.amount × direction) per bank account against bank_accounts.current_balance. Any variance beyond tolerance raises a row in trust_breach_alerts with severity and message. Alerts are visible on the trust page and are not auto-cleared.
Quarterly or on-demand reports show: total trust held, per-currency breakdown, per-booking liability, per-supplier earmark, oldest unreleased reservation. Exportable for regulator submission.