Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Personal Finance for India  Module 9 – Tax on investments, side income and foreign assets

Freelance and side income: tax and GST basics

Tax on freelance and side income in Tax Year 2026-27: presumptive or regular profit, client TDS, advance tax, the GST registration threshold and records.

  • Advanced
  • 15 minutes
  • Examples run with Python 3.14.8
  • By MySmartCoPilot
Free: 15 minutes

What you will learn

  • Choose between presumptive and regular taxation for income from a profession
  • Calculate presumptive income, its tax in both regimes and the advance tax it needs
  • Check whether a year's aggregate turnover makes GST registration compulsory
  • Set up numbered invoices, records of receipts and costs, and a separate account for the work

Before you start

What you’ll learn · Before you start

What you will learn

  • Choose between presumptive and regular taxation for income from a profession
  • Calculate presumptive income, its tax in both regimes and the advance tax it needs
  • Check whether a year's aggregate turnover makes GST registration compulsory
  • Set up numbered invoices, records of receipts and costs, and a separate account for the work

Before you start

On this page

Meera, a freelance architect, received ₹18,00,000 from her clients this year and spent ₹2,40,000 doing the work. Taxed on her actual profit, her tax would be ₹1,18,560; declared under the presumptive scheme for professions, her income is ₹9,00,000, her tax is nil, and the ₹1,20,000 her clients deducted comes back to her as a refund.

Below you will see how fees are taxed and how a client’s TDS reaches your PAN, when presumptive taxation fits and when it does not, how presumptive income pays its advance tax, when GST registration becomes compulsory, and the records that make a freelance year provable. It is education only: Meera, Rohan and their clients are invented, each rule is cited from the Income-tax Act, 2025, the Income-tax Rules, 2026 and the CGST Act, 2017, and nothing here is advice on your own return or registration.

Fees from clients are income from a profession, and many clients deduct TDS

Money a client pays you for work is taxed under the head “Profits and gains of business or profession” (section 26), not as salary, however regular the client. Some professions are named: section 62(4) lists legal, medical, engineering, architectural, accountancy, technical consultancy, interior decoration, information technology and company secretary work as specified profession: One of the professions section 62(4) of the Income-tax Act, 2025 names: legal, medical, engineering, architectural, accountancy, technical consultancy, interior decoration, information technology and company secretary work, and any others the Board notifies., with any others the Board notifies. On the regular basis, income is the gross receipts: Everything a profession receives from its clients for its work in a year, before any cost or TDS is taken off. Presumptive income is half of it, and the scheme's limits of ₹50 lakh and ₹75 lakh are measured on it. less the costs the Act allows: spending laid out wholly and exclusively for the profession that is neither capital nor personal (section 34), and depreciation on equipment such as a laptop (section 33).

Clients pay less than the fee. A company, a firm or any other payer that is not an individual or a Hindu undivided family deducts 10 % as TDS once its payments to you for professional services pass ₹50,000 in the year (section 393(1), Table: Sl. No. 6(iii)), and so does an individual whose own business passed ₹1 crore, or profession ₹50 lakh, the year before (section 402(37)). An individual paying you for personal purposes, such as a family planning its own house, deducts nothing (section 393(4)). Follow one of Meera’s invoices:

Interactive · stage by stage One invoice of ₹2,00,000, from client to return Step through the life of one fee. Watch which amount reaches the bank and which amount the return reports.
One invoice of ₹2,00,000, from client to return, step 6 of 6. Showing The invoice, The client deducts (₹20,000 to the government), Paid to the bank (₹1,80,000), The client's statement, Her Form 168, Her return (₹2,00,000 and ₹20,000). In focus: Her return.The invoice₹2,00,000 for a designThe client deducts₹20,000 to the governmentPaid to the bank₹1,80,000The client's statementnames Meera's PANHer Form 168the AIS shows itHer return₹2,00,000 and ₹20,000

The drawing shows the whole scene; its 6 steps are listed below.

Every step as text
  1. The invoice. Meera invoices a company ₹2,00,000 for designing its new office. Its payments to her will pass ₹50,000 in the year, so the company must deduct TDS on her fee (section 393(1), Table Sl. No. 6(iii)).
  2. 10 % deducted. The company deducts 10 %, ₹20,000, and pays it to the government in her name. A client who pays her for personal purposes, such as a family planning its own house, deducts nothing (section 393(4)).
  3. The bank sees less. ₹1,80,000 reaches her bank account. That is not her income; her receipt is the whole fee, and the ₹20,000 is her own tax paid early.
  4. Reported by the client. Each quarter the company files a TDS statement against her PAN, and later gives her a certificate in Form 131 (rule 215). A wrong PAN or a missed quarter starts here.
  5. In her statement. The deduction then appears in her Annual Information Statement, Form 168 (rule 245), next to the fee the company reported paying her.
  6. The return. Her return reports ₹2,00,000 of receipts and claims the ₹20,000 as tax already paid, credited as the company reported it (rule 203(1)).

What reaches the bank is the fee less TDS; what the return reports is the whole fee, with the TDS claimed as tax already paid and credited as the client reported it (rule 203(1)). The TDS lesson shows how to match that credit with your Annual Information Statement before you file.

Counting only what reached the bank

Wrong: “I received ₹1,80,000, so that is my income”. Right: the receipt is the ₹2,00,000 invoiced, and the ₹20,000 deducted is your own tax paid early. Reporting ₹1,80,000 leaves the receipts short of what the client reported, and the credit for the ₹20,000 has nothing to stand against.

