Expert · Capstone, portfolio and getting work · topic 34 of 34 · 30 min
Freelancing basics in India
Explanation
What freelancing is
A freelancer works for several clients on separate projects instead of for one employer. You choose your work and your hours, but you also find clients, agree terms, send invoices, follow up on payments and handle your own taxes. Many developers start with small projects while studying or working.
Finding your first clients
- Local businesses: a coaching centre, clinic, kirana shop or restaurant near you may need a simple website, a booking form or a billing tool. Show them a working demo, not just words.
- Referrals: tell friends, family, teachers and seniors what you build. Most first projects come from people who already trust you.
- LinkedIn: post your projects and what you learned, and reply helpfully when people ask for developers.
- Platforms such as Upwork and Fiverr: on Upwork you send proposals to posted jobs; on Fiverr you list fixed services. Competition is high and they charge service fees, so start with small, clear jobs and check their current fee pages.
Fixed price or hourly
| Model | How it works | Good when |
|---|---|---|
| Fixed price | One price for an agreed scope, paid in milestones | The scope is clear, such as a 5-page website with a contact form |
| Hourly | The client pays for the hours you work, often with a weekly limit | The work is unclear or ongoing, such as fixing bugs in an old app |
To price a fixed project, list the tasks, estimate the hours for each, add a buffer for the things you did not think of (often 15 to 30 percent), and multiply by your hourly rate. Beginners almost always under-estimate, so the buffer is not optional.
Put it in writing
Scope is the exact list of what you will build. Get the client to agree to it in writing: an email reply is better than nothing, and a signed agreement is better still. A simple agreement covers:
- Scope: the features included, and what is not included.
- Milestones: parts of the work with dates, such as design, working app on a test link, and launch.
- Payment terms: the total, the advance (often 30 to 50 percent before you start), the amount due at each milestone and how many days the client has to pay each invoice.
- Revisions: how many rounds of changes are included (for example two); extra changes are charged.
- Code ownership: usually the code passes to the client after full payment. Say whether you may show the project in your portfolio.
- Accounts: the domain, hosting and database accounts are created in the client's name, with you added as a team member, so the client never depends on you to keep the site alive.
Project: Booking website for Sharma Coaching Centre
Total: Rs 40,000 (fixed price)
Advance, on signing 40% Rs 16,000
Milestone 1: design approved 20% Rs 8,000
Milestone 2: app on test link 20% Rs 8,000
Final: live site + handover 20% Rs 8,000
Included: 2 rounds of changes per milestone
Not included: online payments, mobile appInvoices and getting paid
- An invoice is a bill you send. It has your name and address, your PAN (and GSTIN if you are registered for GST), the client's details, an invoice number and date, the work done, the amount and your payment details. Keep a copy of every invoice.
- Indian clients usually pay by UPI or bank transfer (NEFT or IMPS). Business clients may deduct TDS (tax deducted at source) and pay you the rest; that tax counts as already paid when you file your return.
- Foreign clients pay through the platform or by bank transfer to your Indian account. For each foreign payment, keep the inward remittance advice your bank gives you (often called FIRA). It proves the money came from abroad, which matters for tax and GST.
Taxes, at a general level
Freelance income is taxable in India, just like a salary. In general: you report it in your income tax return as income from your profession or business; a presumptive scheme exists for some professionals, which lets you declare a fixed share of your receipts as income and keep simpler records if you stay within its limit (whether your work qualifies is a question for a CA); GST registration is needed once your turnover crosses a limit; and export of services, such as work for foreign clients paid in foreign currency, has its own special GST rules.
Watch the lesson
Freelancing basics in India · 1/7
Freelancing means paid projects for several clients. You are the developer, the salesperson and the accountant.
Prefer a video by a teacher? Find free videos on “freelancing for web developers in india how to get first client” on YouTube ↗
In real life: A clinic website, done right
A dentist in Indore asks a final-year student for a website where patients can book appointments. The student writes a one-page proposal: four pages, a booking form, an admin list of bookings, no online payments. Price Rs 30,000, with 40 percent advance, two milestones and two rounds of changes. The domain and hosting are bought in the clinic's name. Halfway through, the dentist asks for SMS reminders. Because the scope is written down, the student quotes it as a small extra project instead of doing it for free. The clinic pays by UPI against each invoice, and the student keeps every invoice for tax time.
Practice (0/3 done)
Write quoteProject(tasks, rate, bufferPercent). tasks is a list like [{ name: "Login", hours: 8 }]. Add up the hours, then add the buffer and round UP to whole hours using exactly Math.ceil(totalHours * (100 + bufferPercent) / 100). Return { hours, amount } where amount = hours * rate.
Write milestonePayments(total, percents) that splits a project price into payments. Each payment except the last is Math.round(total * percent / 100). The last payment is whatever is left, so the payments always add up to exactly total. If the percents do not add up to 100, return null.
A local coaching centre wants a website where parents can see the batches and book a free demo class. Write a one-page proposal for them.
Quick quiz
Read more (free)
Pass the quiz (60% or more) or mark this topic as done when you are ready.
Your progress is saved on this device only.