Summary
A client asks for a project update, and the project manager starts a tour of SSRS reports, Power BI pages and notes before anything reaches a slide. We built a client-ready project report that comes from one page in our custom Project Hub. One button downloads a paged PDF with the project summary, hours, utilization and progress, drawn in the browser with jsPDF.
Table of Contents
Business Challenges
For most project managers, a client update means collecting the same figures from several places, every time.
- Open the reportsClick through to an SSRS report for task status, then a Power BI page for utilization and hours.
- Read and noteCopy budget, consumed hours, remaining hours and progress into notes, one project at a time.
- Stitch the documentPaste the figures and screenshots into PowerPoint or Word and shape them for the client.
- Check it againMake sure the totals in the deck still match the reports before it goes out.
The work repeats for every client and every reporting cycle. A new figure the client wants usually means one more report to design and publish before the PM can even copy it.
Solution Overview
Not anymore. The PM opens the Project Dashboard in our Project Hub, reads the whole project on one page, and presses PDF. A complete, paged report downloads a moment later.
- PDF builds the report from what is on screen
Why not print the dashboard to PDF?
A screen print looks like a shortcut until you see it on paper. Charts split across pages, buttons and filters print with the data, and wide tables lose their right edge. A PDF made from screen images also has no selectable text, so the client cannot search it or copy a figure.
We took a different route and drew the report ourselves, page by page, with a free library called jsPDF. Think of it as laying out a printed page by hand: each heading, table and figure sits in a set place, so the result reads like a report someone designed.
What does the client-ready project report include?
Each report follows the same order, so a client knows where to look from the second report onwards.
- A title block with the date and the scope: projects, any task filter and which hours count.
- A summary panel with budget, consumed, remaining or over, utilization, and a stacked bar of approved, submitted and other hours.
- Per project: the name with a health pill, six key figures, a progress bar with a budget mark, and a task table.
- A "Tasks utilization by resources" table, monthly hours, and a "Page n of N" footer.
The PM installs nothing and opens no other tool. The report builds itself in the browser from the figures already on the page.
Solution Approach
Behind the button sits a simple idea: take the numbers the PM already trusts on screen and set them on paper the way a client wants to read them.
What happens when the PM presses PDF?
- Pick the projectsThe PM selects one project or several in the Project Dashboard, with any task filter they need.
- Reuse what is on screenThe Hub takes the budget, hours, utilization and status it has already loaded from Dynamics 365. Nothing is retyped or copied.
- Lay out the pagesThe Hub writes the title, summary and one section per project onto A4 pages, adds page numbers, and repeats table headings when a table runs onto the next page.
- Download and sendA PDF lands in the PM’s downloads, ready to attach to an email or share in Teams.
- One summary for everything selected
- Health at a glance for each project
- Who worked on what, by hours
Each project gets the same layout: a health label, six key figures, a progress bar and the task table. A client reading the third report finds things where they found them in the first.
How does this compare with the usual options?
| Criteria | Screen print to PDF | A separate SSRS or Power BI report | Our choiceOne-click PDF from the Project Hub |
|---|---|---|---|
| Reads well on paper | ✗ | ✓ | ✓ |
| Client can search and copy figures | ✗ | partial | ✓ |
| Same numbers the PM sees on screen | ✓ | partial | ✓ |
| No extra report to build and maintain | ✓ | ✗ | ✓ |
| Clicks to a client-ready file | Several | Several | 1 |
A separate report can look good, but it needs its own design and its own copy of the project rules. The Hub PDF uses the rules the dashboard already follows, so the two never drift apart.
What we learned along the way
- ▤Design for paper firstA layout that works on a wide screen rarely works on A4. We planned the page before we placed a single number.
- ↔Give every number its own spaceFigures and labels each have a fixed column, so a long status never sits on top of a percentage.
- ⧉Repeat headings on each pageWhen a task table runs onto the next page, its column titles come with it, and every page says Page n of N.
- ◎Look at every page before releaseEach change to the layout goes through a check that saves the PDF and turns each page into an image we review by eye.
Impact
The PM goes from question to client-ready report without leaving Dynamics 365.
- 1 pageTo read the whole project in the Project Hub
- 1 clickTo download the client-ready PDF
- 0Extra SSRS or Power BI reports to build
- Page n of NNumbered footer on every page
- Status from an SSRS report
- Utilization and hours from Power BI
- Figures copied into notes
- Deck built by hand in PowerPoint or Word
- Status per project and task
- Utilization by resource
- Consumed, booked and remaining hours
- Paged PDF straight from the Project Hub
- The client sees the same figures the PM sees on screen, worked out by the same rules.
- Adding a figure to the report means one change to the web resource, with no new report to publish.
Conclusion
Client reporting got simpler once the report lived next to the data the PM already uses. Drawing the PDF by hand took more code than a print button, and it gave PMs a document that reads well on paper. Next, we will keep each project together on one page whenever it fits.
Next Step
Want your PMs to send project reports straight from Dynamics 365?
We build Project Operations dashboards and one-click exports that run on your Dataverse data, inside your org.
Talk to CloudFronts