Your team works in Aha! Develop. But tracking the cost of that work — for budget reporting, client billing, or R&D tax credits — often requires a separate tool. That means manually reconciling time logs with work records and hoping the numbers line up.
Timesheets bring effort and cost tracking into the same system where the work happens. Team members log time against time codes that map to your projects and billing categories. Managers review and approve submissions. Finance teams get the data they need — accurate, exportable, and already linked to the work behind it.
Timesheets are available on the Aha! Develop Advanced and Aha! Teamwork Advanced plans.
Click any of the following links to skip ahead:
Confirm user permissions
Action |
User permissions |
|---|---|
Enable timesheets and configure account settings |
|
Configure time codes and billing roles for a team line |
|
Adjust time codes and billing roles for a team |
|
Assign billing roles to team members |
|
Add time codes to records |
|
Fill out and submit a timesheet |
|
Approve or reject timesheets |
Contributor designated as a timesheet Approver in team line or team settings |
View timesheet reports |
Overview
Timesheets connect the work your team does in Aha! Develop to the time and cost data your organization needs. Setup flows from the account level down:
Administrators enable timesheets and define time codes and billing roles that apply across the account.
Team line owners can then select which time codes are available to teams within their line and review the inheritance status of each child team.
Team owners can further customize which codes their team sees and assign billing roles to individual team members.
Once timesheets are configured, contributors can log time from the timesheets page or from individual epics, features, and requirements.
Contributors can then submit their timesheet for manager approval.
Managers can accept or reject a timesheet (with comments).
Each user has a single consolidated timesheet — regardless of how many teams they belong to — that moves through a submission and approval cycle. After approval, time and cost data can be viewed in list reports and exported for use by finance or payroll teams.
You must have a team line in your hierarchy to use timesheets.
Enable timesheets
Timesheets are disabled by default. An administrator must enable them before anyone on your team can submit or approve a timesheet.
To do this, navigate to User menu -> Settings -> Account -> Customizations -> Timesheets.
Click the Enable timesheets toggle to turn on timesheets for your account.
Once you enable timesheets, team line owners can customize time code availability for their teams, and team owners can further adjust those settings for individual teams.
Configure time codes
Time codes define the categories against which team members log their effort — for example, a client project, a product initiative, or an internal activity like R&D.
Navigate to User menu -> Settings -> Account -> Customizations -> Timesheets -> Time codes to manage time codes at the account level.
Create the time codes your teams will use to categorize their work. Time codes created here are available to every team in your account by default.
To retire a time code, select Archive. You cannot delete a time code that has logged hours against it — archiving removes it from active use while preserving it for historical reporting.
Time codes cascade from the account level to team lines and then to individual teams. Team line owners can see the inheritance status of each child team and add codes beyond the account defaults. Team owners can further adjust which codes their team sees — either inheriting from their team line or customizing independently.
Each team member sees only the time codes that apply to them based on their team and team line settings.
You can customize terminology in team line or team settings to better match your company's terms.
Set up billing roles
Billing roles define the hourly rate associated with a person. Roles are created at the account level and then assigned to individual team members by team owners.
Navigate to User menu -> Settings -> Account -> Customizations -> Timesheets -> Billing roles to manage billing roles.
Click Add billing role to create a role. Give it a name and set a Current rate. Rates display in your account's local currency.
Use the Next rate field to schedule a future rate change. Set the new rate and a future effective date — timesheets will automatically apply the rate that was in effect when the work was logged. This preserves accuracy in historical timesheets when compensation or billing rates change over time.
Archived billing roles are hidden from active assignment but remain available for historical reporting.
You can customize terminology in team line or team settings to better match your company's terms.
Assign billing roles to team members
Once billing roles are created at the account level, team line owners and team owners assign them to individual team members.
Navigate to team line or team settings at User menu -> Settings -> Team line --> Timesheets -> Billing roles to assign roles.
Select a Current billing role for each team member from the list of roles defined at the account level.
Use the Next billing role field to schedule a role transition ahead of time. The new role takes effect on the date you specify, so you do not need to make manual updates when responsibilities change. Already-submitted timesheets continue to reflect the role and rate that applied when the work was logged.
Each team member can hold only one billing role at a time, even if they belong to multiple teams.
You can also set a default approver for new team members' timesheets from the Approvers tab. If no individual approver is assigned, the default approver will be used. See approve timesheets for more detail.
Add time codes to records
To connect a work record to a time code, open an initiative, epic, feature, or requirement and select a value from the Time code field in the record's details view.
When a team member logs effort against a record that has a time code assigned, that entry appears on their timesheet under the corresponding time code automatically. If a team member logs effort on a record with no time code assigned, the entry still appears on the timesheet so they can allocate it manually.
This relationship runs one way: logging effort on a record updates the timesheet, but editing a timesheet entry does not update the effort logged on the record.
If you do not see the Time code field on a record, an administrator may need to add it via User menu -> Settings -> Account -> Custom layouts.
Fill out and submit a timesheet
Navigate to Work -> Timesheets to view your timesheet. Use the date range navigator to move between weeks. You will see a single consolidated timesheet regardless of how many teams you belong to.
If you have already logged effort on work records with time codes assigned, those entries pre-populate your timesheet automatically. You do not need to enter them manually.
To add time manually:
Click Add row to add a new line.
Select a Time code from the list available to your team.
Enter the hours worked for each day. You cannot log more than 24 hours of effort in a single day.
Use the Hide weekends checkbox in the upper right to simplify the view if your team does not work on weekends.
In addition to custom time and cost reports, you can also export a standard CSV of timesheets for an individual, either singly or as a group. From My timesheet, Draft and rejected timesheets, or Submitted and approved timesheets, click More options, then Export to CSV.
When your timesheet is ready, click Submit for approval to send it to your assigned approver for review. A submitted timesheet can be returned to draft status if revisions are needed before approval.
Approve timesheets
Assign approvers at the team line or team level. Navigate to User menu -> Settings -> Team -> Timesheets -> Approvers to configure approver assignments.
Set a Default approver for new team members at the top of the Approvers tab. This approver will be used for any team member who does not have an individual approver assigned.
Use the Team member approver assignments table to assign a specific approver to individual team members. Team members without an individual assignment will use the default approver.
Timesheets move through the following statuses: Draft -> Submitted -> Approved/Rejected.
If you are an approver, you will see a toggle in the top left of your timesheets screen to let you switch between your Personal timesheets and your role as Approver. Here you can go through timesheets in Submitted status and either Approve or Reject them.
Try to leave comments if you reject a timesheet. People will want to know what to fix.
Report on time and costs
Timesheets generate data you can use in list reports. Navigate to Reports -> List and add columns from the timesheets data to build the view you need. Common uses include:
Viewing effort logged by time code across a date range
Comparing logged hours against initiatives or epics for budget tracking
Exporting time and cost data for payroll or finance systems
You can add a timesheets list report to a dashboard to show it alongside other capacity and delivery data.
There are two timesheet-related data tables: Timesheets and Timesheet entries.
Time code values on records roll up to their parent records, so you can report on effort at the initiative or epic level as well as at the feature and requirement level.