Back to playbooks
Contracts8 min read

Statement of work template for freelancers

A full statement of work you can copy, with fees in rupees, the GST and TDS lines Indian clients expect, and the acceptance clause that gets you paid.

FIC EditorialUpdated

The client has said yes, and you are about to start. Before you do, put the project on one page: what you will deliver, by when, for how much, and how both of you will know it is finished. That page is the statement of work (SOW).

The SOW is the part of the paperwork you will actually use. When the client asks "Can you also do the Hindi version?" in week three, you point to it. When they go quiet after delivery, the acceptance clause in it is what makes your invoice due.

If you already have a master services agreement with the client, the SOW sits under it and carries only the project details. If you do not, add a short terms section at the end, or attach the SOW to a simple agreement.

What a good SOW answers

Every SOW, whatever the size, should let a stranger read it and answer six questions. What is being delivered, in what form and quantity? What is not included? When does each part arrive, and what does the client need to provide first? What does it cost, and when is each payment due? How is each deliverable approved? And how are changes handled?

Two of these cause most of the trouble: vague deliverables and missing acceptance criteria.

Write deliverables you can count

"Social media management" is not a deliverable. "30 static posts and 8 Reels per month, with captions, for Instagram and LinkedIn, posted on a schedule agreed by the 25th of the previous month" is.

For each deliverable, say what it is, how many, in what format or on which platform, and how many rounds of changes are included. Formats matter more than people expect: a logo delivered as a PNG only is a future argument.

Then write the out-of-scope list. It protects you more than anything else in the document. Name the things a reasonable client might assume are included: copywriting on a design job, stock image licences, hosting, translations, content uploads, and ongoing maintenance after launch. The playbook on stopping scope creep covers how to hold the line once the work starts.

Acceptance criteria that get you paid

Acceptance is the point at which a deliverable counts as done. Without it, "final payment on completion" can mean whenever the client feels like it.

Give each milestone an objective test where you can ("site loads on Chrome, Safari and Android Chrome; all forms deliver to the client's inbox"), a review window for the client, and deemed acceptance if they say nothing. Seven working days is a common review window. The revisions playbook has more on structuring feedback rounds.

Fees, GST and TDS: write them the way Indian clients expect

Quote in rupees, exclusive of GST, and show GST as its own line if you are registered. Most professional and creative services attract GST at 18%; check the SAC code for your service with your CA. If you are not registered, say so and do not add GST. Exports of services are zero-rated, and with a Letter of Undertaking you invoice a foreign client without charging IGST; the GST invoices playbook has the wording.

Indian business clients will often deduct TDS before paying you, typically 10% for professional fees or 2% for technical services, once their payments to you under that head cross ₹50,000 in the year. This is the professional and technical fees entry in the TDS table (section 393(1) of the Income-tax Act, 2025, serial 6(iii); section 194J of the old Act). That tax is not lost; it is credited against your income tax when you file. But it does mean ₹50,000 plus GST does not arrive as ₹59,000. Put a line in the SOW so nobody is surprised, and see TDS for freelancers for how to claim it back.

A worked example, for a registered freelancer on a ₹1,00,000 professional fee: the invoice shows ₹1,00,000 plus ₹18,000 GST, ₹1,18,000 in total. If the client deducts 10% TDS on the fee excluding GST (₹10,000), you receive ₹1,08,000 and see ₹10,000 against your PAN in Form 26AS.

The template

Copy it, replace the placeholders, delete what does not apply. It is a starting point, not legal advice.

Statement of work
STATEMENT OF WORK No. {{SOW-2026-03}}
Under the Master Services Agreement dated {{date}} (or: subject to the terms at the end of this document)

Client: {{company name}}, {{address}}, GSTIN {{gstin, if any}}
Freelancer: {{your name / business name}}, {{city}}, PAN {{pan}}, GSTIN {{gstin, or "not registered for GST"}}
Client contact for approvals: {{name, email}}
Date: {{date}}

1. Purpose
{{One or two sentences on why the project exists, e.g. "Redesign the company website so that visitors can book a demo without emailing sales."}}

2. Deliverables
2.1 {{Deliverable}}: {{quantity, format, platform}}. Includes {{n}} rounds of revisions.
2.2 {{Deliverable}}: {{quantity, format, platform}}. Includes {{n}} rounds of revisions.
2.3 Source files: {{e.g. Figma file, layered PSD, Git repository}} delivered on final payment.

