PDF and Excel exports
PDF and Excel here are not the validated team extract. That file is the billing CSV or JSON.
Personal PDF and Excel
GET /api/exports/timesheets?month=YYYY-MM&format=pdf (default) or excel. Signed-in user only, every status, including soft-deleted rows. PDF lists date, project, client, hours, and description, with the company name as text. There is no logo upload and no custom template. Excel adds a status column. The screen offers the last 3 months.
Month close
GET /api/exports/month-close?month=YYYY-MM&format=excel (default) or pdf. MANAGER or ADMIN. The month must already be locked, otherwise the response is 409. Rows are every non-deleted status in that calendar month: draft, submitted, validated, and rejected. Excel columns: consultant, email, date (dd/MM/yyyy), project, client, hours, status, plus a Summary sheet (company, period, row count). Buttons appear on /validation only when the month is locked.
Validated team file: billing CSV and JSON.