Milestone Billing Under GST: When to Raise Each Stage Invoice, When Tax Is Due, and How to Track It

Paid in stages like 30/40/30? Here's when to raise each GST invoice, when the tax on each stage is due, how to word the invoice, what to do with advances and late milestones, and how to keep track of what's billed and paid.

Tara
TaraContent Writer
5 Nov 2026·7 min read
Reviewed byRahul KrishnaFounder, Clyrix
Share:
Illustration for the article: Milestone Billing Under GST: When to Raise Each Stage Invoice, When Tax Is Due, and How to Track It

If your contract pays you per milestone, raise each GST invoice on or before the day that milestone is completed. If the contract gives fixed payment dates instead, raise it on or before each payment due date. GST on that stage becomes due at that point (or earlier, if the client pays you an advance), whether or not the client has paid you yet.

That's the short answer. Below is how it works in practice for agencies, contractors and consultants whose projects run for weeks or months.

What GST calls a "continuous supply of services"#

GST has a special rule for long service contracts. It's called a continuous supply of services. Roughly, it covers services provided continuously or again and again under a contract that runs for more than three months and has periodic payments.

Most staged projects fit this. Think of a six-month website build, a year-long retainer with a social media agency, or a fit-out contractor paid in four instalments.

For these contracts, the GST law says when the invoice must be issued:

  • Payment due date written in the contract: invoice on or before that due date.
  • No due date in the contract: invoice before or at the time you receive the payment.
  • Payment tied to finishing an event (a milestone): invoice on or before the date that event is completed.

What if your project is shorter than three months? The general rule for services applies: issue the invoice within the time allowed after the service is provided (commonly 30 days for most businesses). Your CA can confirm which rule fits your contract. Still, raising the invoice as each milestone is completed keeps you safe in most cases.

When the tax on each stage is actually due#