Checkpoint

Check: Fees, costs and client TDS

  1. Question 1 of 2 Meera invoices a company ₹1,50,000. Its payments to her pass ₹50,000 this year. How much reaches her bank account, in rupees?

    Type a number.

    A hint

    The company deducts 10 % of the fee for professional services and pays it to the government in her name.

    Show the answer: Question 1 of 2

    Answer: 135000 rupees

    10 % of ₹1,50,000 is ₹15,000 of TDS, so ₹1,35,000 reaches her. Her receipt is still ₹1,50,000, and the ₹15,000 is credited in her return.

  2. Question 2 of 2 A retired doctor pays Meera ₹80,000 to design an extension to his family's house. How much TDS does he deduct?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: None, because he pays for personal purposes

    The fee is still part of Meera's gross receipts; nobody has paid any of its tax yet.

Presumptive taxation counts half of a professional’s receipts as income

Section 58(2) (Table: Sl. No. 3) offers a simpler rule to a resident individual, or a firm other than an LLP, in a specified profession: if the year’s gross receipts are ₹50 lakh or less, or ₹75 lakh or less when cash is at most 5 % of them, 50 % of the receipts may be declared as the income, or more if more was earned. That is presumptive taxation: Taxing a small business or profession on a fixed share of its receipts instead of its actual profit. For a specified profession with receipts up to ₹50 lakh, or ₹75 lakh with at most 5 % in cash, half the receipts is the income.. Nothing further is deducted from it (section 58(4)); the equipment is treated as if its depreciation had been claimed every year (section 58(6)); and a cheque that is not account payee counts as cash (section 58(9)). The program works out Meera’s year both ways:

Meera's ₹18,00,000 of receipts, presumptive and regular, in both regimes Python · meera_two_ways.py
"""Meera's year as a freelance architect, Tax Year 2026-27: presumptive or regular profit, in both regimes.

Meera (invented) is a resident architect, a specified profession of section 62(4) of the Income-tax Act, 2025.
Her gross receipts are Rs 18,00,000, all by bank transfer, and her own records show Rs 2,40,000 of costs. Section 58(2) (Table: Sl. No. 3) lets her declare 50 % of the receipts as her income from the
profession; otherwise her income is the receipts less the costs the Act allows. Two Indian companies paid her
Rs 12,00,000 and deducted 10 % TDS (section 393(1), Table: Sl. No. 6(iii)); a client abroad and a private client
deducted none. New regime: slabs of section 202(1), rebate of section 156(2); old regime: slabs of the First Schedule
of the Finance Act, 2026 and the Rs 12,500 rebate up to Rs 5 lakh. 4 % cess, rounding of section 516, no surcharge.
"""

from decimal import ROUND_HALF_UP, Decimal

D = Decimal
NEW = [(400000, "0"), (800000, "0.05"), (1200000, "0.10"), (1600000, "0.15"), (2000000, "0.20"), (2400000, "0.25"), (None, "0.30")]
OLD = [(250000, "0"), (500000, "0.05"), (1000000, "0.20"), (None, "0.30")]
RECEIPTS, COSTS, TDS = D(1800000), D(240000), D(120000)


def inr(amount):
    """Whole rupees with Indian digit grouping: 118560 -> "₹1,18,560"."""
    whole = str(D(amount).quantize(D(1), rounding=ROUND_HALF_UP))
    head, tail = whole[:-3], whole[-3:]
    groups = []
    while len(head) > 2:
        groups.insert(0, head[-2:])
        head = head[:-2]
    if head:
        groups.insert(0, head)
    return "₹" + ",".join(groups + [tail]) if groups else "₹" + tail


def round_516(amount):
    """Section 516: drop the paise, then round to the nearest ₹10 (a last digit of 5 or more rounds up)."""
    rupees = int(amount)
    return D(rupees - rupees % 10 + (10 if rupees % 10 >= 5 else 0))


def slab_tax(income, slabs):
    tax, lower = D(0), D(0)
    for upper, rate in slabs:
        top = income if upper is None else min(income, D(upper))
        if top > lower:
            tax += (top - lower) * D(rate)
        if upper is None or income <= upper:
            break
        lower = D(upper)
    return tax


def tax_new(income):
    income = round_516(income)
    tax = slab_tax(income, NEW)
    if income <= 1200000:
        tax -= min(tax, D(60000))
    elif tax > income - 1200000:
        tax = income - 1200000
    return round_516(tax * D("1.04"))


def tax_old(income):
    income = round_516(income)
    tax = slab_tax(income, OLD)
    if income <= 500000:
        tax -= min(tax, D(12500))
    return round_516(tax * D("1.04"))


presumptive = RECEIPTS * D("0.50")
regular = RECEIPTS - COSTS
print(f"Receipts {inr(RECEIPTS)}, costs {inr(COSTS)}, TDS by two clients {inr(TDS)}")
print(f"{'Basis':<26}{'Income':>11}{'New regime':>12}{'Old regime':>12}")
for name, income in (("Presumptive, 50 %", presumptive), ("Regular, receipts - costs", regular)):
    print(f"{name:<26}{inr(income):>11}{inr(tax_new(income)):>12}{inr(tax_old(income)):>12}")
print()
for name, income in (("Presumptive", presumptive), ("Regular", regular)):
    balance = tax_new(income) - TDS
    word = "to pay" if balance > 0 else "refund"
    print(f"{name}, new regime: tax {inr(tax_new(income))} less TDS {inr(TDS)} = {inr(abs(balance))} {word}")

