Sample report: unbilled hours, Q3
Made-up agency, made-up client names. A plain script read beispiel-timesheet.csv (27 entries) and beispiel-invoices.csv, summed hours per client and priced the gap at €95 per hour. The planned service would do this on your exports.
| Client | Tracked h | Invoiced h | Gap h | Gap at €95/h |
|---|---|---|---|---|
| Alder & Finch Bakery | 62 | 48 | 14 | €1,330 |
| Kestrel Logistics | 30 | 18 | 12 | €1,140 |
| Marlow Dental | 40 | 40 | 0 | €0 |
| Tidewater Outfitters | 55 | 41 | 14 | €1,330 |
| Total | 40 | €3,800 |
Gap = tracked hours minus invoiced hours. A gap is not always lost money: some hours are written off on purpose. You decide what to bill.