Actuals — plan vs reported

Flowtly Editorial Team4 min

The Actuals tab is where the plan meets reality. Everywhere else in Resourcing you are looking forward — who should do the work. Actuals looks back: for each person, week by week, it puts the hours they were planned for next to the hours they actually reported in Time Tracking, and shows the gap between the two.

That gap — the variance — is the number the tab exists to produce. It answers the one question a plan on its own never can: did it survive contact with reality?

How to read a cell

Each cell is a small bullet chart. The filled bar is the hours the person actually reported that week; the line drawn across it is the plan. Reading the two together tells you the story at a glance:

  • Fill past the line — they reported more than the plan. Someone quietly doing more than the plan admits is exactly the thing that stays invisible until a project is late.
  • Fill short of the line — they reported less than the plan, whether because the work slipped or because the time was never logged.
  • Fill level with the line — plan and reality agree. This is what healthy looks like.

Everything is measured against that person's own contracted week. Someone on a 0.6 FTE contract who reports their full part-time week reads as fully delivered against a full plan — not as a shortfall. The share is always relative to the hours they are contracted for.

Two empty cells look similar but mean different things:

  • An empty fill inside a plan line — the person was booked, but nothing was reported against that week. The loudest signal on the screen, and it costs no extra reading.
  • A cell with no line and no fill — the person had no active contract that week, so there is nothing to measure. This reads as no contract, not as a miss.

The variance column

The right-hand column totals the period into one figure per person: the reported hours against the planned hours, as a percentage and in hours. It is coloured so the outliers find you — over the plan, under the plan, or holding exactly. "Plan held" is the quiet, healthy case.

Where the hours went

A person reporting under their plan raises an obvious question: where did the rest of the time go? Expanding a row answers it in place. The breakdown splits the reported hours by project, largest first, and ends with Unreported — the capacity the plan expected that has no hours logged against it.

Unreported is deliberately its own line, with its own hatched marker. It is a gap in the data, not proof that nothing happened — and it is never quietly folded into another category. Seeing it is the point: it is usually a prompt to go and log the missing time, not evidence of idle capacity.

Where this sits

Actuals reads two things Flowtly already holds — the bookings that make up the plan, and the time tracked against projects — and puts them in one place so nobody has to do the subtraction in their head. It changes nothing: it reports. Booking and confirming still happen on Projects; logging time still happens in Time Tracking.

Connection map

Derived fromPart ofRefers toFulfilsUses upPlanned vs actual
Documented hereDocumented elsewhere
job-size sizes capacity. project needs role. role drawn from position. role declares demand. booking fills role. booking books person. absence reduces capacity. booking consumes capacity. bench derived from capacity. booking planned vs actual time-entry.sizesneedsdrawn fromdeclaresfillsbooksreducesconsumesderived fromplanned vs actualJJob Size — The employment capacity an agreement commits to, in hours and minutes per week. The FTE percentage is calculated from it rather than entered: someone whose hours per week equal their job size is full-time.Job SizeCCapacity — A person's contracted week, less absence. Bookings are measured against their own contracted week, so 20 hours fills 83% of a 0.6 FTE and not 50%.CapacityPProject — The core organizational unit for a business initiative, client engagement or internal work. Everything tracked — time, cost, invoicing, profitability — hangs off one.ProjectRRole — One job to be done on a project. It may be open, partly filled, filled or over-filled, and it exists whether or not anyone is booked on it.RolePPosition — The catalogue of job titles a project role is drawn from.PositionDDemand — What a role needs, stated apart from who is doing it. Stored as one slot per full-time person, so 2.5 people is three slots. A role with none declared is treated as one full-time person.DemandBBooking — One person committed to one role for a stretch of weeks, at a percentage of their time. A booking is a plan, not a record of work done.BookingPPerson — An employee. The central record the rest of the workforce data hangs off — profile, documents, leave, benefits, rates.PersonAAbsence — Approved time off. It removes hours from a person's week before any booking is counted against it.AbsenceTThe bench — Everyone with room left in the period on screen, most free first. Derived from capacity on every period change; never a list anyone maintains.The benchTTime entry — What actually happened — work time logged against a project.Time entry