Output

Receipts ₹18,00,000, costs ₹2,40,000, TDS by two clients ₹1,20,000
Basis                          Income  New regime  Old regime
Presumptive, 50 %           ₹9,00,000          ₹0     ₹96,200
Regular, receipts - costs  ₹15,60,000   ₹1,18,560   ₹2,91,720

Presumptive, new regime: tax ₹0 less TDS ₹1,20,000 = ₹1,20,000 refund
Regular, new regime: tax ₹1,18,560 less TDS ₹1,20,000 = ₹1,440 refund

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 meera_two_ways.py

Her costs are 13 % of her receipts, so half of them is far below her real profit: ₹9,00,000 against ₹15,60,000. In the new regime the presumptive figure pays nothing, because ₹9,00,000 of total income is inside the rebate’s ₹12 lakh, and all ₹1,20,000 of TDS comes back as a refund once she files. On the regular basis she pays ₹1,18,560, and in the old regime even the presumptive figure costs ₹96,200, so the new regime, which applies unless she opts out by the due date, is the one to keep.

The scheme has three limits. Declaring less than 50 % when total income passes the slab-free amount needs books of account under section 62 and an audit under section 63 (section 58(3)). No cost and no loss can be set against the presumptive figure, so a year with heavy costs or a loss is worked out on the regular basis. And work outside the list of section 62(4), such as writing or translation, is not a specified profession unless the Board notifies it: ask a qualified professional how such work is taxed. Answer three questions about your own year:

Interactive · answer and compare Presumptive or regular, for income from your profession? Answer three questions about your work and your year. The table marks the basis that fits and says why the other may not.
Is your work one of the professions of section 62(4), such as information technology or engineering?
How large are your gross receipts this year?
Do your costs come to more than half of what you receive?

Answer the questions above: the table then marks what fits your case and says why the rest does not.

The two ways of working out a professional's income against what each taxes, needs and allows
Basis Meera's tax Records it needs High costs or a loss Who may use it
Presumptive Income it counts: half of the gross receipts Good 50 % of ₹18,00,000 is ₹9,00,000: nil tax in the new regime Good no audit when 50 % or more is declared (section 63(2)) Poor no cost or loss can be claimed against it (section 58(4)) Mixed residents in a profession of section 62(4), receipts up to ₹50 or ₹75 lakh
Regular Income it counts: receipts less allowed costs Poor ₹18,00,000 less ₹2,40,000 is ₹15,60,000: ₹1,18,560 of tax Mixed books of account; an audit above ₹50 lakh, or when declaring less than half within the scheme Good every allowed cost counts, and a loss can be carried forward Good anyone with income from a business or profession
How the answers decide
  • “Is your work one of the professions of section 62(4), such as information technology or engineering?” No, or I am not sure: rules out Presumptive. Table Sl. No. 3 of section 58(2) covers only the professions of section 62(4); work outside the list needs its own answer from a qualified professional.
  • “How large are your gross receipts this year?” More than that: rules out Presumptive. The scheme stops at ₹50 lakh of gross receipts, or ₹75 lakh when cash is at most 5 % of them; above that, income is worked out on the regular basis.
  • “How large are your gross receipts this year?” More than that: adds a caveat to Regular. Above ₹50 lakh of gross receipts a profession on the regular basis must also have its accounts audited (section 63).
  • “Do your costs come to more than half of what you receive?” Yes, more than half: adds a caveat to Presumptive. Half of the receipts would be more than you earned. Declaring less needs books of account and an audit once total income passes the slab-free amount (section 58(3)).
  • “Do your costs come to more than half of what you receive?” No, less than half: adds a caveat to Regular. With costs below half, the regular basis taxes more than half of the receipts: for Meera ₹15,60,000 instead of ₹9,00,000.

In short: the presumptive basis fits a listed profession with costs below half of its receipts and receipts within the limits, as Meera’s do; the regular basis takes over for high costs, a loss, work outside the list or receipts above the limits.

Key idea

Presumptive taxation trades the right to claim costs for a simple rule, half the receipts as income: it suits a listed profession with low costs, and works against anyone whose costs are more than half of what they receive.

Presumptive Tax & Tax Audit Checker (India): 44AD, 44ADA, 44AE Enter your receipts, the cash in them and the income you declare to see whether the presumptive scheme fits and whether an audit is needed.

Checkpoint

Check: Presumptive or regular income

  1. Question 1 of 2 Nisha, a resident engineer working as a consultant, receives ₹30,00,000 in the year, all by bank transfer, and declares presumptive income. What is that income, in rupees?

    Type a number.

    Show the answer: Question 1 of 2

    Answer: 1500000 rupees

    Engineering is a specified profession, the receipts are within ₹50 lakh, and 50 % of ₹30,00,000 is ₹15,00,000. Its tax in the new regime is ₹1,09,200 with cess.

  2. Question 2 of 2 Arvind, a chartered accountant in practice, receives ₹60,00,000 this year, 10 % of it in cash. Can he declare presumptive income under section 58(2)?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: No; above ₹50 lakh the scheme needs cash of at most 5 %, so his income is worked out on the regular basis

    On the regular basis, with gross receipts above ₹50 lakh, his accounts must also be audited under section 63.

Presumptive income pays all its advance tax by the March instalment

