Glossary · GSTIN

GSTIN

India’s 15-character GST registration number. Validate it before invoicing and print it with the place of supply on every tax invoice.

Definition

A GSTIN is a 15-character registration number. Validate it before invoicing and print it on every tax invoice with the place of supply.

A GSTIN is a 15-character registration number. Validate it before invoicing and print it on every tax invoice with the place of supply.

All glossary terms
A tax stamp and a small cloth-bound ledger on a dark desk.

The short version

  • A GSTIN is the fifteen-character registration number India’s GST system issues to a business for one state or union territory.
  • It is built from a state code, the entity’s PAN, an entity number, a default Z and a check character that can be verified by arithmetic.
  • A valid-looking GSTIN is not a valid registration. Check the checksum, the state code, the PAN and the registration status.
  • Place of supply decides whether an invoice carries CGST and SGST or IGST, so it is a billing input, not a footnote.
  • For SaaS, the invoice is part of the product: a missing GSTIN or place of supply delays payment and blocks the buyer’s input tax credit.

Definition: one number, one state, one registration

A Goods and Services Tax Identification Number, or GSTIN, is the identifier India’s GST system assigns to a registered person for a specific state or union territory. It is fifteen characters long, alphanumeric, and it appears on every tax invoice, credit note, debit note and return filed by that registration. A business operating in three states normally holds three GSTINs, one per registration, even though it is one company.

The number is not a licence and not a tax clearance. It is a registration reference that ties an invoice to a taxable person, a place of business and a jurisdiction. That is why the same legal entity can hold several, why a cancelled GSTIN can still look perfectly well formed, and why a buyer’s accounts payable team checks the number against the portal rather than trusting the invoice PDF.

Anatomy of a fifteen character GSTIN split into state code, PAN, entity number, default Z and check character. LoopNow runtime State code Two digits PAN Ten characters Entity number One character Check character One character
Figure 1. Five segments in fifteen characters. The fourth segment is almost always Z, and the last one is arithmetic, not choice.

Under the pricing on this site, plans are quoted in rupees exclusive of GST, and the standard rate applied to the service is eighteen percent. A Growth plan at ₹7,999 a month is therefore ₹9,438.82 payable, with ₹1,439.82 of tax shown separately on the invoice. Stating that split clearly is part of what makes an invoice usable for a business buyer, and it starts with a correct GSTIN.

Reading the structure, segment by segment

The first two characters are the state code, a number from 01 to 38 plus a few codes for union territories and special categories. Maharashtra is 27, Karnataka 29, Delhi 07, Tamil Nadu 33, Telangana 36 and West Bengal 19. The code describes the registration’s jurisdiction, which is not always where the customer is, and that difference is the source of a large share of billing errors.

Characters three to twelve are the entity’s Permanent Account Number, the ten-character income tax identifier. This is the strongest part of the number because PAN format is itself constrained: five letters, four digits, one letter, with the fourth character encoding the holder type. A GSTIN whose PAN segment does not follow that pattern is invalid even if the checksum happens to work.

Map of selected Indian state codes used in GSTINs, including Maharashtra, Karnataka, Delhi, Tamil Nadu, Telangana and West Bengal. 27 Maharashtra Mumbai 29 Karnataka Bengaluru 07 Delhi New Delhi 33 Tamil Nadu Chennai 36 Telangana Hyderabad 19 West Bengal Kolkata
Figure 2. The state code identifies the registration, not the customer. Shipping to one state and billing from another is normal and frequently mishandled.

Characters thirteen and fourteen are an entity number and a default letter. The entity number distinguishes multiple registrations of the same PAN within a state, so a company with two divisions registered separately in Karnataka will have different characters there. The fourteenth character is Z in the overwhelming majority of registrations, and most validators require it. The fifteenth character is the check character, computed from the preceding fourteen, and it is the part most home-grown validators skip.

The checksum, and how to compute it

The check character uses base thirty-six arithmetic over the first fourteen characters, with digits 0 to 9 and letters A to Z valued from 0 to 35. Multiply the value of each character by one for odd positions and by two for even positions, counting from the left. For each product, add the quotient and the remainder when divided by thirty-six. Sum all fourteen results, take the remainder modulo thirty-six, and the check character is whatever makes that remainder zero.

