How to Track Upwork Income for Taxes (Without Spreadsheets)

A practical guide to recording Upwork earnings, platform fees, and currency conversions so tax season doesn't catch you off guard.

Upwork pays you in USD, charges a service fee, and sometimes adds VAT on top. By the time the money lands in your bank account, the original invoice amount looks nothing like what you received — which makes tax time confusing.

Here's how to handle it cleanly.

What Upwork actually sends you

Every Upwork payout contains three numbers:

  • Gross earnings — what the client paid
  • Upwork service fee — 10% (or 5% for long-term contracts)
  • Net payout — what hits your account

For tax purposes you may need to report the gross amount (depending on your country), not just what you received. FreelancerrFlow's CSV import captures all three automatically.

Step 1: Export your transaction CSV

In Upwork: Reports → Transaction History → Export to CSV

Download the full year or the date range you need.

Step 2: Import into FreelancerrFlow

Go to Transactions → Import → Upwork CSV. The parser:

  1. Detects service fee rows and tags them as expense
  2. Links earnings to the right client if the contract name matches
  3. Flags duplicates so you don't double-count

Review the preview, adjust any types, and confirm.

Step 3: Reconcile with your bank

After import, open Balance → Reconciliation. Compare the platform balance (sum of Upwork payouts) against your actual bank total. Any difference usually comes from currency conversion slippage or pending withdrawals.

Step 4: Run your tax estimate

Go to Tax and check your quarterly estimate. FreelancerrFlow applies your configured tax rate to net income and shows how much to set aside.


That's it. No pivot tables, no manual fee calculations. Your records stay clean year-round instead of becoming a one-week panic every April.