Import Upwork timesheets
Import Upwork timesheets
Upwork's own terms don't allow apps like Handl to connect directly to your account, so importing Upwork payments works a little differently — via a simple CSV upload instead of a live connection.
Steps
- In Upwork, go to Reports → Transaction History and export a CSV covering the period you want to import.
- In Handl, go to Settings → Automation → Integrations and, under Time Tracking, click the Upwork (CSV import) tile. It takes you straight to the Contractor payments (Upwork) card in Settings → Workspace.
- Upload the CSV (up to 2MB).
- Handl matches each freelancer name in the file to a team member and suggests how to treat each one: already logged via timesheet (record the payment only, so hours aren't double-counted) or count as cost (use the Upwork payment itself as that person's cost).
- Confirm the suggested mappings — or adjust them — and import.
You can reach the same place from a project's Time area: if no time tracker is connected yet, the Upwork option there links to the CSV import too.
Good to know
- There's no live "connect your Upwork account" option — this is intentional, not a missing feature, because of Upwork's platform terms. The Upwork tile is a link to the import, not a connection, so it never shows as Connected.
- Re-uploading the same file won't create duplicate payments.
- Choose "already logged via timesheet" for contractors who also track their hours through a connected time tracker, so their cost isn't counted twice.
- Choose "count as cost" for contractors whose Upwork payment is your only record of what they cost you.
FAQs
Which Upwork report do I need? Reports → Transaction History, exported as CSV.
What if a freelancer's name doesn't match a team member? You'll be prompted to map it manually before importing.
How often should I import? As often as suits your billing cycle — many agencies do it monthly, alongside reconciling contractor costs.