Mark projects billable or internal
Every project carries a billable flag: is this client work that generates revenue, or internal work like R&D, training, and time off? Getting the split right is what makes billable utilization and revenue figures honest, since they read client work specifically.
Set the flag on a project
Section titled “Set the flag on a project”-
Open Edit Project (or the new-project form, where the flag defaults to billable).
-
Check or uncheck Billable client work.
-
For billable projects, optionally fill in Client / customer so the client name appears alongside the project in finance views.
-
Save. The project’s Finance view header immediately shows a Billable or Internal chip.
What the flag affects
Section titled “What the flag affects”- Compliance dashboard: the All hours / Billable only view toggle shows each person’s billable hours next to their weekly total. This toggle, like the rest of the compliance dashboard, is Pro and up.
- Billable utilization: the capacity planner gets an All hours / Billable only toggle, so you can read utilization against client work specifically. Same Pro-and-up floor.
- Finance view: internal projects show cost recognition only; the revenue cards appear on billable projects only. Revenue at risk is the exception, it measures missing hours across every project and prices them from each person’s rate card.
- Projects page: a filter chip row lets you view All, Billable, or Internal projects.
The flag itself, the Client / customer field, the Finance chip, and the Projects filter work on every plan; only the compliance and capacity toggles above sit behind Pro.
Reclassify projects in bulk
Section titled “Reclassify projects in bulk”Owners and admins can review the whole portfolio in one pass, which is worth doing before enabling timesheet enforcement:
-
Open Organization Settings, go to Configuration, then Timesheets.
-
In the enforcement panel, select Bulk-classify projects.
-
The Classify your projects modal lists every project, defaulting to billable. Uncheck the internal ones, or use Mark all billable / Mark all non-billable as a starting point.
-
Save. Only actual changes are applied, and each change is written to the audit log.
One-off changes through Edit Project stay open to project owners and managers; only the bulk pass requires an organization owner or admin.
Configure the built-in fields
Section titled “Configure the built-in fields”Under Organization Settings, Configuration, Custom Fields, the Built-in Fields card controls how the two fields behave on project forms: show or hide them, rename their labels, or make them required.
Best practices
Section titled “Best practices”- Run a bulk-classify pass before enabling timesheet compliance. Default-Billable for all projects skews cost-at-risk and revenue reports. Take 30 minutes to mark internal work before turning enforcement on.
- Define billable consistently across the org. “Billable” should mean “an external client pays for these hours”. Internal: training, sales prep, R&D, time off, admin. Mixing definitions makes utilization reports meaningless.
- Track clients via Client/customer field. The core Onplana product uses this free-text field rather than a first-class client record. Use it consistently to support client-level reporting, or move to Onplana Services if you need real Client/Contact records with margin attribution.
- Trigger workflows on billability change. The PROJECT_BILLABLE_CHANGED workflow event (PRO+) lets accounting integrations mirror the flip automatically. See Build a workflow.
- Make billable required when enforcement is on. The Custom Fields → Built-in Fields panel can lock billable to required, so nobody creates a project without declaring billability. Closes a common compliance gap.
Troubleshooting / common pitfalls
Section titled “Troubleshooting / common pitfalls”- Bulk-classify modal is empty. Two causes: (a) no projects exist; (b) you’re not Owner/Admin. Verify role.
- Project still shows Internal after I unchecked it. Edit Project save didn’t complete (navigated away too early). Refresh and re-check.
- Billable Only view shows 0 for a project I marked Billable. No hours logged to it yet, or the hours are draft (not submitted). Check the timesheet status.
- The PROJECT_BILLABLE_CHANGED workflow isn’t firing. Two causes: (a) PRO+ plan required; (b) the workflow isn’t enabled. See the Workflow tab.
- Members can edit billable but shouldn’t.
Check the Built-in Fields card; visibility
- editability are configurable. Hide the field for member-level forms.
How this combines with other features
Section titled “How this combines with other features”- Billable + Compliance. The Billable Only toggle on Compliance shows billable hours next to weekly totals. See Monitor timesheet compliance.
- Billable + Capacity. The Billable Only toggle on Capacity Planner shows utilization against billable work. See Plan team capacity.
- Billable + Revenue at Risk. That report is the exception: it measures missing hours on every project, billable or not. See Track revenue at risk.
- Billable + EVM. EVM revenue cards appear only on billable projects with billable rates. See Read the EVM dashboard.
Coming from another tool
Section titled “Coming from another tool”| Tool | Mapping |
|---|---|
| Microsoft Project Online | Project type field ≈ Billable flag |
| ServiceNow PSA | Direct concept |
| Smartsheet PSA | Direct |
| Harvest | Direct; per-project billable flag |
| Custom spreadsheet | Onplana automates the downstream math |
What do existing projects default to? Billable. Run the bulk-classify pass once to uncheck internal work, after that the flag is just part of creating a project.
Does flipping the flag rewrite history? No data is deleted or recalculated retroactively in place; reports simply include or exclude the project’s hours from billable figures from then on. Every flip is recorded in the audit log, and on plans with workflows (Pro and up) a workflow trigger fires so accounting integrations can mirror the change.
Can members see the flag? Members see the field on the project form if it is visible, but the financial surfaces it drives (compliance, capacity, finance) remain manager-level views.
Can a project be partially billable (e.g. 60% billable)? No, the flag is binary. For mixed projects, split into separate projects (one billable, one internal) and link via portfolio or parent project.
What about pro-bono client work? Mark it Internal, the financial machinery treats Billable as revenue-generating, and pro-bono doesn’t generate revenue. For tracking purposes, use a tag or custom field.
Does the Client/customer field power any reports? Here, it’s a display field on Finance views, so use consistent client naming to support spreadsheet rollups. Firms that need a first-class client model, with Company/Contact records and identity-linked margin attribution, use Onplana Services instead.
Related
Section titled “Related”- Configure rate cards, what billable hours multiply by
- Track revenue at risk, which prices the gap from each person’s rate card, not the billable flag
- Build a workflow, PROJECT_BILLABLE_CHANGED trigger
Was this helpful?
Thanks for your feedback!