GST Invoicing for Indian Law Firms: What Your Software Should Handle Automatically
Time & Billing

GST Invoicing for Indian Law Firms: What Your Software Should Handle Automatically

GST invoicing for law firms usually breaks at the software level, not the tax level, a skipped invoice number, a wrong SAC code, an hour billed twice. Here's what should be automatic instead.

Let me be very honest, most of the Indian law firms I've sat with are not actually confused about GST as a law, right, their CA has that under control at the return filing level, month over month, without much drama. Where it actually falls apart is earlier than that, at the exact moment somebody in the firm has to raise an invoice and gets stuck remembering the SAC code for legal services, whether this particular client falls under reverse charge because they're a registered business entity above the threshold, whether the last invoice number was 0047 or 0048, and whether the bank details sitting on the template are even correct anymore after the firm switched accounts two years ago. And so what actually happens, basically, is the invoice goes out with a typo in the GSTIN, or the numbering skips because two people had the same template open at once, and three months later somebody is explaining a mismatch in the GSTR-1 that never needed to exist in the first place. That's the real failure point, and it sits inside the software before it ever becomes a tax problem, does that make sense.

Why this is a software problem before it's a tax problem

For most businesses selling a physical product, GST invoicing is mechanical, one item, one HSN code, one rate, done. Legal services don't work that way. A single matter might have hourly work billed under the 9982 legal services SAC series, a flat fee retainer sitting alongside it, and a contingency component that only becomes billable once a settlement lands, and each of those can carry a different tax treatment depending on who the client is, eighteen percent charged on the invoice under forward charge for most clients, or zero on the invoice itself when a business entity above the threshold falls under reverse charge and self assesses the tax directly. Miss that distinction, or put the wrong wording on the wrong invoice, and you've either undercharged a client who should have paid GST separately, or created a paper trail that doesn't match what actually got filed. This is the kind of thing that's genuinely easy to get right once, and genuinely easy to get wrong every single time it depends on a person remembering it under deadline pressure.

0
gaps possible in invoice numbering once it generates automatically
1
click to turn a matter's unbilled hours into a numbered draft invoice
15M+
billable hours already tracked on Casely
3K+
attorneys running their billing through it

The numbering rule nobody thinks about until an auditor does

The GST rule here is specific, a tax invoice needs a consecutive serial number, unique for the financial year, with no gaps and no repeats. Firms are allowed to start a fresh series at the start of a new financial year, that part's fine, but within a year, if invoice 0032 exists and invoice 0034 exists and 0033 doesn't, that's a question somebody eventually has to answer. For a firm still working out of a Word template or a shared spreadsheet, that gap shows up constantly, someone starts drafting an invoice, decides to void it and start over, and the number either gets reused or skipped depending on who's careful that particular day. In Casely the number is generated the moment an invoice is created, not typed in by a person, so there's nothing to forget and nothing to reuse. And because billed hours are marked the instant they're pulled onto an invoice, the same hour of work physically cannot get billed a second time under a different invoice number later, which is the other half of the numbering problem people don't think about until it's already happened.

Where the reverse charge wording actually lives The GST invoice template in Casely's settings has an editable tax label field, so the exact statutory line, tax payable on reverse charge basis, gets typed in once by whoever sets up billing and then shows on every relevant invoice after that, instead of getting retyped, or forgotten, by whoever happens to be raising the bill that week.

From an unbilled hour to a compliant invoice in one click

Here's what the actual mechanic looks like day to day. An associate logs three hours against a matter, a paralegal logs another forty five minutes, and at the end of the week the partner opens that matter and hits Bill Unbilled Time. That one click turns every unbilled hour sitting on the matter into a single numbered, itemized draft invoice, with the firm's GSTIN, the SAC code, the logo, and the bank details already sitting on the template because they were set once in settings and never touched again. For matters that aren't billed hourly, the manual invoice builder handles flat fee retainers and contingency fees the same way, same numbering series, same GST fields, just built from a fixed amount instead of a stack of time entries. And because billing type, hourly, flat fee, or contingency, lives on the matter itself rather than on the firm as a whole, a five-attorney firm can run a litigation practice on hourly billing and a real estate closing practice on flat fee, side by side, without switching software or maintaining two invoice templates.