The invoice date and the tax date are linked. For services, the "time of supply" is generally the earlier of:

  1. the date of the invoice (if it's issued on time), or
  2. the date you receive payment.

So the GST on a stage goes into the return for the period in which you issued that invoice or received that money, whichever came first. You pay it with that period's GSTR-3B (monthly or quarterly, depending on your scheme). Check the current due dates on the GST portal.

The bit that hurts cash flow: GST is due when you invoice, not when the client pays. Say you raise a ₹2,40,000 invoice on 28 August and the client pays in October. You still pay the GST on it with your August return. Many agencies learn this the hard way.

If you miss the invoice deadline, the time of supply doesn't wait for you. It can fall on the date the milestone was completed. Then you may owe interest for paying the tax late.

A worked example: a 30/40/30 project#

A design agency in Pune signs a ₹6,00,000 (plus GST) website project with a client in Bengaluru. The supply is inter-state, so the invoices carry IGST. If the client were also in Maharashtra, it would be CGST + SGST. The contract says:

StageShareAmount (before GST)Payment triggerRaise invoice by
1. Kick-off30%₹1,80,000Signing of agreementDate of signing
2. Design approval40%₹2,40,000Client approves final designsDate of approval
3. Go-live30%₹1,80,000Website live on client domainGo-live date

GST is charged at the rate for your service's SAC code (18% for most such services, but confirm yours). So for stage 2 the agency invoices ₹2,40,000 + ₹43,200 IGST = ₹2,83,200.

If the client approves designs on 12 September, the stage 2 invoice should be dated 12 September or earlier. Its tax goes into the September return.

How to write the milestone on the invoice#

The invoice must have all the usual mandatory GST fields. The description line is where staged billing gets messy. Write it so a stranger (or a GST officer, or your client's accounts team) understands it in one read:

  • Project name and contract or PO reference
  • Milestone number and name
  • The percentage and the total contract value
  • The date the milestone was completed, if billing is tied to it

Example description:

Website design and development – Milestone 2 of 3: Final design approval (approved on 12-09-2025). 40% of contract value ₹6,00,000 as per agreement dated 05-06-2025, PO No. BLR/2025/118.

Some extra habits that help:

  • Use the same SAC code on every stage invoice for the same service.
  • Mention previous invoices in a note, e.g. "Earlier billed: INV-0412 (Milestone 1, ₹1,80,000)". Clients reconcile faster.
  • Keep one invoice per milestone. Don't club two stages unless both were completed on the same day.

Advances, slipped milestones and changed scope#

Real projects rarely follow the contract neatly. Here's how to handle the common cases.

Client pays before the milestone is reached (an advance) For services, GST is due when you receive the advance. Issue a receipt voucher for the money and pay GST on it in that period's return. When the milestone is completed, raise the tax invoice for the full stage amount and adjust the advance against it, so you don't pay the tax twice. If the work is cancelled and no invoice is raised, you can issue a refund voucher when you return the money.

Milestone slips, e.g. design approval moves from September to November

  • If the contract ties payment to the event, the invoice date moves with it. No completion means no invoice yet. Keep the email or message showing the new date.
  • If the contract has fixed calendar dates, the invoice is due on that date even if the work is behind. To avoid this, agree a revised schedule in writing (an email or addendum both sides accept) before the old date passes.

Scope cut after you've invoiced If the client drops part of a stage and you've already invoiced it, don't edit or delete the old invoice. Issue a credit note against it for the reduced value.

Client deducts TDS The client may pay ₹2,78,400 instead of ₹2,83,200 because they deducted TDS. Your GST is still on the full invoice value. Record the short payment as TDS, not as unpaid, and match it with Form 26AS later.

Track billed, paid and pending for every stage#

Once a project has three to six stages, the main risk isn't GST. It's losing track. Which stage did we invoice? Did they pay stage 1 fully, or after TDS? Is stage 3 complete but not billed?

Keep one view per project with these columns:

  • Stage and contract value
  • Status: not started / in progress / completed
  • Invoiced: invoice number, date, amount
  • Received: amount and date (plus TDS, if any)
  • Pending: invoiced minus received
  • Not yet billed: completed but not invoiced (this column should usually be empty)

Look at it every week. Any stage marked "completed" with nothing in "Invoiced" means you're late on an invoice and maybe on GST.

You can run this in a spreadsheet. If you'd rather not keep it updated by hand, Clyrix lets you set up projects stage by stage, raise GST-ready invoices with CGST/SGST/IGST shown clearly, and record payments, including Razorpay online payments, against the project. That way billed, paid and pending stay visible for each project, and your CA can use the GSTR-1 export at return time.

A quick checklist before each stage invoice#

  • Is the milestone actually complete, or is the contract date reached? Note which one.
  • Was an advance already received for this stage? Adjust it.
  • Correct tax type (CGST + SGST or IGST) based on place of supply.
  • Description names the milestone, the percentage, the contract value and the reference.
  • The invoice goes into this period's GSTR-1, and the tax into this period's GSTR-3B.
  • Update your project tracker the same day.

Do this for every stage and the 30/40/30 contract stops being a headache. If your contract is unusual (retention money, mixed goods and services, or government work), spend ten minutes with your CA before you raise the first invoice.

Frequently asked questions

When should I raise a GST invoice for a milestone payment?
If payment is tied to completing a milestone, raise the invoice on or before the date it's completed. If the contract has fixed payment dates, raise it on or before each due date.
Do I pay GST on a milestone invoice even if the client hasn't paid?
Yes. For services, GST is generally due on the earlier of the invoice date or the payment date. So you pay it with that period's return even if the money comes later.
Is GST payable on an advance received for a project stage?
For services, yes. Issue a receipt voucher, pay GST in that period, and adjust the advance when you raise the stage's tax invoice.
What if a milestone is delayed?
If payment depends on the event, the invoice waits until it's completed. If the contract has fixed dates, agree a revised schedule in writing before the old date, or the invoice is still due.
Can I edit an invoice if the client reduces the scope of a stage?
Don't edit or delete it. Issue a credit note against the original invoice for the reduced value.
Found this helpful? Share with other business owners:
Share:

More guides and insights for your business