Projects
Creating projects, assigning members and services, and configuring rates.
- Overview
- How to Create and Manage a Project
- Managing Project Members & Rates
- Managing Project Services & Rates
Overview
Projects are the backbone of time tracking and billing in Invup. Every time entry belongs to a project, and every project can be linked to a client — so when it's time to invoice, you have a clear record of what work was done, for whom, and at what rate.
Whether you run an architecture firm tracking hours across multiple building engagements, a law firm billing per client matter, or a marketing agency managing campaigns, projects give you a structured way to organize and bill your team's work.
What Is a Project?
A project in Invup is a container that groups time entries together. At its simplest, a project has a name, an optional client, and an optional hourly rate. Team members log time against projects, and each entry's rate is resolved based on a configurable rate hierarchy.
Core properties of a project
| Property | Description |
|---|---|
| Name | A descriptive name (e.g., "Acme Corp Annual Audit", "Riverside Condo Design") |
| Description | Optional notes about the project scope |
| Client | The client this project is for (optional — projects can exist without a client) |
| Hourly Rate | A default rate for time logged to this project |
| Start / End Date | Optional date range for the project timeline |
| Lock Entries Until | A date that prevents team members from creating, editing, or deleting time entries on or before that date |
| Enable Services | Whether the project uses services to categorize work |
How Projects Connect to Other Features
Clients
Each project can be linked to a client. This connection lets you organize projects by client and provides context when generating invoices. A client can have multiple projects — for example, an accounting firm might have separate projects for a client's tax filing, bookkeeping, and advisory work.
Projects can also exist without a client, which is useful for internal work like "Staff Training" or "Office Administration".
Services
Projects can optionally use services to categorize the types of work being performed. When services are enabled on a project, team members must select a service when logging time (e.g., "Design", "Research", "Consultation"). This enables more granular rate control and better reporting.
When services are disabled, time is logged directly against the project with no service breakdown.
For details on adding services to projects, see Managing Project Services & Rates.
Team Members
Team members are assigned to projects so they can log time. How assignment works depends on whether the project uses services:
- Without services: Team members are assigned directly to the project. Each can optionally have a custom project-member rate.
- With services: Team members are assigned to specific services within the project. Each can have a custom rate per service on that project.
Time Entries
Every time entry belongs to a project. The project determines which rate hierarchy is used to calculate the entry's hourly rate, and the project's lock date controls whether entries can be modified. See Time Tracking Overview for more.
Invoicing
Projects connect to invoicing through clients. A project's client determines which invoices the work can be billed to. Time entries logged against a project provide the data — duration, rate, and service — that you reference when building invoice line items.
Key Concepts
Project Rates
Every project can have a default hourly rate. This rate is used as a fallback in the rate hierarchy when no more specific rate is set (e.g., no project-member rate, no service rate). You can also set custom rates at the team member level and the service level within a project.
Member Assignment
Team members must be assigned to a project before they can log time to it. On non-service projects, members are assigned directly. On service-based projects, members are assigned to individual services within the project — a team member might be assigned to "Design" and "Consultation" but not "Research".
Lock Dates
The "Lock entries until" date prevents non-admin team members from creating, editing, or deleting time entries dated on or before that date. This is useful for closing off billing periods after invoices have been sent. Admins and owners can still modify locked entries.
For details, see Rate Locking — Project Lock Date.
Deleting Projects
Projects can be permanently deleted when they're no longer needed. Deleting a project removes it and all its associated time entries. This action cannot be undone, so use it with care — consider whether you may need the historical data before deleting.
You can delete multiple projects at once using the bulk delete action on the project list.
What's in This Book
| Page | Description |
|---|---|
| Managing Project Services & Rates | How to add services to a project, set project-service rates, and assign team members to services within a project. |
How to Create and Manage a Project
This guide walks through creating, editing, and managing projects in Invup. For an introduction to what projects are and how they fit into the platform, see the Projects Overview.
Creating a Project
Form Fields
| Field | Required | Description |
|---|---|---|
| Name | Yes | A descriptive name for the project (e.g., "Acme Corp Annual Audit", "Riverside Condo Design"). Maximum 255 characters. |
| Description | No | Optional notes about the project scope or details. |
| Client | No | The client this project is for. Select from your existing clients, or click Create a new client to add one. If you've just created a client and don't see it in the list, click the refresh icon next to the label. |
| Hourly Rate (/hr) | No | A default hourly rate for this project. This rate is used as a fallback in the rate hierarchy when no more specific rate is set. Must be $0.00 or higher. |
| Start Date | No | When the project begins. For reference only — does not restrict time entry logging. |
| End Date | No | When the project ends. For reference only — does not restrict time entry logging. |
| Enable Services | No | Whether this project uses services to categorize work. When enabled, the services section appears where you can add services and assign team members per service. See Managing Project Services & Rates. |
| Members | No | The team members who can log time to this project. Only visible when services are disabled — when services are enabled, members are assigned through individual services instead. |
A success notification confirms the project was created.
Editing a Project
Click any project in the list to open its detail page. From here you can update all the fields from creation, plus additional options:
- Change the name, description, client, hourly rate, or dates
- Add or remove team members (non-service projects)
- Add, remove, or reconfigure services (service-based projects)
- Set or adjust the lock date (see below)
Click Save Changes when you're done. The button is disabled until you modify something.
Project Fields Reference
| Field | Type | Editable | Notes |
|---|---|---|---|
| Name | Text | Yes | Required. Max 255 characters. |
| Description | Text | Yes | Optional. |
| Client | Dropdown | Yes | Optional. Select from existing clients. |
| Hourly Rate | Currency | Yes | Optional. Fallback rate for time entries. Must be $0.00 or higher. |
| Start Date | Date | Yes | Optional. For reference only. |
| End Date | Date | Yes | Optional. For reference only. |
| Enable Services | Toggle | Yes | Cannot be disabled once services have been added — remove all services first. |
| Members | Multi-select | Yes | Only shown when services are disabled. |
| Lock Entries Until | Date | Yes (edit only) | Locks time entries on or before this date. Not available on the creation form. |
Setting a Project Lock Date
The Lock entries until field appears on the project edit page. It prevents non-admin team members and contributors from creating, editing, or deleting time entries dated on or before that date.
To set or advance a lock date:
- Open the project detail page.
- Enter or change the date in the Lock entries until field.
- Click Save Changes.
- A confirmation dialog appears: "All time entries on or before {date} will be locked. Members and contributors won't be able to edit or delete them."
- Confirm to apply the lock.
Who can do what with locked entries
| Action | Team Member / Contributor | Admin / Owner |
|---|---|---|
| View locked entries | Yes | Yes |
| Edit or delete locked entries | No | Yes |
| Set or change the lock date | No | Yes |
Lock dates are useful for closing off billing periods. For example, after sending January invoices to clients, set the lock date to January 31 so no one accidentally modifies entries that have already been billed.
For more on how lock dates interact with rate locking, see Rate Locking — Project Lock Date.
Assigning Team Members
How team members are assigned depends on whether the project uses services:
Without services: Use the Members multi-select on the project form to assign team members directly. Each team member can optionally have a custom project-member rate.
With services: Team members are assigned to individual services within the project. Use the service cards in the services section to add members per service. See Managing Project Services & Rates for details.
Deleting Projects
Projects can be permanently deleted. This removes the project and all its associated time entries — this action cannot be undone.
Deleting a single project
- Open the project detail page.
- Use the delete action (accessible via the actions menu).
- Confirm the deletion.
Bulk deleting projects
- On the project list, select the projects using the row checkboxes.
- Open the actions menu and click Delete.
- Confirm the deletion.
You can delete up to 100 projects at a time.
Viewing Project Time Entries
From the project list, you can quickly log time for any project by clicking the time entry icon on the project row. This opens the time entry form with the project pre-selected.
From the project detail page, you can also log time directly via the same icon in the header.
Tips
- Set a default hourly rate. Even if you plan to override rates at the team member or service level, a project rate provides a sensible fallback. Without any rate configured, time entries will have no billable value.
- Use lock dates after invoicing. Once you've sent invoices for a billing period, set the lock date to the end of that period. This prevents accidental edits to entries that have already been billed — especially useful for firms with many team members logging time.
- Choose the right project mode. If your team performs different types of work on a project (e.g., an architecture firm doing both "Schematic Design" and "Construction Administration"), enable services. If all work is billed at the same rate, a simpler non-service project keeps things straightforward.
- Link projects to clients. Even if you have just one project per client, the client link helps with reporting and invoicing. If you haven't created the client yet, use the "Create a new client" link right from the project form.
Managing Project Members & Rates
Every team member who needs to log time to a project must first be assigned to it. This page covers how to add and remove team members on a project, and how to set custom rates at the project level — both for non-service projects (project-member rates) and for service-based projects (project-service-member rates).
Two Modes of Member Assignment
How you assign team members depends on whether the project uses services:
| Project mode | How members are assigned | Rate override level |
|---|---|---|
| Without services | Directly to the project via the Members multi-select | Project-member rate |
| With services | To individual services within the project, via each service card | Project-service-member rate |
Both modes are configured on the project form (create or edit). The Enable Services toggle determines which mode is active.
Non-Service Projects: Adding Members Directly
When a project does not use services, team members are assigned directly.
- Open the project (create or edit).
- In the Members multi-select, choose the team members who should have access to this project.
- Click Save (or Create Project if creating).
Selected team members can immediately log time to this project. To remove a team member, deselect them from the Members multi-select and save.
Setting project-member rates
When you add team members to a non-service project, a Member Rate table appears below the member selector. Each selected team member gets a row with a Hourly Rate (/hr) input.
This rate — the project-member rate — overrides both the project's default rate and the team member's base rate when they log time to this project. It's the most specific rate available on non-service projects.
If you leave a team member's rate blank, the input shows a placeholder indicating which rate will apply instead:
- "Project rate: X/hr" — if the project has a default rate
- "Base rate: X/hr" — if the project has no rate, but the team member has a base rate
The description above the table explains: "Rates here take priority. If empty, the project's hourly rate is used. If the project has no rate, the member's base rate applies."
Where project-member rates fit in the rate hierarchy
For non-service projects, the rate hierarchy is:
| Priority | Rate level | Source |
|---|---|---|
| 1 | Project-member rate | The rate you set in the Member Rate table |
| 2 | Project rate | The project's default Hourly Rate field |
| 3 | Member base rate | The team member's organization-level base rate |
Service-Based Projects: Adding Members Through Services
When a project uses services, team members are assigned to specific services within the project — not to the project directly. A team member might be assigned to "Tax Advisory" and "Bookkeeping" but not "Audit" on the same project.
Member assignment on service-based projects is managed through the service cards on the project form. For step-by-step instructions, see Managing Project Services & Rates.
Setting project-service-member rates
Each service card on the project form shows the team members assigned to that service. Each team member has a Hourly Rate (/hr) input where you can set a custom rate for that specific team member on that specific service within this project.
This is the project-service-member rate — the most granular rate level in Invup. It overrides every other rate in the chain.
Where project-service-member rates fit in the rate hierarchy
For service-based projects, the rate hierarchy checks these levels:
| Priority | Rate level | Source |
|---|---|---|
| 0 | Non-billable check | $0.00 if the service is non-billable |
| 1 | Project-service-member rate | The rate you set per team member on the service card |
| 2 | Member-service rate | Set on the service detail page |
| 3 | Project-service rate | The service card's Service Rate field |
| 4 | Service base rate | The service's default rate |
| 5 | Project rate | The project's default Hourly Rate |
| 6 | Member base rate | The team member's organization-level base rate |
Removing Members
From a non-service project
Deselect the team member from the Members multi-select and save. Their project-member rate is removed along with the assignment.
From a service-based project
Remove the team member from the individual service card. If a team member is assigned to multiple services, you need to remove them from each service separately.
Removing a team member from a project does not delete their existing time entries — those entries remain in the project's history.
When to Use Project-Level Rate Overrides
Use project-member rates when a team member should be billed at a different rate on a specific project than their base rate. This is common when different clients have different negotiated rates — for example, a consulting firm might charge a senior consultant at $275/hr for most clients but at $225/hr for a long-standing client's project.
Use project-service-member rates when the override needs to be specific to both the team member and the type of work. For example, an architecture firm might charge a principal architect at $300/hr for "Schematic Design" but $250/hr for "Construction Administration" on the same project.
Rely on defaults when all team members on a project should be billed at the same rate. Set the project's default hourly rate and skip individual overrides — simpler to manage and less prone to configuration errors.
For a complete explanation of how rates are resolved, see Understanding the Rate Hierarchy.
Managing Project Services & Rates
Projects in Invup can optionally use services to categorize the types of work being tracked — for example, "Design", "Development", or "Consulting". When services are enabled on a project, each time entry must specify which service the work falls under. This page covers how to add and remove services on a project, how to set custom rates at the project-service level, and what happens when a project doesn't use services at all.
Enabling Services on a Project
Every project has an Enable Services toggle. When you create or edit a project, this toggle controls whether the project uses services.
- Enabled: Team members must select a service when logging time. The rate chain includes service-level rates.
- Disabled: Time entries are logged directly against the project with no service breakdown. The rate chain uses project and team member rates only.
Once services are enabled and you've added at least one service to the project, you cannot disable the toggle. To switch back to a service-free project, you must first remove all services.
Adding Services to a Project
When services are enabled, you can assign services from your organization's service library to the project. Only services that haven't already been added to this project appear in the selection list.
To add a service:
- Open the project (create or edit).
- Ensure Enable Services is toggled on.
- Click the button to add a service and select one from the dropdown.
- Optionally set a custom rate for this service on this project (see below).
- Assign team members to the service and optionally set per-member rates.
- Save the project.
You can add multiple services to a single project. Each service appears as a card showing the service name, a billable or non-billable badge, and fields for rate overrides.
Removing Services from a Project
To remove a service from a project, click the remove button on the service card and save the project.
When you remove a service:
- All team member assignments specific to that service on this project are removed.
- Any existing time entries that referenced the removed service will have their service cleared — the entries themselves are not deleted, but they will no longer be tagged with that service.
A confirmation dialog appears if the service has team members assigned, warning you about the impact.
Setting Project-Service Rates
Each service card on the project has a Service Rate (/hr) input. This lets you set a custom hourly rate for this specific service on this specific project — overriding the service's base rate.
For example, if your organization's "Development" service has a base rate of $150/hr, you could set it to $175/hr on a particular project to reflect a different client agreement.
If you leave the rate blank, Invup falls back to the service's base rate (or lower levels in the rate chain) when resolving time entry rates.
Per-Member Rates on a Service
Within each service card, you can also set individual rates for specific team members. This is the most granular level of rate configuration — a rate for a specific team member on a specific service within a specific project.
Each assigned team member shows a rate input. If left blank, the rate cascades through the rate chain to find the next available rate.
How Project-Service Rates Fit into the Rate Chain
When a team member logs time on a service-based project, Invup resolves the hourly rate by checking a prioritized chain of rate sources. Project-service rates sit in the middle of this chain:
| Priority | Source | Description |
|---|---|---|
| 1 | Non-billable check | If the service is marked non-billable, the rate is $0.00 |
| 2 | Project-service-member rate | Rate set for this team member on this service within this project |
| 3 | Member-service rate | Rate set for this team member on this service (organization-wide) |
| 4 | Project-service rate | Rate set for this service within this project |
| 5 | Service base rate | The service's default hourly rate |
| 6 | Project rate | The project's base hourly rate |
| 7 | Member base rate | The team member's organization-level base rate |
The first non-null rate in the chain wins. A rate of $0.00 is a valid rate and does not fall through to the next level.
For a full explanation of how rate resolution works, see Rate Locking — How Rate Resolution Works.
Service-Free Projects
When the Enable Services toggle is off, the project operates without services. In this mode:
- Time entries are logged directly against the project — there is no service field.
- Team members are assigned directly to the project (not through services).
- The rate chain is simpler, using only project-member, project, and member base rates.
| Priority | Source | Description |
|---|---|---|
| 1 | Project-member rate | Rate set for this team member on this project |
| 2 | Project rate | The project's base hourly rate |
| 3 | Member base rate | The team member's organization-level base rate |
Service-free projects are a good fit when you don't need to break down time by activity type — for example, a fixed-scope project where all work is billed at the same rate.
Summary
| Mode | Services required on time entries | Rate chain levels | Team member assignment |
|---|---|---|---|
| Services enabled | Yes — each entry must specify a service | 7 levels (includes service-specific rates) | Through services — members are assigned to specific services on the project |
| Services disabled | No — entries tracked directly against the project | 3 levels (project and member rates only) | Direct — members are assigned to the project |