Nobody deducts tax from a foreign client’s fee or from small Indian clients, so the tax left over after TDS is paid as advance tax: Income tax paid during the tax year itself, in instalments by set dates, when the year's tax less TDS and TCS comes to ₹10,000 or more. Late or short instalments cost interest. More in “TDS, AIS and advance tax” whenever it is ₹10,000 or more (sections 404 and 405). Someone who declares presumptive income under section 58 does not pay it in four parts: the whole of it is due by the March instalment (section 408(2)). Walk through the year:

Timeline · 5 events in order The tax year of a presumptive freelancer Walk through Meera's second year in order. Only one instalment of advance tax falls due, near the end.
  1. April to February

    Fees, TDS and records no instalment yet

    Invoices go out, clients deduct 10 % where they must, and Meera keeps her receipts and TDS up to date. The June, September and December instalments that a salaried person with other income would pay do not apply to her.

  2. March instalment

    All of the advance tax 100 %

    By 15 March she pays the whole year's tax less TDS, ₹48,000, because she declares presumptive income (section 408(2)). Short by then, she owes 1 % of the shortfall (section 425(3)).

  3. End of March

    The last day that still counts year end

    Anything paid by the last day of March still counts as advance tax for the year (section 408(3)), and keeps the interest of section 424 away if it brings the total to 90 % of the tax.

  4. April onwards

    Interest by the month 1 % a month

    Tax still unpaid after the year costs 1 % for every month or part of a month from April until it is paid (section 424). Paid with her return in August, her ₹48,000 costs ₹2,400 on top of the ₹480 of section 425(3).

  5. August due date

    The return return

    A person with income from a profession whose accounts need no audit files by 31 August (section 263(1), as amended by the Finance Act, 2026); a salaried person without such income files by 31 July.

The timeline has 5 events, from April to February to August due date.

The program works out two invented cases, Meera’s second year and a salaried colleague’s side work:

Advance tax on presumptive income, two cases Python · advance_tax_presumptive.py
"""Advance tax on presumptive income from a profession, Tax Year 2026-27, new regime: two invented cases.

Meera's second year: Rs 40,00,000 of receipts, Rs 16,00,000 of them from Indian companies that deduct 10 % TDS. Rohan
draws a salary of Rs 12,00,000 and earns Rs 4,00,000 on the side as a freelance web developer, from small clients
below the Rs 50,000 threshold of TDS. Both declare 50 % of their receipts under section 58(2) (Table: Sl. No. 3) of the
Income-tax Act, 2025. Advance tax is due when the year's tax less TDS is Rs 10,000 or more (sections 404 and 405),
and a presumptive profession pays all of it by the March instalment (section 408(2)). Paid only with the return, it
costs 1 % under section 425(3) and 1 % a month or part of a month from April under section 424, on amounts rounded
down to Rs 100 (rule 269). Slabs of section 202(1), rebate of section 156(2), 4 % cess, rounding of section 516.
"""

from decimal import ROUND_HALF_UP, Decimal

D = Decimal
NEW = [(400000, "0"), (800000, "0.05"), (1200000, "0.10"), (1600000, "0.15"), (2000000, "0.20"), (2400000, "0.25"), (None, "0.30")]


def inr(amount):
    """Whole rupees with Indian digit grouping: 208000 -> "₹2,08,000"."""
    whole = str(D(amount).quantize(D(1), rounding=ROUND_HALF_UP))
    head, tail = whole[:-3], whole[-3:]
    groups = []
    while len(head) > 2:
        groups.insert(0, head[-2:])
        head = head[:-2]
    if head:
        groups.insert(0, head)
    return "₹" + ",".join(groups + [tail]) if groups else "₹" + tail


def round_516(amount):
    """Section 516: drop the paise, then round to the nearest ₹10 (a last digit of 5 or more rounds up)."""
    rupees = int(amount)
    return D(rupees - rupees % 10 + (10 if rupees % 10 >= 5 else 0))


def slab_tax(income):
    tax, lower = D(0), D(0)
    for upper, rate in NEW:
        top = income if upper is None else min(income, D(upper))
        if top > lower:
            tax += (top - lower) * D(rate)
        if upper is None or income <= upper:
            break
        lower = D(upper)
    return tax


def tax_new(income):
    income = round_516(income)
    tax = slab_tax(income)
    if income <= 1200000:
        tax -= min(tax, D(60000))
    elif tax > income - 1200000:
        tax = income - 1200000
    return round_516(tax * D("1.04"))


