Timesheet
Time tracking and billing built around how a French IT consulting firm actually works, where global tools like Clockify fall short.
- Role
- Full-stack developer
- Company
- CBX Conseil (IT consulting)
- Stack
- Java 17, Spring Boot 3, Angular, PostgreSQL, Keycloak, OpenAPI
- Users
- Consultants, managers, finance
The problem
Generic time trackers count hours. A French consulting firm (ESN) runs on the monthly activity report, the CRA: days, not hours, validated per mission, with public holidays, leave and on-call duty, and invoicing that follows from it. Off-the-shelf tools leave all of that to spreadsheets.
What we built
- Monthly CRA per consultant and mission, with each country’s public holidays, leave and on-call duty counted correctly.
- Invoices generated as PDF from validated reports, plus supplier invoices for subcontractors, and reminders for invoices paid late.
- People as the firm sees them: employees and freelancers, internal and external missions, clients, suppliers and business finders.
- Less typing: bank details read straight from PDF files and validated, and bulk import from CSV.
Security and integration
- Single sign-on with Keycloak and roles for consultants, managers and finance.
- The API is described with OpenAPI and its code generated from that description, so frontend and backend stay in sync.
- Scheduled jobs prepare each month’s reports and invoices and notify people by email.