DEV Community

Candies Tech
Candies Tech

Posted on

GST Filing in Tally: A No-Jargon Guide for Freelance Developers and Small Dev Shops

Most developers I know can debug a race condition faster than they can explain what an HSN code is. And that's fine — until the 11th of the month rolls around and GST filing is suddenly your problem too, because you're a freelancer, or a two-person dev shop, and there's no accounts team to hand it off to.

This isn't a deep dive into tax law. It's the version of GST filing in Tally I wish someone had explained to me before I spent an afternoon confused about why my invoice count didn't match the portal's.

Why This Even Applies to You

If you're invoicing clients — retainers, project-based work, SaaS subscriptions, whatever — and you're registered for GST (which becomes mandatory past a certain turnover, or voluntary if you want to claim input tax credit on your tools and subscriptions), you're on the hook for filing returns. GSTR-1 reports what you sold. GSTR-3B is your summary return where you declare and pay tax. Tally handles both, but it assumes you already know the vocabulary — which most developers don't, because nobody teaches this in a CS degree.

The Mental Model That Actually Helps

Think of it like a build pipeline. Your invoices are the source code. Tally's GST reports are the linter — they catch bad data before it ships. The GST portal is production — once something's uploaded and accepted, fixing it is a lot more expensive than catching it locally first.

Most of the pain in GST filing isn't the filing itself. It's shipping bad data and finding out at the worst possible time — the night before the deadline, when the portal rejects your JSON and gives you an error code instead of an explanation.

The Three Things That Break Most Often

1. Client GSTIN typos. If you invoice a company and fat-finger even one digit of their GSTIN, Tally will flag it as invalid — but the actual fix might not be "correct the typo." If the GSTIN doesn't exist or has been cancelled, that invoice needs to move from a B2B classification to B2C, or your client can't claim credit on what they paid you.

2. Wrong HSN/SAC code for services. If you're a developer, your work almost always falls under SAC (Services Accounting Code), not HSN (which is for goods). Using the wrong one, or leaving it blank on your service ledger, will silently break your GSTR-1 summary later — and you won't notice until export time, long after the actual work.

3. Invoice numbering gaps. If you're manually numbering invoices (a lot of freelancers do this in a spreadsheet before entering into Tally) and skip a number, or duplicate one, Tally's document summary won't reconcile and the upload gets rejected outright. This is the GST equivalent of an off-by-one error, and it's just as easy to introduce and just as annoying to trace.

A Workflow That Keeps This From Being a Monthly Fire Drill

  • Set up your service ledger once, correctly. Get the SAC code and tax rate right at the ledger level, not per-invoice. Every invoice inherits from there, so one correct setup prevents dozens of future mismatches.
  • Validate client GSTINs when you onboard them, not when you file. Tally can check this online. Do it once per client, not once per filing cycle.
  • Run the GST exception report before month-end, not on the deadline. Treat it like running tests before a release — catching one bad invoice takes two minutes; catching five of them the night before filing takes an hour you don't have.

Where to Go for the Actual Filing Steps

This post is about the mental model and the common failure points — not a click-by-click walkthrough. For the actual step-by-step process of generating GSTR-1, exporting the JSON, and filing GSTR-3B in TallyPrime, this guide on filing GST returns in TallyPrime covers the full workflow in detail and is worth bookmarking alongside your invoicing routine.

FAQ

Do freelance developers need to register for GST?
It's mandatory once your aggregate turnover crosses the threshold for your state/category (currently ₹20 lakh for most services, lower in some special category states). Below that, registration is optional — but voluntary registration lets you claim input tax credit on business tools and subscriptions, which is often worth it if your expenses are high relative to revenue.

Is SAC the same as HSN for developer services?
No. HSN codes classify goods; SAC codes classify services. Software development, consulting, and SaaS subscriptions fall under SAC, and using an HSN code by mistake will cause classification errors in your GST reports.

Can I fix a GST filing mistake after it's submitted?
Some errors can be corrected via amendment in a later GSTR-1 period. Others, especially anything already reflected in a filed GSTR-3B, require adjustment in the following return rather than the original one. Catching it before submission is always cheaper than fixing it after.

Takeaway

GST filing isn't hard, it's just unfamiliar — and unfamiliar systems punish you exactly like unfamiliar codebases do: silently, until the moment they don't. Set your ledgers up right once, validate early, and the monthly filing becomes a five-minute task instead of a deadline-day scramble.

Top comments (0)