Tax, GST & VAT Compliance
5. India GST GSTIN, State Codes, HSN and ITC
GSTIN validation and state codes
The module validates the 15-character GSTIN (the GST identification number) through pkg/gst/validator.go, so incorrectly formed identifiers are caught. It also carries 36 India GSTN state codes, spanning code 01 (Jammu and Kashmir) through code 38 (Ladakh). These state codes are integral to GST because the GSTIN encodes the state and because the state determines whether a supply is intra-state or inter-state.
HSN codes
HSN Codes (HSNCodes) provide Harmonised System of Nomenclature lookup. HSN codes classify goods for GST purposes, and the lookup lets the right classification be attached to products and invoices so the correct treatment follows.
Invoice-level GST fields and ITC
GST-specific invoice fields include Place of Supply, Recipient GSTIN and Reverse Charge. Place of Supply drives the intra-state versus inter-state determination, Recipient GSTIN records the counterparty's identifier, and Reverse Charge flags transactions where the recipient accounts for the tax. The ITC Ledger (ITCLedger) tracks Input Tax Credit, the mechanism by which GST paid on purchases offsets GST collected on sales. The module also includes an ARN reference and NIC integration scaffolding. A typical workflow is to validate the GSTIN, classify goods by HSN, capture Place of Supply and Reverse Charge on each invoice, and maintain the ITC Ledger so input credits are tracked for the returns.