Skip to content

Time Tracking Export

Time tracking data is most valuable when it leaves SetGet and enters your billing, accounting, or reporting systems. SetGet supports exporting time logs as CSV and Excel files, with filters to ensure you export exactly the data you need.

Export scopes

Exports are available at two levels:

ScopeWhat is includedWhere to access
Project-levelTime logs for a single projectProject Settings > Time Tracking > Export
Workspace-levelTime logs across all projectsAnalytics > Time Tracking > Export

Project-level export is useful for client invoicing. Workspace-level export is useful for payroll, company-wide reporting, and cross-project analysis.

Exporting from the UI

Step-by-step

  1. Navigate to the time tracking page:
    • Workspace-level: Analytics > Time Tracking in the sidebar.
    • Project-level: Project > Settings > Time Tracking.
  2. Apply filters to narrow the data (see "Filtering before export" below).
  3. Click the Export button in the toolbar.
  4. Choose the format:
    • CSV -- comma-separated values, compatible with any spreadsheet or data tool.
    • Excel -- .xlsx format with formatting and column headers.
  5. Click Download.
  6. The file is generated and downloaded to your browser's default download location.

File naming

Exported files follow this naming convention:

ScopeFormatExample filename
WorkspaceCSVsetget-time-logs-workspace-2026-03-01-to-2026-03-31.csv
WorkspaceExcelsetget-time-logs-workspace-2026-03-01-to-2026-03-31.xlsx
ProjectCSVsetget-time-logs-project-alpha-2026-03-01-to-2026-03-31.csv
ProjectExcelsetget-time-logs-project-alpha-2026-03-01-to-2026-03-31.xlsx

Columns included in the export

Both CSV and Excel exports contain the same columns:

ColumnDescriptionExample value
issue_identifierProject prefix and issue numberPRJ-142
issue_titleThe issue titleFix login timeout
projectProject nameProject Alpha
memberFull name of the person who logged timeAlice Johnson
member_emailEmail address of the memberalice@example.com
duration_minutesDuration in minutes (integer)150
duration_formattedDuration as Xh Ym2h 30m
logged_dateThe date the work was performed (YYYY-MM-DD)2026-03-15
descriptionFree-text descriptionCode review for auth PR
billableWhether the entry is billable (true/false)true
billing_rateEffective hourly rate for this entry200.00
billing_amountCalculated billing amount500.00
currencyCurrency codeUSD
created_atTimestamp when the entry was created (ISO 8601)2026-03-15T14:30:00Z
updated_atTimestamp of the last edit (ISO 8601)2026-03-15T15:00:00Z

Excel-specific formatting

The Excel export includes:

FeatureDescription
Header rowBold, frozen header row
Column widthsAuto-fitted to content
Duration columnFormatted as number (minutes) for calculation
Date columnsFormatted as date cells
Currency columnsFormatted with currency symbol and two decimals
Billable columnFormatted as boolean

Filtering before export

The export respects all active filters on the time tracking page. Apply filters before clicking Export to control what data is included:

FilterOptionsDefault
Date rangeFrom date and to dateCurrent month
ProjectOne or more projectsAll projects (workspace-level)
MemberOne or more membersAll members
BillableAll, billable only, non-billable onlyAll
IssueSpecific issue(s)All issues

TIP

Always verify your filters before exporting. The export button shows a count of matching entries (e.g., "Export 142 entries") so you can confirm the scope before downloading.

Common filter combinations

Use caseFilters
Monthly client invoiceProject: Client X, Date: this month, Billable: Yes
Payroll reportDate: pay period, Member: all
Single issue auditIssue: PRJ-142, Date: all
Non-billable overhead analysisBillable: No, Date: this quarter
Individual contributor timesheetMember: Alice, Date: this week

API endpoints for programmatic export

For automated workflows, use the API to fetch time log data programmatically:

List time logs

GET /api/workspaces/{slug}/time-logs/

Query parameters:

ParameterTypeDescription
project_idstringFilter by project ID
member_idstringFilter by member ID
from_datestring (YYYY-MM-DD)Start of date range
to_datestring (YYYY-MM-DD)End of date range
billablebooleanFilter by billable status
pageintegerPage number (default: 1)
per_pageintegerResults per page (default: 50, max: 200)
sort_bystringSort field: logged_date, duration, created_at
sort_orderstringasc or desc

Export as CSV via API

GET /api/workspaces/{slug}/time-logs/export/?format=csv

Accepts the same query parameters as the list endpoint. Returns the file directly with Content-Type: text/csv.

Export as Excel via API

GET /api/workspaces/{slug}/time-logs/export/?format=xlsx

Returns the file with Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

Project-level API export

GET /api/workspaces/{slug}/projects/{project_id}/time-logs/export/?format=csv

Same parameters, scoped to a single project.

WARNING

API exports are subject to the same rate limits as other API endpoints. Large exports (10,000+ entries) may take several seconds to generate. The API returns a 202 status for very large exports, with a Location header pointing to the download URL once ready.

Scheduled export use cases

While SetGet does not currently have a built-in scheduled export feature, you can achieve automated recurring exports using the API:

Automated weekly timesheet

Set up a cron job or external automation tool to:

  1. Call the export API every Monday morning with from_date set to the previous Monday and to_date set to the previous Sunday.
  2. Save the CSV to a shared drive or email it to the team lead.

Automated monthly billing export

Set up a process that runs on the first of each month:

  1. Call the export API with from_date as the first of the previous month and to_date as the last day.
  2. Filter by billable=true.
  3. Send the CSV to the accounting system or billing software.

Integration with accounting software

Use the API to build integrations with tools like:

ToolIntegration approach
QuickBooksImport CSV via QuickBooks time import
XeroMap exported columns to Xero timesheet fields
FreshBooksUse CSV import for time entries
Custom ERPCall the JSON API and transform data to match your schema

Permissions

RoleCan export own timeCan export project timeCan export workspace time
OwnerYesYesYes
AdminYesYesYes
MemberYesYes (projects they belong to)No
GuestNoNoNo

Best practices

  • Filter before exporting. Exporting the entire workspace and then filtering in a spreadsheet works, but it is slower and more error-prone than filtering in SetGet first.
  • Use date ranges that match your billing cycle. If you bill monthly, export monthly. If weekly, export weekly. Consistent ranges make reconciliation easier.
  • Verify entry count before download. The export button shows the count. If it is unexpectedly low or high, check your filters.
  • Archive exports. Save a copy of each export alongside the corresponding invoice or payroll report for audit purposes.
  • Use the API for recurring reports. Manual downloads are fine for ad-hoc needs, but automated exports reduce forgotten reports and human error.
  • Check for missing descriptions. Before exporting for client billing, filter entries with empty descriptions and fill them in. Clients appreciate detailed timesheets.