How do I put together monthly reports for clients?
A good monthly report does not describe the work, it justifies it. One page, the same sections every month, sent together with the invoice. With 12 retainer clients and hand-written reports, that costs you about 8 hours a month.
Short answer
- Fix the same structure every month: hours, deliverables, retainer status, what comes next.
- Pull the hours straight from the timesheets, grouped by activity, not rewritten from memory.
- Show retainer hours included versus hours consumed, with the difference in plain sight.
- Add the deliverables handed over and the sign-offs received, with their dates.
- Send the report together with the invoice, in the first days of the month.
What the law says (in brief)
- The activity report is the supporting document behind the hours you bill (Law 82/1991).
- The services invoice is issued under the Romanian Fiscal Code (Law 227/2015), with VAT only if the agency is VAT-registered.
- To Romanian companies, the invoice travels through RO e-Factura (GEO 120/2021, extended by Law 296/2023).
- Do not put third parties' personal data in the report without a basis — the GDPR covers annexes too (Regulation (EU) 2016/679).
Practical examples
- A 4,000 RON monthly retainer for 20 hours: the report shows 26 hours consumed, so the real rate fell from 200 RON/hour to 154 RON/hour.
- Those 6 hours over the retainer, shown on the 3rd of the month, can still be billed; found three months later, they never are.
- 12 retainer clients × 40 minutes of hand-written report = 8 hours a month spent only on reporting, i.e. 1,200 RON of non-billable work at 150 RON an hour.
The structure of a one-page monthly report
| Section | What it contains |
|---|---|
| Hours by activity | Design, development, content, meetings — with the billable total |
| Retainer | Hours included, hours consumed, the difference either way |
| Deliverables | What was handed over and what the client signed off, with dates |
| Domains and hosting | This month's renewals and what expires in the next 60 days |
| Next month | What is being worked on and which sign-off you are waiting for |
Common mistakes
- Sending the report only when the client asks — then it reads as an excuse, not a routine.
- Writing activities instead of outcomes: „worked on the site” says nothing about the deliverable.
- Hiding the retainer overrun to keep the client happy, then paying for it out of your margin.
- Rebuilding the report by hand every month, although the hours are already in the timesheets.
How 4webagency helps
- The monthly report is generated from logged hours and closed deliverables, not written from scratch.
- Retainer status — hours included versus consumed — appears automatically, with the overrun flagged.
- The month's domain and hosting renewals land in the same report.
- The report goes out alongside the invoice issued through 4invoices.net, with ANAF e-Factura.