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.

ApproachBest forTrade-off
One project per clientAgencies with a handful of larger, ongoing clientsMore Jira admin overhead as client count grows
Shared project, epics per clientAgencies juggling many smaller clientsRequires discipline — every issue needs the right epic
Shared project, labels per clientTeams where work doesn't map cleanly to epicsLabels 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.

Practical tip: if you're setting this up fresh, labels are more forgiving than epics for small agencies — they can be added retroactively to old issues without restructuring, and most Jira tickets only need one.

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:

A repeatable monthly process

The actual mechanics, once billing model and Jira structure are settled:

  1. On your chosen billing date, filter worklogs for the period by project, epic, or label per client
  2. Apply rates — ideally pre-configured rather than re-entered each cycle
  3. Generate the invoice with a sequential invoice number
  4. Review before sending — a quick sanity check against expected hours catches most errors
  5. 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 →
Free tier · 3 invoices/month · No credit card needed

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.