At month end, work hours often get transferred into an invoice out of calendars, sticky notes and memory. That is an easy way to lose an hour, or to count two overlapping entries twice.
This system records customers with their rates, projects, work sessions with a start and end time, and rate cards with a validity date. Invoices and payments get derived from that, and the customer receives a finished billing sheet with scope and total. An overlapping session gets rejected automatically before it can distort the billing.
The practice’s own billing already runs on it: five billing sheets for two customers have been published and can be traced back to the individual session.
What ports as-is
- The full billing system: customers with their rates, projects, rate cards with a validity period, work sessions with automatic overlap rejection, the daily rollup of worked time into billed, free or overlapping, invoices with payments and their sessions, published billing sheets with scope and totals, plus a discrepancy check
- The connection to the chat client for looking up and logging time
- An import for an existing time table that can be run again safely without creating duplicates
- Every record stays fixed to one customer
- The method that derives worked time automatically from real activity, including break detection
- The billing-sheet layout
What we build for you
- Your customers get set up
- Rates and projects get entered
- Each project gets linked to its data source
- Currency and the validity of rate cards get set
- The billing sheet gets styled to your design
- Access gets set up and the connection hosted
- If hours already exist elsewhere, an import gets set up



