What we've builtOperations

Every event, one timeline

Nobody could say who did what, or when. Now every verdict, message, upload, signature and invoice is an event, and the metrics fall out of the events.

The setup

When a dossier went wrong there was no history to read. Operational questions had no answers: dossiers per handler, where the pipeline was stuck, how long each phase took. Invoicing and payment matching were estimated at eighty hours a month, from a spreadsheet that was the only source of truth.

What we did

We put an activity log at the centre and made every module write to it: the actor, the time, the object. The right-hand rail of every dossier is that log, in order. Sensitive actions, such as an account manager logging in as a partner to see what they see, are recorded with who and why.

Because the events exist, the numbers do. Load per handler, phase distribution, cycle times, dossiers won, live and reconcilable to the records underneath. Invoicing runs from the same events: sequential numbers, PDFs generated and stored, a reconciliation tab that matches incoming payments, synced twice a day. A stuck-dossier detector watches the log and flags anything that has not moved.

What changed

  • A full history on every record

    Attributed and timestamped.

  • Metrics from events, not estimates

    Load, phases, cycle times, live.

  • Clean access

    Ownership is explicit, and nothing leaks between teams.