A worked example makes it concrete. Take the synthetic registration 29ABCDE1234F1ZW: state 29, PAN ABCDE1234F, entity 1, default Z, check W. Computing the weighted sum over the first fourteen characters and reducing modulo thirty-six yields a check value that maps to W, so the number is internally consistent. Change any earlier character and the check character changes, which is what makes the mechanism useful for catching transcription errors.

Five stage flow of GSTIN validation from format check through checksum, state code, portal status and invoice use. 1 Format check 2 Checksum 3 State code 4 Portal status 5 Stored for billing
Figure 3. Validation is a ladder. Most invalid numbers fail at the first two rungs, and most bad invoices pass them both.

The checksum catches typos, not fraud. A number can be arithmetically perfect and belong to a cancelled registration, a different legal entity, or a business that has never heard of your customer. Treat the checksum as the first gate in a validation pipeline, not as proof of anything.

  • Values are base thirty-six: 0 to 9 then A to Z.
  • Weights alternate one and two, starting with one at the left.
  • Add quotient plus remainder for each weighted product.
  • The final remainder modulo thirty-six must be zero.
  • A pass proves internal consistency only, never status.

Validation: four layers, not one regex

The first layer is format. Fifteen characters, two digits, five letters, four digits, one letter, one alphanumeric entity character, Z, one alphanumeric check character. A regular expression catches the obvious cases and nothing else. The second layer is the checksum described above, which catches transpositions and mistyped characters that still look plausible.

The third layer is semantic. Does the state code exist in the current list. Does the PAN segment follow PAN rules, including the holder-type character. Does the entity character fall in the permitted range. Does the registration state match the address on the invoice. These checks are cheap and catch the numbers that were invented by a customer in a hurry.

Architecture of a GSTIN validation pipeline with format, checksum, semantic checks, portal lookup and billing store layers. Format Length Character set PAN shape Arithmetic Weights Base 36 Check digit Semantic State code Entity char Address fit Authority Portal status Legal name Cache date
Figure 4. Four layers of validation, each cheap in isolation and expensive to skip. The portal result should be cached with a date.

The fourth layer is authoritative. Query the GST portal or an approved API to confirm the registration is active, the legal name and trade name match the contract, and the registration type fits the transaction. Cache the result with a timestamp and re-check on a schedule, because registrations get cancelled and suspended. A number that was valid at onboarding can be invalid at renewal, and the invoice you raise in between is the one that causes a credit note.

Registration, place of supply and the tax split

GST is a destination-based tax on most supplies, and the destination for a service is determined by the place of supply rules rather than by where the server sits. For a business recipient registered in India, the place of supply of a service is generally the recipient’s registered location. For a consumer, it is usually the address on record. For a service delivered to a recipient outside India, the treatment follows the export provisions and typically requires a letter of undertaking or payment of integrated tax with refund.

Place of supply then decides the tax heads. If the supplier’s registration state and the place of supply are the same, the invoice carries central GST and state GST in equal halves. If they differ, it carries integrated GST. The total rate can be the same, which is exactly why the error survives review: a wrong tax head produces an invoice that looks financially right and is unusable for input tax credit.

Comparison of intra-state and inter-state GST treatment showing CGST and SGST against IGST on a SaaS invoice. Intra-state Inter-state • CGST and SGST• Equal halves• Supplier state matches• Credit to both heads • IGST only• Single line• States differ• Credit as IGST
Figure 5. Same destination principle, different tax heads. The split is determined by the registration state against the place of supply.

SaaS adds a practical wrinkle. Users, billing contacts and contracting entities are frequently in three different places, and a global parent may contract through an Indian subsidiary. The invoice must follow the contracting recipient and its registration, not the user’s login location. Deciding this at contract signature, and storing it as structured fields rather than as a note in a CRM, prevents most of the rework.

What a tax invoice has to contain

The invoice rules set out the required particulars: supplier name, address and GSTIN, a consecutive serial number, the date, the recipient’s name, address and GSTIN where registered, the place of supply for inter-state services, the nature of the supply with an HSN or SAC code, the taxable value, discounts, the rate and amount of each tax head, whether reverse charge applies, and the signature or digital signature of the supplier.

For software services the classification question comes up constantly. SAC 998314 covers IT design and development services, and 998315 covers hosting and infrastructure provisioning, among other headings. Which one applies depends on what is actually being supplied, and it should be confirmed with an accountant rather than copied from a competitor’s invoice. The code affects reporting and the buyer’s accounting treatment, not only the look of the PDF.

