Skip to content
CogniYukti

Doing the work

Nobody loses money on the work. They lose it on the work they forgot to invoice.

An accepted milestone with no invoice against it. Two hundred approved hours nobody batched. A month of billable expenses absorbed because the person who used to do it left.

Each is invisible in a margin report, because a margin report only shows you what you did bill.

Leakage

Five rules that raise themselves, and clear themselves.

Approved billable time that was never invoiced, valued at the rates pinned to those very lines. An accepted billing milestone with no invoice against it — checked per milestone and returned with the titles and the amounts, at the highest severity. Billable expenses sitting unpassed-on. Cost against budget. And the time-and-materials ceiling approaching.

Each closes on its own when the condition clears. And a re-raise refreshes what it says while keeping the original date, so how long it has been open stays a real number.

Revenue leakage · openMeridian · platform rollout
  • Approved time, never invoiced148 hours · ~€22,200 at the rates on those lines
  • A milestone accepted, no invoice“Phase 2 sign-off” accepted 11 days ago
  • Billable expenses not passed on9 lines · approved more than a fortnight ago
  • Cost against budget87% spent, 61% delivered
Each closes itself when the condition clears, and a re-raise keeps the original date — so how long it has been open stays meaningful.
Illustrative
  • Thresholds are yours, and reset without losing history

    Restoring the defaults updates the rules in place rather than replacing them, so their identifiers and their audit survive.

  • The overnight pass doubles as a heartbeat

    So the rules that count days keep counting even when nothing happened.

Margin

Every part of the number has a stated source.

Budgeted revenue is the sum of the linked documents that are not void — so an approved change raises the budget automatically rather than waiting for somebody to update a figure. Collected revenue counts only payments that actually cleared. Cost from time uses the pinned rates.

And cost from expenses excludes the billable ones, with the reason written down: those recover through the invoice, and counting them here would book them twice.

Where nothing has been invoiced yet the percentage is empty rather than zero — but the amount is still written as negative cost, so a project that has not billed yet shows its burn instead of a comfortable nought.

  • Health is a verdict with sentences

    Seven rule families rolled into one worst-severity answer, where every trigger carries a generated line — cost at a percentage of budget with both figures, milestones late by a number of days with the worst named.

  • And you can ask it to explain without changing anything

    A dry run shows the whole rule table, writes nothing and notifies nobody.

  • It only announces a real change

    The health event fires on a transition, not on every recompute.

Does the margin convert currencies?

No. Costs are summed in the currency they were filed in rather than the project's. Per-line rates are captured, so the data supports it — the roll-up does not do it yet. On a single-currency project this does not arise; on a cross-border one, read it carefully.

Is revenue recognised across the project?

No. That machinery exists in the product for subscriptions only — no work-in-progress, no unbilled accrual, no percentage-of-completion.

Who can see cost and margin?

A separate permission from seeing the project. Without it, cost, margin and the percentage are all blanked rather than the screen being hidden.

How often does it recompute?

On six real events — time approved, expense approved, invoice finalised, milestone accepted, document signed, booking made — plus an overnight pass.