The 30% rule, the 30/40/30 milestone structure Indian agencies actually work to, the GST line on advances that no quote in this country explains — and the four protections worth more than any percentage you negotiate.
Never pay more than 30% before you can open a link and use working software. The honest structure across the Indian market in 2026 is 30% to start, 40% at a working demo you can click through, 30% on handover of the finished build and the source code — on a ₹2,00,000 project that puts ₹60,000 at risk instead of ₹1,00,000, which is the difference between a recoverable loss and a serious one if the vendor stops replying in week three. A 50% advance is common in India, but it is a request, not a standard, and the right answer is almost never to refuse it — it is to split it into 30% now and 20% at a design-approved checkpoint two weeks later, which costs a legitimate vendor almost nothing in cash flow and halves your exposure. And the percentage is the smaller half of this decision: what you get in exchange for the advance — code in a repository registered in your name from day one, a written scope, a clickable demo at every milestone — protects you more than any number you negotiate. A vendor who gives you all three is safer at 50% than a vendor who gives you none at 20%.
Two numbers decide how a software project in India goes wrong. The first is how much money is with the vendor before anything works — keep it at or under 30%. The second is how many days of work exist only on the developer’s laptop — keep it at zero, by creating the Git repository under your own account before the project starts and adding the developer as a collaborator. The first number caps what you can lose. The second number means that even in the worst case, what you paid for is already in your possession and a second developer can pick it up. Most buyers negotiate hard on the first and never think about the second, which is backwards: a half-finished codebase you cannot access typically costs 30–50% more to rescue than it would have cost to build from scratch, so the repository is worth more rupees than the ten percentage points.
Declared bias: ZoopCoder is a development agency and we are paid by advances. A 30% cap is worse for our working capital than the 50% many Indian vendors ask for, and the advice to keep the code in a repository you control removes the leverage some agencies rely on to get paid. We publish both anyway, because our own schedule is 30/40/30 and we would rather be judged on the terms we already work to than argue for terms we do not use.
This is the part of an advance payment that Indian buyers almost never see explained, and it has real money in it. Notification 66/2017 – Central Tax removed the requirement to pay GST on an advance received against a supply of goods. It does not extend to services. Software development is a service, so under the time-of-supply rule in section 13(2) of the CGST Act, GST becomes payable on your advance at the moment the money is received — before a single screen exists. On a ₹2,00,000 build, a 50% advance is ₹1,00,000 plus ₹18,000 of GST on day one.
Now the part that decides whether that ₹18,000 is a cost or a timing problem. Under section 31(3)(d), what a supplier issues on receiving an advance is a receipt voucher — and a receipt voucher is not a tax invoice. Under section 16(2)(a), a registered buyer may claim input tax credit only when in possession of a tax invoice or debit note. So if your advance comes back receipted rather than invoiced, the GST you just paid is not claimable until the invoice is raised, which on a ten-week build is most of a quarter of blocked working capital. If the project is cancelled before any invoice, the supplier issues a refund voucher under section 31(3)(e) and the tax unwinds.
The fix costs nothing and takes one sentence in an email: ask whether each milestone will be raised as a tax invoice for a completed portion of the supply, or receipted as an advance. Milestone-invoiced is better for your cash and it is also a reasonable proxy for whether the vendor keeps proper books. To be clear about what this is and is not — it is a timing question. The total GST paid is identical either way, and nothing here is a way to pay less tax. It simply decides which quarter you get your credit in.
| On a ₹2,00,000 build (18% GST = ₹36,000) | 50% advance | 30% advance |
|---|---|---|
| Cash out before any working software exists | ₹1,18,000 | ₹70,800 |
| Principal at risk if the vendor disappears in week 3 | ₹1,00,000 | ₹60,000 |
| GST paid up front | ₹18,000 | ₹10,800 |
| That GST if you get a receipt voucher | Blocked — no input tax credit until a tax invoice is issued (s.16(2)(a)) | |
| That GST if you get a tax invoice per milestone | Claimable in the quarter you pay it — if you are GST-registered | |
Statutory references are to the CGST Act, 2017 and Notification No. 66/2017 – Central Tax dated 15 November 2017. This is a description of how the time-of-supply and input-tax-credit rules apply to an ordinary services advance and it is not tax advice for your specific facts — if the amounts are material, confirm with your CA before you pay.
All five of these are in live use across the Indian market. Only one of them is a genuine red line. The rest are trade-offs between your risk and the vendor’s cash flow, and they are negotiable in a way most buyers do not realise.
| Structure | Who offers it | Your maximum exposure | Verdict |
|---|---|---|---|
| 100% upfront | Rare; some very small vendors and marketplace sellers | The entire project value | Refuse. There is no version of this that protects you, and it removes your only leverage |
| 50 / 50 | Very common: freelancers and small studios | Half the project value, with no checkpoint in between | Do not refuse — split it. 30% now, 20% at design approval. Almost every vendor says yes |
| 30 / 40 / 30 against milestones | Small and mid-size agencies. ZoopCoder uses this | 30% until a working demo exists | The sensible default for a fixed-scope project of ₹50,000 to ₹5,00,000 |
| Sprint retainer (paid every 2 weeks) | Teams doing ongoing or unscoped product work | One sprint — typically ₹40,000 to ₹1,50,000 | Lowest exposure per payment, but only honest when the scope genuinely cannot be fixed in advance |
| Escrow via a marketplace | Upwork, Fiverr and similar platforms | One milestone, held by the platform | Genuinely safe, but the 5–10% platform fee usually costs more than the milestone structure it replaces |
These are the 30% figures against ZoopCoder’s published price bands, which are the same bands used across our cost guides. GST at 18% is shown separately because a quote that does not say whether tax is included is the single most common billing surprise in Indian software projects.
| Project | Typical total | 30% advance | + 18% GST on that advance | What the advance should buy |
|---|---|---|---|---|
| Business website (5–10 pages) | ₹25,000 – ₹60,000 | ₹7,500 – ₹18,000 | ₹1,350 – ₹3,240 | Sitemap, wireframes and the design of the home page |
| E-commerce store | ₹40,000 – ₹2,50,000 | ₹12,000 – ₹75,000 | ₹2,160 – ₹13,500 | Catalogue structure, the checkout flow and payment-gateway setup started |
| Simple mobile app | ₹50,000 – ₹1,00,000 | ₹15,000 – ₹30,000 | ₹2,700 – ₹5,400 | Screen list, a clickable prototype and the project repository created in your name |
| Medium app (logins + payments) | ₹1,00,000 – ₹2,50,000 | ₹30,000 – ₹75,000 | ₹5,400 – ₹13,500 | Full screen designs approved and the backend data model agreed in writing |
| SaaS MVP | ₹1,50,000 – ₹5,00,000 | ₹45,000 – ₹1,50,000 | ₹8,100 – ₹27,000 | A written feature cut for v1, the architecture and the first sprint underway |
Totals are ZoopCoder’s published bands. On projects above roughly ₹5,00,000, a 30% first payment stops being a reasonable ask of either side — move to sprint-based or four-milestone billing instead, because neither party should be carrying ₹1,50,000+ of unearned or unpaid work.
It is worth understanding this before you negotiate, because a buyer who treats every advance request as a warning sign will end up working only with vendors desperate enough to accept terms nobody sensible accepts. An advance does three things, and none of them is a deposit in the sense of a refundable security amount.
It funds work that has already happened. By the time a fixed quote reaches you, a small agency has usually spent several unpaid hours scoping it. It filters out projects that were never real. A meaningful share of enquiries evaporate at the payment stage, and a vendor who starts building before any money moves is subsidising that with the time of clients who did pay. And it books the calendar. A developer holding four weeks for you is turning other work away; the advance is what makes that commitment mutual rather than one-sided.
Which is exactly why the counter-offer works. When you propose 30% now and 20% at design approval instead of a flat 50%, you are not challenging any of those three purposes — the project is still filtered, the calendar is still booked, the scoping is still paid for. You are only moving a two-week gap in the vendor’s cash flow. Vendors who refuse a split like that are usually telling you something about their cash position, and that is genuinely useful to know before you commit.
| Protection | What it costs you | What it saves you |
|---|---|---|
| Repository in your name from day one | Five minutes and ₹0 | The 30–50% premium a second developer charges to rescue a codebase you cannot access |
| Written scope with exclusions listed | An afternoon before the project starts | The single most common cause of stalled Indian projects — a scope argument at 70% completion |
| A demo you can click at every milestone | Nothing; it should already be in the plan | Finding out in month three that “80% done” meant something different to each of you |
| Copyright assigned in writing on final payment | One sentence in the same document | Discovering later that under the Copyright Act the developer, not you, owns what you paid for |
The last row has more in it than one sentence can carry — who owns the code by default, what changes if you used a contractor rather than an employee, and why an invoice marked “paid in full” is not an assignment — and we have written it up separately in who owns your website or app code in India.
Published here so it can be compared against any other quote you are holding. Our schedule is 30% to start, 40% mid-project when design is approved and development reaches the halfway point, and 30% on delivery. For a first-time client we would rather break the opening 30% into two smaller checkpoints than argue for more money earlier, and on larger projects we move to sprint billing. Every project includes 30 days of post-launch support at no extra cost, and complete ownership of the source code, the database and all project files is part of the quoted price — not something sold back to you at the end. GST at 18% applies on top of the quoted figures and is stated on every quote rather than discovered at invoice time.
Send it over. We will tell you whether the structure is reasonable for that scope — including when the honest answer is that the other quote is fine and you should take it.
Ask on WhatsAppNever more than 30% before you can open a link and use working software. The structure used across the Indian market in 2026 is 30% to start, 40% at a clickable working demo, 30% on handover of the build and the source code. On a ₹2,00,000 project that is ₹60,000 at risk instead of ₹1,00,000. A 50% advance is common but it is a request, not a standard — ask for it to be split rather than refusing it outright.
Common, and not unreasonable for a small vendor to ask — but not a standard, and you should not treat it as one. It is a working-capital request: you are being asked to fund roughly half the build before any of it exists. The sensible counter is 30% now and 20% at a design-approved checkpoint two weeks later, which costs the developer very little and halves your exposure. Refuse 100% upfront in every case, without exception.
Yes. Notification 66/2017 – Central Tax removed GST on advances for a supply of goods, but it does not cover services — and software development is a service. So under section 13(2) of the CGST Act the tax is due the moment your advance is received: on a ₹2,00,000 build, a 50% advance is ₹1,00,000 plus ₹18,000 of GST on day one, before a single screen exists.
Because it decides which quarter you get your input tax credit. Under section 31(3)(d) an advance is receipted with a receipt voucher, and a receipt voucher is not a tax invoice. Under section 16(2)(a) a registered buyer can claim ITC only when holding a tax invoice. So GST paid against a receipt voucher is blocked until the invoice is raised — on a ten-week build, most of a quarter. Ask before you pay whether milestones will be invoiced or receipted. The total tax is identical either way; only the timing changes. (If the project is cancelled, a refund voucher under section 31(3)(e) unwinds it.)
Four things, each worth more than negotiating the percentage down. (1) The code pushed to a GitHub, GitLab or Bitbucket repository owned by you, with the developer added as a collaborator, from day one. (2) A written scope listing screens, features and explicit exclusions. (3) A demo you can click at every milestone — not a screenshot, not a status update. (4) A written line assigning copyright in the source code to you on final payment. A vendor who agrees to all four is safer at 50% than one who agrees to none at 20%.
Bank transfer to a business current account whose registered name matches the name on the invoice and the GST registration — and verify the GSTIN free on the GST portal, which takes under a minute. Avoid paying a company through an individual UPI handle: you lose the paper trail that makes it a clean business expense, and it tells you something about how the rest of the engagement will run. Escrow through a marketplace is genuinely safe for a first project with an unfamiliar vendor, though the 5–10% platform fee usually costs more than the milestone structure it replaces.
Five, roughly in order of seriousness. A demand for 100% upfront. A refusal to put the scope in writing while insisting the advance is urgent. A price quoted without saying whether GST is included or extra — that is how ₹1,00,000 becomes ₹1,18,000 at invoice time. The domain or hosting registered in the vendor’s name rather than yours, which turns a supplier into a landlord. And a refusal to push code to a repository you own until final payment, which is not a payment term at all. One of these means slow down. Two together means walk.
30% to start, 40% mid-project when design is approved and development hits the halfway mark, 30% on delivery. For a first-time client we would rather split the opening 30% into two smaller checkpoints than ask for more money earlier, and larger projects move to sprint billing. 30 days of post-launch support is included at no extra cost, and complete ownership of the source code, database and project files is handed over as part of the quoted price. GST at 18% is stated on the quote, not discovered at invoice time.
Tell us the scope and we will send a fixed price with the milestones, the GST treatment and the repository arrangement stated up front — so there is nothing to discover later.