> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Timesheet Portal Changelog

> Release history for the Timesheet Portal connector. Each version lists what changed and which actions were affected.

<Card title="Timesheet Portal connector" icon="arrow-left" href="/connectors/timesheetportal" horizontal>
  Back to the connector overview, authentication methods, and actions.
</Card>

<Update label="v3.0.0" description="15 Sept 2026">
  `breaking`

  Removed the get\_login\_token action (single sign-on login token generation is no longer offered through this connector).

  <AccordionGroup>
    <Accordion title="Removed · 1 action removed">
      `timesheetportal_get_login_token`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v2.2.0" description="9 Sept 2026">
  `improved-descriptions`

  Documentation accuracy pass verified against the live API. The role-specific people actions (approvers, contractors, administrators, third-party users) now say when to use them instead of the generic user actions, recruitment jobs are separated from Project-edition projects and charge codes, and activity records are distinguished from timesheet time logging. Every upsert action documents the import-summary response, its update-in-place behaviour, and that an unknown reference code silently rejects the record while still returning HTTP 200. create\_approver now requires clientCode, create\_job requires chargeCodeGroupCode and create\_working\_pattern requires itemGroups (omitting it crashes the endpoint), while the working pattern rate code is documented as unvalidated. Every list filter states whether an unmatched value errors, returns an empty list, or is ignored and returns everything. The report actions map common requests onto their grouping, task-filter, payroll and output-format fields, AuditLogins is documented as returning its own fixed columns, and the custom-field inputs explain that either write form persists and that get\_custom\_fields reports dataType as a number rather than a name. Six actions leave preview, each now verified against real data — get\_invoice, get\_invoice\_pdf, mark\_invoices\_exported and create\_invoices against a real invoice, get\_custom\_report against a saved report, and get\_expense\_receipt against an assigned receipt. create\_invoices documents that an invoice item needs a tax rate with a non-empty code, get\_custom\_report that its id and dates go in the query string, get\_expense\_receipt that the GUID arrives comma-separated from the report field, and the expense reports that omitting expenseStatusFilters silently returns no rows.

  <AccordionGroup>
    <Accordion title="Changed · 48 actions updated">
      `timesheetportal_create_activities`, `timesheetportal_create_admin`, `timesheetportal_create_approver`, `timesheetportal_create_charge_code`, `timesheetportal_create_client`, `timesheetportal_create_client_user`, `timesheetportal_create_contractor`, `timesheetportal_create_expense_category`, `timesheetportal_create_invoices`, `timesheetportal_create_job`, `timesheetportal_create_or_update_timesheets`, `timesheetportal_create_perm_placement`, `timesheetportal_create_project`, `timesheetportal_create_rate`, `timesheetportal_create_third_party`, `timesheetportal_create_third_party_user`, `timesheetportal_create_user`, `timesheetportal_create_working_pattern`, `timesheetportal_get_administrators_v2`, `timesheetportal_get_admins`, `timesheetportal_get_approvers`, `timesheetportal_get_approvers_v2`, `timesheetportal_get_builtin_report`, `timesheetportal_get_charge_codes`, `timesheetportal_get_clients`, `timesheetportal_get_clients_v2`, `timesheetportal_get_contractors`, `timesheetportal_get_contractors_v2`, `timesheetportal_get_custom_fields`, `timesheetportal_get_custom_report`, `timesheetportal_get_expense_entries_report`, `timesheetportal_get_expense_forms_report`, `timesheetportal_get_expense_receipt`, `timesheetportal_get_invoice`, `timesheetportal_get_invoice_pdf`, `timesheetportal_get_jobs`, `timesheetportal_get_leave_bookings_report`, `timesheetportal_get_leave_bookings_summary`, `timesheetportal_get_placements`, `timesheetportal_get_projects`, `timesheetportal_get_purchase_orders`, `timesheetportal_get_rates`, `timesheetportal_get_third_parties`, `timesheetportal_get_timesheets_report`, `timesheetportal_get_users`, `timesheetportal_mark_invoices_exported`, `timesheetportal_mark_timesheets_exported`, `timesheetportal_search_users`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v2.1.1" description="2 Sept 2026">
  `improved-descriptions`

  Improved action descriptions — documented the working include values for expanding placement approvers, commission splits and rates, report status-filter guidance to avoid empty results, consultant field alternatives for the TimesheetStatus report, and how to list charge code groups (Location/Site/Branch).

  <AccordionGroup>
    <Accordion title="Changed · 4 actions updated">
      `timesheetportal_get_builtin_report`, `timesheetportal_get_jobs`, `timesheetportal_get_placements`, `timesheetportal_get_timesheets_report`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v2.1.0" description="6 Aug 2026">
  `bug-fix` `improved-descriptions`

  Fixed idle-session 401s (tokens now refresh every 8 minutes). Renamed export\_invoices and export\_timesheets to mark\_invoices\_exported and mark\_timesheets\_exported with correct write effects. Marked required parent fields (clientCode, chargeCodeGroupCode, paidDate, postedDate), removed broken or undocumented params and report types, and improved action descriptions with dependency chains and provider error guidance.

  <AccordionGroup>
    <Accordion title="Added · 2 new actions">
      `timesheetportal_mark_invoices_exported`, `timesheetportal_mark_timesheets_exported`
    </Accordion>

    <Accordion title="Removed · 2 actions removed">
      `timesheetportal_export_invoices`, `timesheetportal_export_timesheets`
    </Accordion>

    <Accordion title="Changed · 18 actions updated">
      `timesheetportal_approve_invoices`, `timesheetportal_create_charge_code`, `timesheetportal_create_client_user`, `timesheetportal_create_expense_category`, `timesheetportal_create_project`, `timesheetportal_get_builtin_report`, `timesheetportal_get_clients_v2`, `timesheetportal_get_expense_entries_report`, `timesheetportal_get_expense_forms_report`, `timesheetportal_get_invoice_report`, `timesheetportal_get_invoice_report_v2`, `timesheetportal_get_invoice_report_v2api`, `timesheetportal_get_leave_bookings_report`, `timesheetportal_get_rate_types`, `timesheetportal_get_third_parties`, `timesheetportal_get_timesheets_report`, `timesheetportal_mark_invoices_paid`, `timesheetportal_mark_invoices_posted`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v2.0.0" description="2 Aug 2026">
  `new-actions` `new-fields`

  Added the Timesheet Portal V2 API surface (placements, purchase orders, timesheets, invoice lifecycle, activities, settings, and delta-sync lists) and scoped actions to the Project and Recruitment auth methods. Both editions share one unified V1+V2 REST API.

  <AccordionGroup>
    <Accordion title="Added · 37 new actions">
      `timesheetportal_create_activities`, `timesheetportal_create_admin`, `timesheetportal_create_approver`, `timesheetportal_create_contractor`, `timesheetportal_create_invoices`, `timesheetportal_create_job`, `timesheetportal_create_or_update_timesheets`, `timesheetportal_create_perm_placement`, `timesheetportal_create_placement_activities`, `timesheetportal_create_third_party_user`, `timesheetportal_create_working_pattern`, `timesheetportal_get_administrators_v2`, `timesheetportal_get_admins`, `timesheetportal_get_approvers`, `timesheetportal_get_approvers_v2`, `timesheetportal_get_clients_v2`, `timesheetportal_get_contractors`, `timesheetportal_get_contractors_v2`, `timesheetportal_get_cost_centres_v2`, `timesheetportal_get_custom_lists`, `timesheetportal_get_exchange_rates`, `timesheetportal_get_expense_entries_report`, `timesheetportal_get_expense_forms_report`, `timesheetportal_get_invoice`, `timesheetportal_get_invoice_pdf`, `timesheetportal_get_invoice_report_v2api`, `timesheetportal_get_invoice_templates`, `timesheetportal_get_invoices`, `timesheetportal_get_jobs`, `timesheetportal_get_placements`, `timesheetportal_get_purchase_orders`, `timesheetportal_get_rate_types`, `timesheetportal_get_rates`, `timesheetportal_get_timesheets`, `timesheetportal_mark_invoices_paid`, `timesheetportal_mark_invoices_posted`, `timesheetportal_search_contractors`
    </Accordion>

    <Accordion title="Removed · 5 actions removed">
      `timesheetportal_create_expense_entry`, `timesheetportal_create_expense_form`, `timesheetportal_create_invoice`, `timesheetportal_create_token`, `timesheetportal_get_token`
    </Accordion>

    <Accordion title="Changed · 31 actions updated">
      `timesheetportal_approve_invoices`, `timesheetportal_create_charge_code`, `timesheetportal_create_client`, `timesheetportal_create_client_user`, `timesheetportal_create_expense_category`, `timesheetportal_create_project`, `timesheetportal_create_rate`, `timesheetportal_create_third_party`, `timesheetportal_create_user`, `timesheetportal_email_invoices`, `timesheetportal_export_invoices`, `timesheetportal_export_timesheets`, `timesheetportal_get_builtin_report`, `timesheetportal_get_charge_codes`, `timesheetportal_get_clients`, `timesheetportal_get_cost_centres`, `timesheetportal_get_custom_fields`, `timesheetportal_get_custom_report`, `timesheetportal_get_custom_reports`, `timesheetportal_get_expense_receipt`, `timesheetportal_get_invoice_report`, `timesheetportal_get_invoice_report_v2`, `timesheetportal_get_leave_bookings_report`, `timesheetportal_get_leave_bookings_summary`, `timesheetportal_get_login_token`, `timesheetportal_get_projects`, `timesheetportal_get_report_fields`, `timesheetportal_get_third_parties`, `timesheetportal_get_timesheets_report`, `timesheetportal_get_users`, `timesheetportal_search_users`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v1.0.1" description="28 Jul 2026">
  `guide-changes`

  Improved the account-linking guides for both auth methods — added the Timesheet Portal login URL, clarified where to find the Settings menu, and simplified the "Email & Password" auth method name.

  <AccordionGroup>
    <Accordion title="Changed · 36 actions updated">
      `timesheetportal_approve_invoices`, `timesheetportal_create_charge_code`, `timesheetportal_create_client`, `timesheetportal_create_client_user`, `timesheetportal_create_expense_category`, `timesheetportal_create_expense_entry`, `timesheetportal_create_expense_form`, `timesheetportal_create_invoice`, `timesheetportal_create_project`, `timesheetportal_create_rate`, `timesheetportal_create_third_party`, `timesheetportal_create_token`, `timesheetportal_create_user`, `timesheetportal_email_invoices`, `timesheetportal_export_invoices`, `timesheetportal_export_timesheets`, `timesheetportal_get_builtin_report`, `timesheetportal_get_charge_codes`, `timesheetportal_get_clients`, `timesheetportal_get_cost_centres`, `timesheetportal_get_custom_fields`, `timesheetportal_get_custom_report`, `timesheetportal_get_custom_reports`, `timesheetportal_get_expense_receipt`, `timesheetportal_get_invoice_report`, `timesheetportal_get_invoice_report_v2`, `timesheetportal_get_leave_bookings_report`, `timesheetportal_get_leave_bookings_summary`, `timesheetportal_get_login_token`, `timesheetportal_get_projects`, `timesheetportal_get_report_fields`, `timesheetportal_get_third_parties`, `timesheetportal_get_timesheets_report`, `timesheetportal_get_token`, `timesheetportal_get_users`, `timesheetportal_search_users`
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="v1.0.0" description="22 Jul 2026">
  `new-actions`

  Initial Timesheet Portal (Standard/Project edition) connector with 36 actions across clients, projects, charge codes, users, timesheets, expenses, invoices, rates, and reports; email/password session-token auth with automatic refresh; poll-based sync via ModifiedSince/lastModified (provider has no webhooks).
</Update>
