Freelancing for US Clients From Abroad: What Worked for Me

I'm Hassan Raza, a software developer based in Pakistan. I've worked remotely with US SaaS companies and held multiple US jobs from here, and these days I also advise people on their careers. People often ask me how the freelance side actually works: where clients come from, how to price, what to put in writing, and how the money reaches you. What follows is what has worked for me. It's not a formula and it's not tax or legal advice, just one developer's experience, with official links for the parts that are actual rules.
If you're still deciding between freelancing and a traditional role, start with our job search hub and the pillar guide on how to find a job in the US. This article assumes you've decided to try working with US clients as an independent contractor from outside the country.
Finding US clients
Where my clients come from
My clients have come mainly from two places: Upwork and LinkedIn. Neither one is magic. How you approach people there matters a lot more.
On Upwork, the work is posted publicly and many freelancers apply to the same job. On LinkedIn, the conversations tend to be more direct. Both reward the same habit: understanding the client before you pitch.
Research the client before you write anything
Before I send a proposal, I research the client. I look at what their product does, who it's for, and what problem the posted work is really trying to solve. A job post that says "need a React developer" usually sits on top of a business problem, such as a slow dashboard, a feature customers keep asking for, or a launch deadline. If I can see that problem, I can write to it.
Personalized proposals, not templates
My proposals are personalized. Each one explains how my development skills solve that client's specific problem. I don't open with a list of every technology I've touched. I open with what I understood about their situation and how I'd approach it.
A simple structure I use:
- Their problem, in my words. One or two sentences showing I read the post and looked at their product.
- How I'd solve it. The approach, in plain language, tied to my actual skills.
- What I need to know. Questions about anything unclear in the requirements.
- Next step. A short call or a clarifying message.
That third point matters more than it looks. More on that below.
Setting your rates
It depends on complexity
I don't have one rate that I apply to everything. My pricing depends on the complexity of the work. A small, well-understood task and a feature that touches several parts of a system are not the same job, and pricing them the same way doesn't make sense to me.
Project-based vs hourly
I use two models, and I choose based on the kind of work:
- Project-based pricing for defined projects. When the scope is clear, with known deliverables and an end point, I prefer a fixed project price. The client knows what they'll pay, and I know what I'm delivering.
- Hourly for ongoing development work. When the work is open-ended, such as continuing feature development, maintenance, or a role where priorities shift week to week, hourly fits better. Neither side has to pretend the scope is fixed when it isn't.
If you're working out what number to charge, our guide on how to set your 1099 contractor rate walks through the math. The hourly to salary calculator is useful if you want to compare an hourly rate with a full-time salary offer. If you're weighing contract work against employment, see W-2 vs 1099 and the W-2 vs 1099 calculator. Keep in mind that those comparisons are written mainly for US-based workers. Your tax situation as a nonresident is different, so treat them as a pricing reference rather than tax guidance.
Contracts: define everything before you start
What I put in writing
Before I start any work, I make sure these are defined:
- Scope: what's included and, just as important, what isn't.
- Deliverables: the specific things the client will receive.
- Timelines: when each piece is due.
- Payment terms: how much, when, and how payment is released.
None of this is hard. Skipping it is how projects go wrong. When scope is vague, both sides fill in the blanks differently, and you find out at the end.
Upwork contracts and milestones
For Upwork work, I use Upwork's contract and milestone system. Breaking a project into milestones lines up deliverables with payment, so each stage has a clear definition of done.
Written agreements for direct clients
For direct clients outside a platform, I use a written agreement covering the same points: scope, deliverables, timelines, and payment terms. If you're not sure what a contract should include under the law that applies to you or your client, talk to a qualified professional. I'm sharing my practice, not legal advice.
Getting paid
Upwork and Payoneer
I get paid through Upwork and Payoneer.
The W-8BEN form
When you set up payments as someone outside the US, you'll usually be asked for a Form W-8BEN. According to the IRS, an individual gives Form W-8BEN to the withholding agent or payer to establish that they are a nonresident alien who is the beneficial owner of the income, and, if applicable, to claim a reduced rate of, or exemption from, withholding under a tax treaty (IRS: About Form W-8BEN).
For me, the W-8BEN certifies my foreign status. I fill it in with accurate details: my tax residency in Pakistan and my identification details. Accuracy is the whole point of the form, so don't guess and don't copy someone else's answers.
A few facts from the official instructions that are worth knowing:
- You don't send it to the IRS. You give it to the person or platform asking for it, generally the one paying you.
- Without it, withholding can apply. The instructions say that if you don't provide the form, the withholding agent may have to withhold at the 30% rate, the backup withholding rate, or another applicable rate.
- It expires. A W-8BEN generally stays in effect from the date it's signed until the last day of the third calendar year after that, unless a change in circumstances makes information on it incorrect.
- Changes must be reported. If a change makes your form incorrect, you must notify the payer within 30 days and provide a new form.
I wrote a separate guide on this: W-8BEN for international freelancers. For the broader rules on how the US taxes nonresidents, the IRS's Publication 515 and its nonresident aliens page are the official references. Your own country's tax obligations are a separate question, and you should check them with a qualified local advisor.
Early mistakes I made
Sending too many proposals
When I started, I sent too many proposals without properly understanding what the client needed. I treated it like a numbers game. It isn't. Volume without understanding produced proposals that didn't speak to anyone's real problem.
What I learned instead
Four habits replaced that approach:
- Tailored proposals. Fewer proposals, each one written for that client and that problem.
- Clarifying requirements upfront. Before agreeing to anything, I ask questions until I understand what is actually being asked. This is also what makes the contract's scope and deliverables accurate.
- Realistic timelines. I commit to dates I can actually meet, not dates that sound impressive in a proposal.
- Regular communication. I keep clients updated as the work progresses, so nothing comes as a surprise at the end. With clients in US time zones and me in Pakistan, this matters even more. Regular updates mean they aren't left wondering what happened overnight.
If I could give my earlier self one piece of advice, it would be that clarifying requirements is part of the work, not a delay before the work starts. Most of my other lessons follow from it.
A quick checklist
Before you take on a US client from abroad:
- [ ] Research the client and their actual problem.
- [ ] Send a personalized proposal that ties your skills to that problem.
- [ ] Ask clarifying questions before you commit.
- [ ] Choose project-based pricing for defined work, hourly for ongoing work, and price by complexity.
- [ ] Define scope, deliverables, timelines, and payment terms in writing, using platform milestones or a written agreement.
- [ ] Set up your payment method (for me, Upwork and Payoneer).
- [ ] Complete Form W-8BEN accurately with your real tax residency and ID details.
- [ ] Set realistic timelines and communicate regularly.
Keep going
- Job search hub
- How to find a job in the US
- W-2 vs 1099
- How to set your 1099 contractor rate
- W-2 vs 1099 calculator
- Hourly to salary calculator
Disclaimer: This article shares personal experience and general information from official IRS sources. It is not tax, legal, or financial advice. Tax rules depend on your situation and can change, so consult a qualified tax professional in your country and, where relevant, in the US.
Weekly salary tips
One short email a week on pay, offers and taxes in the U.S. No spam; unsubscribe anytime. See our privacy policy.