Choosing a billing model: retainer vs hourly
Most small agencies end up running a mix of both, and the choice usually comes down to how predictable the scope is.
Retainer fits when:
- Scope is relatively stable month to month
- The client values predictable cost over granular detail
- You want revenue certainty for cash flow planning
- Ongoing support or maintenance work is the engagement
Hourly from worklogs fits when:
- Scope varies significantly month to month
- The client wants to see exactly what they paid for
- It's project-based work with a defined end
- You're billing a new client without an established scope pattern yet
Jira worklogs matter most for the hourly model, but even retainer clients often want a worklog-backed summary attached to their invoice — it heads off "what did we actually get for this" conversations before they start.
Structuring Jira for multi-client billing
The structural decision that matters most: one Jira project per client, or one shared project with client separation inside it. Both work, and the right choice depends on how many clients you run and how your team is set up.
| Approach | Best for | Trade-off |
|---|---|---|
| One project per client | Agencies with a handful of larger, ongoing clients | More Jira admin overhead as client count grows |
| Shared project, epics per client | Agencies juggling many smaller clients | Requires discipline — every issue needs the right epic |
| Shared project, labels per client | Teams where work doesn't map cleanly to epics | Labels are easy to forget or apply inconsistently |
Whichever structure you use, the filtering needs to be enforced at the point work is created, not reconstructed later. An invoice is only as accurate as the worklog data feeding it — if client tagging is inconsistent, someone ends up manually reconciling it every billing cycle, which defeats the point of automating the export.
Setting a billing cadence that sticks
Inconsistent billing dates are one of the more common self-inflicted problems at small agencies. When invoicing happens "whenever there's time," it drifts later each month, cash flow gets unpredictable, and clients start asking why invoices are arriving at different points in their own accounting cycle.
Pick one of:
- Last business day of the month — aligns with most clients' own accounting periods
- First Monday of the following month — gives a buffer to catch any late-logged time
- Fortnightly — better for high-hour engagements where cash flow timing matters more than administrative simplicity
A repeatable monthly process
The actual mechanics, once billing model and Jira structure are settled:
- On your chosen billing date, filter worklogs for the period by project, epic, or label per client
- Apply rates — ideally pre-configured rather than re-entered each cycle
- Generate the invoice with a sequential invoice number
- Review before sending — a quick sanity check against expected hours catches most errors
- Send and log it, so you have a record if a client later disputes the amount
The goal is a process that doesn't depend on memory or a specific person's undocumented habits. If it takes more than about 15 minutes per client once the setup work is done, something in the chain — usually rate lookup or client filtering — is still manual and worth automating.
Common invoicing mistakes at small agencies
Inconsistent worklog comments
If comments say "work" or "dev," the invoice line items will too — and vague line items are what trigger client questions and delayed payment.
No sequential invoice numbering
Ad hoc invoice numbers (or none at all) make bookkeeping and dispute resolution harder than they need to be. Sequential numbering per financial year is standard practice and expected by most accounting software on import.
Rates that live in someone's head
If billing rates aren't documented somewhere durable, the process breaks the moment that person is unavailable. Rates should live in a settings page or spreadsheet, not memory.
Treating invoicing as an afterthought
Because invoicing isn't billable work itself, it's easy to deprioritise until it's overdue. A fixed cadence (see above) is the simplest fix — it turns invoicing into a scheduled task rather than a "whenever I get to it" one.
Turn this process into a 30-second task
WorklogPDF connects to Jira, applies your saved rates, and filters by epic or label — so the monthly invoicing run takes minutes, not hours.
Try WorklogPDF free →Frequently asked questions
Should a small agency bill hourly or on retainer?
Retainers give predictable revenue and less invoicing overhead, but work best when scope is stable. Hourly billing from Jira worklogs suits project-based or variable-scope work where clients expect to pay for actual time spent. Many small agencies run both models across different clients.
How do I bill multiple clients from a single Jira instance?
Use separate projects per client where practical, or epics and labels to separate client work within a shared project. Tools that read Jira worklogs can then filter by project, epic, or label to generate a client-specific invoice without restructuring your whole Jira setup.
What's a reasonable invoicing cadence for a small agency?
Monthly is the most common cadence for ongoing engagements, typically on a fixed date such as the last business day of the month. Fortnightly billing suits high-hour engagements where cash flow matters more, and project-based work is often billed on milestones instead of a calendar cadence.