Skip to main content
Clients & Projects Module

How to manage clients, projects, and invoicing

BrandOps gives consulting and freelance businesses a dedicated workflow for delivery work: track every client relationship, run projects against a billing type that matches how you actually charge, log hours as you work, and turn that into an invoice without leaving the dashboard.

This guide walks through each part of the module, from the client pipeline to getting paid.

Clients

The Clients page is your single source of truth for every account you bill, whether you're running a two-person agency or freelancing solo.

  • Each client record stores a name, contact name, email, and phone number, so you're not digging through email threads to find who to call.
  • Status moves through a simple pipeline: Lead → Active → Paused → Churned, so you always know which relationships are live.
  • Log where the client came from with the Source field (referral, cold outreach, inbound, etc.) to see which channels actually bring in work worth keeping.
  • Add free-form Notes to capture context that doesn't fit anywhere else: renewal terms, points of contact, past friction.
  • One client can have any number of Projects underneath it, so agencies with both retainer and one-off relationships don't need duplicate client records.

Projects

Every piece of billable work lives inside a Project, tied to exactly one Client.

  • Status covers the full lifecycle: Not Started → In Progress → On Hold → Completed → Cancelled, giving you an honest read on what's actually moving.
  • Priority uses the same Low / Medium / High / Urgent scale as Tasks, so a project that needs urgent attention carries the same visual weight everywhere else in BrandOps.
  • Every project has a Billing Type: Fixed fee, Hourly, or Retainer, which determines how its invoice gets calculated.
  • An optional Budget field sets the amount for Fixed and Retainer projects.
  • Hourly projects add one more field, Hourly Rate. Without it set, BrandOps won't let you generate an invoice from logged time.

Time Tracking

Hours are logged directly on a project's detail page. No separate timer app, no CSV import.

  • Each entry records a date, a number of hours, and an optional note describing what the work was.
  • The project detail page totals everything up: total hours logged all-time, and how many of those hours are still unbilled.
  • "Unbilled" simply means the time entry hasn't been pulled into an invoice yet. Once it is, it's excluded from future totals, so you never double count it.
  • Time tracking only feeds invoicing for Hourly projects. Fixed and Retainer projects can still log hours for your own internal tracking, but their invoice amount comes from the Budget field instead.

Invoices

BrandOps generates invoices two ways, so ad hoc client billing never needs a workaround.

  • From a project: click Generate invoice on the project detail page. For Hourly projects, BrandOps sums every unbilled time entry, multiplies by the hourly rate, and marks each of those entries as billed so they can never be pulled into a second invoice. For Fixed and Retainer projects, the invoice amount is simply the project's Budget.
  • From the Invoices page: create an invoice manually for anything that doesn't map cleanly to one project, such as a one-off consulting call, a flat retainer top-up, or a reimbursed expense.
  • Every invoice gets a sequential, human-readable number per brand, INV-0001, INV-0002, and so on, rather than a random ID, because these numbers go in front of clients.
  • Status moves through Draft → Sent → Paid, or Overdue if it passes its due date unpaid. Marking an invoice Paid records the payment date automatically.
  • Deleting an invoice doesn't delete the underlying work: any time entries it had claimed are released back to unbilled, so they're picked up by the next invoice you generate for that project.

Turning It On

Clients, Projects, and Invoices aren't shown to every brand by default. They only appear once your brand is set up for delivery-based work.

  • Go to Settings → Brand tab and set Business Type to Consulting or Freelance.
  • The sidebar adds Clients, Projects, and Invoices links immediately once that's saved. Ecommerce and SaaS brands see their own dedicated modules in place of these.
  • Nothing about your existing tasks, content, or team data changes when you switch. Business Type only controls which extra modules appear.
  • You can change Business Type again later if your business model changes. Existing Clients, Projects, and Invoices data is never deleted by a Business Type change.

Frequently Asked Questions

How do I bill a client for hours worked?

Log hours against the relevant project as you go: date, hours, and an optional note. When you're ready to invoice, open the project and click Generate invoice. For Hourly projects, BrandOps totals every unbilled entry, multiplies by the project's hourly rate, and creates a Draft invoice with those hours marked as billed.

What happens to time entries if I delete an invoice?

They go back to unbilled. Deleting an invoice releases every time entry it had claimed, so they're picked up automatically the next time you generate an invoice for that project. Nothing is lost, and nothing gets double-invoiced.

Can one client have multiple projects?

Yes. A client record can have any number of projects underneath it, so a retainer relationship and a separate one-off project for the same client both roll up under one client record instead of forcing you to duplicate contact info.

What's the difference between Fixed, Hourly, and Retainer billing?

Fixed fee and Retainer both invoice for the project's budget amount as a flat sum. Hourly invoices instead sum unbilled logged time multiplied by the project's hourly rate, so the amount depends on how many hours you've actually logged.

Do I need to set an hourly rate before I can invoice an Hourly project?

Yes. Generate invoice is blocked for Hourly projects until you set an hourly rate, since BrandOps needs a rate to multiply your logged hours by.

Can I create an invoice that isn't tied to a project?

Yes. Open the Invoices page and create one manually. This is the right path for anything that doesn't map to a specific project's time or budget, such as a flat consulting fee or a one-off charge.

Do invoice numbers reset if I delete an invoice?

No. Invoice numbers (INV-0001, INV-0002, and so on) are assigned sequentially per brand based on how many invoices have ever been created, so numbering keeps moving forward and is never reused.

What does a client's status pipeline actually control?

Status (Lead → Active → Paused → Churned) is for your own visibility. It doesn't block or unlock any functionality; it's there so you can filter your client list down to who's actually live versus who's gone cold.

Ready to bill your next client?

Open Clients to add your first account, then create a project and start logging hours.

Go to Clients

Something unclear? Contact support or send feedback from your dashboard settings.