Skip to content

Expert · Capstone, portfolio and getting work · topic 34 of 34 · 30 min

Freelancing basics in India

Explanation

Freelancing means doing paid projects for several clients instead of one employer. Find first clients through local businesses, referrals, LinkedIn and platforms. Put the scope, milestones, payment terms, revisions and ownership in writing, take an advance, and send proper invoices. Freelance income is taxable, and tax rules changed in 2026, so confirm the details with a chartered accountant.

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.

Think of it like this: A freelancer is like a local tailor. Before cutting the cloth, the tailor writes the measurements, the design, the price and the delivery date in a small book and takes an advance. If the customer later wants a different collar, that costs extra. Written scope, an advance and clear rules for changes protect both sides, in tailoring and in software.

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

ModelHow it worksGood when
Fixed priceOne price for an agreed scope, paid in milestonesThe scope is clear, such as a 5-page website with a contact form
HourlyThe client pays for the hours you work, often with a weekly limitThe 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.
output
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 app
A simple payment schedule. The percentages always add up to 100.

Invoices 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.

Careful: Tax rules and limits change. India's new Income-tax Act, 2025 applies from 1 April 2026, and many section numbers and limits are different from the old law. This lesson gives no numbers on purpose. Before you file, or when your income grows, talk to a chartered accountant (CA) and check the official income tax and GST portals.
Tip: Open a separate bank account for freelance money and move a fixed share of every payment into savings for tax. Keep invoices, agreements and remittance advices in one folder for each financial year (April to March).

Watch the lesson

Freelancing basics in India · 1/7

Freelancer = developer + sales + accounts

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)

Task 1 · Code · Javascript

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.

Task 2 · Code · Javascript

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.

Task 3 · Practice

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

Question 1

1.A client asks for "a small website". What should you do before giving a fixed price?

Question 2

2.In whose name should the client's domain and hosting accounts be?

Question 3

3.Why take an advance (often 30 to 50 percent) before starting?

Question 4

4.A foreign client pays you by bank transfer. What should you keep?

Question 5

5.Which statement about tax on freelance income in India is right?

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.

← Previous: Full-stack interviews in India