3. Out of scope
The following are not included and will be quoted separately if needed: {{copywriting, stock image licences, hosting and domain charges, translations, data entry, maintenance after the support period}}.

4. Client responsibilities
The Client will provide {{brand assets, logins, content, feedback from one named person}} by {{date}}. Delays in these inputs move the timeline by the same number of days.

5. Timeline and milestones
| Milestone | Deliverables | Target date | Payment |
| M0 Kickoff | Signed SOW, advance received, inputs shared | {{date}} | 40% advance |
| M1 {{Draft / Design}} | {{2.1}} | {{date}} | 30% |
| M2 Final | {{2.2, 2.3}} | {{date}} | 30% |

6. Acceptance
The Client will review each milestone within 7 working days of delivery and either approve it or list specific changes within the included revision rounds. A milestone is accepted when the Client approves it in writing, or at the end of the 7 working days if no written feedback is given.

7. Fees and payment
Total fee: ₹{{amount}} plus GST at {{18%}} (₹{{gst amount}}), total ₹{{total}}.
{{If not registered: "The Freelancer is not registered under GST; no GST is charged."}}
{{For export clients under LUT: "Supply of services for export under LUT without payment of IGST."}}
Invoices are raised at each milestone and are due within 15 days. The advance is adjusted against the final invoice.
TDS: the Client may deduct TDS at the applicable rate on the fee excluding GST and will share the TDS certificate each quarter.
Payment by bank transfer to {{account name, bank, account number, IFSC}} or UPI {{id}}.

8. Change requests
Any addition or change to the deliverables, timeline or inputs will be agreed in writing (email is enough) before work starts, stating the extra fee and the effect on dates. Approved changes are invoiced with the next milestone.

9. Support after delivery
{{14}} days of fixes for defects in the delivered work, at no charge. New requests after that are billed at ₹{{rate}} per hour or quoted separately.

Agreed by:
Client: ________________ Name, title, date
Freelancer: ________________ Name, date

The 40/30/30 split in the template is one option. The deposits and payment terms playbook covers how to choose a split and what to do when a client says they do not pay advances.

Change requests without awkwardness

Most clients do not mean to expand the scope; they just think of things as they see the work. Make the change process boring and quick, and they will use it.

Change request by email
Subject: Change request 1: {{short name}}

Hi {{name}},

Happy to add {{the request}}. It's outside the current SOW, so here's what it changes:

Extra work: {{one-line description}}
Fee: ₹{{amount}} plus GST
Timeline: final delivery moves from {{date}} to {{date}}

Reply "approved" and I'll fold it into the next milestone. If you'd rather keep the original date, we can schedule this as a separate phase after launch.

{{your name}}

Before you send the SOW

SOW check

0 of 6 done

Send it with your proposal or straight after the client says yes, and do not start until it is signed or accepted by email along with the advance.

Common questions

What is the difference between an SOW and a contract?

An SOW describes one project: deliverables, dates, fees and acceptance. A contract, or master services agreement, holds the legal terms that apply to every project, such as IP, liability and termination. For a single small project you can attach the SOW to a short agreement. For repeat clients, sign the MSA once and add a new SOW per project.

Do I need an SOW for a small project?

A one-page version, yes. Even a ₹15,000 logo job benefits from a written list of what is included, how many revision rounds, the file formats and when you will be paid. It can be an email the client replies "agreed" to. Small projects grow quietly, and the SOW is what lets you charge for the growth.

Should the fee in the SOW include GST?

Write the fee exclusive of GST and show GST as a separate line, so there is no argument about whether ₹50,000 meant ₹50,000 in total or ₹50,000 plus tax. If you are not registered for GST, say so and do not add it. Exports of services are zero-rated; for a foreign client, note that you supply under a Letter of Undertaking without charging IGST.

How do I handle changes the client asks for mid-project?

Through a written change request that states what is being added or removed, the effect on the fee and the timeline, and gets the client's approval before you start the work. A short email is enough. Bill the change as a separate line, or as a new milestone if it is large.

Freelance India Club

Find work and answers in the club

Jobs reviewed by people, a directory that clients search, and members who answer questions the same day. Free to join.

All playbooks