Every number ties to a bank transaction.
No more spreadsheet chaos.
Variance explained in seconds.
Cash truth, not cash guesses.
From bank feed to forecast.
13-week liquidity workspace with reconciliation, variance narratives, and action levers for CFOs who demand truth.
| €M | W1 | W2 | W3 | W4 | W5 ▲ RISK | W6 ▲ RISK | W7 ▲ RISK | W8 | W9 | W10 | W11 | W12 | W13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Opening | 2.4 | 2.1 | 1.8 | 1.2 | 0.9 | 0.4 | 0.2 | 0.5 | 0.8 | 1.1 | 1.4 | 1.7 | 2.0 |
| + Inflows | +0.8 | +0.6 | +0.5 | +0.4 | +0.3 | +0.6 | +0.9 | +0.8 | +0.7 | +0.6 | +0.5 | +0.6 | +0.7 |
| - Outflows | -1.1 | -0.9 | -1.1 | -0.7 | -0.8 | -0.8 | -0.6 | -0.5 | -0.4 | -0.3 | -0.2 | -0.3 | -0.4 |
| Closing | 2.1 | 1.8 | 1.2 | 0.9 | 0.4 | 0.2 | 0.5 | 0.8 | 1.1 | 1.4 | 1.7 | 2.0 | 2.3 |
Monday 9am cash meeting
refresh snapshot variance actions
Not dashboards. Not charts. Real finance artifacts.
| Account | Balance | Explained |
|---|---|---|
Main Operating (EUR) EUR • Active | €1,240,500 | 98% |
Treasury Account (USD) USD • Active | $890,200 | 96% |
Payroll Account (GBP) GBP • Active | £456,100 | 94% |
Under the hood: As-of timestamps locked per snapshot. Stale data blocks snapshot lock. Multi-currency with FX rate versioning.
Under the hood: O(n*k) indexed lookups, configurable tolerance windows, unmatched lifecycle with statuses and SLA aging.
Under the hood: Segment hierarchy with fallback chain. Delay = paid_date - due_date. Regime shift detection for payment behavior changes.
Under the hood: UNIQUE(snapshot_id, canonical_id) at DB level. Data lineage: SnapshotID, ImportBatchID, FX table version.
Under the hood: TreasuryAction and LeverPolicy models. RBAC enforces who can simulate vs. who can execute.
Under the hood: WeeklyFXRate linked to snapshot. convert_currency() uses locked rates. No plaintext secrets in DB.
Non-negotiable behaviors built into every feature
Bank feeds, ERPs, and warehouses flow into a single source of cash truth.
Unified interface for all data sources. Test → Extract → Normalize → Load with incremental sync, cursor-based pulls, and idempotent upserts.
Stable fingerprints, source-native IDs, DB constraints (UNIQUE snapshot + canonical_id). Dataset versioning with checksums and lineage.
Per-source staleness monitoring. Bank vs ERP age mismatch detection. Auto-alert when thresholds exceeded. Lock validation before snapshots.
10 live connectors • Official SDKs • Bi-directional warehouse sync
We don't claim what we don't have. Here's what we actually built.