← Back to Blog

How to Track Billable Hours in Salesforce: 3 Methods Compared

By Bob RollarJuly 11, 2026
how to track billable hours in salesforce

Time tracking is often the last thing added to Salesforce — but for consulting firms, agencies, and any professional services team billing by the hour, it’s the most important operational data in the system. This guide walks through how to track billable hours in Salesforce using three methods: native fields on standard objects, a purpose-built custom Time Entry object with Flow automation, and dedicated Professional Services Automation (PSA) apps. Each has real tradeoffs on setup effort, reporting depth, and invoicing integration — and the right pick depends almost entirely on your team size.

Quick Answer: For teams under 5 billable staff, native fields on the Opportunity or Case are enough. For 5-20 billable staff, a custom Time Entry object with a Screen Flow is the sweet spot — free, purpose-built, native reporting. Teams over 20 usually outgrow custom builds and adopt a PSA app like Certinia or Accounting Seed for revenue-tied billing.

Time tracked inside Salesforce becomes structured data — reportable, invoiceable, and tied to the revenue record.

Why Track Billable Hours Inside Salesforce (Not a Separate Tool)

The temptation is to run time tracking in a dedicated tool (Harvest, Toggl, Clockify) and CSV the totals into Salesforce monthly. It works. But it separates your utilization data from your revenue data, and that gap is where profitability goes to die.

When time entries live inside Salesforce alongside the Opportunity or Project, you unlock four things that external tools can’t touch:

  • Utilization and margin on the same record — see budgeted hours vs. actual on the deal itself, not in a separate spreadsheet.
  • No month-end CSV imports — hours logged today show up in reports today.
  • Invoicing tied to the Account and Contact record — no re-keying names into QuickBooks.
  • Real-time project profitability dashboards — burn rate vs. budget at a glance for every active engagement.

Method 1: Native Fields on Case, Opportunity, or Project

The simplest option — no new objects, no automation. Add three custom fields to whichever standard object you use for delivery work (Case, Opportunity, or a custom Project object):

  1. Hours Worked — Number field (2 decimal places)
  2. Hourly Rate — Currency field (defaulted from Account.Standard_Rate__c if you set it up that way)
  3. Billable Amount — Formula field: Hours_Worked__c * Hourly_Rate__c

Setup time: about 15 minutes. Cost: zero. Reports come out of the box. If you want to understand how these fields relate to the underlying data model, our post on the Salesforce standard objects and how they connect is a good primer.

Where This Breaks Down

Native fields only allow one time entry per record. If a consultant logs 3 hours Monday, 5 hours Wednesday, and 2 hours Friday on the same Case, they either overwrite the field or add all three together in their head. That works for small teams billing simple work. It falls apart the moment two people work the same case.

Method 2: Custom Time Entry Object + Screen Flow

This is the sweet spot for most professional services teams under 20 people. You build a lightweight custom object called Time_Entry__c with these fields:

  • Consultant — Lookup to User
  • Related Opportunity or Related Project — Master-Detail or Lookup
  • Date Worked — Date
  • Hours — Number (2 decimals)
  • Description — Long Text (200 chars)
  • Billable — Checkbox (default true)
  • Approval Status — Picklist (Draft / Submitted / Approved / Rejected)

Add a related list on Opportunity showing all Time Entries. Build a Screen Flow that lets consultants log time in under 15 seconds from the App Launcher or a mobile home page. You can also add a roll-up summary field on Opportunity that totals Approved hours for real-time budget-vs-actual visibility.

A properly-designed Screen Flow for time entry can also enforce validation (no future dates, hours between 0.25 and 24, required Opportunity link if Billable = true) and route entries to a manager approval process — all without a line of Apex. If the Flow doesn’t fire as expected once built, see our diagnostic guide on why Salesforce Flows aren’t triggering. And if the Opportunity object already carries older Process Builders doing related automation, our guide on combining multiple Process Builders into one Flow covers how to consolidate before layering in a new one.

Method 3: Professional Services Automation (PSA) Apps

Once you cross ~20 billable staff, or once your billing gets complex enough that a spreadsheet-flavored Time Entry object stops scaling, you outgrow a custom build. PSA apps solve time tracking as part of a wider revenue-and-delivery platform.

Three well-established options in the Salesforce ecosystem:

  • Certinia Professional Services Cloud (formerly FinancialForce PSA) — the enterprise-standard PSA on the Salesforce platform. Time entry, expense, resource management, and revenue recognition in one app.
  • Accounting Seed with time-billing add-ons — good when accounting and billing sit inside Salesforce alongside project time.
  • TaskRay + Timesheet apps — project management-first, time tracking secondary. Popular with implementation partners.

Costs range from around $30 per user per month at the low end to $100+ for enterprise PSA. That sounds steep until you compare it to the loaded engineering cost of maintaining a custom Time Entry object as your firm hits 25, 40, 100 consultants.

Comparison — Which Method Fits Your Team

Method Setup Ongoing Cost Team Size Reporting
Native fields ~15 min Free 1-5 Basic
Custom object + Flow 2-6 hours Free platform 5-20 Full utilization + margin
PSA app Days to weeks $30-100+ /user/mo 20+ Enterprise PSA

A Note on How Cloud Nexus Itself Bills

We eat our own cooking. Time entries at Cloud Nexus live inside Salesforce, tied to the Opportunity or Project record. It’s the same system we build for clients, and it’s why we can walk into a discovery call and answer “what’s your effective utilization this quarter” from a single dashboard. If you want to see how that flows through to invoicing, our page on how Cloud Nexus bills Salesforce consulting walks through the model end-to-end.

Frequently Asked Questions

Can I use Chatter posts to track billable hours?

You can — but you shouldn’t. Chatter is unstructured; you can’t run a utilization report on Chatter posts, and you can’t roll them up to Opportunity totals. Time entries need to be structured records so they can be summed, filtered, approved, and invoiced.

Do custom Time Entry records count against Salesforce data storage?

Yes — each Time Entry record uses about 2 KB of data storage. For most teams this is negligible. A 25-consultant firm logging 30 entries per person per week generates roughly 40 MB per year, well under standard Salesforce storage allowances.

Can time entries integrate with QuickBooks or Xero for invoicing?

Yes. Both native Time Entry setups and PSA apps can push approved hours to QuickBooks Online, Xero, or NetSuite. Accounting Seed keeps the invoicing entirely inside Salesforce, which eliminates the sync step altogether.

What’s the fastest way to get started?

Start with Method 1 — three custom fields on the Opportunity object — even if you know you’ll outgrow it. It takes 15 minutes and it forces you to confront which fields you actually need before you commit to a bigger build. Most teams learn more about their real time-tracking requirements from two weeks of native-field usage than from a month of internal planning meetings.

Not Sure Which Method Fits Your Team?

Book a free 90-minute Salesforce Org Review with the Cloud Nexus team. We’ll audit your current time-tracking setup — or absence of one — and give you a prioritized roadmap that matches your team size and billing complexity.

Book Your Free Org Review →

Share this article

FREE AUDIT

Is Your Salesforce Broken?

Book a free 90-minute org review. We’ll diagnose what’s holding you back, no strings attached.

Book Free Org Review →

About the Author

KEEP READING

Related Articles

GET STARTED

Ready to Fix Your Salesforce?

We diagnose broken Salesforce orgs and fix them — mid-flight, no downtime. Book a free 90-minute audit with a senior consultant.