Wireframe of a SaaS tax invoice showing supplier GSTIN, recipient GSTIN, place of supply, SAC code and tax split. Supplier GSTIN Recipient GSTIN Place of supply SAC 998314 IGST 18%
Figure 6. The five fields that decide whether an invoice is accepted: both GSTINs, place of supply, SAC code and the tax split.

Presentation matters more than teams expect. A GSTIN that is correct but printed in a font that renders the letter O as a zero will fail a buyer’s optical or manual check. A place of supply shown only in an address block, with no dedicated field, will be missed. An invoice that cannot be downloaded as a PDF with a stable filename will be re-requested every quarter.

Why this matters more for SaaS than for a shop

A subscription business raises invoices automatically, at scale, to buyers whose finance teams have process. A consumer purchase can survive a slightly wrong invoice because nobody claims credit. A business purchase cannot: the buyer needs the invoice to claim input tax credit, to reconcile the payment in their ledger and to satisfy their auditor. A rejection is not a formatting complaint, it is a payment held.

The knock-on effects are measurable. A wrong GSTIN delays activation for a new customer, because procurement will not release a purchase order against an invalid tax document. A missing place of supply creates a credit note, and a credit note creates a mismatch in the buyer’s return. At renewal, a cancelled registration discovered late forces a re-issue across every invoice in the period, which is the most expensive kind of billing incident because it touches revenue recognition.

Decision tree for choosing the tax treatment of a SaaS invoice: intra-state, inter-state or export of services. Which tax treatment applies? decision Same state CGST plus SGST Different state IGST at 18% Outside India Zero-rated export
Figure 7. Three outcomes, decided by two facts: where the recipient is registered, and whether the supply qualifies as an export.

International customers need a different path. An export of services is zero-rated when the conditions are met, which usually means an invoice without Indian GST, a declaration and a letter of undertaking, and evidence of payment in convertible foreign exchange. Getting that wrong in the other direction, by charging GST to a foreign recipient, creates a refund problem that can take months to unwind.

Implementing it in the billing path

Store tax identity as structured data, not as a string on the customer record. A registration object should hold the GSTIN, the derived state code, the legal name returned by the portal, the registration status, the verification timestamp and the source of the verification. Deriving the state code from the number rather than asking for it separately removes an entire class of mismatch.

The invoice engine then has explicit inputs: supplier registration, recipient registration, place of supply, SAC code, taxable value, tax rate and currency. Keep the rate table in configuration with effective dates, because rates change and historical invoices must remain reproducible. Never recompute a historical invoice from current settings; store the computed tax lines with the invoice so a re-download in three years shows what was actually issued.

Timeline of a SaaS invoice from registration verification through issuance, payment, credit note and audit. Signup GSTIN verified Portal result cached Day 1 Invoice issued Series and tax frozen Day 15 Payment matched PO and invoice Month 3 Credit note raised Original referenced Year 2 Audit sample Reproducible PDF
Figure 8. An invoice is a record, not a rendering. The computed lines must survive rate changes and re-downloads years later.

Add guards. Block invoice issuance when the recipient GSTIN fails validation for a business customer. Warn, with an override and a reason, when the place of supply and the registration state disagree in a way that suggests a data error. Number invoices per registration per financial year, keep the series gapless, and make credit notes reference the original invoice number and date. These are small engineering decisions with large audit consequences.

  • Derive the state code from the GSTIN, never from a free-text field.
  • Store the portal response and the verification date with the registration.
  • Keep tax rates versioned with effective dates.
  • Freeze computed tax lines on the invoice at issuance.
  • Reference the original invoice on every credit note.

The failures that cost the most, and what to measure

The most common failure is a valid GSTIN in the wrong field. A billing contact pastes a PAN, or a state code from the shipping address, into the tax number field, and the invoice passes a length check because nothing validated it. The second is a cancelled registration that was verified once at signup and never again. The third is a place of supply taken from the user’s IP address, which is a guess dressed as data.

The fourth is human: sales agrees to bill through a group entity to speed up a deal, and the invoice no longer matches the contract. The fifth is arithmetic presentation, where tax is computed correctly but rounded per line rather than per invoice, producing a total that differs from the buyer’s expectation by a rupee. The sixth is the credit note that references nothing, which forces the buyer’s accountant to reconstruct the chain manually.

Chart of sample invoice rejection reasons, with invalid GSTIN and missing place of supply the most common. Invalid GSTIN 38 Missing place of supply 22 Name mismatch 14 Wrong tax head 11 Other 15
Figure 9. Sample rejection reasons from a subscription business: the top two are data capture failures, not tax calculation errors.

