Projects your team and your CFO will both like.
Set rates once. Track everything against them. Budgets warn before you blow them. Team-based access keeps the right eyes on the right work.
Built around how agencies actually run.
Rate hierarchy
Cost rate (what they cost you) and billable rate (what the client pays). Override either at project level or per-user-on-project for the consultants who command a premium.
Budgets + alerts
Set a budget in hours or dollars per project. Get an in-app alert at 80% and 100%. Managers see budget burn on the project list at a glance.
Activity types
Define your own taxonomy per tenant โ Design / Dev / Strategy / Account Mgmt. Optional on entries, or required per project for stricter classification.
Teams
Group users into teams. Assign teams to projects and clients. Team Leads can manage members. Effective access is computed automatically โ no permission spaghetti.
One model. Three levels of override.
The default rate comes from the user. Set a project-level rate to override for everyone working on that project. Set a per-user-per-project rate for the senior who bills more on this client. The reports honor the hierarchy automatically — no manual reconciliation.
- User-level: BillableRate + CostRate on every user
- Project-level: HourlyRate to override for the whole project
- Per-user-per-project: UserRates dictionary on the project
- Cost rate stays internal — only billable shows on invoices
- Profitability report uses both: revenue (billable) − cost (cost rate)
Know before you blow it.
Set a budget in hours, dollars, or both. Background service watches logged time against the budget. Alerts fire at 80% and 100% — to the project manager and CompanyAdmin, in-app and via email.
- Hours and / or dollar budget per project
- 80% and 100% alert thresholds
- Email + in-app alerts to PM and CompanyAdmin
- Burn-down indicator on the project list
- Past-budget projects highlighted in profitability report
Access control without the spaghetti.
Create a team — say, the Brand team. Add 4 designers. Assign the team to 12 client projects. Now those 4 designers can log time on any of those 12 projects, and only those 12. A Team Lead can manage the team without being a CompanyAdmin.
- Team grants project access to all members
- Team Lead can add / remove members
- Per-user direct project access still works (it ORs)
- "Via Team X" attribution shown on the access screen
- Team-mediated access flips off when a user is deactivated
Move from Harvest or Toggl in under an hour.
Settings → Import accepts standard CSV exports. Time entries, projects, clients, and people come over with a side-by-side preview. Approve, commit, done. Roll back the import within 24 hours if something looks off.
- Harvest and Toggl CSV formats supported out of the box
- Side-by-side preview before commit
- Automatic project + client matching by name
- Rollback within 24 hours of import
- Audit log captures every imported row
Common questions
Can I have a project without a client?
Yes — internal projects (R&D, marketing, ops) are first-class. They count toward utilization but don't show in client reports or invoices.
What if a person bills different rates on different projects?
Set a per-user-per-project rate in the project's UserRates. The reports and invoices use that rate first; if absent, fall back to the project rate; if absent, fall back to the user's default billable rate.
How do team-based and direct project access interact?
They OR. A user can see a project if they're directly assigned to it OR if they're on a team that's assigned to it. Removing the user from one path doesn't remove the other — the access stays as long as either path exists.
Can I archive a project?
Yes. Archived projects keep all their time entries (so historical reports stay correct) but no new time can be logged. Un-archive any time.
Does the CSV import preserve historical IDs?
Time entry IDs are regenerated (we use Mongo ObjectIds), but project and client names are preserved verbatim — so when you re-run a profitability report comparing two months, the projects line up.