Jonathan Bird Web Design & Development
  1. Case Studies
  2. Agency & Professional Services Automation Software - Hour Cap

Agency & Professional Services Automation Software - Hour Cap

Agency and professional services automation that turns tracked time into Xero invoices, keeps retainers under their cap, and captures the billable support hours that usually disappear into an email inbox.

This case study documents the project scope delivered during the dates shown below. Any ongoing support or current relationship is stated explicitly in the project record.

Overview

Hour Cap is automation software for agencies and professional services firms, the businesses whose entire revenue is the hours their people bill. It automates the chain those firms otherwise run by hand: an hour gets tracked, a retainer gets checked against its cap, an invoice lands in Xero, and the client email that caused the work in the first place gets answered and billed like any other hour.

It began as a way to close the gap between tracking time and getting it onto a Xero invoice, and has since grown into two products sharing one platform: the time tracking and billing app, and a shared customer support inbox. It is Jonathan's own product, designed, built and maintained end to end, including the marketing site, blog and free tools that sell it. The whole platform is backed by more than 3,100 automated tests that run on every change.

Challenges

  1. Time Tracked In One Place, Invoiced In Another
    Most small firms track their hours in one tool and then retype that work into Xero to raise an invoice. The double handling wastes a day a month, introduces errors, and delays getting paid. Worse, the detail of what was actually done gets lost along the way, so clients receive an invoice that says ten hours consulting and nothing more.

  2. Every Client Is Billed Differently
    Some clients are on monthly retainers, some on fixed-price scopes, and some purely on time and materials. Retainers quietly run past their cap before anyone notices, and fixed-price work overruns its estimate in the same silence. The platform had to handle all three without forcing every project into the same shape.

  3. Getting The Money Exactly Right
    Money is the part of a billing product that has to be correct every single time. Firms bill in six or fifteen minute increments, they work in their own currency, and Xero recalculates invoice totals independently once the figures reach it. Handle any of that in the wrong place and you either alter the time somebody genuinely worked, or hand a client an invoice whose lines do not add up to its total.

  4. Support Work That Never Reaches An Invoice
    Client requests arrive by email and get answered from someone's personal mailbox. That time is the least likely to be recorded and the most likely to be argued about later. Capturing it meant bringing the inbox into the same place as the timer, so the hour is logged while the reply is being written. Handling other businesses' client mail also meant getting deliverability right, because one firm's bad sending habits must never be allowed to stop everybody else's replies arriving.

  5. Launching A Product With No Audience
    A software product with no distribution is a hobby. Hour Cap needed a marketing site, comparison pages, an educational blog, and free tools worth linking to, all maintained alongside the product itself.

Solution

  1. Time Tracking That Fits How People Actually Work
    A timer runs in the corner of the screen and follows the user around the application without ever losing count. For anyone catching up at the end of the day, time can be entered by hand in whatever format comes naturally, whether that is 1h30m, 1:30 or 8h. Every entry carries a proper multi-line description, and those descriptions become the wording on the invoice, so clients read a genuine summary of the work they are paying for.

  2. Invoices Raised Straight Into Xero
    Users pick the time they want to bill by date range, retainer period or project, choose how the invoice should be grouped (per entry, per project, per day or per team member), and push it to Xero. Account codes, tax types, branding themes and tracking categories all carry across. The connection handles its own reauthorisation in the background, syncs contacts and items automatically, and follows Xero's own rules about what can be edited, voided or deleted once an invoice exists.

  3. Money That Reconciles
    Rounding, rates and currency are resolved once, in a single place, so the total shown in Hour Cap is the total Xero arrives at independently. Billing increments are applied when the invoice is raised, never to the stored entry, so the record always keeps the time that was genuinely worked. Each firm bills in its own currency, taken from their Xero organisation, and every invoice keeps the currency it was raised in so older records stay readable.

  4. Three Ways To Budget A Project
    Projects are time and materials, fixed price, or retainer. Retainers work out their own billing periods from a start date and a cycle, whether that is weekly, fortnightly, monthly, quarterly or a custom run of days, then track hours used against budget with a visual cap meter, a percentage consumed and days remaining. Alert thresholds turn the meter amber and then red, and the dashboard sorts by urgency so the budget in trouble is the first thing anyone sees. Fixed-price projects pace against their estimate the same way, and time and materials projects carry no cap at all, because inventing one only produces warnings nobody asked for.

  5. Teams, Roles And Timesheet Approvals
    Four levels of access, from owner down to employee, control what each person can see and do, with every permission scoped to the organisation they are working in. Billable rates cascade automatically from the project, to the person, to the firm's default. Where a team needs oversight, staff submit weekly timesheets and managers approve or reject them with a reason, approved time locks so it cannot be quietly edited, and only approved time can be invoiced. One person can belong to several organisations and move between them freely, which suits contractors and the agencies that hire them equally.

  6. A Shared Customer Support Inbox
    Clients forward their support mail to a dedicated address, replies go out under the agency's own domain and come back into the same conversation, and any time logged while answering stays attached to the thread it belongs to. It works as a proper support desk: statuses, snoozing, priorities, response time targets measured against the team's real office hours, tagging, saved views, canned replies, internal notes, scheduled replies and a full set of keyboard shortcuts. Conversations can be pushed into Linear as product issues, carrying the underlying customer need across with them. Underneath it sits the part nobody sees when it works: mail that arrives is never lost, and each firm's sending reputation is tracked separately so one client's mistake cannot stop another client's replies going out.

  7. Subscription Billing That Scales With The Team
    Three plan tiers run on Stripe, each including a number of users with extra seats billed automatically as the team grows or shrinks. Paid features are gated consistently across the whole product, with upgrade prompts offered in context at the moment they become relevant. The support inbox is sold as a separate add-on with its own free trial, so evaluating one product never eats into the time available to evaluate the other.

  8. A Marketing Engine Inside The Product
    The public site runs inside the product itself. Sixty-plus pages covering solutions, competitor comparisons, migration guides and pricing sit in the same codebase as the app, alongside a blog, a glossary and nine free calculators that other sites can embed and link back to. Because search traffic is how the product gets found, the page titles and descriptions that earn those rankings are protected by automated tests, so an accidental change fails a check before it can cost traffic. A silent product demo video, built from real screens of the working application, is checked automatically against the app so the marketing can never drift away from the product it is demonstrating.