Measure invoice rejection rate by reason, credit note rate, median days from signup to first accepted invoice, and the share of business customers with a verified registration less than a year old. A rejection rate above a few percent is not a finance problem, it is a product problem, and it shows up as slower activation and longer cash collection before anyone connects it to a form field.

A worked invoice, end to end

Consider a Pune-based supplier registered in Maharashtra, invoicing a Bengaluru customer registered in Karnataka for a Growth plan at ₹7,999 for one month. The supplier’s GSTIN begins with 27, the customer’s with 29. Place of supply is Karnataka, so the tax head is IGST at eighteen percent: ₹1,439.82, for a total of ₹9,438.82. The SAC code is recorded, the invoice number follows the Maharashtra series, and the customer’s GSTIN is printed exactly as verified.

Now change one fact. The customer contracts through its Maharashtra branch, registered in Maharashtra. Place of supply becomes Maharashtra, and the same total splits into CGST of ₹719.91 and SGST of ₹719.91. The rate did not change and the amount did not change, but the invoice is now a different document, and issuing the wrong version means a credit note and a fresh invoice.

Comparison of GSTIN and PAN showing what each identifies and where each is used. GSTIN PAN • Fifteen characters• State specific• Used on tax invoices• Can be cancelled • Ten characters• Entity wide• Income tax identity• Never a GSTIN
Figure 10. The PAN is inside the GSTIN, but the two are not interchangeable. One identifies a taxpayer, the other a registration in a state.

That is the whole discipline in one example: identity, registration, place of supply, tax head. Get the four right and the invoice is boring, which is the goal. Get one wrong and the customer’s finance team becomes your QA department, at the worst possible moment in the quarter.

Frequently asked questions

Can one company have more than one GSTIN?

Yes, and most multi-state businesses do. A GSTIN is issued per registration, and a registration is tied to a state or union territory and a place of business. The same PAN can appear in several GSTINs with different state codes and entity characters, which is why the state code must be derived from the number rather than assumed.

Is a GSTIN with a correct check digit valid?

No. The check character only proves internal consistency. A registration can be cancelled, suspended or belong to another entity and still produce a perfect checksum. Confirm status and legal name against the GST portal or an approved API, and store the verification date with the result.

What is the difference between CGST, SGST and IGST?

CGST and SGST apply when the supplier’s registration state and the place of supply are the same, and they are levied in equal halves. IGST applies when the states differ. The combined rate can be identical, which is why a wrong tax head is easy to miss and expensive to correct.

Does a SaaS invoice always attract eighteen percent GST?

The standard rate for the service is eighteen percent, and prices on this site are quoted exclusive of it. Exceptions exist, including exports of services that meet the zero-rating conditions. Classification and rate questions should be confirmed with an accountant against the actual supply.

Which SAC code applies to software services?

SAC 998314 is commonly used for IT design and development services, and 998315 for hosting and infrastructure provisioning. The right code depends on what is supplied. Confirm the classification before the first invoice, because changing it later affects reporting and the buyer’s accounting.

How do we bill a foreign customer?

Where the supply qualifies as an export of services, the invoice is zero-rated, typically with a declaration and a letter of undertaking, and payment must be received in convertible foreign exchange. Charging Indian GST to a foreign recipient creates a refund process that is slow and avoidable.

Should we validate GSTINs at signup or at invoicing?

Both. Validate at signup so the customer fixes errors before activation, and re-validate before invoicing or renewal so a cancelled registration does not produce an unusable document. Cache each result with a timestamp and a source.

What happens if we issue an invoice with the wrong GSTIN?

The buyer cannot claim input tax credit against it, so payment is usually held. The correction is a credit note against the original invoice followed by a fresh invoice with the correct details. The original number and date must be referenced, and the series must stay intact.

Is a GSTIN required on a receipt or a payment link?

A tax invoice needs the particulars the rules prescribe, including the recipient’s GSTIN where the recipient is registered. A payment receipt or a checkout confirmation is not a tax invoice. Businesses should be able to download the actual invoice, with both GSTINs and the place of supply, from the billing screen.

Sources and further reading

  1. GST portal — official registration and return services
  2. CBIC — GST rules and notifications
  3. GST portal — returns and filing help
LoopNow AI Answers from published LoopNow pages
Hi — ask me about LoopNow products, pricing, DPDP or migration. I answer from the published site and can connect you to the team.
Contact page