Bulk import historical hours
3 min read · Updated 3 Jun 2026
Why back-fill
Earned value only tells a story once there's history behind it. If you adopt WBSync three months into a job, bulk import lets you load those three months in one pass — so your S-curve, S/E and SPI reflect the whole project from day one rather than starting flat.
Step by step
From inside the project you're back-filling.
Use the same column shape as the WBS template's worked examples: who, which L4 activity, the date, and the hours. Spreading a day across two activities is just two rows.
WBSync matches activities and operatives, shows you what it parsed, and flags anything it couldn't place before you commit.
What next?
Resolving those overlaps is quick once you know the pattern: Clashes & approvals →
Frequently asked
What's the row format for the import?
One row per operative, per activity, per day: who worked, which L4 activity, the date, and the hours. Splitting a day across two activities is just two rows.
Do imported hours still need approving?
Yes — they pass through the normal foreman approval gate and the same clash checks, so back-filled data is held to the same standard as live entries.
What if my back-fill overlaps a clock-in feed?
You'll get a duplicate-submitter clash for the overlapping day, which you resolve the usual way by choosing which entry wins.