def hundreds(amount):
    """Rule 269: an amount on which interest is charged is rounded down to a multiple of ₹100."""
    return D(int(amount) // 100 * 100)


print("Meera, second year: receipts ₹40,00,000, TDS 10 % on ₹16,00,000")
income = D(4000000) * D("0.50")
tax, tds = tax_new(income), D(160000)
advance = tax - tds
print(f"  presumptive income {inr(income)}, tax {inr(tax)}, less TDS {inr(tds)} = advance tax {inr(advance)}")
print(f"  due: all of it by the March instalment (section 408(2))")
late_425 = hundreds(advance) * D("0.01")
months = 5  # April to August: paid with the return in August, part of a month counts as a month
late_424 = hundreds(advance) * D("0.01") * months
print(f"  paid only with the return in August: {inr(late_425)} under section 425(3) and {inr(late_424)} under section 424 ({months} months)")
print()
print("Rohan: salary ₹12,00,000, side receipts ₹4,00,000, no TDS on them")
salary = D(1200000) - 75000
side = D(400000) * D("0.50")
alone, together = tax_new(salary), tax_new(salary + side)
print(f"  salary alone: total income {inr(salary)}, tax {inr(alone)}")
print(f"  with {inr(side)} of presumptive income: total income {inr(salary + side)}, tax {inr(together)}")
print(f"  the side work adds {inr(together - alone)}: advance tax by the March instalment, or Form 122 to payroll")

Output

Meera, second year: receipts ₹40,00,000, TDS 10 % on ₹16,00,000
  presumptive income ₹20,00,000, tax ₹2,08,000, less TDS ₹1,60,000 = advance tax ₹48,000
  due: all of it by the March instalment (section 408(2))
  paid only with the return in August: ₹480 under section 425(3) and ₹2,400 under section 424 (5 months)

Rohan: salary ₹12,00,000, side receipts ₹4,00,000, no TDS on them
  salary alone: total income ₹11,25,000, tax ₹0
  with ₹2,00,000 of presumptive income: total income ₹13,25,000, tax ₹81,900
  the side work adds ₹81,900: advance tax by the March instalment, or Form 122 to payroll

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 advance_tax_presumptive.py

In her second year Meera’s receipts reach ₹40,00,000, so her presumptive income is ₹20,00,000 and her tax ₹2,08,000. Indian clients deducted ₹1,60,000, which leaves ₹48,000 due by the March instalment. Paid only with her return in August, it would cost ₹480 under section 425(3) and ₹2,400 under section 424, five months at 1 %.

Rohan runs into the same ₹12 lakh line that investors meet. His salary of ₹12,00,000 leaves ₹11,25,000 of total income and no tax. ₹4,00,000 of side receipts adds ₹2,00,000 of presumptive income, carries total income to ₹13,25,000 and adds ₹81,900 of tax, just over a fifth of everything the side work brought in. He can pay it as advance tax by the March instalment, or declare the side income to payroll on Form 122, so that the extra tax is deducted from his remaining salary as TDS (section 392(4)).

The return and its due date

Income from a profession whose accounts need no audit moves the due date from 31 July to 31 August (section 263(1), as amended by the Finance Act, 2026). For FY 2025-26 the e-filing portal takes presumptive professional income on ITR-4, within its limits, such as total income of ₹50 lakh and no foreign asset, and otherwise on ITR-3.

Checkpoint

Check: Advance tax on presumptive income

  1. Question 1 of 2 Meera declares presumptive income, and her tax less TDS is ₹48,000. By when must she pay it?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: All of it by the March instalment

    Paid by the March instalment, it costs nothing extra; paid with her return in August, ₹2,880 of interest.

  2. Question 2 of 2 Ravi's salary is ₹12,00,000, so his total income is ₹11,25,000 after the standard deduction. He also receives ₹2,00,000 for freelance web work and declares half of it as presumptive income. What does his year's tax become, with cess, in rupees?

    Type a number.

    A hint

    Total income passes ₹12 lakh, so marginal relief caps the tax at the income above the line.

    Show the answer: Question 2 of 2

    Answer: 26000 rupees

    Total income is ₹12,25,000 and its slab tax ₹63,750, but marginal relief cuts it to the ₹25,000 above ₹12 lakh: ₹26,000 with cess. Without the side work he paid nothing.

GST registration starts once aggregate turnover passes ₹20 lakh

GST has its own threshold, measured on its own figure. Section 22(1) of the CGST Act makes registration compulsory once a supplier’s aggregate turnover (GST): The value of all taxable and exempt supplies, exports and inter-State supplies of everyone with the same PAN across India in a financial year, without the GST itself. Above ₹20 lakh, or ₹10 lakh in four special category States, GST registration is compulsory. in a financial year exceeds ₹20 lakh, or ₹10 lakh in the special category States, which after the Act’s own exclusions are Manipur, Mizoram, Nagaland and Tripura. Aggregate turnover is the value of all taxable and exempt supplies, exports and inter-State supplies of everyone with the same PAN across India, without the GST itself (section 2(6)), and the application is due within 30 days of becoming liable (section 25(1)). The program adds up Meera’s second-year invoices month by month:

Meera's invoices, month by month, against the ₹20 lakh threshold Python · gst_turnover.py
"""When Meera's aggregate turnover passes the GST registration threshold in her second year.

Central Goods and Services Tax Act, 2017: a supplier must register once aggregate turnover in a financial year exceeds
Rs 20 lakh (Rs 10 lakh in the special category States), section 22(1), and apply within 30 days of becoming liable,
section 25(1). Aggregate turnover is the value of all taxable and exempt supplies, exports and inter-State supplies of
everyone with the same PAN across India, without the GST itself, section 2(6). Meera (invented) invoices 40 % of her
work to clients in India and 60 % to a client abroad; the amounts are her invoices month by month, in rupees.
"""

from decimal import ROUND_HALF_UP, Decimal

D = Decimal
MONTHS = ["April", "May", "June", "July", "August", "September", "October", "November", "December", "January", "February", "March"]
INVOICED = [280000, 310000, 330000, 340000, 360000, 350000, 340000, 320000, 330000, 340000, 350000, 350000]
THRESHOLD = D(2000000)
INDIA_SHARE = D("0.40")


def inr(amount):
    """Whole rupees with Indian digit grouping: 2310000 -> "₹23,10,000"."""
    whole = str(D(amount).quantize(D(1), rounding=ROUND_HALF_UP))
    head, tail = whole[:-3], whole[-3:]
    groups = []
    while len(head) > 2:
        groups.insert(0, head[-2:])
        head = head[:-2]
    if head:
        groups.insert(0, head)
    return "₹" + ",".join(groups + [tail]) if groups else "₹" + tail


print(f"{'Month':<10}{'Invoiced':>10}{'All supplies':>14}{'India only':>12}")
total = india = D(0)
crossed = None
for month, amount in zip(MONTHS, INVOICED):
    total += amount
    india += D(amount) * INDIA_SHARE
    mark = ""
    if crossed is None and total > THRESHOLD:
        crossed = month
        mark = "  <- past ₹20 lakh"
    print(f"{month:<10}{inr(amount):>10}{inr(total):>14}{inr(india):>12}{mark}")
print()
print(f"Aggregate turnover passes ₹20,00,000 with the {crossed} invoices: apply within 30 days of that day.")
print(f"Counting clients in India alone, the year ends at {inr(india)}, below ₹20 lakh, and the exports would be missed.")

Output

Month       Invoiced  All supplies  India only
April      ₹2,80,000     ₹2,80,000   ₹1,12,000
May        ₹3,10,000     ₹5,90,000   ₹2,36,000
June       ₹3,30,000     ₹9,20,000   ₹3,68,000
July       ₹3,40,000    ₹12,60,000   ₹5,04,000
August     ₹3,60,000    ₹16,20,000   ₹6,48,000
September  ₹3,50,000    ₹19,70,000   ₹7,88,000
October    ₹3,40,000    ₹23,10,000   ₹9,24,000  <- past ₹20 lakh
November   ₹3,20,000    ₹26,30,000  ₹10,52,000
December   ₹3,30,000    ₹29,60,000  ₹11,84,000
January    ₹3,40,000    ₹33,00,000  ₹13,20,000
February   ₹3,50,000    ₹36,50,000  ₹14,60,000
March      ₹3,50,000    ₹40,00,000  ₹16,00,000

Aggregate turnover passes ₹20,00,000 with the October invoices: apply within 30 days of that day.
Counting clients in India alone, the year ends at ₹16,00,000, below ₹20 lakh, and the exports would be missed.

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 gst_turnover.py

Her October invoices take the year past ₹20 lakh, so her application is due within 30 days of the invoice that did it. Counting only her clients in India would have shown ₹16,00,000 for the whole year and no registration at all, because 60 % of her work is an export, and exports count in aggregate turnover.

Turnover is not the only test

Section 24 requires registration whatever the turnover in some cases, among them inter-State taxable supplies and supplies through an e-commerce operator that collects tax at source, and notifications relax several of them for small suppliers of services. Selling across State lines, abroad or through a platform is where the ₹20 lakh alone may not answer, so check your own case against the notifications, or with a GST professional, before you rely on it.

A person below the threshold may still register voluntarily, and then every provision for registered persons applies (section 25(3)). Once registered, a supplier of taxable services issues a tax invoice showing the description, the value and the tax charged, with the other particulars the rules prescribe (section 31(2)).

GST Registration Checker (India): Is It Mandatory for You? Answer what you supply, where and how much to see whether registration is compulsory, with the section or notification behind each answer.

Checkpoint

Check: The GST registration threshold

  1. Question 1 of 2 Kiran invoices ₹12 lakh to clients in India and ₹10 lakh to a client abroad in one financial year, from Karnataka. Must she register for GST?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Yes; her aggregate turnover is ₹22 lakh, exports included

    Like Meera, she would apply within 30 days of the invoice that took the year past ₹20 lakh.

  2. Question 2 of 2 Above what aggregate turnover in a financial year must a supplier of services in most States register for GST, in rupees?

    Type a number.

    Show the answer: Question 2 of 2

    Answer: 2000000 rupees

    ₹20 lakh under section 22(1) of the CGST Act, and ₹10 lakh in Manipur, Mizoram, Nagaland and Tripura.

Invoices, records and a separate account keep the year provable

Every number above rests on records: the receipts behind the presumptive figure, the costs behind a regular one, the TDS behind the refund and the invoices behind aggregate turnover. Section 62(1)(a) requires anyone in a specified profession to keep books of account from which income can be worked out, and rule 46 of the Income-tax Rules, 2026 lists the books for several professions, architecture among them, once receipts have passed ₹1,50,000 in each of the three years before: a cash book, a ledger, copies of bills issued for ₹250 or more, and the bills for costs, kept for seven tax years. Step through the routine Meera keeps at the end of each month:

Interactive · stage by stage One month of a freelancer's records Step through the routine Meera keeps at the end of each month. Each step leaves a record someone can check.
One month of a freelancer's records, step 5 of 5. Showing Number the invoices, Fees to one account, Log the costs, Check TDS and turnover, Set aside the tax. In focus: Set aside the tax.Number the invoicesone series, no gapsFees to one accountkept for the workLog the costswith each billCheck TDS and turnoverAIS and the GST lineSet aside the taxfor the March instalment

The drawing shows the whole scene; its 5 steps are listed below.

Every step as text
  1. Numbered invoices. Every invoice gets the next number of one series, the date, the client, the work and the amount, and the TDS the client will deduct. Once she registers for GST, her tax invoices must also carry what section 31 of the CGST Act and its rules prescribe.
  2. One account for the work. Fees arrive in one bank account that she uses only for the work, and she moves her own pay out of it once a month. No law requires a separate account; it makes the receipts add up at a glance.
  3. Costs, with their bills. Drawing software, internet, a desk at a co-working space and her laptop each go into the log with the bill. Rule 46 lists such records for several professions and requires them to be kept for seven tax years; on the regular basis they are the costs she deducts.
  4. TDS and the threshold. Each quarter she compares the TDS her clients deducted with her Annual Information Statement, and each month she adds her invoices to the year's aggregate turnover to see when it passes ₹20 lakh.
  5. Tax set aside. A share of every fee goes to savings for the March instalment, so the advance tax is ready when it falls due instead of being found in the last week.

The routine answers every question her return asks. The numbered invoices are her receipts and her turnover; the one account shows that every fee arrived; the log with its bills is the regular basis if she ever needs it; and the quarterly check finds a client’s missing TDS while the client can still correct it.

Invoice Generator Make a numbered invoice with your PAN, the client's details, the work and the amount, with GST added only once you are registered.

Price the work for all of this. A rate that covers only the hours spent leaves nothing for the unpaid days, the costs and the tax, so work out what a fee must carry before you quote it.

Freelance Rate Calculator Turn the income you want, your costs and your billable days into an hourly, daily or project rate.

Checkpoint

Check: Invoices, records and one account

  1. Question 1 of 2 For how long does rule 46 of the Income-tax Rules, 2026 ask for the books of account it lists to be kept?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Seven tax years from the end of the tax year

    Kept on a computer, they must stay accessible in India, with a daily backup on servers in India (rule 46(8)).

  2. Question 2 of 2 Does the law require Meera to keep a separate bank account for her freelance work?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: No; it is a practice that makes the receipts and costs easy to prove

    One account for the work turns the yearly question "did every fee arrive?" into one statement to read.

Practise: freelance income, advance tax and GST

Sixteen questions cover client fees, the presumptive figure, advance tax, the GST line and the monthly records. It starts where your answers so far are weakest and asks each missed question once more at the close:

Practice that adapts to you

Practise this lesson

16 questions about 5 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 16 Under which head is a freelancer's fee from a client taxed?

    Choose one answer.

    Show the answer: Question 1 of 16

    Answer: Profits and gains of business or profession

    The head decides what may be deducted: on the regular basis, the costs of the profession.

  2. Question 2 of 16 On the regular basis, which of these may Meera deduct from her receipts? Choose every one.

    Choose every answer that is right.

    Show the answer: Question 2 of 16

    Answer:

    • A subscription to drawing software she uses for client work
    • The internet connection she uses for the work
    • Depreciation on her laptop

    Under the presumptive scheme none of these is claimed: half the receipts is the income, whatever the costs.

  3. Question 3 of 16 A company paid Meera ₹2,70,000 after deducting 10 % TDS on her fee. What were her gross receipts from that fee, in rupees?

    Type a number.

    Show the answer: Question 3 of 16

    Answer: 300000 rupees

    ₹2,70,000 is 90 % of the fee, so the fee was ₹3,00,000 and the TDS ₹30,000. The return reports ₹3,00,000.

  4. Question 4 of 16 What share of gross receipts does section 58(2) (Table Sl. No. 3) take as a professional's income, in per cent?

    Type a number.

    Show the answer: Question 4 of 16

    Answer: 50 per cent

    50 %, or more if the professional declares more as actually earned.

  5. Question 5 of 16 In the program, what is Meera's tax on the regular basis in the new regime, with cess, in rupees?

    Type a number.

    Show the answer: Question 5 of 16

    Answer: 118560 rupees

    ₹18,00,000 less ₹2,40,000 is ₹15,60,000 of total income: ₹1,14,000 of slab tax and ₹1,18,560 with cess, against nil on the presumptive basis.

  6. Question 6 of 16 In a year of heavy spending on equipment, Farid's receipts are ₹10,00,000 and his allowed costs ₹11,00,000. Which basis lets him use the loss?

    Choose one answer.

    Show the answer: Question 6 of 16

    Answer: The regular basis, which can carry the loss forward if the return is filed on time

    With costs above half of receipts the presumptive figure taxes more than he earned. Declaring a lower figure brings books of account and, under sections 58(3) and 63, an audit, so such a year is one to work through with a qualified professional.

  7. Question 7 of 16 Lata earns her living as a freelance writer. Can she declare 50 % of her receipts under section 58(2), Table Sl. No. 3?

    Choose one answer.

    Show the answer: Question 7 of 16

    Answer: Not on that basis; writing is not a specified profession of section 62(4), so she should ask a qualified professional how her work is taxed

    The list is the first gate: legal, medical, engineering, architectural, accountancy, technical consultancy, interior decoration, information technology and company secretary work, and what the Board notifies.

  8. Question 8 of 16 In the program, how much advance tax is due from Meera in her second year by the March instalment, in rupees?

    Type a number.

    Show the answer: Question 8 of 16

    Answer: 48000 rupees

    ₹2,08,000 of tax on ₹20,00,000 of presumptive income, less ₹1,60,000 of TDS, is ₹48,000.

  9. Question 9 of 16 What happens when Rohan declares his side income to payroll on Form 122?

    Choose one answer.

    Show the answer: Question 9 of 16

    Answer: His employer deducts the extra tax from his remaining salary, and it counts as TDS

    It suits a salaried person with steady side work: one deduction a month instead of one large payment in March.

  10. Question 10 of 16 From what amount of the year's tax, less TDS, does advance tax become payable?

    Choose one answer.

    Show the answer: Question 10 of 16

    Answer: ₹10,000

    For presumptive income the whole of it is then due by the March instalment.

  11. Question 11 of 16 Which due date of section 263(1), as amended by the Finance Act, 2026, applies to Meera's return?

    Choose one answer.

    Show the answer: Question 11 of 16

    Answer: The August due date, for income from a profession whose accounts need no audit

    Filed after the due date, the return is belated, and in a year with a loss the loss could not be carried forward.

  12. Question 12 of 16 A web designer works from Mizoram. Above what aggregate turnover must she register for GST?

    Choose one answer.

    Show the answer: Question 12 of 16

    Answer: ₹10 lakh

    The four States are Manipur, Mizoram, Nagaland and Tripura.

  13. Question 13 of 16 Meera's first-year turnover is ₹18 lakh. May she register for GST anyway?

    Choose one answer.

    Show the answer: Question 13 of 16

    Answer: Yes, voluntarily, and then every provision for registered persons applies to her

    Whether it is worth it is a business question; the lesson only sets out what the law allows.

  14. Question 14 of 16 Once a supplier becomes liable to register, how long does section 25(1) give to apply?

    Choose one answer.

    Show the answer: Question 14 of 16

    Answer: Thirty days

    For Meera that is thirty days from the October invoice that took her past ₹20 lakh.

  15. Question 15 of 16 Which of these support Meera's presumptive figure of ₹9,00,000? Choose every one.

    Choose every answer that is right.

    Show the answer: Question 15 of 16

    Answer:

    • The statement of the account her fees arrive in
    • The TDS certificates in Form 131 from her clients
    • Her numbered invoices for the year

    The presumptive figure needs no cost records, but its base, the receipts, must still add up.

  16. Question 16 of 16 In her quarterly check Meera finds that a client's ₹20,000 of TDS is missing from her Annual Information Statement. What should she do?

    Choose one answer.

    Show the answer: Question 16 of 16

    Answer: Ask the client to correct its TDS statement, since the credit follows what the client reports

    This is why the routine checks each quarter rather than in the weeks before the return.

Run your own year twice

Write down last year’s gross receipts from your work and your costs, with a bill for each. Work out 50 % of the receipts and the receipts less the costs, and put both into the income-tax calculator with the rest of your income. Then add your invoices month by month and note the month in which aggregate turnover would pass ₹20 lakh.

Interview questions

Warm-up (fresher): What is presumptive taxation for a professional, and who may use it?

Under section 58(2) of the Income-tax Act, 2025 (Table: Sl. No. 3), a resident individual, or a firm other than an LLP, in one of the specified professions of section 62(4), such as information technology, engineering or architecture, may declare 50 % of the year’s gross receipts as income from the profession, or more if more was earned. The receipts must be ₹50 lakh or less, or ₹75 lakh or less when cash is at most 5 % of them. Nothing more is deducted, no audit is needed, and the whole advance tax falls due by the March instalment. Meera’s ₹18,00,000 of receipts become ₹9,00,000 of income and nil tax in the new regime. Declaring less than half needs books and an audit once total income passes the slab-free amount.

Warm-up (fresher): When must a freelancer register for GST?

Once aggregate turnover in a financial year exceeds ₹20 lakh, or ₹10 lakh in Manipur, Mizoram, Nagaland and Tripura (section 22(1) of the CGST Act, 2017), with the application due within 30 days. Aggregate turnover counts every supply of everyone with the same PAN across India, exports and exempt supplies included, without the GST (section 2(6)), so Meera’s ₹24 lakh of work for a client abroad counts, and her invoices pass ₹20 lakh in October although her Indian clients bring only ₹16 lakh in the year. Section 24 adds cases that need registration whatever the turnover, some relaxed by notification for small suppliers of services, so sales across State lines, exports and sales through platforms deserve a check of their own.

Key takeaways

  • Client fees are income from a profession: the return reports the whole fee, and a client’s 10 % TDS is your own tax paid early, credited as the client reported it.
  • In a specified profession with receipts up to ₹50 lakh, or ₹75 lakh with little cash, half the receipts may be declared as income, with no costs claimed and no audit.
  • Presumptive taxation suits low costs and fails high ones: Meera’s tax is nil at half her receipts and ₹1,18,560 on her real profit.
  • Presumptive income pays all its advance tax by the March instalment, and side income can cross the rebate’s line, as Rohan’s ₹4 lakh adds ₹81,900.
  • GST registration is compulsory above ₹20 lakh of aggregate turnover, exports included, within 30 days, and some supplies need it at any turnover.
  • Numbered invoices, one account for the work, a log of costs with bills and a quarterly TDS check keep every figure of the year provable.

Terms in this lesson

aggregate turnover (GST)
The value of all taxable and exempt supplies, exports and inter-State supplies of everyone with the same PAN across India in a financial year, without the GST itself. Above ₹20 lakh, or ₹10 lakh in four special category States, GST registration is compulsory.
gross receipts
Everything a profession receives from its clients for its work in a year, before any cost or TDS is taken off. Presumptive income is half of it, and the scheme's limits of ₹50 lakh and ₹75 lakh are measured on it.
presumptive taxation
Taxing a small business or profession on a fixed share of its receipts instead of its actual profit. For a specified profession with receipts up to ₹50 lakh, or ₹75 lakh with at most 5 % in cash, half the receipts is the income.
specified profession
One of the professions section 62(4) of the Income-tax Act, 2025 names: legal, medical, engineering, architectural, accountancy, technical consultancy, interior decoration, information technology and company secretary work, and any others the Board notifies.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.