Key Features Implemented:

  • Persistent timer plus flexible manual entry in natural formats
  • Detailed multi-line descriptions that become the invoice wording
  • Full Xero connection with automatic reauthorisation and contact syncing
  • Invoice grouping per entry, project, day or team member
  • Configurable billing increments applied at invoicing, never to tracked time
  • Multi-currency billing, with each invoice keeping the currency it was raised in
  • Retainer, fixed-price and time and materials budgets
  • Retainer cap meters with alert thresholds and urgency-sorted dashboard
  • Four-tier role hierarchy with cascading billable rates
  • Weekly timesheet submission and approval, with approved time locked
  • Multi-organisation support with seamless switching
  • Shared support inbox on the agency's own sending domain
  • Response time targets measured against configured office hours
  • Tagging, saved views, canned replies, internal notes and scheduled replies
  • Linear integration for turning client requests into product issues
  • Per-firm sending reputation protection and volume limits
  • Per-seat subscription billing with a separately priced inbox add-on
  • Time, revenue and support reporting with spreadsheet exports
  • Full audit trail of every change made in an organisation
  • Two-factor authentication and encrypted credential storage
  • 60+ page marketing site, blog and glossary with protected search metadata
  • Nine free calculators, each embeddable on third-party sites

Results

  1. Billing Without The Re-entry
    Connecting tracked time directly to Xero removes the retyping step completely. Users select what they want to bill, choose how it should read, and push. Because descriptions are written once at the moment the work happens, invoices arrive reading as a clear summary of what was delivered.

  2. Budgets Visible Before They Overrun
    Retainer caps calculate their own periods and colour themselves as they fill, with the most urgent surfacing first. Firms get the conversation with their client about extra budget while there is still time to have it.

  3. Support Hours That Finally Get Billed
    Putting client conversations and the timer in the same place turns answering an email and recording the time against the right retainer into a single action. For agencies running support retainers, it means the cap finally reflects the real cost of servicing that client.

  4. An Email Channel Built To Survive Other People's Mistakes
    Reputation is tracked per firm, sending limits are enforced, and mail that arrives is never dropped, so one client's bad habits cannot take down everybody else's replies. It is quiet, unglamorous infrastructure that earns its keep on the day something goes wrong.

  5. A Product That Markets Itself
    Sixty-plus search-optimised pages, an educational blog and nine linkable free tools ship from the same place as the product, with the metadata that earns rankings protected by automated checks. The channel gets maintained with the same care as the software itself.

  6. Built To Production Standards
    More than 3,100 automated tests, formatting and quality gates that block a release before a single test runs, background processing with automatic retries, encrypted credentials and two-factor authentication sit behind the whole platform, with continuous monitoring in production.

Project Services Breakdown

  • SaaS Product Design & Full-Stack Development
  • Multi-Tenant Architecture & Role-Based Permissions
  • Business Software Integrations (Xero, Stripe, Linear)
  • Email Infrastructure & Deliverability Engineering on AWS
  • Subscription & Per-Seat Billing
  • UI/UX Design & Design System
  • Marketing Site, Technical SEO & Content Platform
  • Product Demo Video Production
  • Comprehensive Automated Test Suite (3,100+ tests) & CI/CD

Technology Stack: Laravel, PHP 8.5, Livewire, Tailwind CSS, Alpine.js, Stripe, Xero API, Linear API, Amazon Web Services (SES & S3), MySQL, Redis, GitHub Actions

Services provided

Automated tests
3,100+
Xero API integrations
9
Marketing & SEO pages
60+
Tier role hierarchy
4

Related case studies

Triple P Video Titles Management, Activations & Keys - Admin Panel & API

A Laravel administration panel and API that gave Triple P secure video access control, title management, activations, and licence keys within a three-week delivery window.

Read more

Delivery Management Software

to Present

A delivery operations platform that coordinates jobs, improves real-time tracking, and gives teams a clearer view of fulfilment.

Read more

Your website should be a business asset, not a headache

Led by more than 15 years of commercial experience, our senior team helps Australian organisations ship websites that are fast, secure, accessible and built for the long term.

Planning a project?

Get a quote
Get a quote