
How to send every SaaS customer a monthly PDF usage report
How to Send Every SaaS Customer a Monthly PDF Usage Report Monthly business reviews, QBRs, usage summaries — enterprise customers expect them. Most SaaS teams either skip them (losing a retention touchpoint) or produce them manually in Google Slides (doesn't scale past 20 accounts). Here's how to auto-generate a personalized PDF for every customer at month-end: their API calls, their team activity, their top pages — rendered from your own data, emailed before they open Slack on the first of the month. The pipeline 1st of month cron → fetch all active customers → for each: query their metrics → render HTML → PDF → email Fetch customer metrics async function getCustomerMetrics ( customerId , month , year ) { const start = new Date ( year , month - 1 , 1 ); const end = new Date ( year , month , 0 , 23 , 59 , 59 ); const [ usage , topUsers , topFeatures , growthData ] = await Promise . all ([ db . events . aggregate ({ where : { customerId , createdAt : { gte : start , lte : end } }, _coun
Continue reading on Dev.to JavaScript
Opens in a new tab

![[MM’s] Boot Notes — The Day Zero Blueprint — Test Smarter on Day One](/_next/image?url=https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1368%2F1*AvVpFzkFJBm-xns4niPLAA.png&w=1200&q=75)

