How to Track Upwork Income for Taxes (Without Spreadsheets)
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:
- Detects service fee rows and tags them as
expense - Links earnings to the right client if the contract name matches
- 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.