Where invoice admin actually eats a week
Chasing timesheets before month end5 hrs
Renumbering invoices that got skipped or duplicated2 hrs
Reformatting bills for a corporate client's system3 hrs
Fixing a GSTIN or SAC typo after the fact2 hrs
Actually reviewing the bill line by line2 hrs

The template has to carry more than a logo

A GST compliant legal invoice is carrying a specific list of things whether the software makes that obvious or not, the firm's GSTIN, the client's GSTIN if they have one, the SAC code for the type of legal service rendered, the place of supply, a tax breakdown that's either CGST plus SGST for an intrastate client or IGST for an interstate one, and a serial number that fits cleanly into that unbroken series. Here's what that actually maps to once you break it down field by field.

GST RequirementWhat It's ForWhere It Lives In Casely
Firm GSTINIdentifies the firm as the registered supplierSet once in invoice settings
SAC CodeFlags the invoice as a legal service under the 9982 seriesBuilt into the invoice template
Consecutive NumberingNo gaps and no repeats within a financial yearGenerated automatically when the invoice is created
Tax BreakdownCGST and SGST within a state or IGST across statesCalculated from the client's billing address
Reverse Charge WordingRequired text when a business client self assesses the taxEditable tax label field in settings

Mixed billing models living on one matter, not three systems

For instance, a mid size firm I talked to runs an IP practice on hourly, a compliance retainer book on flat fee, and a handful of litigation matters on contingency that only get billed once a judgment or settlement comes through. That's normal, most firms above a certain size aren't running one billing model, they're running three at once, and the software either treats that as a first class scenario or it makes the firm maintain three separate invoicing workflows just to fake it. Because billing type sits on the matter record itself in Casely, the GST fields, the numbering, the tax label, all of it works identically no matter which billing model that particular matter happens to use, so nobody's rebuilding the invoice template by hand for the contingency matters because the standard hourly one doesn't quite fit.

  • Does every invoice number generate automatically with no gaps and no manual entry
  • Can the firm customize GSTIN logo bank details and tax label without a support ticket
  • Is a billed hour marked the instant it's invoiced so it can never be billed twice
  • Does the same matter support hourly flat fee or contingency billing without a workaround
  • Can an invoice export in LEDES 1998B for a corporate client's e-billing system
  • Does the client portal show only the invoices that specific matter is meant to see

What this looks like against a generic template

FeatureGeneric Invoice TemplateCasely
Invoice numberingTyped in by hand and easy to duplicate or skipGenerated automatically the moment unbilled time is billed with no gaps
GSTIN and SAC codeRetyped or copy pasted onto every new invoiceSet once in settings and pulled onto every invoice automatically
Billed versus unbilled timeTracked in a separate sheet that can drift from what was invoicedMarked at the moment of billing so an hour can never be invoiced twice
Corporate e-billing formatManually reformatted for every client on LEDESOne click LEDES 1998B export built in

Corporate clients want more than a PDF

The bigger the client, the less they want a scanned PDF sitting in an inbox, right, a corporate legal department running e-billing wants line items they can match against a purchase order, and the LEDES 1998B export handles that without the firm rebuilding the invoice by hand for that one account. On the other end, the client portal shows that same client only the invoices that are server side privilege filtered for them, alongside upcoming hearings and e-signature requests, so there's no separate email thread just to resend an invoice somebody says they never got. At the end of the day the GST invoice isn't a document that exists once and gets forgotten, it's something a corporate client's finance team is going to reconcile against their own books for input tax credit, and if the GSTIN or the numbering doesn't line up cleanly on their side, that becomes the firm's problem to fix, not theirs.

None of this is complicated once you write it down, a consecutive invoice number, a correct GSTIN and SAC code, the right tax treatment for the client in front of you, and a record of which hours have already been billed so nobody bills them twice. The problem was never that the rule was hard, it's that a firm running invoicing off a shared template and a spreadsheet is asking a person to get all of that right by hand, every single time, under a deadline, for years, without a single mistake, and that's not really a fair ask of anyone. When the invoice numbers itself, the GSTIN and SAC code sit on the template instead of in someone's memory, and a billed hour is physically marked so it can't be billed again, the compliance risk basically disappears from the exact part of the job where it was actually showing up, which was never the tax filing, it was always the invoice going out the door. And so yeah, that is basically the whole case for it.