Skip to content
English
  • There are no suggestions because the search field is empty.

Managing Activity Codes

Activity Codes describe the type of work being performed on a time entry, for example, Site Survey, Consulting, Construction Stakeout, or PLS Review. They serve two purposes: categorizing time for reporting, and driving billing rates when your account is set to Bill by Activity Code.

Why Activity Codes Matter

Every time entry can be tagged with an activity code. When your billing method is set to Bill by Activity Code, the rate attached to that code determines the billable amount on reports and invoices. If you use activity codes purely for categorization and bill a different way, rates are optional — but the codes themselves are still useful for filtering and grouping time reports.

See the Billing Methods article for details on choosing between Bill by Title, Bill by Activity Code, and Bill by Task.


Managing Activity Codes

Navigate to Settings → Activity Codes to view, add, edit, or deactivate codes.

Fields on each activity code:

  • Description (required) — The name of the activity as it appears in dropdowns and reports (e.g., Field InspectionProject Management).
  • Is Active? (required) — Active codes appear in the dropdown when employees log time. Deactivating a code hides it from new time entries without deleting historical data.
  • Billable Rate (optional, $/hr) — The default hourly rate billed to clients for time logged under this code. This rate applies to all clients unless a client-specific override is in place.

Adding a New Activity Code

  1. Go to Settings → Activity Codes.
  2. Click Create New.
  3. Enter a Description.
  4. Check Is Active? to make it available on time entries.
  5. Enter a Billable Rate if applicable.
  6. Click Save.

Editing an Activity Code

  1. Click Edit next to the code you want to change.
  2. Update the description, active status, or default rate.
  3. Click Save.

Per-Client Rate Overrides

If a specific client is billed at a different rate than your default for a given activity, you can add a client-specific rate override directly on the activity code. This lets you maintain a single activity code while billing different clients at different amounts.

Client rates are managed from the edit screen of any activity code. Click Show Client-Specific Rates to expand the section, then use Add New Client Rate to create an override.

Fields on each client rate:

  • Client (required) — The client this rate applies to.
  • Rate (required, $/hr) — The custom hourly rate for this client.
  • Effective Date (required) — The date this rate takes effect. Defaults to today.
  • Expiration Date (optional) — The date this rate stops being used. Leave blank for a rate that has no end date.

When an expiration date is set and passes, the system falls back to the default billable rate on the activity code.

Example

You have an activity code Contruction Stakeout - 1 Man Crew with a default rate of $100/hr. Client A has a long-term contract at $85/hr with no expiration. Client B had a promotional rate of $75/hr that expired at the end of last year. All other clients bill at the default $100/hr.

Client Rate Effective Expires
Client A $85/hr 01/01/2025
Client B $75/hr 06/01/2024 12/31/2024

How the Default Rate and Overrides Interact

When Kudurru calculates a billable amount for a time entry tagged with an activity code, it looks for a client-specific rate first. If one exists and is currently within its effective/expiration window, that rate is used. If not, it falls back to the activity code's default billable rate.

Scenario Rate used
No client override exists Default billable rate on the activity code
Client override exists and is active Client-specific rate
Client override exists but has expired Default billable rate on the activity code

Tips

  • Use consistent naming. Codes appear in reports, so something more readable than internal shorthand.
  • Deactivate rather than delete. Deactivating a code preserves historical time entries while preventing it from being selected on new entries.
  • Set effective dates accurately on client overrides. The effective date determines when the custom rate kicks in — if a new contract starts on the 1st of next month, set that as the effective date so existing time entries aren't affected.
  • Leave expiration date blank for ongoing rates. Only set an expiration if you know the custom rate has a defined end date.

Related Articles

  • Billing Methods — Choose how Kudurru calculates billable amounts across your account
  • Employee Titles — Set up title-based billing rates
  • Tasks — Set up task-level billing rates